aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/ApiData.java
diff options
context:
space:
mode:
authorRoman / Nea <roman.graef@gmail.com>2022-05-31 20:53:26 +0200
committerGitHub <noreply@github.com>2022-05-31 20:53:26 +0200
commitdfdc2d9519556dfec528ab9d1732cdf32aab0639 (patch)
tree6f046db7b581f40b2deedd202ceaf98ba9ec2567 /src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/ApiData.java
parenta6546a1abe954b394c40be58d73d6fb03d93709e (diff)
downloadnotenoughupdates-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/seperateSections/ApiData.java')
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/ApiData.java87
1 files changed, 87 insertions, 0 deletions
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);
+ }
+
+}