diff options
Diffstat (limited to 'src/main/java')
6 files changed, 0 insertions, 292 deletions
diff --git a/src/main/java/me/shedaniel/rei/RoughlyEnoughItemsCore.java b/src/main/java/me/shedaniel/rei/RoughlyEnoughItemsCore.java index 5402a3861..8727e4e00 100644 --- a/src/main/java/me/shedaniel/rei/RoughlyEnoughItemsCore.java +++ b/src/main/java/me/shedaniel/rei/RoughlyEnoughItemsCore.java @@ -7,7 +7,6 @@ import me.shedaniel.rei.api.REIPlugin; import me.shedaniel.rei.api.RecipeHelper; import me.shedaniel.rei.client.*; import me.shedaniel.rei.plugin.DefaultPlugin; -import me.shedaniel.rei.update.UpdateChecker; import net.fabricmc.api.ClientModInitializer; import net.fabricmc.api.ModInitializer; import net.fabricmc.fabric.api.event.client.ClientTickCallback; @@ -84,10 +83,6 @@ public class RoughlyEnoughItemsCore implements ClientModInitializer, ModInitiali } ClientTickCallback.EVENT.register(GuiHelper::onTick); - if (getConfigHelper().getConfig().checkUpdates) - ClientTickCallback.EVENT.register(UpdateChecker::onTick); - - new UpdateChecker().onInitializeClient(); } @Override diff --git a/src/main/java/me/shedaniel/rei/client/REIConfig.java b/src/main/java/me/shedaniel/rei/client/REIConfig.java index d1af5e9c2..90950fddb 100644 --- a/src/main/java/me/shedaniel/rei/client/REIConfig.java +++ b/src/main/java/me/shedaniel/rei/client/REIConfig.java @@ -16,7 +16,6 @@ public class REIConfig { public String giveCommand = "/give {player_name} {item_identifier}{nbt} {count}"; public String gamemodeCommand = "/gamemode {gamemode}"; public String weatherCommand = "/weather {weather}"; - public boolean checkUpdates = true; public boolean mirrorItemPanel = false; public boolean loadDefaultPlugin = true; public boolean disableCreditsButton = false; diff --git a/src/main/java/me/shedaniel/rei/gui/config/ConfigScreen.java b/src/main/java/me/shedaniel/rei/gui/config/ConfigScreen.java index 6793ac6f7..ee84bbab8 100644 --- a/src/main/java/me/shedaniel/rei/gui/config/ConfigScreen.java +++ b/src/main/java/me/shedaniel/rei/gui/config/ConfigScreen.java @@ -205,25 +205,6 @@ public class ConfigScreen extends Screen { } })); entryListWidget.configAddEntry(new ConfigEntry.CategoryTitleConfigEntry(new TranslatableTextComponent("text.rei.config.advanced"))); - entryListWidget.configAddEntry(new ConfigEntry.ButtonConfigEntry(new TranslatableTextComponent("text.rei.check_updates"), new ConfigEntry.ButtonConfigEntry.ConfigEntryButtonProvider() { - @Override - public boolean onPressed(int button, double mouseX, double mouseY) { - if (button == 0) - RoughlyEnoughItemsCore.getConfigHelper().getConfig().checkUpdates = !RoughlyEnoughItemsCore.getConfigHelper().getConfig().checkUpdates; - try { - RoughlyEnoughItemsCore.getConfigHelper().saveConfig(); - } catch (IOException e) { - e.printStackTrace(); - return false; - } - return true; - } - - @Override - public String getText() { - return getTrueFalseText(RoughlyEnoughItemsCore.getConfigHelper().getConfig().checkUpdates); - } - })); entryListWidget.configAddEntry(new ConfigEntry.TextFieldConfigEntry(new TranslatableTextComponent("text.rei.give_command"), new ConfigEntry.TextFieldConfigEntry.ConfigEntryTextFieldProvider() { @Override public void onInitWidget(TextFieldWidget widget) { diff --git a/src/main/java/me/shedaniel/rei/update/UpdateChecker.java b/src/main/java/me/shedaniel/rei/update/UpdateChecker.java deleted file mode 100644 index effa75ab3..000000000 --- a/src/main/java/me/shedaniel/rei/update/UpdateChecker.java +++ /dev/null @@ -1,205 +0,0 @@ -package me.shedaniel.rei.update; - -import com.google.common.collect.Lists; -import com.google.gson.*; -import com.google.gson.annotations.SerializedName; -import me.shedaniel.rei.RoughlyEnoughItemsCore; -import net.fabricmc.api.ClientModInitializer; -import net.fabricmc.loader.FabricLoader; -import net.fabricmc.loader.ModContainer; -import net.minecraft.SharedConstants; -import net.minecraft.client.MinecraftClient; -import net.minecraft.client.resource.language.I18n; -import net.minecraft.text.StringTextComponent; -import net.minecraft.world.World; -import org.apache.commons.io.IOUtils; - -import java.io.IOException; -import java.io.InputStream; -import java.net.URL; -import java.nio.charset.StandardCharsets; -import java.util.Arrays; -import java.util.LinkedList; -import java.util.List; -import java.util.stream.Collectors; - -public class UpdateChecker implements ClientModInitializer { - - private static final Gson GSON = new GsonBuilder().setPrettyPrinting().disableHtmlEscaping().create(); - private static Version currentVersion = null, latestForGame = null; - private static JsonVersionElement element; - private static World lastWorld = null; - private static String VERSION_STRING = "https://raw.githubusercontent.com/shedaniel/RoughlyEnoughItems/1.14/version.json"; - - public static boolean isOutdated() { - return latestForGame.compareTo(currentVersion) == 1 && currentVersion != null; - } - - public static UpdatePriority getUpdatePriority(List<Version> versions) { - UpdatePriority p = UpdatePriority.NONE; - List<UpdatePriority> priorities = Arrays.asList(UpdatePriority.values()); - for(UpdatePriority priority : versions.stream().map(UpdateChecker::getUpdatePriority).collect(Collectors.toList())) - if (priority.compareTo(p) > 0) - p = priority; - return p; - } - - public static UpdatePriority getUpdatePriority(Version version) { - JsonArray array = element.getChangelogs().getFabric(); - for(JsonElement element : array) { - JsonObject jsonObject = element.getAsJsonObject(); - if (jsonObject.has("version") && jsonObject.get("version").getAsString().equals(version.toString())) - return UpdatePriority.fromString(jsonObject.get("level").getAsString()); - } - return UpdatePriority.NONE; - } - - public static boolean checkUpdates() { - return RoughlyEnoughItemsCore.getConfigHelper().getConfig().checkUpdates; - } - - public static List<String> getChangelog(Version currentVersion) { - List<String> changelogs = Lists.newLinkedList(); - JsonArray array = element.getChangelogs().getFabric(); - array.forEach(jsonElement -> { - JsonObject jsonObject = jsonElement.getAsJsonObject(); - Version jsonVersion = new Version(jsonObject.get("version").getAsString()); - if (jsonVersion.compareTo(currentVersion) > 0 && jsonVersion.compareTo(latestForGame) <= 0) - changelogs.add(I18n.translate("text.rei.update_changelog_line", jsonObject.get("text").getAsString())); - }); - return changelogs; - } - - public static Version getCurrentVersion() { - return currentVersion; - } - - public static Version getLatestForGame() { - return latestForGame; - } - - public static void onTick(MinecraftClient client) { - if (client.world != lastWorld) { - lastWorld = client.world; - if (lastWorld != null) { - if (checkUpdates() && isOutdated()) { - String currentVersionString = getCurrentVersion() == null ? "null" : getCurrentVersion().toString(); - List<Version> versions = getVersionsHigherThan(currentVersion); - String t[] = I18n.translate("text.rei.update_outdated", currentVersionString, latestForGame, getUpdatePriority(versions).name().toUpperCase()).split("\n"); - for(String s : t) - client.player.addChatMessage(new StringTextComponent(s), false); - getChangelog(currentVersion).forEach(s -> client.player.addChatMessage(new StringTextComponent(s), false)); - } - } - } - } - - private static List<Version> getVersionsHigherThan(Version currentVersion) { - List<Version> versions = Lists.newLinkedList(); - JsonArray array = element.getChangelogs().getFabric(); - array.forEach(jsonElement -> { - Version jsonVersion = new Version(jsonElement.getAsJsonObject().get("version").getAsString()); - if (jsonVersion.compareTo(currentVersion) > 0) - versions.add(jsonVersion); - }); - return versions; - } - - @SuppressWarnings("deprecation") - @Override - public void onInitializeClient() { - if (!checkUpdates()) - return; - FabricLoader.INSTANCE.getMods().stream().map(ModContainer::getInfo).forEach(modInfo -> { - if (modInfo.getId().equals("roughlyenoughitems")) - try { - currentVersion = new Version(modInfo.getDescription().substring(53)); - } catch (Exception e) { - RoughlyEnoughItemsCore.LOGGER.warn("Can't load REI version, report if this is not in development environment!"); - } - }); - InputStream downloadedStream = downloadVersionString(); - String downloadedString = null; - try { - downloadedString = IOUtils.toString(downloadedStream, StandardCharsets.UTF_8); - element = GSON.fromJson(downloadedString, JsonVersionElement.class); - } catch (IOException e) { - e.printStackTrace(); - } - if (downloadedString != null && !downloadedString.equalsIgnoreCase("{}")) - latestForGame = new Version(parseLatest(element, SharedConstants.getGameVersion().getName())); - else - latestForGame = new Version("0.0.0"); - } - - @SuppressWarnings("deprecation") - private InputStream downloadVersionString() { - try { - URL versionUrl = new URL(VERSION_STRING); - return versionUrl.openStream(); - } catch (IOException e) { - return new java.io.StringBufferInputStream("{}"); - } - } - - private String parseLatest(JsonVersionElement element, String gameVersion) { - LinkedList<LatestVersionObject> objects = new LinkedList<>(element.getLatestVersions()); - for(int i = objects.size() - 1; i >= 0; i--) - if (objects.get(i).getGameVersion().equals(gameVersion)) - return objects.get(i).getModVersion(); - return objects.getLast().getModVersion(); - } - - private class JsonVersionElement { - @SerializedName("latest") - private List<LatestVersionObject> latestVersions; - private ChangelogObject changelogs; - - public JsonVersionElement() { - this.latestVersions = Lists.newArrayList(); - changelogs = new ChangelogObject(); - } - - public List<LatestVersionObject> getLatestVersions() { - return latestVersions; - } - - public ChangelogObject getChangelogs() { - return changelogs; - } - } - - private class LatestVersionObject { - @SerializedName("game") - private String gameVersion = ""; - @SerializedName("mod") - private String modVersion = ""; - - public String getGameVersion() { - return gameVersion; - } - - public String getModVersion() { - return modVersion; - } - - @Override - public String toString() { - return String.format("LatestVersion[%s] = %s", getGameVersion(), getModVersion()); - } - } - - private class ChangelogObject { - private JsonArray fabric = new JsonArray(); - private JsonArray rift = new JsonArray(); - - public JsonArray getFabric() { - return fabric; - } - - public JsonArray getRift() { - return rift; - } - } - -} diff --git a/src/main/java/me/shedaniel/rei/update/UpdatePriority.java b/src/main/java/me/shedaniel/rei/update/UpdatePriority.java deleted file mode 100644 index 433cf2fca..000000000 --- a/src/main/java/me/shedaniel/rei/update/UpdatePriority.java +++ /dev/null @@ -1,13 +0,0 @@ -package me.shedaniel.rei.update; - -import java.util.Arrays; - -public enum UpdatePriority { - - NONE, LIGHT, NORMAL, USEFUL, IMPORTANT; - - public static UpdatePriority fromString(String string) { - return Arrays.stream(values()).filter(updatePriority -> updatePriority.name().toLowerCase().equals(string)).findFirst().orElse(NONE); - } - -} diff --git a/src/main/java/me/shedaniel/rei/update/Version.java b/src/main/java/me/shedaniel/rei/update/Version.java deleted file mode 100644 index a60086fac..000000000 --- a/src/main/java/me/shedaniel/rei/update/Version.java +++ /dev/null @@ -1,49 +0,0 @@ -package me.shedaniel.rei.update; - -public class Version implements Comparable<Version> { - - private String version; - - public Version(String version) { - if (version == null) - throw new IllegalArgumentException("Version can not be null"); - if (!version.matches("[0-9]+(\\.[0-9]+)*")) - throw new IllegalArgumentException("Invalid version format"); - this.version = version; - } - - @Override - public final String toString() { - return this.version; - } - - @Override - public int compareTo(Version other) { - if (other == null) - return 1; - String[] thisParts = this.toString().split("\\."); - String[] thatParts = other.toString().split("\\."); - int length = Math.max(thisParts.length, thatParts.length); - for(int i = 0; i < length; i++) { - int thisPart = i < thisParts.length ? Integer.parseInt(thisParts[i]) : 0; - int thatPart = i < thatParts.length ? Integer.parseInt(thatParts[i]) : 0; - if (thisPart < thatPart) - return -1; - if (thisPart > thatPart) - return 1; - } - return 0; - } - - @Override - public boolean equals(Object that) { - if (this == that) - return true; - if (that == null) - return false; - if (this.getClass() != that.getClass()) - return false; - return this.compareTo((Version) that) == 0; - } - -} |
