aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/io/github/moulberry/notenoughupdates/options/separatesections/AHGraph.java
diff options
context:
space:
mode:
authorWalker Selby <git@walkerselby.com>2023-10-06 06:09:41 +0100
committerGitHub <noreply@github.com>2023-10-06 16:09:41 +1100
commitebdc4df69093d29c3334537f9267374773464a30 (patch)
tree015b8c637cd671fdca141223c67a873faddd6f22 /src/main/java/io/github/moulberry/notenoughupdates/options/separatesections/AHGraph.java
parent778e868ae93651b7280289af14a812eec7f2ecb1 (diff)
downloadnotenoughupdates-ebdc4df69093d29c3334537f9267374773464a30.tar.gz
notenoughupdates-ebdc4df69093d29c3334537f9267374773464a30.tar.bz2
notenoughupdates-ebdc4df69093d29c3334537f9267374773464a30.zip
Cleanup: Refactor for naming conventions (#856)
Diffstat (limited to 'src/main/java/io/github/moulberry/notenoughupdates/options/separatesections/AHGraph.java')
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/options/separatesections/AHGraph.java163
1 files changed, 163 insertions, 0 deletions
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/options/separatesections/AHGraph.java b/src/main/java/io/github/moulberry/notenoughupdates/options/separatesections/AHGraph.java
new file mode 100644
index 00000000..efebe915
--- /dev/null
+++ b/src/main/java/io/github/moulberry/notenoughupdates/options/separatesections/AHGraph.java
@@ -0,0 +1,163 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
+package io.github.moulberry.notenoughupdates.options.separatesections;
+
+import com.google.gson.annotations.Expose;
+import io.github.moulberry.moulconfig.annotations.ConfigEditorBoolean;
+import io.github.moulberry.moulconfig.annotations.ConfigEditorColour;
+import io.github.moulberry.moulconfig.annotations.ConfigEditorDropdown;
+import io.github.moulberry.moulconfig.annotations.ConfigEditorKeybind;
+import io.github.moulberry.moulconfig.annotations.ConfigEditorSlider;
+import io.github.moulberry.moulconfig.annotations.ConfigEditorText;
+import io.github.moulberry.moulconfig.annotations.ConfigOption;
+import org.lwjgl.input.Keyboard;
+
+public class AHGraph {
+ @Expose
+ @ConfigOption(
+ name = "Enable AH/BZ Price Graph",
+ desc = "Enable or disable the graph."
+ )
+ @ConfigEditorBoolean
+ public boolean graphEnabled = true;
+
+ @Expose
+ @ConfigOption(
+ name = "Keybind",
+ desc = "Key to press to open the graph."
+ )
+ @ConfigEditorKeybind(defaultKey = Keyboard.KEY_P)
+ public int graphKey = Keyboard.KEY_P;
+
+ @Expose
+ @ConfigOption(
+ name = "GUI Style",
+ desc = "Change the style of the graph GUI"
+ )
+ @ConfigEditorDropdown(
+ values = {"Minecraft", "Grey", "PacksHQ Dark", "FSR"}
+ )
+ public int graphStyle = 0;
+
+ @Expose
+ @ConfigOption(
+ name = "Default Time",
+ desc = "Change the default time period for the graph."
+ )
+ @ConfigEditorDropdown(
+ values = {"1 Hour", "1 Day", "1 Week", "All Time"}
+ )
+ public int defaultMode = 1;
+
+ @Expose
+ @ConfigOption(
+ name = "Graph Colour",
+ desc = "Set a custom colour for the graph."
+ )
+ @ConfigEditorColour
+ public String graphColor = "0:255:0:255:0";
+
+ @Expose
+ @ConfigOption(
+ name = "Secondary Graph Colour",
+ desc = "Set a custom colour for the second graph line."
+ )
+ @ConfigEditorColour
+ public String graphColor2 = "0:255:255:255:0";
+
+ @Expose
+ @ConfigOption(
+ name = "Moving Average",
+ desc = "Whether the graph should have a moving average line or not."
+ )
+ @ConfigEditorBoolean
+ public boolean movingAverages = false;
+ // Disabled by default because it looks weird to people who don't know what it is
+
+ @Expose
+ @ConfigOption(
+ name = "Moving Average Size (%)",
+ desc = "The percent of the time displayed that should be averaged."
+ )
+ @ConfigEditorSlider(
+ minValue = 0.05f,
+ maxValue = 0.5f,
+ minStep = 0.05f
+ )
+ public double movingAveragePercent = 0.2;
+
+ @Expose
+ @ConfigOption(
+ name = "Moving Average Colour",
+ desc = "Set a custom colour for the graph's moving average line."
+ )
+ @ConfigEditorColour
+ public String movingAverageColor = "0:255:0:255:171";
+
+ @Expose
+ @ConfigOption(
+ name = "Secondary Moving Average Colour",
+ desc = "Set a custom colour for the second graph's secondary moving average line line."
+ )
+ @ConfigEditorColour
+ public String movingAverageColor2 = "0:255:255:109:0";
+
+ @Expose
+ @ConfigOption(
+ name = "Data Source",
+ desc = "Where NEU should get the data for the graph.\nPrices are only stored locally if this is set to 'Local'."
+ )
+ @ConfigEditorDropdown(
+ values = {"Server", "Local"}
+ )
+ public int dataSource = 0;
+
+ @Expose
+ @ConfigOption(
+ name = "Price History API",
+ desc = "§4Do §lNOT §r§4change this, unless you know exactly what you are doing\n§fDefault: §apricehistory.notenoughupdates.org"
+ )
+ @ConfigEditorText
+ public String serverUrl = "pricehistory.notenoughupdates.org";
+
+ @Expose
+ @ConfigOption(
+ name = "Data Retention",
+ desc = "Change the time (in days) that data is kept for.\nLonger retention require more storage."
+ )
+ @ConfigEditorSlider(
+ minValue = 1,
+ maxValue = 30,
+ minStep = 1
+ )
+ public int dataRetention = 7;
+
+ @Expose
+ @ConfigOption(
+ name = "Number of Graph Zones",
+ desc = "Change the number of graph zones.\nHigher numbers will have more detail, but will look way more cramped."
+ )
+ @ConfigEditorSlider(
+ minValue = 50,
+ maxValue = 300,
+ minStep = 1
+ )
+ public int graphZones = 175;
+}