mirror of
https://github.com/Eaglercraft-Archive/Eaglercraftx-1.8.8-src.git
synced 2025-06-27 18:38:14 -05:00
Update #22 - Singleplayer and shared worlds, shader fixes
This commit is contained in:
@ -0,0 +1,97 @@
|
||||
package net.lax1dude.eaglercraft.v1_8;
|
||||
|
||||
import org.json.JSONObject;
|
||||
|
||||
/**
|
||||
* Copyright (c) 2024 lax1dude. All Rights Reserved.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
||||
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
|
||||
* IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
|
||||
* INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
|
||||
* NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
|
||||
* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
|
||||
* WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
*/
|
||||
public class EaglerXBungeeVersion {
|
||||
|
||||
public static final String pluginFileEPK = "plugin_download.zip";
|
||||
|
||||
private static String pluginName = null;
|
||||
private static String pluginVersion = null;
|
||||
private static long pluginVersionLong = 0l;
|
||||
private static String pluginButton = null;
|
||||
private static String pluginFilename = null;
|
||||
|
||||
public static void initialize() {
|
||||
String pluginVersionJson = EagRuntime.getResourceString("plugin_version.json");
|
||||
if(pluginVersionJson == null) {
|
||||
throw new RuntimeException("File \"plugin_version.json\" is missing in the epk!");
|
||||
}
|
||||
JSONObject json = new JSONObject(pluginVersionJson);
|
||||
pluginName = json.getString("pluginName");
|
||||
pluginVersion = json.getString("pluginVersion");
|
||||
pluginVersionLong = getVersionAsLong(pluginVersion);
|
||||
pluginButton = json.getString("pluginButton");
|
||||
pluginFilename = json.getString("pluginFilename");
|
||||
}
|
||||
|
||||
public static String getPluginName() {
|
||||
return pluginName;
|
||||
}
|
||||
|
||||
public static String getPluginVersion() {
|
||||
return pluginVersion;
|
||||
}
|
||||
|
||||
public static long getPluginVersionLong() {
|
||||
return pluginVersionLong;
|
||||
}
|
||||
|
||||
public static String getPluginButton() {
|
||||
return pluginButton;
|
||||
}
|
||||
|
||||
public static String getPluginFilename() {
|
||||
return pluginFilename;
|
||||
}
|
||||
|
||||
public static long getVersionAsLong(String vers) {
|
||||
try {
|
||||
String[] verz = vers.split("\\.");
|
||||
long ret = 0;
|
||||
long div = 1000000000000l;
|
||||
for(int i = 0; i < verz.length; ++i) {
|
||||
ret += div * Long.parseLong(verz[i]);
|
||||
div /= 10000l;
|
||||
}
|
||||
return ret;
|
||||
}catch(Throwable t) {
|
||||
return -1l;
|
||||
}
|
||||
}
|
||||
|
||||
public static byte[] getPluginDownload() {
|
||||
byte[] ret = EagRuntime.getResourceBytes(pluginFileEPK);
|
||||
if(ret == null) {
|
||||
throw new RuntimeException("File \"" + pluginFileEPK + "\" is missing in the epk!");
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
public static void startPluginDownload() {
|
||||
EagRuntime.downloadFileWithName(pluginFilename, getPluginDownload());
|
||||
}
|
||||
|
||||
public static boolean isUpdateToPluginAvailable(String brand, String vers) {
|
||||
if(pluginVersionLong == -1l || !pluginName.equals(brand)) {
|
||||
return false;
|
||||
}
|
||||
long verz = getVersionAsLong(vers);
|
||||
return verz != -1l && verz < pluginVersionLong;
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user