diff options
author | ThatGravyBoat <thatgravyboat@gmail.com> | 2021-07-06 15:10:29 -0230 |
---|---|---|
committer | ThatGravyBoat <thatgravyboat@gmail.com> | 2021-07-06 15:10:29 -0230 |
commit | 6d8e1e5659f64a4f9ba86d6ab5bbc8e688faf22a (patch) | |
tree | 7451e53ceeae3c324d83a7faba83ce80005e6f23 /src/main/java/com/thatgravyboat/skyblockhud/config/SBHConfig.java | |
download | SkyblockHud-Death-Defied-6d8e1e5659f64a4f9ba86d6ab5bbc8e688faf22a.tar.gz SkyblockHud-Death-Defied-6d8e1e5659f64a4f9ba86d6ab5bbc8e688faf22a.tar.bz2 SkyblockHud-Death-Defied-6d8e1e5659f64a4f9ba86d6ab5bbc8e688faf22a.zip |
Initial Commit
Diffstat (limited to 'src/main/java/com/thatgravyboat/skyblockhud/config/SBHConfig.java')
-rw-r--r-- | src/main/java/com/thatgravyboat/skyblockhud/config/SBHConfig.java | 486 |
1 files changed, 486 insertions, 0 deletions
diff --git a/src/main/java/com/thatgravyboat/skyblockhud/config/SBHConfig.java b/src/main/java/com/thatgravyboat/skyblockhud/config/SBHConfig.java new file mode 100644 index 0000000..1f6e581 --- /dev/null +++ b/src/main/java/com/thatgravyboat/skyblockhud/config/SBHConfig.java @@ -0,0 +1,486 @@ +package com.thatgravyboat.skyblockhud.config; + +import com.google.gson.annotations.Expose; +import com.thatgravyboat.skyblockhud.SkyblockHud; +import com.thatgravyboat.skyblockhud.core.GuiScreenElementWrapper; +import com.thatgravyboat.skyblockhud.core.config.Config; +import com.thatgravyboat.skyblockhud.core.config.Position; +import com.thatgravyboat.skyblockhud.core.config.annotations.*; +import com.thatgravyboat.skyblockhud.core.config.gui.GuiPositionEditor; +import net.minecraft.client.Minecraft; + +public class SBHConfig extends Config { + + private void editOverlay(String activeConfig, int width, int height, Position position) { + Minecraft.getMinecraft().displayGuiScreen( + new GuiPositionEditor(position, width, height, + () -> {}, + () -> {}, + () -> SkyblockHud.screenToOpen = new GuiScreenElementWrapper(new SBHConfigEditor(SkyblockHud.config, activeConfig)) + ) + ); + } + + @Override + public void executeRunnable(String runnableId) { + String activeConfigCategory = null; + if(Minecraft.getMinecraft().currentScreen instanceof GuiScreenElementWrapper) { + GuiScreenElementWrapper wrapper = (GuiScreenElementWrapper) Minecraft.getMinecraft().currentScreen; + if(wrapper.element instanceof SBHConfigEditor) { + activeConfigCategory = ((SBHConfigEditor)wrapper.element).getSelectedCategoryName(); + } + } + + switch (runnableId) { + case "rpg": + editOverlay(activeConfigCategory, 120, 47, rpg.rpgHudPosition); + return; + case "d1": + editOverlay(activeConfigCategory, 120, 32, dungeon.dungeonPlayer1); + return; + case "d2": + editOverlay(activeConfigCategory, 120, 32, dungeon.dungeonPlayer2); + return; + case "d3": + editOverlay(activeConfigCategory, 120, 32, dungeon.dungeonPlayer3); + return; + case "d4": + editOverlay(activeConfigCategory, 120, 32, dungeon.dungeonPlayer4); + return; + case "main": + editOverlay(activeConfigCategory, 1000, 34, main.mainHudPos); + return; + case "ultimate": + editOverlay(activeConfigCategory, 182, 5, dungeon.barPosition); + return; + case "map": + editOverlay(activeConfigCategory, 72, 72, map.miniMapPosition); + return; + case "tracker": + editOverlay(activeConfigCategory, 120, 70, trackers.trackerPosition); + return; + } + } + + @Expose + @Category( + name = "Misc Options", + desc = "Just a bunch of random options." + ) + public Misc misc = new Misc(); + + @Expose + @Category( + name = "Main Hud", + desc = "All Options for the main hud." + ) + public MainHud main = new MainHud(); + + @Expose + @Category( + name = "RPG Hud", + desc = "All Options for the RPG hud." + ) + public RPGHud rpg = new RPGHud(); + + @Expose + @Category( + name = "Dungeon Hud", + desc = "All Options for the Dungeon hud." + ) + public DungeonHud dungeon = new DungeonHud(); + + @Expose + @Category( + name = "Renderer", + desc = "All Options for rendering." + ) + public Renderer renderer = new Renderer(); + + @Expose + @Category( + name = "Map", + desc = "All Options for the Map." + ) + public Map map = new Map(); + + @Expose + @Category( + name = "Tracker", + desc = "All Options for the Trackers." + ) + public Trackers trackers = new Trackers(); + + public static class Misc { + @Expose + @ConfigOption( + name = "Hide Scoreboard", + desc = "Hides the scoreboard when in skyblock." + ) + @ConfigEditorBoolean + public boolean hideScoreboard = false; + } + + public static class MainHud { + @Expose + @ConfigOption( + name = "Main Hud Position", + desc = "" + ) + @ConfigEditorButton( + runnableId = "main", + buttonText = "Edit" + ) + public Position mainHudPos = new Position(0, 1, true, false); + + @Expose + @ConfigOption( + name = "Twelve Hour Clock", + desc = "Allows you to change the clock to be 12 hour instead of 24 hour." + ) + @ConfigEditorBoolean + public boolean twelveHourClock = false; + + @Expose + @ConfigOption( + name = "Shift hud with boss", + desc = "Shifts the hud when bossbar is visible." + ) + @ConfigEditorBoolean + public boolean bossShiftHud = true; + + @Expose + @ConfigOption( + name = "Require Redstone", + desc = "Allows to make it so that the redstone percentage requires you to hold a redstone item to show." + ) + @ConfigEditorBoolean + public boolean requireRedstone = true; + } + + public static class RPGHud { + @Expose + @ConfigOption( + name = "Show RPG Hud", + desc = "Allows you to show or hide the RPG Hud." + ) + @ConfigEditorBoolean + public boolean showRpgHud = true; + + @Expose + @ConfigOption( + name = "RPG Hud Position", + desc = "Allows you to change the position of the RPG Hud." + ) + @ConfigEditorButton( + runnableId = "rpg", + buttonText = "Edit" + ) + public Position rpgHudPosition = new Position(1, 1); + } + + public static class DungeonHud { + + @Expose + @ConfigOption( + name = "Dungeon Ultimate Bar", + desc = "" + ) + @ConfigEditorAccordion(id = 2) + public boolean ultimateBar = false; + + @Expose + @ConfigOption( + name = "Hide Ultimate Bar", + desc = "Hides the custom ultimate bar." + ) + @ConfigEditorBoolean() + @ConfigAccordionId(id = 2) + public boolean hideUltimateBar = false; + + @Expose + @ConfigOption( + name = "Bar Position", + desc = "Change the position of the bar." + ) + @ConfigEditorButton( + runnableId = "ultimate", + buttonText = "Edit" + ) + @ConfigAccordionId(id = 2) + public Position barPosition = new Position(0, 50, true, false); + + @Expose + @ConfigOption( + name = "Bar Loading Color", + desc = "The color of the bar when its loading." + ) + @ConfigEditorColour() + @ConfigAccordionId(id = 2) + public String barLoadColor = "159:0:0:0:255"; + + @Expose + @ConfigOption( + name = "Bar Full Color", + desc = "The color of the bar when its full." + ) + @ConfigEditorColour() + @ConfigAccordionId(id = 2) + public String barFullColor = "255:0:0:0:255"; + + @Expose + @ConfigOption( + name = "Bar Style", + desc = "Change the style of the bar" + ) + @ConfigEditorDropdown(values = {"No Notch", "6 Notch", "10 Notch", "12 Notch", "20 Notch"}) + @ConfigAccordionId(id = 2) + public int barStyle = 2; + + @Expose + @ConfigOption( + name = "Dungeon Players", + desc = "" + ) + @ConfigEditorAccordion(id = 1) + public boolean dungeonPlayerAccordion = false; + + @Expose + @ConfigOption( + name = "Hide Dungeon Players", + desc = "Allows you to hide the dungeon player hud" + ) + @ConfigEditorBoolean() + @ConfigAccordionId(id = 1) + public boolean hideDungeonPlayers = false; + + @Expose + @ConfigOption( + name = "Dungeon Player Opacity", + desc = "Allows you to change the opacity of the dungeon players." + ) + @ConfigEditorSlider(minValue = 0, maxValue = 100, minStep = 1) + @ConfigAccordionId(id = 1) + public int dungeonPlayerOpacity = 0; + + @Expose + @ConfigOption( + name = "Hide Dead Players", + desc = "Allows you to hide players that are dead or have left." + ) + @ConfigEditorBoolean() + @ConfigAccordionId(id = 1) + public boolean hideDeadDungeonPlayers = false; + + @Expose + @ConfigOption( + name = "Player Position 1", + desc = "Change the position of this dungeon player." + ) + @ConfigEditorButton( + runnableId = "d1", + buttonText = "Edit" + ) + @ConfigAccordionId(id = 1) + public Position dungeonPlayer1 = new Position(5, 5); + + + @Expose + @ConfigOption( + name = "Player Position 2", + desc = "Change the position of this dungeon player." + ) + @ConfigEditorButton( + runnableId = "d2", + buttonText = "Edit" + ) + @ConfigAccordionId(id = 1) + public Position dungeonPlayer2 = new Position(5, 42); + + @Expose + @ConfigOption( + name = "Player Position 3", + desc = "Change the position of this dungeon player." + ) + @ConfigEditorButton( + runnableId = "d3", + buttonText = "Edit" + ) + @ConfigAccordionId(id = 1) + public Position dungeonPlayer3 = new Position(5, 79); + + @Expose + @ConfigOption( + name = "Player Position 4", + desc = "Change the position of this dungeon player." + ) + @ConfigEditorButton( + runnableId = "d4", + buttonText = "Edit" + ) + @ConfigAccordionId(id = 1) + public Position dungeonPlayer4 = new Position(5, 116); + + } + + public static class Renderer { + @Expose + @ConfigOption( + name = "Hide Boss Bar", + desc = "Hides Boss Bar when certain conditions are met such as the name is just wither or it starts with objective:" + ) + @ConfigEditorBoolean + public boolean hideBossBar = true; + + @Expose + @ConfigOption( + name = "Hide XP Bar", + desc = "Hides xp bar." + ) + @ConfigEditorBoolean + public boolean hideXpBar = true; + + @Expose + @ConfigOption( + name = "Hide Food", + desc = "Hides food." + ) + @ConfigEditorBoolean + public boolean hideFood = true; + + @Expose + @ConfigOption( + name = "Hide air", + desc = "Hides air." + ) + @ConfigEditorBoolean + public boolean hideAir = true; + + @Expose + @ConfigOption( + name = "Hide hearts", + desc = "Hides hearts." + ) + @ConfigEditorBoolean + public boolean hideHearts = true; + + @Expose + @ConfigOption( + name = "Hide armor", + desc = "Hides armor." + ) + @ConfigEditorBoolean + public boolean hideArmor = true; + + @Expose + @ConfigOption( + name = "Hide Animal Hearts", + desc = "Hides Animal Hearts." + ) + @ConfigEditorBoolean + public boolean hideAnimalHearts = true; + } + + public static class Map { + @Expose + @ConfigOption( + name = "Show Player Location", + desc = "This feature is off by default as Hypixel's rules are so vague that this would fall under their disallowed modifications." + ) + @ConfigEditorBoolean + public boolean showPlayerLocation = false; + + @Expose + @ConfigOption( + name = "Show Mini-Map", + desc = "Shows the Mini-Map on your overlay if turned off you can still use /sbhmap to see the map in fullscreen." + ) + @ConfigEditorBoolean + public boolean showMiniMap = false; + + @Expose + @ConfigOption( + name = "Mini-Map Position", + desc = "Allows you to change the position of the Mini-Map." + ) + @ConfigEditorButton( + runnableId = "map", + buttonText = "Edit" + ) + public Position miniMapPosition = new Position(0, 100, false, false); + + @Expose + @ConfigOption( + name = "Icons", + desc = "" + ) + @ConfigEditorAccordion(id = 3) + public boolean icons = false; + + @Expose + @ConfigOption( + name = "NPC", + desc = "Show NPC Icons" + ) + @ConfigEditorBoolean() + @ConfigAccordionId(id = 3) + public boolean showNpcIcons = true; + + @Expose + @ConfigOption( + name = "Info", + desc = "Show Info Icons" + ) + @ConfigEditorBoolean() + @ConfigAccordionId(id = 3) + public boolean showInfoIcons = true; + + @Expose + @ConfigOption( + name = "Misc", + desc = "Show Misc Icons" + ) + @ConfigEditorBoolean() + @ConfigAccordionId(id = 3) + public boolean showMiscIcons = true; + + @Expose + @ConfigOption( + name = "Shops", + desc = "Show Shop Icons" + ) + @ConfigEditorBoolean() + @ConfigAccordionId(id = 3) + public boolean showShopIcons = true; + + @Expose + @ConfigOption( + name = "Quests", + desc = "Show Quest Icons" + ) + @ConfigEditorBoolean() + @ConfigAccordionId(id = 3) + public boolean showQuestIcons = false; + } + + public static class Trackers { + @Expose + @ConfigOption( + name = "Tracker Position", + desc = "Allows you to change the position of the Trackers." + ) + @ConfigEditorButton( + runnableId = "tracker", + buttonText = "Edit" + ) + public Position trackerPosition = new Position(-1, 200); + + @Expose + @ConfigOption( + name = "Hide Tracker", + desc = "It will still track the data just in case." + ) + @ConfigEditorBoolean() + public boolean hideTracker = false; + } +} |