diff options
| author | Roman / Nea <roman.graef@gmail.com> | 2022-05-31 20:53:26 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-05-31 20:53:26 +0200 |
| commit | dfdc2d9519556dfec528ab9d1732cdf32aab0639 (patch) | |
| tree | 6f046db7b581f40b2deedd202ceaf98ba9ec2567 /src/main/java/io/github/moulberry/notenoughupdates/options | |
| parent | a6546a1abe954b394c40be58d73d6fb03d93709e (diff) | |
| download | notenoughupdates-dfdc2d9519556dfec528ab9d1732cdf32aab0639.tar.gz notenoughupdates-dfdc2d9519556dfec528ab9d1732cdf32aab0639.tar.bz2 notenoughupdates-dfdc2d9519556dfec528ab9d1732cdf32aab0639.zip | |
Move repository related configuration to GUI. (#151)
Diffstat (limited to 'src/main/java/io/github/moulberry/notenoughupdates/options')
3 files changed, 124 insertions, 27 deletions
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/options/NEUConfig.java b/src/main/java/io/github/moulberry/notenoughupdates/options/NEUConfig.java index 5ed990a4..d9cc77e3 100644 --- a/src/main/java/io/github/moulberry/notenoughupdates/options/NEUConfig.java +++ b/src/main/java/io/github/moulberry/notenoughupdates/options/NEUConfig.java @@ -17,7 +17,7 @@ import io.github.moulberry.notenoughupdates.options.customtypes.NEUDebugFlag; import io.github.moulberry.notenoughupdates.options.seperateSections.AHGraph; import io.github.moulberry.notenoughupdates.options.seperateSections.AHTweaks; import io.github.moulberry.notenoughupdates.options.seperateSections.AccessoryBag; -import io.github.moulberry.notenoughupdates.options.seperateSections.ApiKey; +import io.github.moulberry.notenoughupdates.options.seperateSections.ApiData; import io.github.moulberry.notenoughupdates.options.seperateSections.Calendar; import io.github.moulberry.notenoughupdates.options.seperateSections.CustomArmour; import io.github.moulberry.notenoughupdates.options.seperateSections.DungeonMapConfig; @@ -46,6 +46,7 @@ import io.github.moulberry.notenoughupdates.options.seperateSections.TradeMenu; import io.github.moulberry.notenoughupdates.overlays.MiningOverlay; import io.github.moulberry.notenoughupdates.overlays.OverlayManager; import io.github.moulberry.notenoughupdates.overlays.TextOverlay; +import io.github.moulberry.notenoughupdates.util.NotificationHandler; import io.github.moulberry.notenoughupdates.util.SBInfo; import net.minecraft.client.Minecraft; import net.minecraftforge.client.ClientCommandHandler; @@ -155,6 +156,29 @@ public class NEUConfig extends Config { case 21: NotEnoughUpdates.INSTANCE.overlay.updateSearch(); return; + case 22: + NotEnoughUpdates.INSTANCE.manager + .userFacingRepositoryReload() + .thenAccept(strings -> + NotificationHandler.displayNotification(strings, true, true)); + Minecraft.getMinecraft().displayGuiScreen(null); + return; + case 23: + NotEnoughUpdates.INSTANCE.config.apiData.repoUser = "NotEnoughUpdates"; + NotEnoughUpdates.INSTANCE.config.apiData.repoName = "NotEnoughUpdates-REPO"; + NotEnoughUpdates.INSTANCE.config.apiData.repoBranch = "master"; + NotEnoughUpdates.INSTANCE.openGui = + new GuiScreenElementWrapper(new NEUConfigEditor(NotEnoughUpdates.INSTANCE.config, "apis")); + return; + case 24: + NotEnoughUpdates.INSTANCE.config.apiData.repoUser = "NotEnoughUpdates"; + NotEnoughUpdates.INSTANCE.config.apiData.repoName = "NotEnoughUpdates-REPO"; + NotEnoughUpdates.INSTANCE.config.apiData.repoBranch = "dangerous"; + NotEnoughUpdates.INSTANCE.openGui = + new GuiScreenElementWrapper(new NEUConfigEditor(NotEnoughUpdates.INSTANCE.config, "apis")); + return; + default: + System.err.printf("Unknown runnableId = %d in category %s%n", runnableId, activeConfigCategory); } } @@ -349,10 +373,19 @@ public class NEUConfig extends Config { @Expose @Category( - name = "Api Key", - desc = "Api Key" + name = "Apis", + desc = "Api Data" ) - public ApiKey apiKey = new ApiKey(); + public ApiData apiData = new ApiData(); + + @Expose + public LegacyApiKey apiKey = null; + + public static class LegacyApiKey { + // Blame Ironmoon for this (still better than my idea tho) + @Expose + public String apiKey = null; + } @Expose public Hidden hidden = new Hidden(); @@ -371,12 +404,8 @@ public class NEUConfig extends Config { @Expose public EnumSet<NEUDebugFlag> debugFlags = EnumSet.noneOf(NEUDebugFlag.class); @Expose - public boolean enableItemEditing = false; - @Expose public boolean cacheRenderedItempane = true; @Expose - public boolean autoupdate = true; - @Expose public String overlaySearchBar = ""; @Expose public String overlayQuickCommand = ""; @@ -402,10 +431,6 @@ public class NEUConfig extends Config { public ArrayList<String> quickCommands = createDefaultQuickCommands(); @Expose public ArrayList<String> enchantColours = createDefaultEnchantColours(); - @Expose - public String repoURL = "https://github.com/Moulberry/NotEnoughUpdates-REPO/archive/master.zip"; - @Expose - public String repoCommitsURL = "https://api.github.com/repos/Moulberry/NotEnoughUpdates-REPO/commits/master"; @Expose public boolean firstTimeSearchFocus = true; diff --git a/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/ApiData.java b/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/ApiData.java new file mode 100644 index 00000000..6121e189 --- /dev/null +++ b/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/ApiData.java @@ -0,0 +1,87 @@ +package io.github.moulberry.notenoughupdates.options.seperateSections; + +import com.google.gson.annotations.Expose; +import io.github.moulberry.notenoughupdates.core.config.annotations.ConfigAccordionId; +import io.github.moulberry.notenoughupdates.core.config.annotations.ConfigEditorAccordion; +import io.github.moulberry.notenoughupdates.core.config.annotations.ConfigEditorBoolean; +import io.github.moulberry.notenoughupdates.core.config.annotations.ConfigEditorButton; +import io.github.moulberry.notenoughupdates.core.config.annotations.ConfigEditorText; +import io.github.moulberry.notenoughupdates.core.config.annotations.ConfigOption; + +public class ApiData { + @Expose + @ConfigOption( + name = "Api Key", + desc = "Hypixel api key\nYou can run §a/api new§r to autofill this value." + ) + @ConfigEditorText + public String apiKey = ""; + + @ConfigEditorAccordion(id = 0) + @ConfigOption(name = "Repository", desc = "") + public boolean repository = false; + + @Expose + @ConfigOption(name = "Automatically Update Repository", desc = "Update the repository on every startup") + @ConfigEditorBoolean() + @ConfigAccordionId(id = 0) + public boolean autoupdate = true; + + @ConfigAccordionId(id = 0) + @ConfigOption(name = "Update Repository now", desc = "Refresh your repository") + @ConfigEditorButton(runnableId = 22, buttonText = "Update") + public int updateRepositoryButton = 0; + + @ConfigEditorAccordion(id = 1) + @ConfigAccordionId(id = 0) + @ConfigOption(name = "Repository Location", desc = "") + public boolean repositoryLocation = false; + + @ConfigAccordionId(id = 1) + @ConfigOption(name = "Use default repository", desc = "The latest, most up to date item list for the official NEU releases.") + @ConfigEditorButton(runnableId = 23, buttonText = "Reset") + public int setRepositoryToDefaultButton = 0; + + @ConfigAccordionId(id = 1) + @ConfigOption(name = "Use dangerous Repository", desc = "The latest, most up to date item list for the NEU prereleases.\n§4Use §lonly§r§4 with the prereleases.") + @ConfigEditorButton(runnableId = 24, buttonText = "Use") + public int setRepositoryToDangerousButton = 0; + + @Expose + @ConfigAccordionId(id = 1) + @ConfigOption(name = "Repository User", desc = "Repository User") + @ConfigEditorText + public String repoUser = "NotEnoughUpdates"; + + @Expose + @ConfigAccordionId(id = 1) + @ConfigOption(name = "Repository Name", desc = "Repository Name") + @ConfigEditorText + public String repoName = "NotEnoughUpdates-REPO"; + + @Expose + @ConfigAccordionId(id = 1) + @ConfigOption(name = "Repository Branch", desc = "Repository Branch") + @ConfigEditorText + public String repoBranch = "master"; + + @Expose + @ConfigAccordionId(id = 0) + @ConfigOption(name = "Edit Mode", desc = "Enables you to edit items in the item list.\n§4Recommended for repository maintainers only.\n§4§lRemember: §rTurn off auto update as well") + @ConfigEditorBoolean + public boolean repositoryEditing = false; + + @Expose + @ConfigOption(name = "Lowestbin API", desc = "§4Do §lNOT §r§4change this, unless you know exactly what you are doing\n§fDefault: §amoulberry.codes") + @ConfigEditorText + public String moulberryCodesApi = "moulberry.codes"; + + public String getCommitApiUrl() { + return String.format("https://api.github.com/repos/%s/%s/commits/%s", repoUser, repoName, repoBranch); + } + + public String getDownloadUrl(String commitId) { + return String.format("https://github.com/%s/%s/archive/%s.zip", repoUser, repoName, commitId); + } + +} diff --git a/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/ApiKey.java b/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/ApiKey.java deleted file mode 100644 index 5567365c..00000000 --- a/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/ApiKey.java +++ /dev/null @@ -1,15 +0,0 @@ -package io.github.moulberry.notenoughupdates.options.seperateSections; - -import com.google.gson.annotations.Expose; -import io.github.moulberry.notenoughupdates.core.config.annotations.ConfigEditorText; -import io.github.moulberry.notenoughupdates.core.config.annotations.ConfigOption; - -public class ApiKey { - @Expose - @ConfigOption( - name = "Api Key", - desc = "Hypixel api key" - ) - @ConfigEditorText - public String apiKey = ""; -} |
