From de97f55968d183cc7d76aad87e3b27d382bfdbc9 Mon Sep 17 00:00:00 2001 From: unknown Date: Sun, 31 May 2020 01:59:47 +1000 Subject: 1.5 --- .../notenoughupdates/options/Options.java | 203 +++++++++++++++++++++ 1 file changed, 203 insertions(+) create mode 100644 src/main/java/io/github/moulberry/notenoughupdates/options/Options.java (limited to 'src/main/java/io/github/moulberry/notenoughupdates/options/Options.java') diff --git a/src/main/java/io/github/moulberry/notenoughupdates/options/Options.java b/src/main/java/io/github/moulberry/notenoughupdates/options/Options.java new file mode 100644 index 00000000..6c7a70a0 --- /dev/null +++ b/src/main/java/io/github/moulberry/notenoughupdates/options/Options.java @@ -0,0 +1,203 @@ +package io.github.moulberry.notenoughupdates.options; + +import com.google.common.collect.Lists; +import com.google.gson.*; +import com.google.gson.annotations.Expose; +import io.github.moulberry.notenoughupdates.Utils; + +import java.io.*; +import java.lang.reflect.Field; +import java.lang.reflect.Type; +import java.nio.charset.StandardCharsets; +import java.util.ArrayList; +import java.util.List; + +public class Options { + + public Option enableItemEditing = new Option( + false, + "Enable Item Editing", + true, + "Dev Feature. Please don't use."); + public Option onlyShowOnSkyblock = new Option( + true, + "Only Show On Skyblock", + false, + "GUI Overlay only appears when you are playing Skyblock."); + public Option advancedPriceInfo = new Option( + false, + "Advanced Price Information", + false, + "Shows some extra information about item sales."); + public Option cacheRenderedItempane = new Option( + true, + "Cache Rendered Itempane", + false, + "Caches the drawn itempane, drastically improving performance. However, animated textures will not work."); + public Option bgBlurFactor = new Option( + 5.0, + "Background Blur Factor", + false, + "Changes the strength of pane background blur. 0-50."); + public Option apiKey = new Option( + "", + "Api key used for certain features.", + false, + "Type /api new to receive key and put it here."); + public Option autoupdate = new Option( + true, + "Automatically Update Items", + false, + "If true, updated items will automatically download from the remote repository when you start the game. \nHIGHLY RECOMMENDED."); + public Option keepopen = new Option( + false, + "Keep Itempane Open", + false, + "If true, the itempane will stay open after the gui is closed."); + public Option itemStyle = new Option( + true, + "Circular Item BG Style", + false, + "If true, uses the circular item background style instead of the square style."); + public Option paneWidthMult = new Option( + 1.0, + "Pane Width Multiplier", + false, + "Changes how wide the item and info panes are. Value between 0.5-1.5."); + public Option bgOpacity = new Option( + 50.0, + "Pane Background Opacity", + false, + "Changes the background colour opacity of item and info panes. Value between 0-255."); + public Option fgOpacity = new Option( + 255.0, + "Item Background Opacity", + false, + "Changes the opacity of item background. Value between 0-255."); + + /** + * OPTIONS THAT DON'T SHOW IN GUI + */ + public Option dev = new Option( + false, + "Show Dev Options", + true, + "Dev Feature. Please don't use."); + public Option compareMode = new Option( + 0.0, + "Compare Mode", + false, + "Compare Mode"); + public Option sortMode = new Option( + 0.0, + "Sort Mode", + false, + "Sort Mode"); + public Option> compareAscending = new Option( + Utils.createList(true, true), + "Compare Ascending", + false, + "Compare Ascending"); + public Option> favourites = new Option( + new ArrayList(), + "Favourites", + false, + "Favourites"); + + public List