diff options
Diffstat (limited to 'src/main/java')
22 files changed, 4051 insertions, 4051 deletions
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/dungeons/GuiDungeonMapEditor.java b/src/main/java/io/github/moulberry/notenoughupdates/dungeons/GuiDungeonMapEditor.java index 41fa3663..e59e0ea1 100644 --- a/src/main/java/io/github/moulberry/notenoughupdates/dungeons/GuiDungeonMapEditor.java +++ b/src/main/java/io/github/moulberry/notenoughupdates/dungeons/GuiDungeonMapEditor.java @@ -1,847 +1,847 @@ -package io.github.moulberry.notenoughupdates.dungeons;
-
-import io.github.moulberry.notenoughupdates.NotEnoughUpdates;
-import io.github.moulberry.notenoughupdates.core.GuiElementColour;
-import io.github.moulberry.notenoughupdates.core.config.annotations.ConfigEditorSlider;
-import io.github.moulberry.notenoughupdates.core.config.annotations.ConfigOption;
-import io.github.moulberry.notenoughupdates.core.config.gui.GuiPositionEditor;
-import io.github.moulberry.notenoughupdates.core.util.render.RenderUtils;
-import io.github.moulberry.notenoughupdates.core.util.render.TextRenderUtils;
-import io.github.moulberry.notenoughupdates.itemeditor.GuiElementTextField;
-import io.github.moulberry.notenoughupdates.options.seperateSections.DungeonMapConfig;
-import io.github.moulberry.notenoughupdates.util.SpecialColour;
-import io.github.moulberry.notenoughupdates.util.Utils;
-import net.minecraft.client.Minecraft;
-import net.minecraft.client.gui.GuiScreen;
-import net.minecraft.client.gui.ScaledResolution;
-import net.minecraft.client.renderer.GlStateManager;
-import net.minecraft.client.renderer.OpenGlHelper;
-import net.minecraft.client.shader.Framebuffer;
-import net.minecraft.client.shader.Shader;
-import net.minecraft.util.EnumChatFormatting;
-import net.minecraft.util.Matrix4f;
-import net.minecraft.util.ResourceLocation;
-import net.minecraft.util.Vec4b;
-import org.lwjgl.input.Keyboard;
-import org.lwjgl.input.Mouse;
-import org.lwjgl.opengl.GL11;
-
-import java.awt.*;
-import java.io.IOException;
-import java.lang.reflect.Field;
-import java.util.List;
-import java.util.*;
-
-import static io.github.moulberry.notenoughupdates.util.GuiTextures.*;
-
-public class GuiDungeonMapEditor extends GuiScreen {
- public static final ResourceLocation BACKGROUND = new ResourceLocation(
- "notenoughupdates:dungeon_map/editor/background.png");
- public static final ResourceLocation BUTTON = new ResourceLocation("notenoughupdates:dungeon_map/editor/button.png");
- private static final DungeonMap demoMap = new DungeonMap();
-
- private int sizeX;
- private int sizeY;
- private int guiLeft;
- private int guiTop;
-
- private final List<Button> buttons = new ArrayList<>();
-
- private final GuiElementTextField blurField = new GuiElementTextField(
- "",
- GuiElementTextField.NUM_ONLY | GuiElementTextField.NO_SPACE
- );
- private GuiElementColour activeColourEditor = null;
-
- private Field clickedSlider;
-
- class Button {
- private final int id;
- private final int x;
- private final int y;
- private String text;
- private Color colour = new Color(-1, true);
- private final Field option;
- private String displayName;
- private String desc;
-
- public Button(int id, int x, int y, String text) {
- this(id, x, y, text, null);
- }
-
- public Button(int id, int x, int y, String text, Field option) {
- this.id = id;
- this.x = x;
- this.y = y;
- this.text = text;
- this.option = option;
-
- if (option != null) {
- ConfigOption optionAnnotation = option.getAnnotation(ConfigOption.class);
- displayName = optionAnnotation.name();
- desc = optionAnnotation.desc();
- }
- }
-
- public List<String> getTooltip() {
- if (option == null) {
- return null;
- }
-
- List<String> tooltip = new ArrayList<>();
- tooltip.add(EnumChatFormatting.YELLOW + displayName);
- for (String line : desc.split("\n")) {
- tooltip.add(EnumChatFormatting.AQUA + line);
- }
- return tooltip;
- }
-
- public void render() {
- if (text == null) return;
-
- Minecraft.getMinecraft().getTextureManager().bindTexture(BUTTON);
- if (isButtonPressed(id)) {
- GlStateManager.color(colour.getRed() * 0.85f / 255f, colour.getGreen() * 0.85f / 255f,
- colour.getBlue() * 0.85f / 255f, 1
- );
- Utils.drawTexturedRect(guiLeft + x, guiTop + y, 48, 16, 1, 0, 1, 0, GL11.GL_NEAREST);
- } else {
- GlStateManager.color(colour.getRed() / 255f, colour.getGreen() / 255f, colour.getBlue() / 255f, 1);
- Utils.drawTexturedRect(guiLeft + x, guiTop + y, 48, 16, GL11.GL_NEAREST);
- }
-
- if (text.length() > 0) {
- Utils.drawStringCenteredScaledMaxWidth(
- text,
- Minecraft.getMinecraft().fontRendererObj,
- guiLeft + x + 24,
- guiTop + y + 8,
- false,
- 39,
- 0xFF000000
- );
- }
- }
-
- }
-
- public GuiDungeonMapEditor() {
- DungeonMapConfig options = NotEnoughUpdates.INSTANCE.config.dungeonMap;
- //Map Border Size
- //buttons.add(new Button(0, 6, 37, "Small", options.dmBorderSize));
- //buttons.add(new Button(1, 52, 37, "Medium", options.dmBorderSize));
- //buttons.add(new Button(2, 98, 37, "Large", options.dmBorderSize));
-
- //Map Rooms Size
- //buttons.add(new Button(3, 6, 67+19, "Small", options.dmRoomSize));
- //buttons.add(new Button(4, 52, 67+19, "Medium", options.dmRoomSize));
- //buttons.add(new Button(5, 98, 67+19, "Large", options.dmRoomSize));
-
- //Map Border Styles
- buttons.add(new Button(6, 6, 97 + 30, "None"));
- buttons.add(new Button(7, 52, 97 + 30, "Custom"));
- buttons.add(new Button(8, 98, 97 + 30, "Stone"));
- buttons.add(new Button(9, 6, 116 + 30, "Wood"));
- buttons.add(new Button(10, 52, 116 + 30, "Rustic(S)"));
- buttons.add(new Button(11, 98, 116 + 30, "Rustic(C)"));
- buttons.add(new Button(12, 6, 135 + 30, "Fade"));
- buttons.add(new Button(13, 52, 135 + 30, "Ribbons"));
- buttons.add(new Button(14, 98, 135 + 30, "Paper"));
- buttons.add(new Button(15, 6, 154 + 30, "Crimson"));
- buttons.add(new Button(16, 52, 154 + 30, "Ornate"));
- buttons.add(new Button(17, 98, 154 + 30, "Dragon"));
-
- try {
- //Dungeon Map
- buttons.add(new Button(18, 20 + 139, 36, "Yes/No", DungeonMapConfig.class.getDeclaredField("dmEnable")));
- //Center
- buttons.add(new Button(
- 19,
- 84 + 139,
- 36,
- "Player/Map",
- DungeonMapConfig.class.getDeclaredField("dmCenterPlayer")
- ));
- //Rotate
- buttons.add(new Button(
- 20,
- 20 + 139,
- 65,
- "Player/No Rotate",
- DungeonMapConfig.class.getDeclaredField("dmRotatePlayer")
- ));
- //Icon Style
- buttons.add(new Button(
- 21,
- 84 + 139,
- 65,
- "Default/Heads",
- DungeonMapConfig.class.getDeclaredField("dmPlayerHeads")
- ));
- //Check Orient
- buttons.add(new Button(
- 22,
- 20 + 139,
- 94,
- "Normal/Reorient",
- DungeonMapConfig.class.getDeclaredField("dmOrientCheck")
- ));
- //Check Center
- buttons.add(new Button(23, 84 + 139, 94, "Yes/No", DungeonMapConfig.class.getDeclaredField("dmCenterCheck")));
- //Interpolation
- buttons.add(new Button(24, 20 + 139, 123, "Yes/No", DungeonMapConfig.class.getDeclaredField("dmPlayerInterp")));
- //Compatibility
- buttons.add(new Button(
- 25,
- 84 + 139,
- 123,
- "Normal/No SHD/No FB/SHD",
- DungeonMapConfig.class.getDeclaredField("dmCompat")
- ));
-
- //Background
- buttons.add(new Button(26, 20 + 139, 152, "", DungeonMapConfig.class.getDeclaredField("dmBackgroundColour")));
- //Border
- buttons.add(new Button(27, 84 + 139, 152, "", DungeonMapConfig.class.getDeclaredField("dmBorderColour")));
-
- //Chroma Mode
- buttons.add(new Button(
- 28,
- 84 + 139,
- 181,
- "Normal/Scroll",
- DungeonMapConfig.class.getDeclaredField("dmChromaBorder")
- ));
- } catch (Exception e) {
- e.printStackTrace();
- }
-
- //buttons.add(new Button(29, 52, 86+19, "XLarge", options.dmRoomSize));
- //buttons.add(new Button(30, 52, 56, "XLarge", options.dmBorderSize));
-
- {
- double val = NotEnoughUpdates.INSTANCE.config.dungeonMap.dmBackgroundBlur;
- String strVal;
- if (val % 1 == 0) {
- strVal = Integer.toString((int) val);
- } else {
- strVal = Double.toString(val);
- strVal = strVal.replaceAll("(\\.\\d\\d\\d)(?:\\d)+", "$1");
- strVal = strVal.replaceAll("0+$", "");
- }
- blurField.setText(strVal);
- }
- }
-
- @Override
- public void drawScreen(int mouseX, int mouseY, float partialTicks) {
- ScaledResolution scaledResolution = Utils.pushGuiScale(2);
- this.width = scaledResolution.getScaledWidth();
- this.height = scaledResolution.getScaledHeight();
-
- mouseX = Mouse.getEventX() * this.width / this.mc.displayWidth;
- mouseY = this.height - Mouse.getEventY() * this.height / this.mc.displayHeight - 1;
-
- List<String> tooltipToDisplay = null;
- for (Button button : buttons) {
- if (mouseX >= guiLeft + button.x && mouseX <= guiLeft + button.x + 48 &&
- mouseY >= guiTop + button.y - 13 && mouseY <= guiTop + button.y + 16) {
- if (button.id >= 6 && button.id <= 17) {
- String mapDesc = null;
- String mapCredit = null;
- int id = button.id;
- switch (id) {
- case 6:
- mapDesc = "No Border";
- break;
- case 7:
- mapDesc = "Used by custom Resource Packs";
- break;
- case 8:
- mapDesc = "Simple gray border";
- mapCredit = "TomEngMaster";
- break;
- case 9:
- mapDesc = "Viney wood border";
- mapCredit = "iDevil4Hell";
- break;
- case 10:
- mapDesc = "Steampunk-inspired square border";
- mapCredit = "ThatGravyBoat";
- break;
- case 11:
- mapDesc = "Steampunk-inspired circular border";
- mapCredit = "ThatGravyBoat";
- break;
- case 12:
- mapDesc = "Light fade border";
- mapCredit = "Qwiken";
- break;
- case 13:
- mapDesc = "Simple gray border with red ribbons";
- mapCredit = "Sai";
- break;
- case 14:
- mapDesc = "Paper border";
- mapCredit = "KingJames02st";
- break;
- case 15:
- mapDesc = "Nether-inspired border";
- mapCredit = "DTRW191";
- break;
- case 16:
- mapDesc = "Golden ornate border";
- mapCredit = "iDevil4Hell";
- break;
- case 17:
- mapDesc = "Stone dragon border";
- mapCredit = "ImperiaL";
- break;
- }
-
- ArrayList<String> tooltip = new ArrayList<>();
- tooltip.add(EnumChatFormatting.YELLOW + "Border Style");
- tooltip.add(EnumChatFormatting.AQUA + "Customize the look of the dungeon border");
- tooltip.add("");
- if (mapDesc != null)
- tooltip.add(EnumChatFormatting.YELLOW + "Set to: " + EnumChatFormatting.AQUA + mapDesc);
- if (mapCredit != null)
- tooltip.add(EnumChatFormatting.YELLOW + "Artist: " + EnumChatFormatting.GOLD + mapCredit);
- tooltipToDisplay = tooltip;
- } else {
- tooltipToDisplay = button.getTooltip();
- }
- break;
- }
- }
-
- this.sizeX = 431;
- this.sizeY = 237;
- this.guiLeft = (this.width - this.sizeX) / 2;
- this.guiTop = (this.height - this.sizeY) / 2;
-
- super.drawScreen(mouseX, mouseY, partialTicks);
- drawDefaultBackground();
-
- blurBackground();
- renderBlurredBackground(width, height, guiLeft + 2, guiTop + 2, sizeX - 4, sizeY - 4);
-
- Minecraft.getMinecraft().getTextureManager().bindTexture(BACKGROUND);
- GlStateManager.color(1, 1, 1, 1);
- Utils.drawTexturedRect(guiLeft, guiTop, sizeX, sizeY, GL11.GL_NEAREST);
-
- Minecraft.getMinecraft().fontRendererObj.drawString("NEU Dungeon Map Editor", guiLeft + 8, guiTop + 6, 0xFFB4B4B4);
-
- Utils.drawStringCenteredScaledMaxWidth("Border Size", Minecraft.getMinecraft().fontRendererObj,
- guiLeft + 76, guiTop + 30, false, 137, 0xFFB4B4B4
- );
- Utils.drawStringCenteredScaledMaxWidth("Rooms Size", Minecraft.getMinecraft().fontRendererObj,
- guiLeft + 76, guiTop + 60, false, 137, 0xFFB4B4B4
- );
- Utils.drawStringCenteredScaledMaxWidth("Icon Scale", Minecraft.getMinecraft().fontRendererObj,
- guiLeft + 76, guiTop + 90, false, 137, 0xFFB4B4B4
- );
- Utils.drawStringCenteredScaledMaxWidth("Border Style", Minecraft.getMinecraft().fontRendererObj,
- guiLeft + 76, guiTop + 120, false, 137, 0xFFB4B4B4
- );
-
- Utils.drawStringCenteredScaledMaxWidth("Dungeon Map", Minecraft.getMinecraft().fontRendererObj,
- guiLeft + 44 + 139, guiTop + 30, false, 60, 0xFFB4B4B4
- );
- Utils.drawStringCenteredScaledMaxWidth("Center", Minecraft.getMinecraft().fontRendererObj,
- guiLeft + 108 + 139, guiTop + 30, false, 60, 0xFFB4B4B4
- );
-
- Utils.drawStringCenteredScaledMaxWidth("Rotate", Minecraft.getMinecraft().fontRendererObj,
- guiLeft + 44 + 139, guiTop + 59, false, 60, 0xFFB4B4B4
- );
- Utils.drawStringCenteredScaledMaxWidth("Icon Style", Minecraft.getMinecraft().fontRendererObj,
- guiLeft + 108 + 139, guiTop + 59, false, 60, 0xFFB4B4B4
- );
-
- Utils.drawStringCenteredScaledMaxWidth("Check Orient", Minecraft.getMinecraft().fontRendererObj,
- guiLeft + 44 + 139, guiTop + 88, false, 60, 0xFFB4B4B4
- );
- Utils.drawStringCenteredScaledMaxWidth("Check Center", Minecraft.getMinecraft().fontRendererObj,
- guiLeft + 108 + 139, guiTop + 88, false, 60, 0xFFB4B4B4
- );
-
- Utils.drawStringCenteredScaledMaxWidth("Interpolation", Minecraft.getMinecraft().fontRendererObj,
- guiLeft + 44 + 139, guiTop + 117, false, 60, 0xFFB4B4B4
- );
- Utils.drawStringCenteredScaledMaxWidth("Compatibility", Minecraft.getMinecraft().fontRendererObj,
- guiLeft + 108 + 139, guiTop + 117, false, 60, 0xFFB4B4B4
- );
-
- Utils.drawStringCenteredScaledMaxWidth("Background", Minecraft.getMinecraft().fontRendererObj,
- guiLeft + 44 + 139, guiTop + 146, false, 60, 0xFFB4B4B4
- );
- Utils.drawStringCenteredScaledMaxWidth("Border", Minecraft.getMinecraft().fontRendererObj,
- guiLeft + 108 + 139, guiTop + 146, false, 60, 0xFFB4B4B4
- );
-
- Utils.drawStringCenteredScaledMaxWidth("BG Blur", Minecraft.getMinecraft().fontRendererObj,
- guiLeft + 44 + 139, guiTop + 175, false, 60, 0xFFB4B4B4
- );
- Utils.drawStringCenteredScaledMaxWidth("Chroma Type", Minecraft.getMinecraft().fontRendererObj,
- guiLeft + 108 + 139, guiTop + 175, false, 60, 0xFFB4B4B4
- );
-
- Utils.drawStringCenteredScaledMaxWidth("Edit Map Position", Minecraft.getMinecraft().fontRendererObj,
- guiLeft + 76, guiTop + 209, false, 200, 0xFFB4B4B4
- );
-
- try {
- drawSlider(DungeonMapConfig.class.getDeclaredField("dmBorderSize"), guiLeft + 76, guiTop + 45);
- drawSlider(DungeonMapConfig.class.getDeclaredField("dmRoomSize"), guiLeft + 76, guiTop + 75);
- drawSlider(DungeonMapConfig.class.getDeclaredField("dmIconScale"), guiLeft + 76, guiTop + 105);
- } catch (Exception e) {
- e.printStackTrace();
- }
-
- DungeonMapConfig options = NotEnoughUpdates.INSTANCE.config.dungeonMap;
- buttons.get(18 - 6).text = options.dmEnable ? "Enabled" : "Disabled";
- buttons.get(19 - 6).text = options.dmCenterPlayer ? "Player" : "Map";
- buttons.get(20 - 6).text = options.dmRotatePlayer ? "Player" : "Vertical";
- buttons.get(21 - 6).text =
- options.dmPlayerHeads <= 0 ? "Default" : options.dmPlayerHeads == 1 ? "Heads" : "Heads w/ Border";
- buttons.get(22 - 6).text = options.dmOrientCheck ? "Orient" : "Off";
- buttons.get(23 - 6).text = options.dmCenterCheck ? "Center" : "Off";
- buttons.get(24 - 6).text = options.dmPlayerInterp ? "Interp" : "No Interp";
- buttons.get(25 - 6).text = options.dmCompat <= 0 ? "Normal" : options.dmCompat >= 2 ? "No FB/SHD" : "No SHD";
-
- buttons.get(26 - 6).colour = new Color(SpecialColour.specialToChromaRGB(options.dmBackgroundColour));
- buttons.get(27 - 6).colour = new Color(SpecialColour.specialToChromaRGB(options.dmBorderColour));
-
- buttons.get(28 - 6).text = options.dmChromaBorder ? "Scroll" : "Normal";
-
- blurField.setSize(48, 16);
- blurField.render(guiLeft + 20 + 139, guiTop + 181);
-
- GlStateManager.color(1, 1, 1, 1);
- Minecraft.getMinecraft().getTextureManager().bindTexture(button_tex);
- RenderUtils.drawTexturedRect(guiLeft + 52, guiTop + 215, 48, 16);
- TextRenderUtils.drawStringCenteredScaledMaxWidth("Edit", fontRendererObj, guiLeft + 76, guiTop + 223,
- false, 48, 0xFF303030
- );
-
- Map<String, Vec4b> decorations = new HashMap<>();
- Vec4b vec4b = new Vec4b((byte) 3, (byte) (((50) - 64) * 2), (byte) (((40) - 64) * 2), (byte) ((60) * 16 / 360));
- decorations.put(Minecraft.getMinecraft().thePlayer.getName(), vec4b);
-
- HashSet<String> players = new HashSet<>();
- players.add(Minecraft.getMinecraft().thePlayer.getName());
- GlStateManager.color(1, 1, 1, 1);
-
- demoMap.renderMap(guiLeft + 357, guiTop + 125, NotEnoughUpdates.INSTANCE.colourMap, decorations, 0,
- players, false, partialTicks
- );
-
- for (Button button : buttons) {
- button.render();
- }
-
- //List<String> textLines, final int mouseX, final int mouseY, final int screenWidth, final int screenHeight, final int maxTextWidth, FontRenderer font
- if (tooltipToDisplay != null) {
- Utils.drawHoveringText(
- tooltipToDisplay,
- mouseX,
- mouseY,
- width,
- height,
- 200,
- Minecraft.getMinecraft().fontRendererObj
- );
- }
-
- Utils.pushGuiScale(-1);
-
- if (activeColourEditor != null) {
- activeColourEditor.render();
- }
- }
-
- public void drawSlider(Field option, int centerX, int centerY) {
- float value;
- float minValue;
- float maxValue;
- try {
- value = ((Number) option.get(NotEnoughUpdates.INSTANCE.config.dungeonMap)).floatValue();
-
- ConfigEditorSlider sliderAnnotation = option.getAnnotation(ConfigEditorSlider.class);
- minValue = sliderAnnotation.minValue();
- maxValue = sliderAnnotation.maxValue();
- } catch (Exception e) {
- e.printStackTrace();
- return;
- }
-
- float sliderAmount = Math.max(0, Math.min(1, (value - minValue) / (maxValue - minValue)));
- int sliderAmountI = (int) (96 * sliderAmount);
-
- GlStateManager.color(1f, 1f, 1f, 1f);
- Minecraft.getMinecraft().getTextureManager().bindTexture(slider_on_large);
- Utils.drawTexturedRect(centerX - 48, centerY - 8, sliderAmountI, 16,
- 0, sliderAmount, 0, 1, GL11.GL_NEAREST
- );
-
- Minecraft.getMinecraft().getTextureManager().bindTexture(slider_off_large);
- Utils.drawTexturedRect(centerX - 48 + sliderAmountI, centerY - 8, 96 - sliderAmountI, 16,
- sliderAmount, 1, 0, 1, GL11.GL_NEAREST
- );
-
- Minecraft.getMinecraft().getTextureManager().bindTexture(slider_button);
- Utils.drawTexturedRect(centerX - 48 + sliderAmountI - 4, centerY - 8, 8, 16,
- 0, 1, 0, 1, GL11.GL_NEAREST
- );
- }
-
- @Override
- protected void mouseClickMove(int mouseX, int mouseY, int clickedMouseButton, long timeSinceLastClick) {
- super.mouseClickMove(mouseX, mouseY, clickedMouseButton, timeSinceLastClick);
-
- if (clickedSlider != null) {
- float minValue;
- float maxValue;
- try {
- ConfigEditorSlider sliderAnnotation = clickedSlider.getAnnotation(ConfigEditorSlider.class);
- minValue = sliderAnnotation.minValue();
- maxValue = sliderAnnotation.maxValue();
- } catch (Exception e) {
- e.printStackTrace();
- return;
- }
-
- float sliderAmount = (mouseX - (guiLeft + 76 - 48)) / 96f;
- double val = minValue + (maxValue - minValue) * sliderAmount;
- if (Keyboard.isKeyDown(Keyboard.KEY_LSHIFT)) {
- val = Math.round(val);
- }
- float value = (float) Math.max(minValue, Math.min(maxValue, val));
- try {
- if (clickedSlider.getType() == int.class) {
- clickedSlider.set(NotEnoughUpdates.INSTANCE.config.dungeonMap, Math.round(value));
- } else {
- clickedSlider.set(NotEnoughUpdates.INSTANCE.config.dungeonMap, value);
- }
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
-
- }
-
- @Override
- protected void mouseClicked(int mouseX, int mouseY, int mouseButton) {
- for (Button button : buttons) {
- if (mouseX >= guiLeft + button.x && mouseX <= guiLeft + button.x + 48 &&
- mouseY >= guiTop + button.y && mouseY <= guiTop + button.y + 16) {
- buttonClicked(mouseX, mouseY, button.id);
-
- blurField.otherComponentClick();
- return;
- }
- }
-
- clickedSlider = null;
- if (mouseX >= guiLeft + 76 - 48 && mouseX <= guiLeft + 76 + 48) {
- try {
- if (mouseY > guiTop + 45 - 8 && mouseY < guiTop + 45 + 8) {
- clickedSlider = DungeonMapConfig.class.getDeclaredField("dmBorderSize");
- return;
- } else if (mouseY > guiTop + 75 - 8 && mouseY < guiTop + 75 + 8) {
- clickedSlider = DungeonMapConfig.class.getDeclaredField("dmRoomSize");
- return;
- } else if (mouseY > guiTop + 105 - 8 && mouseY < guiTop + 105 + 8) {
- clickedSlider = DungeonMapConfig.class.getDeclaredField("dmIconScale");
- return;
- }
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
-
- if (mouseY > guiTop + 181 && mouseY < guiTop + 181 + 16) {
- if (mouseX > guiLeft + 20 + 139 && mouseX < guiLeft + 20 + 139 + 48) {
- blurField.mouseClicked(mouseX, mouseY, mouseButton);
- return;
- }
- } else if (mouseY > guiTop + 215 && mouseY < guiTop + 215 + 16) {
- if (mouseX > guiLeft + 52 && mouseX < guiLeft + 100) {
- int size = 80 + Math.round(40 * NotEnoughUpdates.INSTANCE.config.dungeonMap.dmBorderSize);
-
- Map<String, Vec4b> decorations = new HashMap<>();
- Vec4b vec4b = new Vec4b((byte) 3, (byte) (((50) - 64) * 2), (byte) (((40) - 64) * 2), (byte) ((60) * 16 / 360));
- decorations.put(Minecraft.getMinecraft().thePlayer.getName(), vec4b);
-
- HashSet<String> players = new HashSet<>();
- players.add(Minecraft.getMinecraft().thePlayer.getName());
- GlStateManager.color(1, 1, 1, 1);
-
- Minecraft.getMinecraft().displayGuiScreen(new GuiPositionEditor(
- NotEnoughUpdates.INSTANCE.config.dungeonMap.dmPosition,
- size, size, () -> {
- ScaledResolution scaledResolution = Utils.pushGuiScale(2);
- demoMap.renderMap(
- NotEnoughUpdates.INSTANCE.config.dungeonMap.dmPosition.getAbsX(scaledResolution, size) + size / 2,
- NotEnoughUpdates.INSTANCE.config.dungeonMap.dmPosition.getAbsY(scaledResolution, size) + size / 2,
- NotEnoughUpdates.INSTANCE.colourMap,
- decorations,
- 0,
- players,
- false,
- 0
- );
- Utils.pushGuiScale(-1);
- }, () -> {}, () -> NotEnoughUpdates.INSTANCE.openGui = new GuiDungeonMapEditor()
- ).withScale(2));
- return;
- }
- }
-
- blurField.otherComponentClick();
- }
-
- @Override
- public void handleMouseInput() throws IOException {
- super.handleMouseInput();
-
- if (activeColourEditor != null) {
- ScaledResolution realRes = new ScaledResolution(Minecraft.getMinecraft());
- int mouseX = Mouse.getEventX() * realRes.getScaledWidth() / this.mc.displayWidth;
- int mouseY =
- realRes.getScaledHeight() - Mouse.getEventY() * realRes.getScaledHeight() / this.mc.displayHeight - 1;
- activeColourEditor.mouseInput(mouseX, mouseY);
- }
- }
-
- @Override
- public void handleKeyboardInput() throws IOException {
- super.handleKeyboardInput();
-
- if (activeColourEditor != null) {
- activeColourEditor.keyboardInput();
- }
- }
-
- @Override
- protected void keyTyped(char typedChar, int keyCode) throws IOException {
- super.keyTyped(typedChar, keyCode);
-
- if (blurField.getFocus()) {
- blurField.keyTyped(typedChar, keyCode);
-
- try {
- blurField.setCustomBorderColour(-1);
- NotEnoughUpdates.INSTANCE.config.dungeonMap.dmBackgroundBlur = Float.parseFloat(blurField.getText());
- } catch (Exception e) {
- blurField.setCustomBorderColour(Color.RED.getRGB());
- }
- }
- }
-
- private void buttonClicked(int mouseX, int mouseY, int id) {
- DungeonMapConfig options = NotEnoughUpdates.INSTANCE.config.dungeonMap;
- switch (id) {
- case 0:
- options.dmBorderSize = 0;
- break;
- case 1:
- options.dmBorderSize = 1;
- break;
- case 2:
- options.dmBorderSize = 2;
- break;
- case 30:
- options.dmBorderSize = 3;
- break;
- case 3:
- options.dmRoomSize = 0;
- break;
- case 4:
- options.dmRoomSize = 1;
- break;
- case 5:
- options.dmRoomSize = 2;
- break;
- case 29:
- options.dmRoomSize = 3;
- break;
- case 18:
- options.dmEnable = !options.dmEnable;
- break;
- case 19:
- options.dmCenterPlayer = !options.dmCenterPlayer;
- break;
- case 20:
- options.dmRotatePlayer = !options.dmRotatePlayer;
- break;
- case 21:
- options.dmPlayerHeads++;
- if (options.dmPlayerHeads > 2) options.dmPlayerHeads = 0;
- break;
- case 22:
- options.dmOrientCheck = !options.dmOrientCheck;
- break;
- case 23:
- options.dmCenterCheck = !options.dmCenterCheck;
- break;
- case 24:
- options.dmPlayerInterp = !options.dmPlayerInterp;
- break;
- case 25:
- options.dmCompat++;
- if (options.dmCompat > 2) options.dmCompat = 0;
- break;
- case 26: {
- ScaledResolution realRes = new ScaledResolution(Minecraft.getMinecraft());
- mouseX = Mouse.getEventX() * realRes.getScaledWidth() / this.mc.displayWidth;
- mouseY = realRes.getScaledHeight() - Mouse.getEventY() * realRes.getScaledHeight() / this.mc.displayHeight - 1;
- activeColourEditor = new GuiElementColour(mouseX, mouseY, options.dmBackgroundColour,
- (col) -> options.dmBackgroundColour = col, () -> activeColourEditor = null
- );
- }
- break;
- case 27: {
- ScaledResolution realRes = new ScaledResolution(Minecraft.getMinecraft());
- mouseX = Mouse.getEventX() * realRes.getScaledWidth() / this.mc.displayWidth;
- mouseY = realRes.getScaledHeight() - Mouse.getEventY() * realRes.getScaledHeight() / this.mc.displayHeight - 1;
- activeColourEditor = new GuiElementColour(mouseX, mouseY, options.dmBorderColour,
- (col) -> options.dmBorderColour = col, () -> activeColourEditor = null
- );
- }
- break;
- case 28:
- options.dmChromaBorder = !options.dmChromaBorder;
- break;
- default:
- if (id >= 6 && id <= 17) {
- options.dmBorderStyle = id - 6;
- break;
- }
- }
- }
-
- private boolean isButtonPressed(int id) {
- DungeonMapConfig options = NotEnoughUpdates.INSTANCE.config.dungeonMap;
-
- if (id >= 0 && id <= 2) {
- return options.dmBorderSize == id;
- } else if (id >= 3 && id <= 5) {
- return options.dmRoomSize == id - 3;
- } else if (id >= 6 && id <= 17) {
- return options.dmBorderStyle == id - 6;
- } else if (id == 29) {
- return options.dmRoomSize == 3;
- } else if (id == 30) {
- return options.dmBorderSize == 3;
- }
- return false;
- }
-
- Shader blurShaderHorz = null;
- Framebuffer blurOutputHorz = null;
- Shader blurShaderVert = null;
- Framebuffer blurOutputVert = null;
-
- /**
- * Creates a projection matrix that projects from our coordinate space [0->width; 0->height] to OpenGL coordinate
- * space [-1 -> 1; 1 -> -1] (Note: flipped y-axis).
- * <p>
- * This is so that we can render to and from the framebuffer in a way that is familiar to us, instead of needing to
- * apply scales and translations manually.
- */
- private Matrix4f createProjectionMatrix(int width, int height) {
- Matrix4f projMatrix = new Matrix4f();
- projMatrix.setIdentity();
- projMatrix.m00 = 2.0F / (float) width;
- projMatrix.m11 = 2.0F / (float) (-height);
- projMatrix.m22 = -0.0020001999F;
- projMatrix.m33 = 1.0F;
- projMatrix.m03 = -1.0F;
- projMatrix.m13 = 1.0F;
- projMatrix.m23 = -1.0001999F;
- return projMatrix;
- }
-
- private double lastBgBlurFactor = -1;
-
- private void blurBackground() {
- if (!OpenGlHelper.isFramebufferEnabled()) return;
-
- int width = Minecraft.getMinecraft().displayWidth;
- int height = Minecraft.getMinecraft().displayHeight;
-
- if (blurOutputHorz == null) {
- blurOutputHorz = new Framebuffer(width, height, false);
- blurOutputHorz.setFramebufferFilter(GL11.GL_NEAREST);
- }
- if (blurOutputVert == null) {
- blurOutputVert = new Framebuffer(width, height, false);
- blurOutputVert.setFramebufferFilter(GL11.GL_NEAREST);
- }
- if (blurOutputHorz.framebufferWidth != width || blurOutputHorz.framebufferHeight != height) {
- blurOutputHorz.createBindFramebuffer(width, height);
- blurShaderHorz.setProjectionMatrix(createProjectionMatrix(width, height));
- Minecraft.getMinecraft().getFramebuffer().bindFramebuffer(false);
- }
- if (blurOutputVert.framebufferWidth != width || blurOutputVert.framebufferHeight != height) {
- blurOutputVert.createBindFramebuffer(width, height);
- blurShaderVert.setProjectionMatrix(createProjectionMatrix(width, height));
- Minecraft.getMinecraft().getFramebuffer().bindFramebuffer(false);
- }
-
- if (blurShaderHorz == null) {
- try {
- blurShaderHorz = new Shader(Minecraft.getMinecraft().getResourceManager(), "blur",
- Minecraft.getMinecraft().getFramebuffer(), blurOutputHorz
- );
- blurShaderHorz.getShaderManager().getShaderUniform("BlurDir").set(1, 0);
- blurShaderHorz.setProjectionMatrix(createProjectionMatrix(width, height));
- } catch (Exception ignored) {
- }
- }
- if (blurShaderVert == null) {
- try {
- blurShaderVert = new Shader(Minecraft.getMinecraft().getResourceManager(), "blur",
- blurOutputHorz, blurOutputVert
- );
- blurShaderVert.getShaderManager().getShaderUniform("BlurDir").set(0, 1);
- blurShaderVert.setProjectionMatrix(createProjectionMatrix(width, height));
- } catch (Exception ignored) {
- }
- }
- if (blurShaderHorz != null && blurShaderVert != null) {
- if (15 != lastBgBlurFactor) {
- blurShaderHorz.getShaderManager().getShaderUniform("Radius").set((float) 15);
- blurShaderVert.getShaderManager().getShaderUniform("Radius").set((float) 15);
- lastBgBlurFactor = 15;
- }
- GL11.glPushMatrix();
- blurShaderHorz.loadShader(0);
- blurShaderVert.loadShader(0);
- GlStateManager.enableDepth();
- GL11.glPopMatrix();
-
- Minecraft.getMinecraft().getFramebuffer().bindFramebuffer(false);
- }
- }
-
- /**
- * Renders a subsection of the blurred framebuffer on to the corresponding section of the screen.
- * Essentially, this method will "blur" the background inside the bounds specified by [x->x+blurWidth, y->y+blurHeight]
- */
- public void renderBlurredBackground(int width, int height, int x, int y, int blurWidth, int blurHeight) {
- if (!OpenGlHelper.isFramebufferEnabled()) return;
-
- float uMin = x / (float) width;
- float uMax = (x + blurWidth) / (float) width;
- float vMin = (height - y) / (float) height;
- float vMax = (height - y - blurHeight) / (float) height;
-
- blurOutputVert.bindFramebufferTexture();
- GlStateManager.color(1f, 1f, 1f, 1f);
- Utils.drawTexturedRect(x, y, blurWidth, blurHeight, uMin, uMax, vMin, vMax);
- blurOutputVert.unbindFramebufferTexture();
- }
-}
+package io.github.moulberry.notenoughupdates.dungeons; + +import io.github.moulberry.notenoughupdates.NotEnoughUpdates; +import io.github.moulberry.notenoughupdates.core.GuiElementColour; +import io.github.moulberry.notenoughupdates.core.config.annotations.ConfigEditorSlider; +import io.github.moulberry.notenoughupdates.core.config.annotations.ConfigOption; +import io.github.moulberry.notenoughupdates.core.config.gui.GuiPositionEditor; +import io.github.moulberry.notenoughupdates.core.util.render.RenderUtils; +import io.github.moulberry.notenoughupdates.core.util.render.TextRenderUtils; +import io.github.moulberry.notenoughupdates.itemeditor.GuiElementTextField; +import io.github.moulberry.notenoughupdates.options.seperateSections.DungeonMapConfig; +import io.github.moulberry.notenoughupdates.util.SpecialColour; +import io.github.moulberry.notenoughupdates.util.Utils; +import net.minecraft.client.Minecraft; +import net.minecraft.client.gui.GuiScreen; +import net.minecraft.client.gui.ScaledResolution; +import net.minecraft.client.renderer.GlStateManager; +import net.minecraft.client.renderer.OpenGlHelper; +import net.minecraft.client.shader.Framebuffer; +import net.minecraft.client.shader.Shader; +import net.minecraft.util.EnumChatFormatting; +import net.minecraft.util.Matrix4f; +import net.minecraft.util.ResourceLocation; +import net.minecraft.util.Vec4b; +import org.lwjgl.input.Keyboard; +import org.lwjgl.input.Mouse; +import org.lwjgl.opengl.GL11; + +import java.awt.*; +import java.io.IOException; +import java.lang.reflect.Field; +import java.util.List; +import java.util.*; + +import static io.github.moulberry.notenoughupdates.util.GuiTextures.*; + +public class GuiDungeonMapEditor extends GuiScreen { + public static final ResourceLocation BACKGROUND = new ResourceLocation( + "notenoughupdates:dungeon_map/editor/background.png"); + public static final ResourceLocation BUTTON = new ResourceLocation("notenoughupdates:dungeon_map/editor/button.png"); + private static final DungeonMap demoMap = new DungeonMap(); + + private int sizeX; + private int sizeY; + private int guiLeft; + private int guiTop; + + private final List<Button> buttons = new ArrayList<>(); + + private final GuiElementTextField blurField = new GuiElementTextField( + "", + GuiElementTextField.NUM_ONLY | GuiElementTextField.NO_SPACE + ); + private GuiElementColour activeColourEditor = null; + + private Field clickedSlider; + + class Button { + private final int id; + private final int x; + private final int y; + private String text; + private Color colour = new Color(-1, true); + private final Field option; + private String displayName; + private String desc; + + public Button(int id, int x, int y, String text) { + this(id, x, y, text, null); + } + + public Button(int id, int x, int y, String text, Field option) { + this.id = id; + this.x = x; + this.y = y; + this.text = text; + this.option = option; + + if (option != null) { + ConfigOption optionAnnotation = option.getAnnotation(ConfigOption.class); + displayName = optionAnnotation.name(); + desc = optionAnnotation.desc(); + } + } + + public List<String> getTooltip() { + if (option == null) { + return null; + } + + List<String> tooltip = new ArrayList<>(); + tooltip.add(EnumChatFormatting.YELLOW + displayName); + for (String line : desc.split("\n")) { + tooltip.add(EnumChatFormatting.AQUA + line); + } + return tooltip; + } + + public void render() { + if (text == null) return; + + Minecraft.getMinecraft().getTextureManager().bindTexture(BUTTON); + if (isButtonPressed(id)) { + GlStateManager.color(colour.getRed() * 0.85f / 255f, colour.getGreen() * 0.85f / 255f, + colour.getBlue() * 0.85f / 255f, 1 + ); + Utils.drawTexturedRect(guiLeft + x, guiTop + y, 48, 16, 1, 0, 1, 0, GL11.GL_NEAREST); + } else { + GlStateManager.color(colour.getRed() / 255f, colour.getGreen() / 255f, colour.getBlue() / 255f, 1); + Utils.drawTexturedRect(guiLeft + x, guiTop + y, 48, 16, GL11.GL_NEAREST); + } + + if (text.length() > 0) { + Utils.drawStringCenteredScaledMaxWidth( + text, + Minecraft.getMinecraft().fontRendererObj, + guiLeft + x + 24, + guiTop + y + 8, + false, + 39, + 0xFF000000 + ); + } + } + + } + + public GuiDungeonMapEditor() { + DungeonMapConfig options = NotEnoughUpdates.INSTANCE.config.dungeonMap; + //Map Border Size + //buttons.add(new Button(0, 6, 37, "Small", options.dmBorderSize)); + //buttons.add(new Button(1, 52, 37, "Medium", options.dmBorderSize)); + //buttons.add(new Button(2, 98, 37, "Large", options.dmBorderSize)); + + //Map Rooms Size + //buttons.add(new Button(3, 6, 67+19, "Small", options.dmRoomSize)); + //buttons.add(new Button(4, 52, 67+19, "Medium", options.dmRoomSize)); + //buttons.add(new Button(5, 98, 67+19, "Large", options.dmRoomSize)); + + //Map Border Styles + buttons.add(new Button(6, 6, 97 + 30, "None")); + buttons.add(new Button(7, 52, 97 + 30, "Custom")); + buttons.add(new Button(8, 98, 97 + 30, "Stone")); + buttons.add(new Button(9, 6, 116 + 30, "Wood")); + buttons.add(new Button(10, 52, 116 + 30, "Rustic(S)")); + buttons.add(new Button(11, 98, 116 + 30, "Rustic(C)")); + buttons.add(new Button(12, 6, 135 + 30, "Fade")); + buttons.add(new Button(13, 52, 135 + 30, "Ribbons")); + buttons.add(new Button(14, 98, 135 + 30, "Paper")); + buttons.add(new Button(15, 6, 154 + 30, "Crimson")); + buttons.add(new Button(16, 52, 154 + 30, "Ornate")); + buttons.add(new Button(17, 98, 154 + 30, "Dragon")); + + try { + //Dungeon Map + buttons.add(new Button(18, 20 + 139, 36, "Yes/No", DungeonMapConfig.class.getDeclaredField("dmEnable"))); + //Center + buttons.add(new Button( + 19, + 84 + 139, + 36, + "Player/Map", + DungeonMapConfig.class.getDeclaredField("dmCenterPlayer") + )); + //Rotate + buttons.add(new Button( + 20, + 20 + 139, + 65, + "Player/No Rotate", + DungeonMapConfig.class.getDeclaredField("dmRotatePlayer") + )); + //Icon Style + buttons.add(new Button( + 21, + 84 + 139, + 65, + "Default/Heads", + DungeonMapConfig.class.getDeclaredField("dmPlayerHeads") + )); + //Check Orient + buttons.add(new Button( + 22, + 20 + 139, + 94, + "Normal/Reorient", + DungeonMapConfig.class.getDeclaredField("dmOrientCheck") + )); + //Check Center + buttons.add(new Button(23, 84 + 139, 94, "Yes/No", DungeonMapConfig.class.getDeclaredField("dmCenterCheck"))); + //Interpolation + buttons.add(new Button(24, 20 + 139, 123, "Yes/No", DungeonMapConfig.class.getDeclaredField("dmPlayerInterp"))); + //Compatibility + buttons.add(new Button( + 25, + 84 + 139, + 123, + "Normal/No SHD/No FB/SHD", + DungeonMapConfig.class.getDeclaredField("dmCompat") + )); + + //Background + buttons.add(new Button(26, 20 + 139, 152, "", DungeonMapConfig.class.getDeclaredField("dmBackgroundColour"))); + //Border + buttons.add(new Button(27, 84 + 139, 152, "", DungeonMapConfig.class.getDeclaredField("dmBorderColour"))); + + //Chroma Mode + buttons.add(new Button( + 28, + 84 + 139, + 181, + "Normal/Scroll", + DungeonMapConfig.class.getDeclaredField("dmChromaBorder") + )); + } catch (Exception e) { + e.printStackTrace(); + } + + //buttons.add(new Button(29, 52, 86+19, "XLarge", options.dmRoomSize)); + //buttons.add(new Button(30, 52, 56, "XLarge", options.dmBorderSize)); + + { + double val = NotEnoughUpdates.INSTANCE.config.dungeonMap.dmBackgroundBlur; + String strVal; + if (val % 1 == 0) { + strVal = Integer.toString((int) val); + } else { + strVal = Double.toString(val); + strVal = strVal.replaceAll("(\\.\\d\\d\\d)(?:\\d)+", "$1"); + strVal = strVal.replaceAll("0+$", ""); + } + blurField.setText(strVal); + } + } + + @Override + public void drawScreen(int mouseX, int mouseY, float partialTicks) { + ScaledResolution scaledResolution = Utils.pushGuiScale(2); + this.width = scaledResolution.getScaledWidth(); + this.height = scaledResolution.getScaledHeight(); + + mouseX = Mouse.getEventX() * this.width / this.mc.displayWidth; + mouseY = this.height - Mouse.getEventY() * this.height / this.mc.displayHeight - 1; + + List<String> tooltipToDisplay = null; + for (Button button : buttons) { + if (mouseX >= guiLeft + button.x && mouseX <= guiLeft + button.x + 48 && + mouseY >= guiTop + button.y - 13 && mouseY <= guiTop + button.y + 16) { + if (button.id >= 6 && button.id <= 17) { + String mapDesc = null; + String mapCredit = null; + int id = button.id; + switch (id) { + case 6: + mapDesc = "No Border"; + break; + case 7: + mapDesc = "Used by custom Resource Packs"; + break; + case 8: + mapDesc = "Simple gray border"; + mapCredit = "TomEngMaster"; + break; + case 9: + mapDesc = "Viney wood border"; + mapCredit = "iDevil4Hell"; + break; + case 10: + mapDesc = "Steampunk-inspired square border"; + mapCredit = "ThatGravyBoat"; + break; + case 11: + mapDesc = "Steampunk-inspired circular border"; + mapCredit = "ThatGravyBoat"; + break; + case 12: + mapDesc = "Light fade border"; + mapCredit = "Qwiken"; + break; + case 13: + mapDesc = "Simple gray border with red ribbons"; + mapCredit = "Sai"; + break; + case 14: + mapDesc = "Paper border"; + mapCredit = "KingJames02st"; + break; + case 15: + mapDesc = "Nether-inspired border"; + mapCredit = "DTRW191"; + break; + case 16: + mapDesc = "Golden ornate border"; + mapCredit = "iDevil4Hell"; + break; + case 17: + mapDesc = "Stone dragon border"; + mapCredit = "ImperiaL"; + break; + } + + ArrayList<String> tooltip = new ArrayList<>(); + tooltip.add(EnumChatFormatting.YELLOW + "Border Style"); + tooltip.add(EnumChatFormatting.AQUA + "Customize the look of the dungeon border"); + tooltip.add(""); + if (mapDesc != null) + tooltip.add(EnumChatFormatting.YELLOW + "Set to: " + EnumChatFormatting.AQUA + mapDesc); + if (mapCredit != null) + tooltip.add(EnumChatFormatting.YELLOW + "Artist: " + EnumChatFormatting.GOLD + mapCredit); + tooltipToDisplay = tooltip; + } else { + tooltipToDisplay = button.getTooltip(); + } + break; + } + } + + this.sizeX = 431; + this.sizeY = 237; + this.guiLeft = (this.width - this.sizeX) / 2; + this.guiTop = (this.height - this.sizeY) / 2; + + super.drawScreen(mouseX, mouseY, partialTicks); + drawDefaultBackground(); + + blurBackground(); + renderBlurredBackground(width, height, guiLeft + 2, guiTop + 2, sizeX - 4, sizeY - 4); + + Minecraft.getMinecraft().getTextureManager().bindTexture(BACKGROUND); + GlStateManager.color(1, 1, 1, 1); + Utils.drawTexturedRect(guiLeft, guiTop, sizeX, sizeY, GL11.GL_NEAREST); + + Minecraft.getMinecraft().fontRendererObj.drawString("NEU Dungeon Map Editor", guiLeft + 8, guiTop + 6, 0xFFB4B4B4); + + Utils.drawStringCenteredScaledMaxWidth("Border Size", Minecraft.getMinecraft().fontRendererObj, + guiLeft + 76, guiTop + 30, false, 137, 0xFFB4B4B4 + ); + Utils.drawStringCenteredScaledMaxWidth("Rooms Size", Minecraft.getMinecraft().fontRendererObj, + guiLeft + 76, guiTop + 60, false, 137, 0xFFB4B4B4 + ); + Utils.drawStringCenteredScaledMaxWidth("Icon Scale", Minecraft.getMinecraft().fontRendererObj, + guiLeft + 76, guiTop + 90, false, 137, 0xFFB4B4B4 + ); + Utils.drawStringCenteredScaledMaxWidth("Border Style", Minecraft.getMinecraft().fontRendererObj, + guiLeft + 76, guiTop + 120, false, 137, 0xFFB4B4B4 + ); + + Utils.drawStringCenteredScaledMaxWidth("Dungeon Map", Minecraft.getMinecraft().fontRendererObj, + guiLeft + 44 + 139, guiTop + 30, false, 60, 0xFFB4B4B4 + ); + Utils.drawStringCenteredScaledMaxWidth("Center", Minecraft.getMinecraft().fontRendererObj, + guiLeft + 108 + 139, guiTop + 30, false, 60, 0xFFB4B4B4 + ); + + Utils.drawStringCenteredScaledMaxWidth("Rotate", Minecraft.getMinecraft().fontRendererObj, + guiLeft + 44 + 139, guiTop + 59, false, 60, 0xFFB4B4B4 + ); + Utils.drawStringCenteredScaledMaxWidth("Icon Style", Minecraft.getMinecraft().fontRendererObj, + guiLeft + 108 + 139, guiTop + 59, false, 60, 0xFFB4B4B4 + ); + + Utils.drawStringCenteredScaledMaxWidth("Check Orient", Minecraft.getMinecraft().fontRendererObj, + guiLeft + 44 + 139, guiTop + 88, false, 60, 0xFFB4B4B4 + ); + Utils.drawStringCenteredScaledMaxWidth("Check Center", Minecraft.getMinecraft().fontRendererObj, + guiLeft + 108 + 139, guiTop + 88, false, 60, 0xFFB4B4B4 + ); + + Utils.drawStringCenteredScaledMaxWidth("Interpolation", Minecraft.getMinecraft().fontRendererObj, + guiLeft + 44 + 139, guiTop + 117, false, 60, 0xFFB4B4B4 + ); + Utils.drawStringCenteredScaledMaxWidth("Compatibility", Minecraft.getMinecraft().fontRendererObj, + guiLeft + 108 + 139, guiTop + 117, false, 60, 0xFFB4B4B4 + ); + + Utils.drawStringCenteredScaledMaxWidth("Background", Minecraft.getMinecraft().fontRendererObj, + guiLeft + 44 + 139, guiTop + 146, false, 60, 0xFFB4B4B4 + ); + Utils.drawStringCenteredScaledMaxWidth("Border", Minecraft.getMinecraft().fontRendererObj, + guiLeft + 108 + 139, guiTop + 146, false, 60, 0xFFB4B4B4 + ); + + Utils.drawStringCenteredScaledMaxWidth("BG Blur", Minecraft.getMinecraft().fontRendererObj, + guiLeft + 44 + 139, guiTop + 175, false, 60, 0xFFB4B4B4 + ); + Utils.drawStringCenteredScaledMaxWidth("Chroma Type", Minecraft.getMinecraft().fontRendererObj, + guiLeft + 108 + 139, guiTop + 175, false, 60, 0xFFB4B4B4 + ); + + Utils.drawStringCenteredScaledMaxWidth("Edit Map Position", Minecraft.getMinecraft().fontRendererObj, + guiLeft + 76, guiTop + 209, false, 200, 0xFFB4B4B4 + ); + + try { + drawSlider(DungeonMapConfig.class.getDeclaredField("dmBorderSize"), guiLeft + 76, guiTop + 45); + drawSlider(DungeonMapConfig.class.getDeclaredField("dmRoomSize"), guiLeft + 76, guiTop + 75); + drawSlider(DungeonMapConfig.class.getDeclaredField("dmIconScale"), guiLeft + 76, guiTop + 105); + } catch (Exception e) { + e.printStackTrace(); + } + + DungeonMapConfig options = NotEnoughUpdates.INSTANCE.config.dungeonMap; + buttons.get(18 - 6).text = options.dmEnable ? "Enabled" : "Disabled"; + buttons.get(19 - 6).text = options.dmCenterPlayer ? "Player" : "Map"; + buttons.get(20 - 6).text = options.dmRotatePlayer ? "Player" : "Vertical"; + buttons.get(21 - 6).text = + options.dmPlayerHeads <= 0 ? "Default" : options.dmPlayerHeads == 1 ? "Heads" : "Heads w/ Border"; + buttons.get(22 - 6).text = options.dmOrientCheck ? "Orient" : "Off"; + buttons.get(23 - 6).text = options.dmCenterCheck ? "Center" : "Off"; + buttons.get(24 - 6).text = options.dmPlayerInterp ? "Interp" : "No Interp"; + buttons.get(25 - 6).text = options.dmCompat <= 0 ? "Normal" : options.dmCompat >= 2 ? "No FB/SHD" : "No SHD"; + + buttons.get(26 - 6).colour = new Color(SpecialColour.specialToChromaRGB(options.dmBackgroundColour)); + buttons.get(27 - 6).colour = new Color(SpecialColour.specialToChromaRGB(options.dmBorderColour)); + + buttons.get(28 - 6).text = options.dmChromaBorder ? "Scroll" : "Normal"; + + blurField.setSize(48, 16); + blurField.render(guiLeft + 20 + 139, guiTop + 181); + + GlStateManager.color(1, 1, 1, 1); + Minecraft.getMinecraft().getTextureManager().bindTexture(button_tex); + RenderUtils.drawTexturedRect(guiLeft + 52, guiTop + 215, 48, 16); + TextRenderUtils.drawStringCenteredScaledMaxWidth("Edit", fontRendererObj, guiLeft + 76, guiTop + 223, + false, 48, 0xFF303030 + ); + + Map<String, Vec4b> decorations = new HashMap<>(); + Vec4b vec4b = new Vec4b((byte) 3, (byte) (((50) - 64) * 2), (byte) (((40) - 64) * 2), (byte) ((60) * 16 / 360)); + decorations.put(Minecraft.getMinecraft().thePlayer.getName(), vec4b); + + HashSet<String> players = new HashSet<>(); + players.add(Minecraft.getMinecraft().thePlayer.getName()); + GlStateManager.color(1, 1, 1, 1); + + demoMap.renderMap(guiLeft + 357, guiTop + 125, NotEnoughUpdates.INSTANCE.colourMap, decorations, 0, + players, false, partialTicks + ); + + for (Button button : buttons) { + button.render(); + } + + //List<String> textLines, final int mouseX, final int mouseY, final int screenWidth, final int screenHeight, final int maxTextWidth, FontRenderer font + if (tooltipToDisplay != null) { + Utils.drawHoveringText( + tooltipToDisplay, + mouseX, + mouseY, + width, + height, + 200, + Minecraft.getMinecraft().fontRendererObj + ); + } + + Utils.pushGuiScale(-1); + + if (activeColourEditor != null) { + activeColourEditor.render(); + } + } + + public void drawSlider(Field option, int centerX, int centerY) { + float value; + float minValue; + float maxValue; + try { + value = ((Number) option.get(NotEnoughUpdates.INSTANCE.config.dungeonMap)).floatValue(); + + ConfigEditorSlider sliderAnnotation = option.getAnnotation(ConfigEditorSlider.class); + minValue = sliderAnnotation.minValue(); + maxValue = sliderAnnotation.maxValue(); + } catch (Exception e) { + e.printStackTrace(); + return; + } + + float sliderAmount = Math.max(0, Math.min(1, (value - minValue) / (maxValue - minValue))); + int sliderAmountI = (int) (96 * sliderAmount); + + GlStateManager.color(1f, 1f, 1f, 1f); + Minecraft.getMinecraft().getTextureManager().bindTexture(slider_on_large); + Utils.drawTexturedRect(centerX - 48, centerY - 8, sliderAmountI, 16, + 0, sliderAmount, 0, 1, GL11.GL_NEAREST + ); + + Minecraft.getMinecraft().getTextureManager().bindTexture(slider_off_large); + Utils.drawTexturedRect(centerX - 48 + sliderAmountI, centerY - 8, 96 - sliderAmountI, 16, + sliderAmount, 1, 0, 1, GL11.GL_NEAREST + ); + + Minecraft.getMinecraft().getTextureManager().bindTexture(slider_button); + Utils.drawTexturedRect(centerX - 48 + sliderAmountI - 4, centerY - 8, 8, 16, + 0, 1, 0, 1, GL11.GL_NEAREST + ); + } + + @Override + protected void mouseClickMove(int mouseX, int mouseY, int clickedMouseButton, long timeSinceLastClick) { + super.mouseClickMove(mouseX, mouseY, clickedMouseButton, timeSinceLastClick); + + if (clickedSlider != null) { + float minValue; + float maxValue; + try { + ConfigEditorSlider sliderAnnotation = clickedSlider.getAnnotation(ConfigEditorSlider.class); + minValue = sliderAnnotation.minValue(); + maxValue = sliderAnnotation.maxValue(); + } catch (Exception e) { + e.printStackTrace(); + return; + } + + float sliderAmount = (mouseX - (guiLeft + 76 - 48)) / 96f; + double val = minValue + (maxValue - minValue) * sliderAmount; + if (Keyboard.isKeyDown(Keyboard.KEY_LSHIFT)) { + val = Math.round(val); + } + float value = (float) Math.max(minValue, Math.min(maxValue, val)); + try { + if (clickedSlider.getType() == int.class) { + clickedSlider.set(NotEnoughUpdates.INSTANCE.config.dungeonMap, Math.round(value)); + } else { + clickedSlider.set(NotEnoughUpdates.INSTANCE.config.dungeonMap, value); + } + } catch (Exception e) { + e.printStackTrace(); + } + } + + } + + @Override + protected void mouseClicked(int mouseX, int mouseY, int mouseButton) { + for (Button button : buttons) { + if (mouseX >= guiLeft + button.x && mouseX <= guiLeft + button.x + 48 && + mouseY >= guiTop + button.y && mouseY <= guiTop + button.y + 16) { + buttonClicked(mouseX, mouseY, button.id); + + blurField.otherComponentClick(); + return; + } + } + + clickedSlider = null; + if (mouseX >= guiLeft + 76 - 48 && mouseX <= guiLeft + 76 + 48) { + try { + if (mouseY > guiTop + 45 - 8 && mouseY < guiTop + 45 + 8) { + clickedSlider = DungeonMapConfig.class.getDeclaredField("dmBorderSize"); + return; + } else if (mouseY > guiTop + 75 - 8 && mouseY < guiTop + 75 + 8) { + clickedSlider = DungeonMapConfig.class.getDeclaredField("dmRoomSize"); + return; + } else if (mouseY > guiTop + 105 - 8 && mouseY < guiTop + 105 + 8) { + clickedSlider = DungeonMapConfig.class.getDeclaredField("dmIconScale"); + return; + } + } catch (Exception e) { + e.printStackTrace(); + } + } + + if (mouseY > guiTop + 181 && mouseY < guiTop + 181 + 16) { + if (mouseX > guiLeft + 20 + 139 && mouseX < guiLeft + 20 + 139 + 48) { + blurField.mouseClicked(mouseX, mouseY, mouseButton); + return; + } + } else if (mouseY > guiTop + 215 && mouseY < guiTop + 215 + 16) { + if (mouseX > guiLeft + 52 && mouseX < guiLeft + 100) { + int size = 80 + Math.round(40 * NotEnoughUpdates.INSTANCE.config.dungeonMap.dmBorderSize); + + Map<String, Vec4b> decorations = new HashMap<>(); + Vec4b vec4b = new Vec4b((byte) 3, (byte) (((50) - 64) * 2), (byte) (((40) - 64) * 2), (byte) ((60) * 16 / 360)); + decorations.put(Minecraft.getMinecraft().thePlayer.getName(), vec4b); + + HashSet<String> players = new HashSet<>(); + players.add(Minecraft.getMinecraft().thePlayer.getName()); + GlStateManager.color(1, 1, 1, 1); + + Minecraft.getMinecraft().displayGuiScreen(new GuiPositionEditor( + NotEnoughUpdates.INSTANCE.config.dungeonMap.dmPosition, + size, size, () -> { + ScaledResolution scaledResolution = Utils.pushGuiScale(2); + demoMap.renderMap( + NotEnoughUpdates.INSTANCE.config.dungeonMap.dmPosition.getAbsX(scaledResolution, size) + size / 2, + NotEnoughUpdates.INSTANCE.config.dungeonMap.dmPosition.getAbsY(scaledResolution, size) + size / 2, + NotEnoughUpdates.INSTANCE.colourMap, + decorations, + 0, + players, + false, + 0 + ); + Utils.pushGuiScale(-1); + }, () -> {}, () -> NotEnoughUpdates.INSTANCE.openGui = new GuiDungeonMapEditor() + ).withScale(2)); + return; + } + } + + blurField.otherComponentClick(); + } + + @Override + public void handleMouseInput() throws IOException { + super.handleMouseInput(); + + if (activeColourEditor != null) { + ScaledResolution realRes = new ScaledResolution(Minecraft.getMinecraft()); + int mouseX = Mouse.getEventX() * realRes.getScaledWidth() / this.mc.displayWidth; + int mouseY = + realRes.getScaledHeight() - Mouse.getEventY() * realRes.getScaledHeight() / this.mc.displayHeight - 1; + activeColourEditor.mouseInput(mouseX, mouseY); + } + } + + @Override + public void handleKeyboardInput() throws IOException { + super.handleKeyboardInput(); + + if (activeColourEditor != null) { + activeColourEditor.keyboardInput(); + } + } + + @Override + protected void keyTyped(char typedChar, int keyCode) throws IOException { + super.keyTyped(typedChar, keyCode); + + if (blurField.getFocus()) { + blurField.keyTyped(typedChar, keyCode); + + try { + blurField.setCustomBorderColour(-1); + NotEnoughUpdates.INSTANCE.config.dungeonMap.dmBackgroundBlur = Float.parseFloat(blurField.getText()); + } catch (Exception e) { + blurField.setCustomBorderColour(Color.RED.getRGB()); + } + } + } + + private void buttonClicked(int mouseX, int mouseY, int id) { + DungeonMapConfig options = NotEnoughUpdates.INSTANCE.config.dungeonMap; + switch (id) { + case 0: + options.dmBorderSize = 0; + break; + case 1: + options.dmBorderSize = 1; + break; + case 2: + options.dmBorderSize = 2; + break; + case 30: + options.dmBorderSize = 3; + break; + case 3: + options.dmRoomSize = 0; + break; + case 4: + options.dmRoomSize = 1; + break; + case 5: + options.dmRoomSize = 2; + break; + case 29: + options.dmRoomSize = 3; + break; + case 18: + options.dmEnable = !options.dmEnable; + break; + case 19: + options.dmCenterPlayer = !options.dmCenterPlayer; + break; + case 20: + options.dmRotatePlayer = !options.dmRotatePlayer; + break; + case 21: + options.dmPlayerHeads++; + if (options.dmPlayerHeads > 2) options.dmPlayerHeads = 0; + break; + case 22: + options.dmOrientCheck = !options.dmOrientCheck; + break; + case 23: + options.dmCenterCheck = !options.dmCenterCheck; + break; + case 24: + options.dmPlayerInterp = !options.dmPlayerInterp; + break; + case 25: + options.dmCompat++; + if (options.dmCompat > 2) options.dmCompat = 0; + break; + case 26: { + ScaledResolution realRes = new ScaledResolution(Minecraft.getMinecraft()); + mouseX = Mouse.getEventX() * realRes.getScaledWidth() / this.mc.displayWidth; + mouseY = realRes.getScaledHeight() - Mouse.getEventY() * realRes.getScaledHeight() / this.mc.displayHeight - 1; + activeColourEditor = new GuiElementColour(mouseX, mouseY, options.dmBackgroundColour, + (col) -> options.dmBackgroundColour = col, () -> activeColourEditor = null + ); + } + break; + case 27: { + ScaledResolution realRes = new ScaledResolution(Minecraft.getMinecraft()); + mouseX = Mouse.getEventX() * realRes.getScaledWidth() / this.mc.displayWidth; + mouseY = realRes.getScaledHeight() - Mouse.getEventY() * realRes.getScaledHeight() / this.mc.displayHeight - 1; + activeColourEditor = new GuiElementColour(mouseX, mouseY, options.dmBorderColour, + (col) -> options.dmBorderColour = col, () -> activeColourEditor = null + ); + } + break; + case 28: + options.dmChromaBorder = !options.dmChromaBorder; + break; + default: + if (id >= 6 && id <= 17) { + options.dmBorderStyle = id - 6; + break; + } + } + } + + private boolean isButtonPressed(int id) { + DungeonMapConfig options = NotEnoughUpdates.INSTANCE.config.dungeonMap; + + if (id >= 0 && id <= 2) { + return options.dmBorderSize == id; + } else if (id >= 3 && id <= 5) { + return options.dmRoomSize == id - 3; + } else if (id >= 6 && id <= 17) { + return options.dmBorderStyle == id - 6; + } else if (id == 29) { + return options.dmRoomSize == 3; + } else if (id == 30) { + return options.dmBorderSize == 3; + } + return false; + } + + Shader blurShaderHorz = null; + Framebuffer blurOutputHorz = null; + Shader blurShaderVert = null; + Framebuffer blurOutputVert = null; + + /** + * Creates a projection matrix that projects from our coordinate space [0->width; 0->height] to OpenGL coordinate + * space [-1 -> 1; 1 -> -1] (Note: flipped y-axis). + * <p> + * This is so that we can render to and from the framebuffer in a way that is familiar to us, instead of needing to + * apply scales and translations manually. + */ + private Matrix4f createProjectionMatrix(int width, int height) { + Matrix4f projMatrix = new Matrix4f(); + projMatrix.setIdentity(); + projMatrix.m00 = 2.0F / (float) width; + projMatrix.m11 = 2.0F / (float) (-height); + projMatrix.m22 = -0.0020001999F; + projMatrix.m33 = 1.0F; + projMatrix.m03 = -1.0F; + projMatrix.m13 = 1.0F; + projMatrix.m23 = -1.0001999F; + return projMatrix; + } + + private double lastBgBlurFactor = -1; + + private void blurBackground() { + if (!OpenGlHelper.isFramebufferEnabled()) return; + + int width = Minecraft.getMinecraft().displayWidth; + int height = Minecraft.getMinecraft().displayHeight; + + if (blurOutputHorz == null) { + blurOutputHorz = new Framebuffer(width, height, false); + blurOutputHorz.setFramebufferFilter(GL11.GL_NEAREST); + } + if (blurOutputVert == null) { + blurOutputVert = new Framebuffer(width, height, false); + blurOutputVert.setFramebufferFilter(GL11.GL_NEAREST); + } + if (blurOutputHorz.framebufferWidth != width || blurOutputHorz.framebufferHeight != height) { + blurOutputHorz.createBindFramebuffer(width, height); + blurShaderHorz.setProjectionMatrix(createProjectionMatrix(width, height)); + Minecraft.getMinecraft().getFramebuffer().bindFramebuffer(false); + } + if (blurOutputVert.framebufferWidth != width || blurOutputVert.framebufferHeight != height) { + blurOutputVert.createBindFramebuffer(width, height); + blurShaderVert.setProjectionMatrix(createProjectionMatrix(width, height)); + Minecraft.getMinecraft().getFramebuffer().bindFramebuffer(false); + } + + if (blurShaderHorz == null) { + try { + blurShaderHorz = new Shader(Minecraft.getMinecraft().getResourceManager(), "blur", + Minecraft.getMinecraft().getFramebuffer(), blurOutputHorz + ); + blurShaderHorz.getShaderManager().getShaderUniform("BlurDir").set(1, 0); + blurShaderHorz.setProjectionMatrix(createProjectionMatrix(width, height)); + } catch (Exception ignored) { + } + } + if (blurShaderVert == null) { + try { + blurShaderVert = new Shader(Minecraft.getMinecraft().getResourceManager(), "blur", + blurOutputHorz, blurOutputVert + ); + blurShaderVert.getShaderManager().getShaderUniform("BlurDir").set(0, 1); + blurShaderVert.setProjectionMatrix(createProjectionMatrix(width, height)); + } catch (Exception ignored) { + } + } + if (blurShaderHorz != null && blurShaderVert != null) { + if (15 != lastBgBlurFactor) { + blurShaderHorz.getShaderManager().getShaderUniform("Radius").set((float) 15); + blurShaderVert.getShaderManager().getShaderUniform("Radius").set((float) 15); + lastBgBlurFactor = 15; + } + GL11.glPushMatrix(); + blurShaderHorz.loadShader(0); + blurShaderVert.loadShader(0); + GlStateManager.enableDepth(); + GL11.glPopMatrix(); + + Minecraft.getMinecraft().getFramebuffer().bindFramebuffer(false); + } + } + + /** + * Renders a subsection of the blurred framebuffer on to the corresponding section of the screen. + * Essentially, this method will "blur" the background inside the bounds specified by [x->x+blurWidth, y->y+blurHeight] + */ + public void renderBlurredBackground(int width, int height, int x, int y, int blurWidth, int blurHeight) { + if (!OpenGlHelper.isFramebufferEnabled()) return; + + float uMin = x / (float) width; + float uMax = (x + blurWidth) / (float) width; + float vMin = (height - y) / (float) height; + float vMax = (height - y - blurHeight) / (float) height; + + blurOutputVert.bindFramebufferTexture(); + GlStateManager.color(1f, 1f, 1f, 1f); + Utils.drawTexturedRect(x, y, blurWidth, blurHeight, uMin, uMax, vMin, vMax); + blurOutputVert.unbindFramebufferTexture(); + } +} diff --git a/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/AccessoryBag.java b/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/AccessoryBag.java index 9a3d0946..5e1d58c1 100644 --- a/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/AccessoryBag.java +++ b/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/AccessoryBag.java @@ -1,15 +1,15 @@ -package io.github.moulberry.notenoughupdates.options.seperateSections;
-
-import com.google.gson.annotations.Expose;
-import io.github.moulberry.notenoughupdates.core.config.annotations.ConfigEditorBoolean;
-import io.github.moulberry.notenoughupdates.core.config.annotations.ConfigOption;
-
-public class AccessoryBag {
- @Expose
- @ConfigOption(
- name = "Enable Accessory Bag Overlay",
- desc = "Show an overlay on the accessory bag screen which gives useful information about your accessories"
- )
- @ConfigEditorBoolean
- public boolean enableOverlay = true;
-}
+package io.github.moulberry.notenoughupdates.options.seperateSections; + +import com.google.gson.annotations.Expose; +import io.github.moulberry.notenoughupdates.core.config.annotations.ConfigEditorBoolean; +import io.github.moulberry.notenoughupdates.core.config.annotations.ConfigOption; + +public class AccessoryBag { + @Expose + @ConfigOption( + name = "Enable Accessory Bag Overlay", + desc = "Show an overlay on the accessory bag screen which gives useful information about your accessories" + ) + @ConfigEditorBoolean + public boolean enableOverlay = true; +} 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 index 0c5e4d2d..5567365c 100644 --- a/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/ApiKey.java +++ b/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/ApiKey.java @@ -1,15 +1,15 @@ -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 = "";
-}
+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 = ""; +} diff --git a/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/Calendar.java b/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/Calendar.java index 332f5e8d..cd2fb53f 100644 --- a/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/Calendar.java +++ b/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/Calendar.java @@ -1,53 +1,53 @@ -package io.github.moulberry.notenoughupdates.options.seperateSections;
-
-import com.google.gson.annotations.Expose;
-import io.github.moulberry.notenoughupdates.core.config.annotations.ConfigEditorBoolean;
-import io.github.moulberry.notenoughupdates.core.config.annotations.ConfigEditorSlider;
-import io.github.moulberry.notenoughupdates.core.config.annotations.ConfigOption;
-
-public class Calendar {
- @Expose
- @ConfigOption(
- name = "Event Notifications",
- desc = "Display notifications for skyblock calendar events"
- )
- @ConfigEditorBoolean
- public boolean eventNotifications = true;
-
- @Expose
- @ConfigOption(
- name = "Starting Soon Time",
- desc = "Display a notification before events start, time in seconds.\n" +
- "0 = No prior notification"
- )
- @ConfigEditorSlider(
- minValue = 0f,
- maxValue = 600f,
- minStep = 30f
- )
- public int startingSoonTime = 300;
-
- @Expose
- @ConfigOption(
- name = "Timer In Inventory",
- desc = "Displays the time until the next event at the top of your screen when in inventories"
- )
- @ConfigEditorBoolean
- public boolean showEventTimerInInventory = true;
-
- @Expose
- @ConfigOption(
- name = "Notification Sounds",
- desc = "Play a sound whenever events start"
- )
- @ConfigEditorBoolean
- public boolean eventNotificationSounds = true;
-
- @Expose
- @ConfigOption(
- name = "Spooky Night Notification",
- desc = "Send a notification during spooky event when the time reaches 7pm"
- )
- @ConfigEditorBoolean
- public boolean spookyNightNotification = true;
-}
+package io.github.moulberry.notenoughupdates.options.seperateSections; + +import com.google.gson.annotations.Expose; +import io.github.moulberry.notenoughupdates.core.config.annotations.ConfigEditorBoolean; +import io.github.moulberry.notenoughupdates.core.config.annotations.ConfigEditorSlider; +import io.github.moulberry.notenoughupdates.core.config.annotations.ConfigOption; + +public class Calendar { + @Expose + @ConfigOption( + name = "Event Notifications", + desc = "Display notifications for skyblock calendar events" + ) + @ConfigEditorBoolean + public boolean eventNotifications = true; + + @Expose + @ConfigOption( + name = "Starting Soon Time", + desc = "Display a notification before events start, time in seconds.\n" + + "0 = No prior notification" + ) + @ConfigEditorSlider( + minValue = 0f, + maxValue = 600f, + minStep = 30f + ) + public int startingSoonTime = 300; + + @Expose + @ConfigOption( + name = "Timer In Inventory", + desc = "Displays the time until the next event at the top of your screen when in inventories" + ) + @ConfigEditorBoolean + public boolean showEventTimerInInventory = true; + + @Expose + @ConfigOption( + name = "Notification Sounds", + desc = "Play a sound whenever events start" + ) + @ConfigEditorBoolean + public boolean eventNotificationSounds = true; + + @Expose + @ConfigOption( + name = "Spooky Night Notification", + desc = "Send a notification during spooky event when the time reaches 7pm" + ) + @ConfigEditorBoolean + public boolean spookyNightNotification = true; +} diff --git a/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/DungeonMapConfig.java b/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/DungeonMapConfig.java index b46eafd9..d69eca82 100644 --- a/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/DungeonMapConfig.java +++ b/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/DungeonMapConfig.java @@ -1,142 +1,142 @@ -package io.github.moulberry.notenoughupdates.options.seperateSections;
-
-import com.google.gson.annotations.Expose;
-import io.github.moulberry.notenoughupdates.core.config.Position;
-import io.github.moulberry.notenoughupdates.core.config.annotations.ConfigEditorSlider;
-import io.github.moulberry.notenoughupdates.core.config.annotations.ConfigOption;
-
-public class DungeonMapConfig {
- @Expose
- @ConfigOption(
- name = "Border Size",
- desc = "Changes the size of the map border, without changing the size of the contents"
- )
- @ConfigEditorSlider(
- minValue = 0,
- maxValue = 5,
- minStep = 0.25f
- )
- public float dmBorderSize = 1;
-
- @Expose
- @ConfigOption(
- name = "Room Size",
- desc = "Changes the size of rooms. Useful for higher dungeons with larger maps"
- )
- @ConfigEditorSlider(
- minValue = 0,
- maxValue = 5,
- minStep = 0.25f
- )
- public float dmRoomSize = 1;
-
- @Expose
- @ConfigOption(
- name = "Icon Size",
- desc = "Changes the scale of room indicators and player icons"
- )
- @ConfigEditorSlider(
- minValue = 0.5f,
- maxValue = 3f,
- minStep = 0.25f
- )
- public float dmIconScale = 1.0f;
-
- @Expose
- @ConfigOption(
- name = "Border Style",
- desc = "Various custom borders from various talented artists.\nUse 'custom' if your texture pack has a custom border"
- )
- public int dmBorderStyle = 0;
-
- @Expose
- @ConfigOption(
- name = "Show Dungeon Map",
- desc = "Show/hide the NEU dungeon map"
- )
- public boolean dmEnable = true;
-
- @Expose
- @ConfigOption(
- name = "Map Center",
- desc = "Center on rooms, or center on your player"
- )
- public boolean dmCenterPlayer = true;
-
- @Expose
- @ConfigOption(
- name = "Rotate with Player",
- desc = "Rotate the map to face the same direction as your player"
- )
- public boolean dmRotatePlayer = true;
-
- @Expose
- @ConfigOption(
- name = "Orient Checkmarks",
- desc = "Checkmarks will always show vertically, regardless of rotation"
- )
- public boolean dmOrientCheck = true;
-
- @Expose
- @ConfigOption(
- name = "Center Checkmarks",
- desc = "Checkmarks will show closer to the center of rooms"
- )
- public boolean dmCenterCheck = false;
-
- @Expose
- @ConfigOption(
- name = "Player Icon Style",
- desc = "Various player icon styles"
- )
- public int dmPlayerHeads = 0;
-
- @Expose
- @ConfigOption(
- name = "Interpolate Far Players",
- desc = "Will make players far away move smoothly"
- )
- public boolean dmPlayerInterp = true;
-
- @Expose
- @ConfigOption(
- name = "OpenGL Compatibility",
- desc = "Compatiblity options for people with bad computers. ONLY use this if you know what you are doing, otherwise the map will look worse"
- )
- public int dmCompat = 0;
-
- @Expose
- @ConfigOption(
- name = "Background Colour",
- desc = "Colour of the map background. Supports opacity & chroma"
- )
- public String dmBackgroundColour = "00:170:75:75:75";
-
- @Expose
- @ConfigOption(
- name = "Border Colour",
- desc = "Colour of the map border. Supports opacity & chroma. Turn off custom borders to see"
- )
- public String dmBorderColour = "00:0:0:0:0";
-
- @Expose
- @ConfigOption(
- name = "Chroma Border Mode",
- desc = "Applies a hue offset around the map border"
- )
- public boolean dmChromaBorder = false;
-
- @Expose
- @ConfigOption(
- name = "Background Blur Factor",
- desc = "Changes the blur factor behind the map. Set to 0 to disable blur"
- )
- public float dmBackgroundBlur = 0;
-
- @Expose
- @ConfigOption(
- name = "Position",
- desc = "The position of the map"
- )
- public Position dmPosition = new Position(10, 10);
-}
+package io.github.moulberry.notenoughupdates.options.seperateSections; + +import com.google.gson.annotations.Expose; +import io.github.moulberry.notenoughupdates.core.config.Position; +import io.github.moulberry.notenoughupdates.core.config.annotations.ConfigEditorSlider; +import io.github.moulberry.notenoughupdates.core.config.annotations.ConfigOption; + +public class DungeonMapConfig { + @Expose + @ConfigOption( + name = "Border Size", + desc = "Changes the size of the map border, without changing the size of the contents" + ) + @ConfigEditorSlider( + minValue = 0, + maxValue = 5, + minStep = 0.25f + ) + public float dmBorderSize = 1; + + @Expose + @ConfigOption( + name = "Room Size", + desc = "Changes the size of rooms. Useful for higher dungeons with larger maps" + ) + @ConfigEditorSlider( + minValue = 0, + maxValue = 5, + minStep = 0.25f + ) + public float dmRoomSize = 1; + + @Expose + @ConfigOption( + name = "Icon Size", + desc = "Changes the scale of room indicators and player icons" + ) + @ConfigEditorSlider( + minValue = 0.5f, + maxValue = 3f, + minStep = 0.25f + ) + public float dmIconScale = 1.0f; + + @Expose + @ConfigOption( + name = "Border Style", + desc = "Various custom borders from various talented artists.\nUse 'custom' if your texture pack has a custom border" + ) + public int dmBorderStyle = 0; + + @Expose + @ConfigOption( + name = "Show Dungeon Map", + desc = "Show/hide the NEU dungeon map" + ) + public boolean dmEnable = true; + + @Expose + @ConfigOption( + name = "Map Center", + desc = "Center on rooms, or center on your player" + ) + public boolean dmCenterPlayer = true; + + @Expose + @ConfigOption( + name = "Rotate with Player", + desc = "Rotate the map to face the same direction as your player" + ) + public boolean dmRotatePlayer = true; + + @Expose + @ConfigOption( + name = "Orient Checkmarks", + desc = "Checkmarks will always show vertically, regardless of rotation" + ) + public boolean dmOrientCheck = true; + + @Expose + @ConfigOption( + name = "Center Checkmarks", + desc = "Checkmarks will show closer to the center of rooms" + ) + public boolean dmCenterCheck = false; + + @Expose + @ConfigOption( + name = "Player Icon Style", + desc = "Various player icon styles" + ) + public int dmPlayerHeads = 0; + + @Expose + @ConfigOption( + name = "Interpolate Far Players", + desc = "Will make players far away move smoothly" + ) + public boolean dmPlayerInterp = true; + + @Expose + @ConfigOption( + name = "OpenGL Compatibility", + desc = "Compatiblity options for people with bad computers. ONLY use this if you know what you are doing, otherwise the map will look worse" + ) + public int dmCompat = 0; + + @Expose + @ConfigOption( + name = "Background Colour", + desc = "Colour of the map background. Supports opacity & chroma" + ) + public String dmBackgroundColour = "00:170:75:75:75"; + + @Expose + @ConfigOption( + name = "Border Colour", + desc = "Colour of the map border. Supports opacity & chroma. Turn off custom borders to see" + ) + public String dmBorderColour = "00:0:0:0:0"; + + @Expose + @ConfigOption( + name = "Chroma Border Mode", + desc = "Applies a hue offset around the map border" + ) + public boolean dmChromaBorder = false; + + @Expose + @ConfigOption( + name = "Background Blur Factor", + desc = "Changes the blur factor behind the map. Set to 0 to disable blur" + ) + public float dmBackgroundBlur = 0; + + @Expose + @ConfigOption( + name = "Position", + desc = "The position of the map" + ) + public Position dmPosition = new Position(10, 10); +} diff --git a/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/Dungeons.java b/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/Dungeons.java index ce164c9a..d1d36e9a 100644 --- a/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/Dungeons.java +++ b/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/Dungeons.java @@ -1,229 +1,229 @@ -package io.github.moulberry.notenoughupdates.options.seperateSections;
-
-import com.google.gson.annotations.Expose;
-import io.github.moulberry.notenoughupdates.core.config.annotations.*;
-
-public class Dungeons {
- @ConfigOption(
- name = "Dungeon Map",
- desc = ""
- )
- @ConfigEditorAccordion(id = 0)
- public boolean dungeonMapAccordion = false;
-
- @Expose
- @ConfigOption(
- name = "\u00A7cWarning",
- desc = "If you are on Entrance, Floor 1 or Master 1 the map wont work properly"
- )
- @ConfigEditorFSR(
- runnableId = 12,
- buttonText = ""
- )
- @ConfigAccordionId(id = 0)
- public boolean dungeonF1Warning = false;
-
- @Expose
- @ConfigOption(
- name = "Edit Dungeon Map",
- desc = "The NEU dungeon map has it's own editor (/neumap).\n" +
- "Click the button on the left to open it"
- )
- @ConfigEditorButton(
- runnableId = 0,
- buttonText = "Edit"
- )
- @ConfigAccordionId(id = 0)
- public int editDungeonMap = 0;
-
- @Expose
- @ConfigOption(
- name = "Show Own Head As Marker",
- desc = "If you have the \"Head\" icon style selected, don't replace your green marker with a head"
- )
- @ConfigEditorBoolean
- @ConfigAccordionId(id = 0)
- public boolean showOwnHeadAsMarker = false;
-
- @ConfigOption(
- name = "Dungeon Profit",
- desc = ""
- )
- @ConfigEditorAccordion(id = 1)
- public boolean dungeonProfitAccordion = false;
-
- @Expose
- @ConfigOption(
- name = "Profit Type",
- desc = "Set the price dataset used for calculating profit"
- )
- @ConfigEditorDropdown(
- values = {"Lowest BIN", "24 AVG Lowest Bin", "Auction AVG"}
- )
- @ConfigAccordionId(id = 1)
- public int profitType = 0;
-
- @Expose
- @ConfigOption(
- name = "Profit Display Location",
- desc = "Set where the profit information is displayed\n" +
- "Overlay = Overlay on right side of inventory\n" +
- "GUI Title = Text displayed next to the inventory title\n" +
- "Lore = Inside the \"Open Reward Chest\" item"
- )
- @ConfigEditorDropdown(
- values = {"Overlay", "GUI Title", "Lore", "Off"}
- )
- @ConfigAccordionId(id = 1)
- public int profitDisplayLoc = 0;
-
- @Expose
- @ConfigOption(
- name = "Include Kismet Feather",
- desc = "Include Kismet Feathers in the Profit Calculation after rerolling"
- )
- @ConfigEditorBoolean
- @ConfigAccordionId(id = 1)
- public boolean useKismetOnDungeonProfit = true;
-
- @ConfigOption(
- name = "Dungeon Win Overlay",
- desc = ""
- )
- @ConfigEditorAccordion(id = 3)
- public boolean dungeonWinAccordion = false;
-
- @Expose
- @ConfigOption(
- name = "Enable Dungeon Win",
- desc = "Show a fancy win screen and stats when completing a dungeon"
- )
- @ConfigEditorBoolean
- @ConfigAccordionId(id = 3)
- public boolean enableDungeonWin = true;
-
- @Expose
- @ConfigOption(
- name = "Dungeon Win Time",
- desc = "Change the amount of time (milliseconds) that the win screen shows for"
- )
- @ConfigEditorSlider(
- minValue = 0,
- maxValue = 20000,
- minStep = 500
- )
- @ConfigAccordionId(id = 3)
- public int dungeonWinMillis = 8000;
-
- @ConfigOption(
- name = "Dungeon Block Overlay",
- desc = ""
- )
-
- @ConfigEditorAccordion(id = 2)
- public boolean dungeonBlocksAccordion = false;
- @ConfigOption(
- name = "\u00A7cWarning",
- desc = "You need Fast Render and Antialiasing off for these settings to work\n" +
- "You can find these in your video settings"
- )
- @ConfigEditorFSR(
- runnableId = 12,
- buttonText = ""
- )
- @ConfigAccordionId(id = 2)
- public boolean dungeonBlockWarning = false;
-
- @Expose
- @ConfigOption(
- name = "Enable Block Overlay",
- desc = "Change the colour of certain blocks / entities while inside dungeons, but keeps the normal texture outside of dungeons"
- )
- @ConfigEditorBoolean
- @ConfigAccordionId(id = 2)
- public boolean enableDungBlockOverlay = true;
-
- @Expose
- @ConfigOption(
- name = "Show Overlay Everywhere",
- desc = "Show the dungeon block overlay even when not inside dungeons. Should only be used for testing."
- )
- @ConfigEditorBoolean
- @ConfigAccordionId(id = 2)
- public boolean dungeonBlocksEverywhere = false;
-
- @Expose
- @ConfigOption(
- name = "Slow Update",
- desc = "Updates the colour every second instead of every tick.\n" +
- "\u00A7cWARNING: This will cause all texture animations (eg. flowing water) to update slowly.\n" +
- "This should only be used on low-end machines"
- )
- @ConfigEditorBoolean
- @ConfigAccordionId(id = 2)
- public boolean slowDungeonBlocks = false;
-
- @Expose
- @ConfigOption(
- name = "Cracked Bricks",
- desc = "Change the colour of: Cracked Bricks"
- )
- @ConfigEditorColour
- @ConfigAccordionId(id = 2)
- public String dungCrackedColour = "0:255:7:255:217";
-
- @Expose
- @ConfigOption(
- name = "Dispensers",
- desc = "Change the colour of: Dispensers"
- )
- @ConfigEditorColour
- @ConfigAccordionId(id = 2)
- public String dungDispenserColour = "0:255:255:76:0";
-
- @Expose
- @ConfigOption(
- name = "Levers",
- desc = "Change the colour of: Levers"
- )
- @ConfigEditorColour
- @ConfigAccordionId(id = 2)
- public String dungLeverColour = "0:252:24:249:255";
-
- @Expose
- @ConfigOption(
- name = "Tripwire String",
- desc = "Change the colour of: Tripwire String"
- )
- @ConfigEditorColour
- @ConfigAccordionId(id = 2)
- public String dungTripWireColour = "0:255:255:0:0";
-
- @Expose
- @ConfigOption(
- name = "Normal Chests",
- desc = "Change the colour of: Normal Chests"
- )
- @ConfigEditorColour
- @ConfigAccordionId(id = 2)
- public String dungChestColour = "0:255:0:163:36";
-
- @Expose
- @ConfigOption(
- name = "Trapped Chests",
- desc = "Change the colour of: Trapped Chests"
- )
- @ConfigEditorColour
- @ConfigAccordionId(id = 2)
- public String dungTrappedChestColour = "0:255:0:163:36";
-
- @Expose
- @ConfigOption(
- name = "Bats",
- desc = "Change the colour of: Bats"
- )
- @ConfigEditorColour
- @ConfigAccordionId(id = 2)
- public String dungBatColour = "0:255:12:255:0";
-
-}
+package io.github.moulberry.notenoughupdates.options.seperateSections; + +import com.google.gson.annotations.Expose; +import io.github.moulberry.notenoughupdates.core.config.annotations.*; + +public class Dungeons { + @ConfigOption( + name = "Dungeon Map", + desc = "" + ) + @ConfigEditorAccordion(id = 0) + public boolean dungeonMapAccordion = false; + + @Expose + @ConfigOption( + name = "\u00A7cWarning", + desc = "If you are on Entrance, Floor 1 or Master 1 the map wont work properly" + ) + @ConfigEditorFSR( + runnableId = 12, + buttonText = "" + ) + @ConfigAccordionId(id = 0) + public boolean dungeonF1Warning = false; + + @Expose + @ConfigOption( + name = "Edit Dungeon Map", + desc = "The NEU dungeon map has it's own editor (/neumap).\n" + + "Click the button on the left to open it" + ) + @ConfigEditorButton( + runnableId = 0, + buttonText = "Edit" + ) + @ConfigAccordionId(id = 0) + public int editDungeonMap = 0; + + @Expose + @ConfigOption( + name = "Show Own Head As Marker", + desc = "If you have the \"Head\" icon style selected, don't replace your green marker with a head" + ) + @ConfigEditorBoolean + @ConfigAccordionId(id = 0) + public boolean showOwnHeadAsMarker = false; + + @ConfigOption( + name = "Dungeon Profit", + desc = "" + ) + @ConfigEditorAccordion(id = 1) + public boolean dungeonProfitAccordion = false; + + @Expose + @ConfigOption( + name = "Profit Type", + desc = "Set the price dataset used for calculating profit" + ) + @ConfigEditorDropdown( + values = {"Lowest BIN", "24 AVG Lowest Bin", "Auction AVG"} + ) + @ConfigAccordionId(id = 1) + public int profitType = 0; + + @Expose + @ConfigOption( + name = "Profit Display Location", + desc = "Set where the profit information is displayed\n" + + "Overlay = Overlay on right side of inventory\n" + + "GUI Title = Text displayed next to the inventory title\n" + + "Lore = Inside the \"Open Reward Chest\" item" + ) + @ConfigEditorDropdown( + values = {"Overlay", "GUI Title", "Lore", "Off"} + ) + @ConfigAccordionId(id = 1) + public int profitDisplayLoc = 0; + + @Expose + @ConfigOption( + name = "Include Kismet Feather", + desc = "Include Kismet Feathers in the Profit Calculation after rerolling" + ) + @ConfigEditorBoolean + @ConfigAccordionId(id = 1) + public boolean useKismetOnDungeonProfit = true; + + @ConfigOption( + name = "Dungeon Win Overlay", + desc = "" + ) + @ConfigEditorAccordion(id = 3) + public boolean dungeonWinAccordion = false; + + @Expose + @ConfigOption( + name = "Enable Dungeon Win", + desc = "Show a fancy win screen and stats when completing a dungeon" + ) + @ConfigEditorBoolean + @ConfigAccordionId(id = 3) + public boolean enableDungeonWin = true; + + @Expose + @ConfigOption( + name = "Dungeon Win Time", + desc = "Change the amount of time (milliseconds) that the win screen shows for" + ) + @ConfigEditorSlider( + minValue = 0, + maxValue = 20000, + minStep = 500 + ) + @ConfigAccordionId(id = 3) + public int dungeonWinMillis = 8000; + + @ConfigOption( + name = "Dungeon Block Overlay", + desc = "" + ) + + @ConfigEditorAccordion(id = 2) + public boolean dungeonBlocksAccordion = false; + @ConfigOption( + name = "\u00A7cWarning", + desc = "You need Fast Render and Antialiasing off for these settings to work\n" + + "You can find these in your video settings" + ) + @ConfigEditorFSR( + runnableId = 12, + buttonText = "" + ) + @ConfigAccordionId(id = 2) + public boolean dungeonBlockWarning = false; + + @Expose + @ConfigOption( + name = "Enable Block Overlay", + desc = "Change the colour of certain blocks / entities while inside dungeons, but keeps the normal texture outside of dungeons" + ) + @ConfigEditorBoolean + @ConfigAccordionId(id = 2) + public boolean enableDungBlockOverlay = true; + + @Expose + @ConfigOption( + name = "Show Overlay Everywhere", + desc = "Show the dungeon block overlay even when not inside dungeons. Should only be used for testing." + ) + @ConfigEditorBoolean + @ConfigAccordionId(id = 2) + public boolean dungeonBlocksEverywhere = false; + + @Expose + @ConfigOption( + name = "Slow Update", + desc = "Updates the colour every second instead of every tick.\n" + + "\u00A7cWARNING: This will cause all texture animations (eg. flowing water) to update slowly.\n" + + "This should only be used on low-end machines" + ) + @ConfigEditorBoolean + @ConfigAccordionId(id = 2) + public boolean slowDungeonBlocks = false; + + @Expose + @ConfigOption( + name = "Cracked Bricks", + desc = "Change the colour of: Cracked Bricks" + ) + @ConfigEditorColour + @ConfigAccordionId(id = 2) + public String dungCrackedColour = "0:255:7:255:217"; + + @Expose + @ConfigOption( + name = "Dispensers", + desc = "Change the colour of: Dispensers" + ) + @ConfigEditorColour + @ConfigAccordionId(id = 2) + public String dungDispenserColour = "0:255:255:76:0"; + + @Expose + @ConfigOption( + name = "Levers", + desc = "Change the colour of: Levers" + ) + @ConfigEditorColour + @ConfigAccordionId(id = 2) + public String dungLeverColour = "0:252:24:249:255"; + + @Expose + @ConfigOption( + name = "Tripwire String", + desc = "Change the colour of: Tripwire String" + ) + @ConfigEditorColour + @ConfigAccordionId(id = 2) + public String dungTripWireColour = "0:255:255:0:0"; + + @Expose + @ConfigOption( + name = "Normal Chests", + desc = "Change the colour of: Normal Chests" + ) + @ConfigEditorColour + @ConfigAccordionId(id = 2) + public String dungChestColour = "0:255:0:163:36"; + + @Expose + @ConfigOption( + name = "Trapped Chests", + desc = "Change the colour of: Trapped Chests" + ) + @ConfigEditorColour + @ConfigAccordionId(id = 2) + public String dungTrappedChestColour = "0:255:0:163:36"; + + @Expose + @ConfigOption( + name = "Bats", + desc = "Change the colour of: Bats" + ) + @ConfigEditorColour + @ConfigAccordionId(id = 2) + public String dungBatColour = "0:255:12:255:0"; + +} diff --git a/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/Fishing.java b/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/Fishing.java index aa2bacd3..f1587d5d 100644 --- a/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/Fishing.java +++ b/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/Fishing.java @@ -1,207 +1,207 @@ -package io.github.moulberry.notenoughupdates.options.seperateSections;
-
-import com.google.gson.annotations.Expose;
-import io.github.moulberry.notenoughupdates.core.config.annotations.*;
-
-public class Fishing {
- @Expose
- @ConfigOption(
- name = "Hide Other Players Fishing",
- desc = "Convenience option to easily hide \u00a7lother players'\u00a7r bobbers, rod lines and fishing particles\n" +
- "The advanced options below allow you to set the precise colour, particles, etc."
- )
- @ConfigEditorBoolean
- public boolean hideOtherPlayerAll = false;
-
- @ConfigOption(
- name = "Incoming Fish Warning",
- desc = ""
- )
- @ConfigEditorAccordion(id = 3)
- public boolean incomingFishAccordion = false;
-
- @Expose
- @ConfigOption(
- name = "Enable Fish Warning (R)",
- desc = "Display a red '!' when you need to pull the fish up. The warning takes your ping into account"
- )
- @ConfigEditorBoolean
- @ConfigAccordionId(id = 3)
- public boolean incomingFishWarningR = true;
-
- @Expose
- @ConfigOption(
- name = "Enable Fish Warning (Y)",
- desc = "Display a yellow '!' when a fish is approaching your bobber"
- )
- @ConfigEditorBoolean
- @ConfigAccordionId(id = 3)
- public boolean incomingFishWarning = true;
-
- @Expose
- @ConfigOption(
- name = "Enable Hooked Sound",
- desc = "Play a high-pitched ding sound when the '!' turns red"
- )
- @ConfigEditorBoolean
- @ConfigAccordionId(id = 3)
- public boolean incomingFishHookedSounds = true;
-
- @Expose
- @ConfigOption(
- name = "Enable Approach Sound",
- desc = "Play low-pitched ding sounds while the yellow '!' is visible"
- )
- @ConfigEditorBoolean
- @ConfigAccordionId(id = 3)
- public boolean incomingFishIncSounds = false;
-
- @ConfigOption(
- name = "Volumes",
- desc = ""
- )
- @ConfigAccordionId(id = 3)
- @ConfigEditorAccordion(id = 5)
- public boolean incomingFishVolumeAccordion = false;
-
- @Expose
- @ConfigOption(
- name = "Hooked Sound Vol.",
- desc = "Set the volume of the hooked sound"
- )
- @ConfigEditorSlider(
- minValue = 0,
- maxValue = 100,
- minStep = 1
- )
- @ConfigAccordionId(id = 5)
- public float incomingFishHookedSoundsVol = 25;
-
- @Expose
- @ConfigOption(
- name = "Approach Sound Vol.",
- desc = "Set the volume of the approaching sound"
- )
- @ConfigEditorSlider(
- minValue = 0,
- maxValue = 100,
- minStep = 1
- )
- @ConfigAccordionId(id = 5)
- public float incomingFishIncSoundsVol = 10;
-
- @ConfigOption(
- name = "Fishing Particles",
- desc = ""
- )
- @ConfigEditorAccordion(id = 0)
- public boolean particleAccordion = false;
-
- @Expose
- @ConfigOption(
- name = "Enable Custom Particles",
- desc = "Allow you to modify the particles that appear when a fish is incoming for you and other players"
- )
- @ConfigEditorBoolean
- @ConfigAccordionId(id = 0)
- public boolean enableCustomParticles = false;
-
- @ConfigOption(
- name = "Your Particles",
- desc = ""
- )
- @ConfigEditorAccordion(id = 1)
- @ConfigAccordionId(id = 0)
- public boolean yourParticlesAccordion = false;
-
- @Expose
- @ConfigOption(
- name = "Particle Type",
- desc = "Change the type of the particle that is spawned\n" +
- "Particle types with (RGB) support custom colours\n" +
- "Set to 'NONE' to disable particles"
- )
- @ConfigEditorDropdown(
- values = {"Default", "None", "Spark (RGB)", "Swirl (RGB)", "Dust (RGB)", "Flame", "Crit", "Magic Crit"}
- )
- @ConfigAccordionId(id = 1)
- public int yourParticleType = 0;
-
- @Expose
- @ConfigOption(
- name = "Custom Colour",
- desc = "Set a custom colour for the particle\n" +
- "Only works for particle types with (RGB)"
- )
- @ConfigEditorColour
- @ConfigAccordionId(id = 1)
- public String yourParticleColour = "0:255:255:255:255";
-
- @ConfigOption(
- name = "Other Players' Particles",
- desc = ""
- )
- @ConfigEditorAccordion(id = 2)
- @ConfigAccordionId(id = 0)
- public boolean otherParticlesAccordion = false;
-
- @Expose
- @ConfigOption(
- name = "Particle Type",
- desc = "Change the type of the particle that is spawned\n" +
- "Particle types with (RGB) support custom colours\n" +
- "Set to 'NONE' to disable particles"
- )
- @ConfigEditorDropdown(
- values = {"Default", "None", "Spark (RGB)", "Swirl (RGB)", "Dust (RGB)", "Flame", "Crit", "Magic Crit"}
- )
- @ConfigAccordionId(id = 2)
- public int otherParticleType = 0;
-
- @Expose
- @ConfigOption(
- name = "Custom Colour",
- desc = "Set a custom colour for the particle\n" +
- "Only works for particle types with (RGB)"
- )
- @ConfigEditorColour
- @ConfigAccordionId(id = 2)
- public String otherParticleColour = "0:255:255:255:255";
-
- @ConfigOption(
- name = "Rod Line Colours",
- desc = ""
- )
- @ConfigEditorAccordion(id = 4)
- public boolean rodAccordion = false;
-
- @Expose
- @ConfigOption(
- name = "Enable Rod Line Colours",
- desc = "Change the colour of your and other players' rod lines\n" +
- "Also fixes the position of the rod line"
- )
- @ConfigEditorBoolean
- @ConfigAccordionId(id = 4)
- public boolean enableRodColours = true;
-
- @Expose
- @ConfigOption(
- name = "Own Rod Colour",
- desc = "Change the colour of your own rod lines\n" +
- "You can set the opacity to '0' to HIDE"
- )
- @ConfigEditorColour
- @ConfigAccordionId(id = 4)
- public String ownRodColour = "0:255:0:0:0";
-
- @Expose
- @ConfigOption(
- name = "Other Rod Colour",
- desc = "Change the colour of other players' rod lines\n" +
- "You can set the opacity to '0' to HIDE"
- )
- @ConfigEditorColour
- @ConfigAccordionId(id = 4)
- public String otherRodColour = "0:255:0:0:0";
-}
+package io.github.moulberry.notenoughupdates.options.seperateSections; + +import com.google.gson.annotations.Expose; +import io.github.moulberry.notenoughupdates.core.config.annotations.*; + +public class Fishing { + @Expose + @ConfigOption( + name = "Hide Other Players Fishing", + desc = "Convenience option to easily hide \u00a7lother players'\u00a7r bobbers, rod lines and fishing particles\n" + + "The advanced options below allow you to set the precise colour, particles, etc." + ) + @ConfigEditorBoolean + public boolean hideOtherPlayerAll = false; + + @ConfigOption( + name = "Incoming Fish Warning", + desc = "" + ) + @ConfigEditorAccordion(id = 3) + public boolean incomingFishAccordion = false; + + @Expose + @ConfigOption( + name = "Enable Fish Warning (R)", + desc = "Display a red '!' when you need to pull the fish up. The warning takes your ping into account" + ) + @ConfigEditorBoolean + @ConfigAccordionId(id = 3) + public boolean incomingFishWarningR = true; + + @Expose + @ConfigOption( + name = "Enable Fish Warning (Y)", + desc = "Display a yellow '!' when a fish is approaching your bobber" + ) + @ConfigEditorBoolean + @ConfigAccordionId(id = 3) + public boolean incomingFishWarning = true; + + @Expose + @ConfigOption( + name = "Enable Hooked Sound", + desc = "Play a high-pitched ding sound when the '!' turns red" + ) + @ConfigEditorBoolean + @ConfigAccordionId(id = 3) + public boolean incomingFishHookedSounds = true; + + @Expose + @ConfigOption( + name = "Enable Approach Sound", + desc = "Play low-pitched ding sounds while the yellow '!' is visible" + ) + @ConfigEditorBoolean + @ConfigAccordionId(id = 3) + public boolean incomingFishIncSounds = false; + + @ConfigOption( + name = "Volumes", + desc = "" + ) + @ConfigAccordionId(id = 3) + @ConfigEditorAccordion(id = 5) + public boolean incomingFishVolumeAccordion = false; + + @Expose + @ConfigOption( + name = "Hooked Sound Vol.", + desc = "Set the volume of the hooked sound" + ) + @ConfigEditorSlider( + minValue = 0, + maxValue = 100, + minStep = 1 + ) + @ConfigAccordionId(id = 5) + public float incomingFishHookedSoundsVol = 25; + + @Expose + @ConfigOption( + name = "Approach Sound Vol.", + desc = "Set the volume of the approaching sound" + ) + @ConfigEditorSlider( + minValue = 0, + maxValue = 100, + minStep = 1 + ) + @ConfigAccordionId(id = 5) + public float incomingFishIncSoundsVol = 10; + + @ConfigOption( + name = "Fishing Particles", + desc = "" + ) + @ConfigEditorAccordion(id = 0) + public boolean particleAccordion = false; + + @Expose + @ConfigOption( + name = "Enable Custom Particles", + desc = "Allow you to modify the particles that appear when a fish is incoming for you and other players" + ) + @ConfigEditorBoolean + @ConfigAccordionId(id = 0) + public boolean enableCustomParticles = false; + + @ConfigOption( + name = "Your Particles", + desc = "" + ) + @ConfigEditorAccordion(id = 1) + @ConfigAccordionId(id = 0) + public boolean yourParticlesAccordion = false; + + @Expose + @ConfigOption( + name = "Particle Type", + desc = "Change the type of the particle that is spawned\n" + + "Particle types with (RGB) support custom colours\n" + + "Set to 'NONE' to disable particles" + ) + @ConfigEditorDropdown( + values = {"Default", "None", "Spark (RGB)", "Swirl (RGB)", "Dust (RGB)", "Flame", "Crit", "Magic Crit"} + ) + @ConfigAccordionId(id = 1) + public int yourParticleType = 0; + + @Expose + @ConfigOption( + name = "Custom Colour", + desc = "Set a custom colour for the particle\n" + + "Only works for particle types with (RGB)" + ) + @ConfigEditorColour + @ConfigAccordionId(id = 1) + public String yourParticleColour = "0:255:255:255:255"; + + @ConfigOption( + name = "Other Players' Particles", + desc = "" + ) + @ConfigEditorAccordion(id = 2) + @ConfigAccordionId(id = 0) + public boolean otherParticlesAccordion = false; + + @Expose + @ConfigOption( + name = "Particle Type", + desc = "Change the type of the particle that is spawned\n" + + "Particle types with (RGB) support custom colours\n" + + "Set to 'NONE' to disable particles" + ) + @ConfigEditorDropdown( + values = {"Default", "None", "Spark (RGB)", "Swirl (RGB)", "Dust (RGB)", "Flame", "Crit", "Magic Crit"} + ) + @ConfigAccordionId(id = 2) + public int otherParticleType = 0; + + @Expose + @ConfigOption( + name = "Custom Colour", + desc = "Set a custom colour for the particle\n" + + "Only works for particle types with (RGB)" + ) + @ConfigEditorColour + @ConfigAccordionId(id = 2) + public String otherParticleColour = "0:255:255:255:255"; + + @ConfigOption( + name = "Rod Line Colours", + desc = "" + ) + @ConfigEditorAccordion(id = 4) + public boolean rodAccordion = false; + + @Expose + @ConfigOption( + name = "Enable Rod Line Colours", + desc = "Change the colour of your and other players' rod lines\n" + + "Also fixes the position of the rod line" + ) + @ConfigEditorBoolean + @ConfigAccordionId(id = 4) + public boolean enableRodColours = true; + + @Expose + @ConfigOption( + name = "Own Rod Colour", + desc = "Change the colour of your own rod lines\n" + + "You can set the opacity to '0' to HIDE" + ) + @ConfigEditorColour + @ConfigAccordionId(id = 4) + public String ownRodColour = "0:255:0:0:0"; + + @Expose + @ConfigOption( + name = "Other Rod Colour", + desc = "Change the colour of other players' rod lines\n" + + "You can set the opacity to '0' to HIDE" + ) + @ConfigEditorColour + @ConfigAccordionId(id = 4) + public String otherRodColour = "0:255:0:0:0"; +} diff --git a/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/ImprovedSBMenu.java b/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/ImprovedSBMenu.java index 7d943501..60058280 100644 --- a/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/ImprovedSBMenu.java +++ b/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/ImprovedSBMenu.java @@ -1,50 +1,50 @@ -package io.github.moulberry.notenoughupdates.options.seperateSections;
-
-import com.google.gson.annotations.Expose;
-import io.github.moulberry.notenoughupdates.core.config.annotations.ConfigEditorBoolean;
-import io.github.moulberry.notenoughupdates.core.config.annotations.ConfigEditorDropdown;
-import io.github.moulberry.notenoughupdates.core.config.annotations.ConfigOption;
-
-public class ImprovedSBMenu {
- @Expose
- @ConfigOption(
- name = "Enable Improved SB Menus",
- desc = "Change the way that skyblock menus (eg. /sbmenu) look"
- )
- @ConfigEditorBoolean
- public boolean enableSbMenus = true;
-
- @Expose
- @ConfigOption(
- name = "Menu Background Style",
- desc = "Change the style of the background of skyblock menus"
- )
- @ConfigEditorDropdown(
- values = {
- "Dark 1", "Dark 2", "Transparent", "Light 1", "Light 2", "Light 3",
- "Unused 1", "Unused 2", "Unused 3", "Unused 4"
- }
- )
- public int backgroundStyle = 0;
-
- @Expose
- @ConfigOption(
- name = "Button Background Style",
- desc = "Change the style of the foreground elements in skyblock menus"
- )
- @ConfigEditorDropdown(
- values = {
- "Dark 1", "Dark 2", "Transparent", "Light 1", "Light 2", "Light 3",
- "Unused 1", "Unused 2", "Unused 3", "Unused 4"
- }
- )
- public int buttonStyle = 0;
-
- @Expose
- @ConfigOption(
- name = "Hide Empty Tooltips",
- desc = "Hide the tooltips of glass panes with no text"
- )
- @ConfigEditorBoolean
- public boolean hideEmptyPanes = true;
-}
+package io.github.moulberry.notenoughupdates.options.seperateSections; + +import com.google.gson.annotations.Expose; +import io.github.moulberry.notenoughupdates.core.config.annotations.ConfigEditorBoolean; +import io.github.moulberry.notenoughupdates.core.config.annotations.ConfigEditorDropdown; +import io.github.moulberry.notenoughupdates.core.config.annotations.ConfigOption; + +public class ImprovedSBMenu { + @Expose + @ConfigOption( + name = "Enable Improved SB Menus", + desc = "Change the way that skyblock menus (eg. /sbmenu) look" + ) + @ConfigEditorBoolean + public boolean enableSbMenus = true; + + @Expose + @ConfigOption( + name = "Menu Background Style", + desc = "Change the style of the background of skyblock menus" + ) + @ConfigEditorDropdown( + values = { + "Dark 1", "Dark 2", "Transparent", "Light 1", "Light 2", "Light 3", + "Unused 1", "Unused 2", "Unused 3", "Unused 4" + } + ) + public int backgroundStyle = 0; + + @Expose + @ConfigOption( + name = "Button Background Style", + desc = "Change the style of the foreground elements in skyblock menus" + ) + @ConfigEditorDropdown( + values = { + "Dark 1", "Dark 2", "Transparent", "Light 1", "Light 2", "Light 3", + "Unused 1", "Unused 2", "Unused 3", "Unused 4" + } + ) + public int buttonStyle = 0; + + @Expose + @ConfigOption( + name = "Hide Empty Tooltips", + desc = "Hide the tooltips of glass panes with no text" + ) + @ConfigEditorBoolean + public boolean hideEmptyPanes = true; +} diff --git a/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/InventoryButtons.java b/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/InventoryButtons.java index 9c698b9c..6826302a 100644 --- a/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/InventoryButtons.java +++ b/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/InventoryButtons.java @@ -1,35 +1,35 @@ -package io.github.moulberry.notenoughupdates.options.seperateSections;
-
-import com.google.gson.annotations.Expose;
-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.ConfigEditorDropdown;
-import io.github.moulberry.notenoughupdates.core.config.annotations.ConfigOption;
-
-public class InventoryButtons {
- @Expose
- @ConfigOption(
- name = "Open Button Editor",
- desc = "Open button editor GUI (/neubuttons)"
- )
- @ConfigEditorButton(runnableId = 7, buttonText = "Open")
- public boolean openEditorButton = true;
-
- @Expose
- @ConfigOption(
- name = "Always Hide \"Crafting\" Text",
- desc = "Hide crafting text in inventory, even when no button is there"
- )
- @ConfigEditorBoolean
- public boolean hideCrafting = false;
-
- @Expose
- @ConfigOption(
- name = "Button Click Type",
- desc = "Change the click type needed to trigger commands"
- )
- @ConfigEditorDropdown(
- values = {"Mouse Down", "Mouse Up"}
- )
- public int clickType = 0;
-}
+package io.github.moulberry.notenoughupdates.options.seperateSections; + +import com.google.gson.annotations.Expose; +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.ConfigEditorDropdown; +import io.github.moulberry.notenoughupdates.core.config.annotations.ConfigOption; + +public class InventoryButtons { + @Expose + @ConfigOption( + name = "Open Button Editor", + desc = "Open button editor GUI (/neubuttons)" + ) + @ConfigEditorButton(runnableId = 7, buttonText = "Open") + public boolean openEditorButton = true; + + @Expose + @ConfigOption( + name = "Always Hide \"Crafting\" Text", + desc = "Hide crafting text in inventory, even when no button is there" + ) + @ConfigEditorBoolean + public boolean hideCrafting = false; + + @Expose + @ConfigOption( + name = "Button Click Type", + desc = "Change the click type needed to trigger commands" + ) + @ConfigEditorDropdown( + values = {"Mouse Down", "Mouse Up"} + ) + public int clickType = 0; +} diff --git a/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/ItemOverlays.java b/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/ItemOverlays.java index 7d08d038..0a5ec6c2 100644 --- a/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/ItemOverlays.java +++ b/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/ItemOverlays.java @@ -1,356 +1,356 @@ -package io.github.moulberry.notenoughupdates.options.seperateSections;
-
-import com.google.gson.annotations.Expose;
-import io.github.moulberry.notenoughupdates.core.config.Position;
-import io.github.moulberry.notenoughupdates.core.config.annotations.*;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-
-public class ItemOverlays {
- @ConfigOption(
- name = "Treecapitator Overlay",
- desc = ""
- )
- @ConfigEditorAccordion(id = 0)
- public boolean treecapAccordion = false;
-
- @Expose
- @ConfigOption(
- name = "Enable Treecap Overlay",
- desc = "Show which blocks will be broken when using a Jungle Axe or Treecapitator"
- )
- @ConfigEditorBoolean
- @ConfigAccordionId(id = 0)
- public boolean enableTreecapOverlay = true;
-
- @Expose
- @ConfigOption(
- name = "Show in Item durability",
- desc = "Show the cooldown of the Treecapitator in the item durability"
- )
- @ConfigEditorBoolean
- @ConfigAccordionId(id = 0)
- public boolean enableCooldownInItemDurability = true;
-
- @Expose
- @ConfigOption(
- name = "Overlay Colour",
- desc = "Change the colour of the overlay"
- )
- @ConfigEditorColour
- @ConfigAccordionId(id = 0)
- public String treecapOverlayColour = "00:50:64:224:208";
-
- @Expose
- @ConfigOption(
- name = "Enable Monkey Pet Check",
- desc = "Will check using the API to check what pet you're using\nto determine the cooldown based off of if you have a monkey pet."
- )
- @ConfigEditorBoolean
- @ConfigAccordionId(id = 0)
- public boolean enableMonkeyCheck = true;
-
- @ConfigOption(
- name = "Builder's Wand Overlay",
- desc = ""
- )
- @ConfigEditorAccordion(id = 1)
- public boolean wandAccordion = false;
-
- @Expose
- @ConfigOption(
- name = "Enable Wand Overlay",
- desc = "Show which blocks will be placed when using the Builder's Wand"
- )
- @ConfigEditorBoolean
- @ConfigAccordionId(id = 1)
- public boolean enableWandOverlay = true;
-
- @Expose
- @ConfigOption(
- name = "Wand Block Count",
- desc = "Shows the total count of a block in your inventory"
- )
- @ConfigEditorBoolean
- @ConfigAccordionId(id = 1)
- public boolean wandBlockCount = true;
-
- @Expose
- @ConfigOption(
- name = "Overlay Colour",
- desc = "Change the colour of the ghost block outline"
- )
- @ConfigEditorColour
- @ConfigAccordionId(id = 1)
- public String wandOverlayColour = "00:50:64:224:208";
-
- @ConfigOption(
- name = "Block Zapper Overlay",
- desc = ""
- )
- @ConfigEditorAccordion(id = 6)
- public boolean zapperAccordion = false;
-
- @Expose
- @ConfigOption(
- name = "Enable Zapper Overlay",
- desc = "Show which blocks will be destroyed when using the Block Zapper"
- )
- @ConfigEditorBoolean
- @ConfigAccordionId(id = 6)
- public boolean enableZapperOverlay = true;
-
- @Expose
- @ConfigOption(
- name = "Overlay Colour",
- desc = "Change the colour of the ghost block outline"
- )
- @ConfigEditorColour
- @ConfigAccordionId(id = 6)
- public String zapperOverlayColour = "0:102:171:5:0";
-
- @ConfigOption(
- name = "Smooth AOTE/AOTV/Hyp",
- desc = ""
- )
- @ConfigEditorAccordion(id = 2)
- public boolean aoteAccordion = false;
-
- @Expose
- @ConfigOption(
- name = "Enable Smooth AOTE",
- desc = "Teleport smoothly to your destination when using AOTE or AOTV"
- )
- @ConfigEditorBoolean
- @ConfigAccordionId(id = 2)
- public boolean enableSmoothAOTE = true;
-
- @Expose
- @ConfigOption(
- name = "Enable Smooth Hyperion",
- desc = "Teleport smoothly to your destination when using Hyperion"
- )
- @ConfigEditorBoolean
- @ConfigAccordionId(id = 2)
- public boolean enableSmoothHyperion = true;
-
- @Expose
- @ConfigOption(
- name = "Smooth TP Time",
- desc = "Change the amount of time (milliseconds) taken to teleport"
- )
- @ConfigEditorSlider(
- minValue = 0,
- maxValue = 500,
- minStep = 25
- )
- @ConfigAccordionId(id = 2)
- public int smoothTpMillis = 125;
-
- @Expose
- @ConfigOption(
- name = "Smooth TP Time (Etherwarp)",
- desc = "Teleport smoothly to your destination when using AOTV Etherwarp"
- )
- @ConfigEditorSlider(
- minValue = 0,
- maxValue = 500,
- minStep = 25
- )
- @ConfigAccordionId(id = 2)
- public int smoothTpMillisEtherwarp = 50;
-
- @Expose
- @ConfigOption(
- name = "Disable Hyperion Particles",
- desc = "Remove the explosion effect when using a hyperion"
- )
- @ConfigEditorBoolean
- @ConfigAccordionId(id = 2)
- public boolean disableHyperionParticles = true;
-
- @ConfigOption(
- name = "Etherwarp",
- desc = ""
- )
- @ConfigEditorAccordion(id = 7)
- public boolean etherwarpAccordion = false;
-
- @Expose
- @ConfigOption(
- name = "Etherwarp Zoom",
- desc = "Zoom in on targeted blocks with etherwarp, making it easier to adjust at a distance"
- )
- @ConfigEditorBoolean
- @ConfigAccordionId(id = 7)
- public boolean etherwarpZoom = true;
-
- @Expose
- @ConfigOption(
- name = "Enable etherwarp helper overlay",
- desc = "Display an overlay which tells you if the etherwarp will fail."
- )
- @ConfigEditorBoolean
- @ConfigAccordionId(id = 7)
- public boolean enableEtherwarpHelperOverlay = true;
-
- @Expose
- @ConfigOption(
- name = "Enable etherwarp block overlay",
- desc = "Display an overlay that tells you what block you will TP to."
- )
- @ConfigEditorBoolean
- @ConfigAccordionId(id = 7)
- public boolean enableEtherwarpBlockOverlay = true;
-
- @Expose
- @ConfigOption(
- name = "Highlight Colour",
- desc = "Change the colour of the etherwarp target block outline"
- )
- @ConfigEditorColour
- @ConfigAccordionId(id = 7)
- public String etherwarpHighlightColour = "00:70:156:8:96";
-
- @ConfigOption(
- name = "Bonemerang Overlay",
- desc = ""
- )
- @ConfigEditorAccordion(id = 3)
- public boolean bonemerangAccordion = false;
-
- @Expose
- @ConfigOption(
- name = "Enable Bonemerang Overlay",
- desc = "Shows info about the bonemerang while holding it."
- )
- @ConfigEditorBoolean
- @ConfigAccordionId(id = 3)
- public boolean enableBonemerangOverlay = true;
-
- @Expose
- @ConfigOption(
- name = "Highlight Targeted Entities",
- desc = "Highlight entities that will be hit by your bonemerang"
- )
- @ConfigEditorBoolean
- @ConfigAccordionId(id = 3)
- public boolean highlightTargeted = true;
-
- @Expose
- @ConfigOption(
- name = "Bonemerang Overlay Position",
- desc = "The position of the Bonemerang overlay."
- )
- @ConfigEditorButton(
- runnableId = 9,
- buttonText = "Edit"
- )
- @ConfigAccordionId(id = 3)
- public Position bonemerangPosition = new Position(-1, -1);
-
- @Expose
- @ConfigOption(
- name = "Bonemerang Overlay Text",
- desc = "\u00a7eDrag text to change the appearance of the overlay\n" +
- "\u00a7rHold a Bonemerang to display the overlay"
- )
- @ConfigEditorDraggableList(
- exampleText = {
- "\u00a7cBonemerang will break!",
- "\u00a77Targets: \u00a76\u00a7l10"
- }
- )
- @ConfigAccordionId(id = 3)
- public List<Integer> bonemerangOverlayText = new ArrayList<>(Arrays.asList(0, 1));
-
- @Expose
- @ConfigOption(
- name = "Bonemerang Overlay Style",
- desc = "Change the style of the Bonemerang overlay"
- )
- @ConfigEditorDropdown(
- values = {"Background", "No Shadow", "Shadow Only", "Full Shadow"}
- )
- @ConfigAccordionId(id = 3)
- public int bonemerangOverlayStyle = 0;
- @Expose
- @ConfigOption(
- name = "Fast update",
- desc = "Updates the bonemerang overlay faster.\n" +
- "Might cause some lag."
- )
- @ConfigEditorBoolean
- @ConfigAccordionId(id = 3)
- public boolean bonemerangFastUpdate = false;
-
- @ConfigOption(
- name = "Minion Crystal Radius Overlay",
- desc = ""
- )
- @ConfigEditorAccordion(id = 5)
- public boolean crystalAccordion = false;
-
- @Expose
- @ConfigOption(
- name = "Enable Crystal Overlay",
- desc = "Show a block overlay for the effective radius of minion crystals (farming, mining, etc)."
- )
- @ConfigEditorBoolean
- @ConfigAccordionId(id = 5)
- public boolean enableCrystalOverlay = true;
-
- @Expose
- @ConfigOption(
- name = "Always Show Crystal Overlay",
- desc = "Show the crystal overlay, even when a minion crystal is not being held."
- )
- @ConfigEditorBoolean
- @ConfigAccordionId(id = 5)
- public boolean alwaysShowCrystal = false;
-
- @ConfigOption(
- name = "Farming Overlays",
- desc = ""
- )
- @ConfigEditorAccordion(id = 6)
- public boolean farmingAccordion = false;
-
- @Expose
- @ConfigOption(
- name = "Enable Prismapump Overlay",
- desc = "Show a block overlay for the effected blocks of prismapump's ability."
- )
- @ConfigEditorBoolean
- @ConfigAccordionId(id = 6)
- public boolean enablePrismapumpOverlay = true;
-
- @Expose
- @ConfigOption(
- name = "Enable Hoe Of Tilling Overlay",
- desc = "Show a block overlay for the effected blocks of the hoe of tilling's ability."
- )
- @ConfigEditorBoolean
- @ConfigAccordionId(id = 6)
- public boolean enableHoeOverlay = true;
-
- @Expose
- @ConfigOption(
- name = "Enable Dirt Wand Overlay",
- desc = "Show a block overlay for the effected blocks of dirt wand's ability."
- )
- @ConfigEditorBoolean
- @ConfigAccordionId(id = 6)
- public boolean enableDirtWandOverlay = true;
-
- @Expose
- @ConfigOption(
- name = "Pickaxe Ability Cooldown",
- desc = "Show the cooldown duration off the pickaxe ability as the durability."
- )
- @ConfigEditorBoolean
- public boolean pickaxeAbility = true;
-
-}
+package io.github.moulberry.notenoughupdates.options.seperateSections; + +import com.google.gson.annotations.Expose; +import io.github.moulberry.notenoughupdates.core.config.Position; +import io.github.moulberry.notenoughupdates.core.config.annotations.*; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; + +public class ItemOverlays { + @ConfigOption( + name = "Treecapitator Overlay", + desc = "" + ) + @ConfigEditorAccordion(id = 0) + public boolean treecapAccordion = false; + + @Expose + @ConfigOption( + name = "Enable Treecap Overlay", + desc = "Show which blocks will be broken when using a Jungle Axe or Treecapitator" + ) + @ConfigEditorBoolean + @ConfigAccordionId(id = 0) + public boolean enableTreecapOverlay = true; + + @Expose + @ConfigOption( + name = "Show in Item durability", + desc = "Show the cooldown of the Treecapitator in the item durability" + ) + @ConfigEditorBoolean + @ConfigAccordionId(id = 0) + public boolean enableCooldownInItemDurability = true; + + @Expose + @ConfigOption( + name = "Overlay Colour", + desc = "Change the colour of the overlay" + ) + @ConfigEditorColour + @ConfigAccordionId(id = 0) + public String treecapOverlayColour = "00:50:64:224:208"; + + @Expose + @ConfigOption( + name = "Enable Monkey Pet Check", + desc = "Will check using the API to check what pet you're using\nto determine the cooldown based off of if you have a monkey pet." + ) + @ConfigEditorBoolean + @ConfigAccordionId(id = 0) + public boolean enableMonkeyCheck = true; + + @ConfigOption( + name = "Builder's Wand Overlay", + desc = "" + ) + @ConfigEditorAccordion(id = 1) + public boolean wandAccordion = false; + + @Expose + @ConfigOption( + name = "Enable Wand Overlay", + desc = "Show which blocks will be placed when using the Builder's Wand" + ) + @ConfigEditorBoolean + @ConfigAccordionId(id = 1) + public boolean enableWandOverlay = true; + + @Expose + @ConfigOption( + name = "Wand Block Count", + desc = "Shows the total count of a block in your inventory" + ) + @ConfigEditorBoolean + @ConfigAccordionId(id = 1) + public boolean wandBlockCount = true; + + @Expose + @ConfigOption( + name = "Overlay Colour", + desc = "Change the colour of the ghost block outline" + ) + @ConfigEditorColour + @ConfigAccordionId(id = 1) + public String wandOverlayColour = "00:50:64:224:208"; + + @ConfigOption( + name = "Block Zapper Overlay", + desc = "" + ) + @ConfigEditorAccordion(id = 6) + public boolean zapperAccordion = false; + + @Expose + @ConfigOption( + name = "Enable Zapper Overlay", + desc = "Show which blocks will be destroyed when using the Block Zapper" + ) + @ConfigEditorBoolean + @ConfigAccordionId(id = 6) + public boolean enableZapperOverlay = true; + + @Expose + @ConfigOption( + name = "Overlay Colour", + desc = "Change the colour of the ghost block outline" + ) + @ConfigEditorColour + @ConfigAccordionId(id = 6) + public String zapperOverlayColour = "0:102:171:5:0"; + + @ConfigOption( + name = "Smooth AOTE/AOTV/Hyp", + desc = "" + ) + @ConfigEditorAccordion(id = 2) + public boolean aoteAccordion = false; + + @Expose + @ConfigOption( + name = "Enable Smooth AOTE", + desc = "Teleport smoothly to your destination when using AOTE or AOTV" + ) + @ConfigEditorBoolean + @ConfigAccordionId(id = 2) + public boolean enableSmoothAOTE = true; + + @Expose + @ConfigOption( + name = "Enable Smooth Hyperion", + desc = "Teleport smoothly to your destination when using Hyperion" + ) + @ConfigEditorBoolean + @ConfigAccordionId(id = 2) + public boolean enableSmoothHyperion = true; + + @Expose + @ConfigOption( + name = "Smooth TP Time", + desc = "Change the amount of time (milliseconds) taken to teleport" + ) + @ConfigEditorSlider( + minValue = 0, + maxValue = 500, + minStep = 25 + ) + @ConfigAccordionId(id = 2) + public int smoothTpMillis = 125; + + @Expose + @ConfigOption( + name = "Smooth TP Time (Etherwarp)", + desc = "Teleport smoothly to your destination when using AOTV Etherwarp" + ) + @ConfigEditorSlider( + minValue = 0, + maxValue = 500, + minStep = 25 + ) + @ConfigAccordionId(id = 2) + public int smoothTpMillisEtherwarp = 50; + + @Expose + @ConfigOption( + name = "Disable Hyperion Particles", + desc = "Remove the explosion effect when using a hyperion" + ) + @ConfigEditorBoolean + @ConfigAccordionId(id = 2) + public boolean disableHyperionParticles = true; + + @ConfigOption( + name = "Etherwarp", + desc = "" + ) + @ConfigEditorAccordion(id = 7) + public boolean etherwarpAccordion = false; + + @Expose + @ConfigOption( + name = "Etherwarp Zoom", + desc = "Zoom in on targeted blocks with etherwarp, making it easier to adjust at a distance" + ) + @ConfigEditorBoolean + @ConfigAccordionId(id = 7) + public boolean etherwarpZoom = true; + + @Expose + @ConfigOption( + name = "Enable etherwarp helper overlay", + desc = "Display an overlay which tells you if the etherwarp will fail." + ) + @ConfigEditorBoolean + @ConfigAccordionId(id = 7) + public boolean enableEtherwarpHelperOverlay = true; + + @Expose + @ConfigOption( + name = "Enable etherwarp block overlay", + desc = "Display an overlay that tells you what block you will TP to." + ) + @ConfigEditorBoolean + @ConfigAccordionId(id = 7) + public boolean enableEtherwarpBlockOverlay = true; + + @Expose + @ConfigOption( + name = "Highlight Colour", + desc = "Change the colour of the etherwarp target block outline" + ) + @ConfigEditorColour + @ConfigAccordionId(id = 7) + public String etherwarpHighlightColour = "00:70:156:8:96"; + + @ConfigOption( + name = "Bonemerang Overlay", + desc = "" + ) + @ConfigEditorAccordion(id = 3) + public boolean bonemerangAccordion = false; + + @Expose + @ConfigOption( + name = "Enable Bonemerang Overlay", + desc = "Shows info about the bonemerang while holding it." + ) + @ConfigEditorBoolean + @ConfigAccordionId(id = 3) + public boolean enableBonemerangOverlay = true; + + @Expose + @ConfigOption( + name = "Highlight Targeted Entities", + desc = "Highlight entities that will be hit by your bonemerang" + ) + @ConfigEditorBoolean + @ConfigAccordionId(id = 3) + public boolean highlightTargeted = true; + + @Expose + @ConfigOption( + name = "Bonemerang Overlay Position", + desc = "The position of the Bonemerang overlay." + ) + @ConfigEditorButton( + runnableId = 9, + buttonText = "Edit" + ) + @ConfigAccordionId(id = 3) + public Position bonemerangPosition = new Position(-1, -1); + + @Expose + @ConfigOption( + name = "Bonemerang Overlay Text", + desc = "\u00a7eDrag text to change the appearance of the overlay\n" + + "\u00a7rHold a Bonemerang to display the overlay" + ) + @ConfigEditorDraggableList( + exampleText = { + "\u00a7cBonemerang will break!", + "\u00a77Targets: \u00a76\u00a7l10" + } + ) + @ConfigAccordionId(id = 3) + public List<Integer> bonemerangOverlayText = new ArrayList<>(Arrays.asList(0, 1)); + + @Expose + @ConfigOption( + name = "Bonemerang Overlay Style", + desc = "Change the style of the Bonemerang overlay" + ) + @ConfigEditorDropdown( + values = {"Background", "No Shadow", "Shadow Only", "Full Shadow"} + ) + @ConfigAccordionId(id = 3) + public int bonemerangOverlayStyle = 0; + @Expose + @ConfigOption( + name = "Fast update", + desc = "Updates the bonemerang overlay faster.\n" + + "Might cause some lag." + ) + @ConfigEditorBoolean + @ConfigAccordionId(id = 3) + public boolean bonemerangFastUpdate = false; + + @ConfigOption( + name = "Minion Crystal Radius Overlay", + desc = "" + ) + @ConfigEditorAccordion(id = 5) + public boolean crystalAccordion = false; + + @Expose + @ConfigOption( + name = "Enable Crystal Overlay", + desc = "Show a block overlay for the effective radius of minion crystals (farming, mining, etc)." + ) + @ConfigEditorBoolean + @ConfigAccordionId(id = 5) + public boolean enableCrystalOverlay = true; + + @Expose + @ConfigOption( + name = "Always Show Crystal Overlay", + desc = "Show the crystal overlay, even when a minion crystal is not being held." + ) + @ConfigEditorBoolean + @ConfigAccordionId(id = 5) + public boolean alwaysShowCrystal = false; + + @ConfigOption( + name = "Farming Overlays", + desc = "" + ) + @ConfigEditorAccordion(id = 6) + public boolean farmingAccordion = false; + + @Expose + @ConfigOption( + name = "Enable Prismapump Overlay", + desc = "Show a block overlay for the effected blocks of prismapump's ability." + ) + @ConfigEditorBoolean + @ConfigAccordionId(id = 6) + public boolean enablePrismapumpOverlay = true; + + @Expose + @ConfigOption( + name = "Enable Hoe Of Tilling Overlay", + desc = "Show a block overlay for the effected blocks of the hoe of tilling's ability." + ) + @ConfigEditorBoolean + @ConfigAccordionId(id = 6) + public boolean enableHoeOverlay = true; + + @Expose + @ConfigOption( + name = "Enable Dirt Wand Overlay", + desc = "Show a block overlay for the effected blocks of dirt wand's ability." + ) + @ConfigEditorBoolean + @ConfigAccordionId(id = 6) + public boolean enableDirtWandOverlay = true; + + @Expose + @ConfigOption( + name = "Pickaxe Ability Cooldown", + desc = "Show the cooldown duration off the pickaxe ability as the durability." + ) + @ConfigEditorBoolean + public boolean pickaxeAbility = true; + +} diff --git a/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/Itemlist.java b/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/Itemlist.java index e1c11f99..3e5a4cdf 100644 --- a/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/Itemlist.java +++ b/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/Itemlist.java @@ -1,110 +1,110 @@ -package io.github.moulberry.notenoughupdates.options.seperateSections;
-
-import com.google.gson.annotations.Expose;
-import io.github.moulberry.notenoughupdates.core.config.annotations.*;
-
-public class Itemlist {
- @Expose
- @ConfigOption(
- name = "Show Vanilla Items",
- desc = "Vanilla items are included in the item list"
- )
- @ConfigEditorBoolean
- public boolean showVanillaItems = true;
-
- @Expose
- @ConfigOption(
- name = "Open Itemlist Arrow",
- desc = "Creates an arrow on the right-side to open the item list when hovered"
- )
- @ConfigEditorBoolean
- public boolean tabOpen = true;
-
- @Expose
- @ConfigOption(
- name = "Keep Open",
- desc = "Keeps the Itemlist open after the inventory is closed"
- )
- @ConfigEditorBoolean
- public boolean keepopen = false;
-
- @Expose
- @ConfigOption(
- name = "Item Style",
- desc = "Sets the style of the background behind items"
- )
- @ConfigEditorDropdown(
- values = {"Round", "Square"}
- )
- public int itemStyle = 0;
-
- @Expose
- @ConfigOption(
- name = "Pane Gui Scale",
- desc = "Change the gui scale of the Itemlist"
- )
- @ConfigEditorDropdown(
- values = {"Default", "Small", "Medium", "Large", "Auto"}
- )
- public int paneGuiScale = 0;
-
- @Expose
- @ConfigOption(
- name = "Background Blur",
- desc = "Change the blur amount behind the Itemlist. 0 = off"
- )
- @ConfigEditorSlider(
- minValue = 0,
- maxValue = 20,
- minStep = 1
- )
- public int bgBlurFactor = 5;
-
- @Expose
- @ConfigOption(
- name = "Pane Width Multiplier",
- desc = "Change the width of the Itemlist"
- )
- @ConfigEditorSlider(
- minValue = 0.5f,
- maxValue = 1.5f,
- minStep = 0.1f
- )
- public float paneWidthMult = 1.0f;
-
- @Expose
- @ConfigOption(
- name = "Pane Padding",
- desc = "Change the padding around the Itemlist"
- )
- @ConfigEditorSlider(
- minValue = 0f,
- maxValue = 20f,
- minStep = 1f
- )
- public int panePadding = 10;
-
- @Expose
- @ConfigOption(
- name = "Foreground Colour",
- desc = "Change the colour of foreground elements in the Itemlist"
- )
- @ConfigEditorColour
- public String foregroundColour = "00:255:100:100:100";
-
- @Expose
- @ConfigOption(
- name = "Favourite Colour",
- desc = "Change the colour of favourited elements in the Itemlist"
- )
- @ConfigEditorColour
- public String favouriteColour = "00:255:200:150:50";
-
- @Expose
- @ConfigOption(
- name = "Pane Background Colour",
- desc = "Change the colour of the Itemlist background"
- )
- @ConfigEditorColour
- public String backgroundColour = "15:6:0:0:255";
-}
+package io.github.moulberry.notenoughupdates.options.seperateSections; + +import com.google.gson.annotations.Expose; +import io.github.moulberry.notenoughupdates.core.config.annotations.*; + +public class Itemlist { + @Expose + @ConfigOption( + name = "Show Vanilla Items", + desc = "Vanilla items are included in the item list" + ) + @ConfigEditorBoolean + public boolean showVanillaItems = true; + + @Expose + @ConfigOption( + name = "Open Itemlist Arrow", + desc = "Creates an arrow on the right-side to open the item list when hovered" + ) + @ConfigEditorBoolean + public boolean tabOpen = true; + + @Expose + @ConfigOption( + name = "Keep Open", + desc = "Keeps the Itemlist open after the inventory is closed" + ) + @ConfigEditorBoolean + public boolean keepopen = false; + + @Expose + @ConfigOption( + name = "Item Style", + desc = "Sets the style of the background behind items" + ) + @ConfigEditorDropdown( + values = {"Round", "Square"} + ) + public int itemStyle = 0; + + @Expose + @ConfigOption( + name = "Pane Gui Scale", + desc = "Change the gui scale of the Itemlist" + ) + @ConfigEditorDropdown( + values = {"Default", "Small", "Medium", "Large", "Auto"} + ) + public int paneGuiScale = 0; + + @Expose + @ConfigOption( + name = "Background Blur", + desc = "Change the blur amount behind the Itemlist. 0 = off" + ) + @ConfigEditorSlider( + minValue = 0, + maxValue = 20, + minStep = 1 + ) + public int bgBlurFactor = 5; + + @Expose + @ConfigOption( + name = "Pane Width Multiplier", + desc = "Change the width of the Itemlist" + ) + @ConfigEditorSlider( + minValue = 0.5f, + maxValue = 1.5f, + minStep = 0.1f + ) + public float paneWidthMult = 1.0f; + + @Expose + @ConfigOption( + name = "Pane Padding", + desc = "Change the padding around the Itemlist" + ) + @ConfigEditorSlider( + minValue = 0f, + maxValue = 20f, + minStep = 1f + ) + public int panePadding = 10; + + @Expose + @ConfigOption( + name = "Foreground Colour", + desc = "Change the colour of foreground elements in the Itemlist" + ) + @ConfigEditorColour + public String foregroundColour = "00:255:100:100:100"; + + @Expose + @ConfigOption( + name = "Favourite Colour", + desc = "Change the colour of favourited elements in the Itemlist" + ) + @ConfigEditorColour + public String favouriteColour = "00:255:200:150:50"; + + @Expose + @ConfigOption( + name = "Pane Background Colour", + desc = "Change the colour of the Itemlist background" + ) + @ConfigEditorColour + public String backgroundColour = "15:6:0:0:255"; +} diff --git a/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/Mining.java b/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/Mining.java index 3af3347a..6cfb8c04 100644 --- a/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/Mining.java +++ b/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/Mining.java @@ -1,718 +1,718 @@ -package io.github.moulberry.notenoughupdates.options.seperateSections;
-
-import com.google.gson.annotations.Expose;
-import io.github.moulberry.notenoughupdates.core.config.Position;
-import io.github.moulberry.notenoughupdates.core.config.annotations.*;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-
-public class Mining {
- @ConfigOption(
- name = "Waypoints",
- desc = ""
- )
- @ConfigEditorAccordion(id = 0)
- public boolean waypointsAccordion = false;
-
- @Expose
- @ConfigOption(
- name = "Mines Waypoints",
- desc = "Show waypoints in the Dwarven mines to the various locations\n" +
- "Use \"Commissions Only\" to only show active commission locations"
- )
- @ConfigEditorDropdown(
- values = {"Hide", "Commissions Only", "Always"},
- initialIndex = 1
- )
- @ConfigAccordionId(id = 0)
- public int locWaypoints = 1;
-
- @Expose
- @ConfigOption(
- name = "Hide waypoints when at Location",
- desc = "Hides the Commission Waypoints if you are already at the location of the waypoint.\n" +
- "Only active if Waypoints are set to \"Commissions Only\""
- )
- @ConfigEditorBoolean
- @ConfigAccordionId(id = 0)
- public boolean hideWaypointIfAtLocation = true;
-
- @Expose
- @ConfigOption(
- name = "Emissary Waypoints",
- desc = "Show waypoints in the Dwarven mines to emissaries\n" +
- "Use \"Commission End\" to only show after finishing commissions"
- )
- @ConfigEditorDropdown(
- values = {"Hide", "Commission End", "Always"},
- initialIndex = 1
- )
- @ConfigAccordionId(id = 0)
- public int emissaryWaypoints = 1;
-
- @ConfigOption(
- name = "Drill Fuel Bar",
- desc = ""
- )
- @ConfigEditorAccordion(id = 1)
- public boolean drillAccordion = false;
-
- @Expose
- @ConfigOption(
- name = "Drill Fuel Bar",
- desc = "Show a fancy drill fuel bar when holding a drill in mining areas"
- )
- @ConfigEditorBoolean
- @ConfigAccordionId(id = 1)
- public boolean drillFuelBar = true;
-
- @Expose
- @ConfigOption(
- name = "Fuel Bar Width",
- desc = "Change the width of the drill fuel bar"
- )
- @ConfigEditorSlider(
- minValue = 50,
- maxValue = 400,
- minStep = 10
- )
- @ConfigAccordionId(id = 1)
- public int drillFuelBarWidth = 200;
-
- @Expose
- @ConfigOption(
- name = "Edit Fuel Bar Position",
- desc = "Set the position of the drill fuel bar"
- )
- @ConfigEditorButton(
- runnableId = 2,
- buttonText = "Edit"
- )
- @ConfigAccordionId(id = 1)
- public Position drillFuelBarPosition = new Position(0, -100, true, false);
-
- @ConfigOption(
- name = "Dwarven Overlay",
- desc = ""
- )
- @ConfigEditorAccordion(id = 2)
- public boolean overlayAccordion = false;
-
- @Expose
- @ConfigOption(
- name = "Enable Dwarven Overlay",
- desc = "Show an Overlay with useful information on the screen while in Dwarven Mines"
- )
- @ConfigEditorBoolean
- @ConfigAccordionId(id = 2)
- public boolean dwarvenOverlay = true;
-
- @Expose
- @ConfigOption(
- name = "Dwarven Text",
- desc = "\u00a7eDrag text to change the appearance of the Overlay\n" +
- "\u00a7rGo to the Dwarven Mines to show this Overlay with useful information"
- )
- @ConfigEditorDraggableList(
- exampleText = {
- "\u00a73Goblin Slayer: \u00a7626.5%\n\u00a73Lucky Raffle: \u00a7c0.0%",
- "\u00a73Mithril Powder: \u00a726,243",
- "\u00a73Gemstone Powder: \u00a7d6,243",
- "\u00a73Forge 1) \u00a79Diamonite\u00a77: \u00a7aReady!",
- "\u00a73Pickaxe CD: \u00a7a78s"
- }
- )
- @ConfigAccordionId(id = 2)
- public List<Integer> dwarvenText2 = new ArrayList<>(Arrays.asList(0, 1, 2, 3, 4));
-
- @Expose
- @ConfigOption(
- name = "Edit Dwarven Overlay Position",
- desc = "Change the position of the Dwarven Mines information Overlay (commisions, powder & forge statuses)"
- )
- @ConfigEditorButton(
- runnableId = 1,
- buttonText = "Edit"
- )
- @ConfigAccordionId(id = 2)
- public Position overlayPosition = new Position(10, 100);
-
- @Expose
- @ConfigOption(
- name = "Overlay Style",
- desc = "Change the style of the Dwarven Mines information Overlay"
- )
- @ConfigEditorDropdown(
- values = {"Background", "No Shadow", "Shadow", "Full Shadow"}
- )
- @ConfigAccordionId(id = 2)
- public int overlayStyle = 0;
-
- @Expose
- @ConfigOption(
- name = "Show Icons",
- desc = "Show Icons representing the part of the overlay."
- )
- @ConfigEditorBoolean
- @ConfigAccordionId(id = 2)
- public boolean dwarvenOverlayIcons = true;
-
- @Expose
- @ConfigOption(
- name = "Forge Display",
- desc = "Change what gets shown in the Forge Display"
- )
- @ConfigEditorDropdown(
- values = {"Only Done", "Only Working", "Everything Except Locked", "Everything"}
- )
- @ConfigAccordionId(id = 2)
- public int forgeDisplay = 1;
-
- @Expose
- @ConfigOption(
- name = "Forge Location",
- desc = "Change when the forge display gets shown"
- )
- @ConfigEditorDropdown(
- values = {"Dwarven Mines+Crystal Hollows", "Everywhere except dungeons", "Everywhere"}
- )
- @ConfigAccordionId(id = 2)
- public int forgeDisplayEnabledLocations = 0;
-
- @ConfigOption(
- name = "Metal Detector Solver",
- desc = ""
- )
- @ConfigEditorAccordion(id = 3)
- public boolean metalDetectorSolverAccordion = false;
-
- @Expose
- @ConfigOption(
- name = "Enable Waypoints",
- desc =
- "Enabled the metal detector solver for Mines of Divan, to use this stand still to calculate possible blocks and then if required stand" +
- " still on another block."
- )
- @ConfigEditorBoolean
- @ConfigAccordionId(id = 3)
- public boolean metalDetectorEnabled = true;
-
- @Expose
- @ConfigOption(
- name = "Show Possible Blocks",
- desc = "Show waypoints on possible locations when NEU isn't sure about what block the treasure is."
- )
- @ConfigEditorBoolean
- @ConfigAccordionId(id = 3)
- public boolean metalDetectorShowPossible = false;
-
- @ConfigOption(
- name = "Crystal Hollows Overlay",
- desc = ""
- )
- @ConfigEditorAccordion(id = 4)
- public boolean crystalHollowOverlayAccordion = false;
-
- @Expose
- @ConfigOption(
- name = "Enable Crystal Overlay",
- desc = "Enables the Crystal Hollows Overlay."
- )
- @ConfigEditorBoolean
- @ConfigAccordionId(id = 4)
- public boolean crystalHollowOverlay = true;
-
- @Expose
- @ConfigOption(
- name = "Edit Crystal Overlay Position",
- desc = "Change the position of the Crystal Hollows Overlay."
- )
- @ConfigEditorButton(
- runnableId = 10,
- buttonText = "Edit"
- )
- @ConfigAccordionId(id = 4)
- public Position crystalHollowOverlayPosition = new Position(200, 0);
-
- @Expose
- @ConfigOption(
- name = "Options",
- desc = "Drag text to change the appearance of the overlay!\n" +
- "Click add to add extra things!"
- )
- @ConfigEditorDraggableList(
- exampleText = {
- "\u00a73Amber Crystal: \u00a7aPlaced\n" +
- "\u00a73Sapphire Crystal: \u00a7eCollected\n" +
- "\u00a73Jade Crystal: \u00a7eMissing\n" +
- "\u00a73Amethyst Crystal: \u00a7cMissing\n" +
- "\u00a73Topaz Crystal: \u00a7cMissing\n",
- "\u00a73Crystals: \u00a7a4/5",
- "\u00a73Crystals: \u00a7a80%",
- "\u00a73Electron Transmitter: \u00a7aDone\n" +
- "\u00a73Robotron Reflector: \u00a7eIn Storage\n" +
- "\u00a73Superlite Motor: \u00a7eIn Inventory\n" +
- "\u00a73Synthetic Hearth: \u00a7cMissing\n" +
- "\u00a73Control Switch: \u00a7cMissing\n" +
- "\u00a73FTX 3070: \u00a7cMissing",
- "\u00a73Electron Transmitter: \u00a7a3\n" +
- "\u00a73Robotron Reflector: \u00a7e2\n" +
- "\u00a73Superlite Motor: \u00a7e1\n" +
- "\u00a73Synthetic Hearth: \u00a7c0\n" +
- "\u00a73Control Switch: \u00a7c0\n" +
- "\u00a73FTX 3070: \u00a7c0",
- "\u00a73Automaton parts: \u00a7a5/6",
- "\u00a73Automaton parts: \u00a7a83%",
- "\u00a73Scavenged Lapis Sword: \u00a7aDone\n" +
- "\u00a73Scavenged Golden Hammer: \u00a7eIn Storage\n" +
- "\u00a73Scavenged Diamond Axe: \u00a7eIn Inventory\n" +
- "\u00a73Scavenged Emerald Hammer: \u00a7cMissing\n",
- "\u00a73Scavenged Lapis Sword: \u00a7a3\n" +
- "\u00a73Scavenged Golden Hammer: \u00a7e2\n" +
- "\u00a73Scavenged Diamond Axe: \u00a7e1\n" +
- "\u00a73Scavenged Emerald Hammer: \u00a7c0\n",
- "\u00a73Mines of Divan parts: \u00a7a3/4",
- "\u00a73Mines of Divan parts: \u00a7a75%"
- }
- )
- @ConfigAccordionId(id = 4)
- public List<Integer> crystalHollowText = new ArrayList<>(Arrays.asList(0, 3, 7));
-
- @Expose
- @ConfigOption(
- name = "Style",
- desc = "Change the style of the Crystal Hollows Overlay."
- )
- @ConfigEditorDropdown(
- values = {"Background", "No Shadow", "Shadow", "Full Shadow"}
- )
- @ConfigAccordionId(id = 4)
- public int crystalHollowOverlayStyle = 0;
-
- @Expose
- @ConfigOption(
- name = "Show Icons",
- desc = "Show icons in the Overlay that represent the part."
- )
- @ConfigEditorBoolean
- @ConfigAccordionId(id = 4)
- public boolean crystalHollowIcons = true;
-
- @Expose
- @ConfigOption(
- name = "Hide Done",
- desc = "Don't show parts you've given to the NPC."
- )
- @ConfigEditorBoolean
- @ConfigAccordionId(id = 4)
- public boolean crystalHollowHideDone = false;
-
- @ConfigOption(
- name = "Locations",
- desc = ""
- )
- @ConfigEditorAccordion(id = 5)
- @ConfigAccordionId(id = 4)
- public boolean crystalHollowLocationAccordion = false;
-
- @Expose
- @ConfigOption(
- name = "Show Automaton",
- desc = "Change where to show Automaton parts."
- )
- @ConfigEditorDropdown(
- values = {"Crystal Hollows", "Precursor Remnants", "Lost Precursor City"}
- )
- @ConfigAccordionId(id = 5)
- public int crystalHollowAutomatonLocation = 2;
-
- @Expose
- @ConfigOption(
- name = "Show Divan",
- desc = "Change where to show Mines of Divan parts."
- )
- @ConfigEditorDropdown(
- values = {"Crystal Hollows", "Mithril Deposits", "Mines of Divan"}
- )
- @ConfigAccordionId(id = 5)
- public int crystalHollowDivanLocation = 2;
-
- @Expose
- @ConfigOption(
- name = "Show Crystal",
- desc = "Change where to show Collected Crystals."
- )
- @ConfigEditorDropdown(
- values = {"Crystal Hollows", "When No Other Overlays"}
- )
- @ConfigAccordionId(id = 5)
- public int crystalHollowCrystalLocation = 1;
-
- @ConfigOption(
- name = "Colours",
- desc = ""
- )
- @ConfigEditorAccordion(id = 6)
- @ConfigAccordionId(id = 4)
- public boolean crystalHollowColourAccordion = false;
-
- @Expose
- @ConfigOption(
- name = "Main Color",
- desc = "Change the main color of the overlay."
-
- )
- @ConfigEditorDropdown(
- values = {
- "Black",
- "Dark Blue",
- "Dark Green",
- "Dark Aqua",
- "Dark Red",
- "Dark Purple",
- "Gold",
- "Gray",
- "Dark Gray",
- "Blue",
- "Green",
- "Aqua",
- "Red",
- "Light Purple",
- "Yellow",
- "White"
- }
- )
- @ConfigAccordionId(id = 6)
- public int crystalHollowPartColor = 3;
-
- @Expose
- @ConfigOption(
- name = "Done Color",
- desc = "Change the colour when the part is given to the NPC."
-
- )
- @ConfigEditorDropdown(
- values = {
- "Black",
- "Dark Blue",
- "Dark Green",
- "Dark Aqua",
- "Dark Red",
- "Dark Purple",
- "Gold",
- "Gray",
- "Dark Gray",
- "Blue",
- "Green",
- "Aqua",
- "Red",
- "Light Purple",
- "Yellow",
- "White"
- }
- )
-
- @ConfigAccordionId(id = 6)
- public int crystalHollowDoneColor = 10;
-
- @Expose
- @ConfigOption(
- name = "In Inventory Color",
- desc = "Change the colour when the part is in the inventory."
- )
- @ConfigEditorDropdown(
- values = {
- "Black",
- "Dark Blue",
- "Dark Green",
- "Dark Aqua",
- "Dark Red",
- "Dark Purple",
- "Gold",
- "Gray",
- "Dark Gray",
- "Blue",
- "Green",
- "Aqua",
- "Red",
- "Light Purple",
- "Yellow",
- "White"
- }
- )
- @ConfigAccordionId(id = 6)
- public int crystalHollowInventoryColor = 14;
-
- @Expose
- @ConfigOption(
- name = "In Storage Color",
- desc = "Change the colour when the part is in the storage."
- )
- @ConfigEditorDropdown(
- values = {
- "Black",
- "Dark Blue",
- "Dark Green",
- "Dark Aqua",
- "Dark Red",
- "Dark Purple",
- "Gold",
- "Gray",
- "Dark Gray",
- "Blue",
- "Green",
- "Aqua",
- "Red",
- "Light Purple",
- "Yellow",
- "White"
- }
- )
- @ConfigAccordionId(id = 6)
- public int crystalHollowStorageColor = 14;
-
- @Expose
- @ConfigOption(
- name = "Missing Color",
- desc = "Change the colour when the part is missing."
- )
- @ConfigEditorDropdown(
- values = {
- "Black",
- "Dark Blue",
- "Dark Green",
- "Dark Aqua",
- "Dark Red",
- "Dark Purple",
- "Gold",
- "Gray",
- "Dark Gray",
- "Blue",
- "Green",
- "Aqua",
- "Red",
- "Light Purple",
- "Yellow",
- "White"
- }
- )
- @ConfigAccordionId(id = 6)
- public int crystalHollowMissingColor = 12;
-
- @Expose
- @ConfigOption(
- name = "Placed Color",
- desc = "Change the colour when the crystal is placed."
- )
- @ConfigEditorDropdown(
- values = {
- "Black",
- "Dark Blue",
- "Dark Green",
- "Dark Aqua",
- "Dark Red",
- "Dark Purple",
- "Gold",
- "Gray",
- "Dark Gray",
- "Blue",
- "Green",
- "Aqua",
- "Red",
- "Light Purple",
- "Yellow",
- "White"
- }
- )
- @ConfigAccordionId(id = 6)
- public int crystalHollowPlacedColor = 10;
-
- @Expose
- @ConfigOption(
- name = "Collected Color",
- desc = "Change the colour when the crystal is collected"
- )
- @ConfigEditorDropdown(
- values = {
- "Black",
- "Dark Blue",
- "Dark Green",
- "Dark Aqua",
- "Dark Red",
- "Dark Purple",
- "Gold",
- "Gray",
- "Dark Gray",
- "Blue",
- "Green",
- "Aqua",
- "Red",
- "Light Purple",
- "Yellow",
- "White"
- }
- )
- @ConfigAccordionId(id = 6)
- public int crystalHollowCollectedColor = 14;
-
- @Expose
- @ConfigOption(
- name = "All Color",
- desc = "Change the colour when you have 2/3-all of the parts collected in the count overlay."
- )
- @ConfigEditorDropdown(
- values = {
- "Black",
- "Dark Blue",
- "Dark Green",
- "Dark Aqua",
- "Dark Red",
- "Dark Purple",
- "Gold",
- "Gray",
- "Dark Gray",
- "Blue",
- "Green",
- "Aqua",
- "Red",
- "Light Purple",
- "Yellow",
- "White"
- }
- )
- @ConfigAccordionId(id = 6)
- public int crystalHollowAllColor = 10;
-
- @Expose
- @ConfigOption(
- name = "1/3 Color",
- desc = "Change the colour when you have 1/3-2/3 of the parts collected in the count overlay."
- )
- @ConfigEditorDropdown(
- values = {
- "Black",
- "Dark Blue",
- "Dark Green",
- "Dark Aqua",
- "Dark Red",
- "Dark Purple",
- "Gold",
- "Gray",
- "Dark Gray",
- "Blue",
- "Green",
- "Aqua",
- "Red",
- "Light Purple",
- "Yellow",
- "White"
- }
- )
- @ConfigAccordionId(id = 6)
- public int crystalHollowMiddleColor = 14;
-
- @Expose
- @ConfigOption(
- name = "0 Color",
- desc = "Change the colour when you have 0-1/3 of the parts collected in the count overlay."
- )
- @ConfigEditorDropdown(
- values = {
- "Black",
- "Dark Blue",
- "Dark Green",
- "Dark Aqua",
- "Dark Red",
- "Dark Purple",
- "Gold",
- "Gray",
- "Dark Gray",
- "Blue",
- "Green",
- "Aqua",
- "Red",
- "Light Purple",
- "Yellow",
- "White"
- }
- )
- @ConfigAccordionId(id = 6)
- public int crystalHollowNoneColor = 12;
-
- @Expose
- @ConfigOption(
- name = "Puzzler Solver",
- desc = "Show the correct block to mine for the puzzler puzzle in Dwarven Mines"
- )
- @ConfigEditorBoolean
- public boolean puzzlerSolver = true;
-
- @Expose
- @ConfigOption(
- name = "Titanium Alert",
- desc = "Show an alert whenever titanium appears nearby"
- )
- @ConfigEditorBoolean
- public boolean titaniumAlert = true;
-
- @Expose
- @ConfigOption(
- name = "Titanium must touch air",
- desc = "Only show an alert if the Titanium touches air. (kinda sus)"
- )
- @ConfigEditorBoolean
- public boolean titaniumAlertMustBeVisible = false;
-
- @Expose
- @ConfigOption(
- name = "Wishing Compass Solver",
- desc = "Show wishing compass target coordinates based on two samples"
- )
- @ConfigEditorBoolean
- public boolean wishingCompassSolver = true;
-
- @ConfigOption(
- name = "Custom Textures",
- desc = ""
- )
- @ConfigEditorAccordion(id = 7)
- public boolean texturesAccordion = false;
-
- @Expose
- @ConfigOption(
- name = "Dwarven Mines Textures",
- desc = "Allows texture packs to retexture blocks in the Dwarven Mines. If you don't have a texture pack that does this, you should leave this off"
- )
- @ConfigAccordionId(id = 7)
- @ConfigEditorBoolean
- public boolean dwarvenTextures = false;
- @Expose
- @ConfigOption(
- name = "Crystal Hollows Textures",
- desc = "Allows texture packs to retexture blocks in the Crystal Hollows. If you don't have a texture pack that does this, you should leave this off"
- )
- @ConfigAccordionId(id = 7)
- @ConfigEditorBoolean
- public boolean crystalHollowTextures = false;
-
- @Expose
- @ConfigOption(
- name = "Replace Gemstone sounds",
- desc = "Replace the break sounds of crystals in the Crystal Hollows. Requires a texture pack with this feature"
- )
- @ConfigAccordionId(id = 7)
- @ConfigEditorBoolean
- public boolean gemstoneSounds = false;
-
- @Expose
- @ConfigOption(
- name = "Replace Mithril sounds",
- desc = "Replace the break sounds of mithril and titanium in the Dwarven mines. Requires a texture pack with this feature"
- )
- @ConfigAccordionId(id = 7)
- @ConfigEditorBoolean
- public boolean mithrilSounds = false;
-
-}
+package io.github.moulberry.notenoughupdates.options.seperateSections; + +import com.google.gson.annotations.Expose; +import io.github.moulberry.notenoughupdates.core.config.Position; +import io.github.moulberry.notenoughupdates.core.config.annotations.*; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; + +public class Mining { + @ConfigOption( + name = "Waypoints", + desc = "" + ) + @ConfigEditorAccordion(id = 0) + public boolean waypointsAccordion = false; + + @Expose + @ConfigOption( + name = "Mines Waypoints", + desc = "Show waypoints in the Dwarven mines to the various locations\n" + + "Use \"Commissions Only\" to only show active commission locations" + ) + @ConfigEditorDropdown( + values = {"Hide", "Commissions Only", "Always"}, + initialIndex = 1 + ) + @ConfigAccordionId(id = 0) + public int locWaypoints = 1; + + @Expose + @ConfigOption( + name = "Hide waypoints when at Location", + desc = "Hides the Commission Waypoints if you are already at the location of the waypoint.\n" + + "Only active if Waypoints are set to \"Commissions Only\"" + ) + @ConfigEditorBoolean + @ConfigAccordionId(id = 0) + public boolean hideWaypointIfAtLocation = true; + + @Expose + @ConfigOption( + name = "Emissary Waypoints", + desc = "Show waypoints in the Dwarven mines to emissaries\n" + + "Use \"Commission End\" to only show after finishing commissions" + ) + @ConfigEditorDropdown( + values = {"Hide", "Commission End", "Always"}, + initialIndex = 1 + ) + @ConfigAccordionId(id = 0) + public int emissaryWaypoints = 1; + + @ConfigOption( + name = "Drill Fuel Bar", + desc = "" + ) + @ConfigEditorAccordion(id = 1) + public boolean drillAccordion = false; + + @Expose + @ConfigOption( + name = "Drill Fuel Bar", + desc = "Show a fancy drill fuel bar when holding a drill in mining areas" + ) + @ConfigEditorBoolean + @ConfigAccordionId(id = 1) + public boolean drillFuelBar = true; + + @Expose + @ConfigOption( + name = "Fuel Bar Width", + desc = "Change the width of the drill fuel bar" + ) + @ConfigEditorSlider( + minValue = 50, + maxValue = 400, + minStep = 10 + ) + @ConfigAccordionId(id = 1) + public int drillFuelBarWidth = 200; + + @Expose + @ConfigOption( + name = "Edit Fuel Bar Position", + desc = "Set the position of the drill fuel bar" + ) + @ConfigEditorButton( + runnableId = 2, + buttonText = "Edit" + ) + @ConfigAccordionId(id = 1) + public Position drillFuelBarPosition = new Position(0, -100, true, false); + + @ConfigOption( + name = "Dwarven Overlay", + desc = "" + ) + @ConfigEditorAccordion(id = 2) + public boolean overlayAccordion = false; + + @Expose + @ConfigOption( + name = "Enable Dwarven Overlay", + desc = "Show an Overlay with useful information on the screen while in Dwarven Mines" + ) + @ConfigEditorBoolean + @ConfigAccordionId(id = 2) + public boolean dwarvenOverlay = true; + + @Expose + @ConfigOption( + name = "Dwarven Text", + desc = "\u00a7eDrag text to change the appearance of the Overlay\n" + + "\u00a7rGo to the Dwarven Mines to show this Overlay with useful information" + ) + @ConfigEditorDraggableList( + exampleText = { + "\u00a73Goblin Slayer: \u00a7626.5%\n\u00a73Lucky Raffle: \u00a7c0.0%", + "\u00a73Mithril Powder: \u00a726,243", + "\u00a73Gemstone Powder: \u00a7d6,243", + "\u00a73Forge 1) \u00a79Diamonite\u00a77: \u00a7aReady!", + "\u00a73Pickaxe CD: \u00a7a78s" + } + ) + @ConfigAccordionId(id = 2) + public List<Integer> dwarvenText2 = new ArrayList<>(Arrays.asList(0, 1, 2, 3, 4)); + + @Expose + @ConfigOption( + name = "Edit Dwarven Overlay Position", + desc = "Change the position of the Dwarven Mines information Overlay (commisions, powder & forge statuses)" + ) + @ConfigEditorButton( + runnableId = 1, + buttonText = "Edit" + ) + @ConfigAccordionId(id = 2) + public Position overlayPosition = new Position(10, 100); + + @Expose + @ConfigOption( + name = "Overlay Style", + desc = "Change the style of the Dwarven Mines information Overlay" + ) + @ConfigEditorDropdown( + values = {"Background", "No Shadow", "Shadow", "Full Shadow"} + ) + @ConfigAccordionId(id = 2) + public int overlayStyle = 0; + + @Expose + @ConfigOption( + name = "Show Icons", + desc = "Show Icons representing the part of the overlay." + ) + @ConfigEditorBoolean + @ConfigAccordionId(id = 2) + public boolean dwarvenOverlayIcons = true; + + @Expose + @ConfigOption( + name = "Forge Display", + desc = "Change what gets shown in the Forge Display" + ) + @ConfigEditorDropdown( + values = {"Only Done", "Only Working", "Everything Except Locked", "Everything"} + ) + @ConfigAccordionId(id = 2) + public int forgeDisplay = 1; + + @Expose + @ConfigOption( + name = "Forge Location", + desc = "Change when the forge display gets shown" + ) + @ConfigEditorDropdown( + values = {"Dwarven Mines+Crystal Hollows", "Everywhere except dungeons", "Everywhere"} + ) + @ConfigAccordionId(id = 2) + public int forgeDisplayEnabledLocations = 0; + + @ConfigOption( + name = "Metal Detector Solver", + desc = "" + ) + @ConfigEditorAccordion(id = 3) + public boolean metalDetectorSolverAccordion = false; + + @Expose + @ConfigOption( + name = "Enable Waypoints", + desc = + "Enabled the metal detector solver for Mines of Divan, to use this stand still to calculate possible blocks and then if required stand" + + " still on another block." + ) + @ConfigEditorBoolean + @ConfigAccordionId(id = 3) + public boolean metalDetectorEnabled = true; + + @Expose + @ConfigOption( + name = "Show Possible Blocks", + desc = "Show waypoints on possible locations when NEU isn't sure about what block the treasure is." + ) + @ConfigEditorBoolean + @ConfigAccordionId(id = 3) + public boolean metalDetectorShowPossible = false; + + @ConfigOption( + name = "Crystal Hollows Overlay", + desc = "" + ) + @ConfigEditorAccordion(id = 4) + public boolean crystalHollowOverlayAccordion = false; + + @Expose + @ConfigOption( + name = "Enable Crystal Overlay", + desc = "Enables the Crystal Hollows Overlay." + ) + @ConfigEditorBoolean + @ConfigAccordionId(id = 4) + public boolean crystalHollowOverlay = true; + + @Expose + @ConfigOption( + name = "Edit Crystal Overlay Position", + desc = "Change the position of the Crystal Hollows Overlay." + ) + @ConfigEditorButton( + runnableId = 10, + buttonText = "Edit" + ) + @ConfigAccordionId(id = 4) + public Position crystalHollowOverlayPosition = new Position(200, 0); + + @Expose + @ConfigOption( + name = "Options", + desc = "Drag text to change the appearance of the overlay!\n" + + "Click add to add extra things!" + ) + @ConfigEditorDraggableList( + exampleText = { + "\u00a73Amber Crystal: \u00a7aPlaced\n" + + "\u00a73Sapphire Crystal: \u00a7eCollected\n" + + "\u00a73Jade Crystal: \u00a7eMissing\n" + + "\u00a73Amethyst Crystal: \u00a7cMissing\n" + + "\u00a73Topaz Crystal: \u00a7cMissing\n", + "\u00a73Crystals: \u00a7a4/5", + "\u00a73Crystals: \u00a7a80%", + "\u00a73Electron Transmitter: \u00a7aDone\n" + + "\u00a73Robotron Reflector: \u00a7eIn Storage\n" + + "\u00a73Superlite Motor: \u00a7eIn Inventory\n" + + "\u00a73Synthetic Hearth: \u00a7cMissing\n" + + "\u00a73Control Switch: \u00a7cMissing\n" + + "\u00a73FTX 3070: \u00a7cMissing", + "\u00a73Electron Transmitter: \u00a7a3\n" + + "\u00a73Robotron Reflector: \u00a7e2\n" + + "\u00a73Superlite Motor: \u00a7e1\n" + + "\u00a73Synthetic Hearth: \u00a7c0\n" + + "\u00a73Control Switch: \u00a7c0\n" + + "\u00a73FTX 3070: \u00a7c0", + "\u00a73Automaton parts: \u00a7a5/6", + "\u00a73Automaton parts: \u00a7a83%", + "\u00a73Scavenged Lapis Sword: \u00a7aDone\n" + + "\u00a73Scavenged Golden Hammer: \u00a7eIn Storage\n" + + "\u00a73Scavenged Diamond Axe: \u00a7eIn Inventory\n" + + "\u00a73Scavenged Emerald Hammer: \u00a7cMissing\n", + "\u00a73Scavenged Lapis Sword: \u00a7a3\n" + + "\u00a73Scavenged Golden Hammer: \u00a7e2\n" + + "\u00a73Scavenged Diamond Axe: \u00a7e1\n" + + "\u00a73Scavenged Emerald Hammer: \u00a7c0\n", + "\u00a73Mines of Divan parts: \u00a7a3/4", + "\u00a73Mines of Divan parts: \u00a7a75%" + } + ) + @ConfigAccordionId(id = 4) + public List<Integer> crystalHollowText = new ArrayList<>(Arrays.asList(0, 3, 7)); + + @Expose + @ConfigOption( + name = "Style", + desc = "Change the style of the Crystal Hollows Overlay." + ) + @ConfigEditorDropdown( + values = {"Background", "No Shadow", "Shadow", "Full Shadow"} + ) + @ConfigAccordionId(id = 4) + public int crystalHollowOverlayStyle = 0; + + @Expose + @ConfigOption( + name = "Show Icons", + desc = "Show icons in the Overlay that represent the part." + ) + @ConfigEditorBoolean + @ConfigAccordionId(id = 4) + public boolean crystalHollowIcons = true; + + @Expose + @ConfigOption( + name = "Hide Done", + desc = "Don't show parts you've given to the NPC." + ) + @ConfigEditorBoolean + @ConfigAccordionId(id = 4) + public boolean crystalHollowHideDone = false; + + @ConfigOption( + name = "Locations", + desc = "" + ) + @ConfigEditorAccordion(id = 5) + @ConfigAccordionId(id = 4) + public boolean crystalHollowLocationAccordion = false; + + @Expose + @ConfigOption( + name = "Show Automaton", + desc = "Change where to show Automaton parts." + ) + @ConfigEditorDropdown( + values = {"Crystal Hollows", "Precursor Remnants", "Lost Precursor City"} + ) + @ConfigAccordionId(id = 5) + public int crystalHollowAutomatonLocation = 2; + + @Expose + @ConfigOption( + name = "Show Divan", + desc = "Change where to show Mines of Divan parts." + ) + @ConfigEditorDropdown( + values = {"Crystal Hollows", "Mithril Deposits", "Mines of Divan"} + ) + @ConfigAccordionId(id = 5) + public int crystalHollowDivanLocation = 2; + + @Expose + @ConfigOption( + name = "Show Crystal", + desc = "Change where to show Collected Crystals." + ) + @ConfigEditorDropdown( + values = {"Crystal Hollows", "When No Other Overlays"} + ) + @ConfigAccordionId(id = 5) + public int crystalHollowCrystalLocation = 1; + + @ConfigOption( + name = "Colours", + desc = "" + ) + @ConfigEditorAccordion(id = 6) + @ConfigAccordionId(id = 4) + public boolean crystalHollowColourAccordion = false; + + @Expose + @ConfigOption( + name = "Main Color", + desc = "Change the main color of the overlay." + + ) + @ConfigEditorDropdown( + values = { + "Black", + "Dark Blue", + "Dark Green", + "Dark Aqua", + "Dark Red", + "Dark Purple", + "Gold", + "Gray", + "Dark Gray", + "Blue", + "Green", + "Aqua", + "Red", + "Light Purple", + "Yellow", + "White" + } + ) + @ConfigAccordionId(id = 6) + public int crystalHollowPartColor = 3; + + @Expose + @ConfigOption( + name = "Done Color", + desc = "Change the colour when the part is given to the NPC." + + ) + @ConfigEditorDropdown( + values = { + "Black", + "Dark Blue", + "Dark Green", + "Dark Aqua", + "Dark Red", + "Dark Purple", + "Gold", + "Gray", + "Dark Gray", + "Blue", + "Green", + "Aqua", + "Red", + "Light Purple", + "Yellow", + "White" + } + ) + + @ConfigAccordionId(id = 6) + public int crystalHollowDoneColor = 10; + + @Expose + @ConfigOption( + name = "In Inventory Color", + desc = "Change the colour when the part is in the inventory." + ) + @ConfigEditorDropdown( + values = { + "Black", + "Dark Blue", + "Dark Green", + "Dark Aqua", + "Dark Red", + "Dark Purple", + "Gold", + "Gray", + "Dark Gray", + "Blue", + "Green", + "Aqua", + "Red", + "Light Purple", + "Yellow", + "White" + } + ) + @ConfigAccordionId(id = 6) + public int crystalHollowInventoryColor = 14; + + @Expose + @ConfigOption( + name = "In Storage Color", + desc = "Change the colour when the part is in the storage." + ) + @ConfigEditorDropdown( + values = { + "Black", + "Dark Blue", + "Dark Green", + "Dark Aqua", + "Dark Red", + "Dark Purple", + "Gold", + "Gray", + "Dark Gray", + "Blue", + "Green", + "Aqua", + "Red", + "Light Purple", + "Yellow", + "White" + } + ) + @ConfigAccordionId(id = 6) + public int crystalHollowStorageColor = 14; + + @Expose + @ConfigOption( + name = "Missing Color", + desc = "Change the colour when the part is missing." + ) + @ConfigEditorDropdown( + values = { + "Black", + "Dark Blue", + "Dark Green", + "Dark Aqua", + "Dark Red", + "Dark Purple", + "Gold", + "Gray", + "Dark Gray", + "Blue", + "Green", + "Aqua", + "Red", + "Light Purple", + "Yellow", + "White" + } + ) + @ConfigAccordionId(id = 6) + public int crystalHollowMissingColor = 12; + + @Expose + @ConfigOption( + name = "Placed Color", + desc = "Change the colour when the crystal is placed." + ) + @ConfigEditorDropdown( + values = { + "Black", + "Dark Blue", + "Dark Green", + "Dark Aqua", + "Dark Red", + "Dark Purple", + "Gold", + "Gray", + "Dark Gray", + "Blue", + "Green", + "Aqua", + "Red", + "Light Purple", + "Yellow", + "White" + } + ) + @ConfigAccordionId(id = 6) + public int crystalHollowPlacedColor = 10; + + @Expose + @ConfigOption( + name = "Collected Color", + desc = "Change the colour when the crystal is collected" + ) + @ConfigEditorDropdown( + values = { + "Black", + "Dark Blue", + "Dark Green", + "Dark Aqua", + "Dark Red", + "Dark Purple", + "Gold", + "Gray", + "Dark Gray", + "Blue", + "Green", + "Aqua", + "Red", + "Light Purple", + "Yellow", + "White" + } + ) + @ConfigAccordionId(id = 6) + public int crystalHollowCollectedColor = 14; + + @Expose + @ConfigOption( + name = "All Color", + desc = "Change the colour when you have 2/3-all of the parts collected in the count overlay." + ) + @ConfigEditorDropdown( + values = { + "Black", + "Dark Blue", + "Dark Green", + "Dark Aqua", + "Dark Red", + "Dark Purple", + "Gold", + "Gray", + "Dark Gray", + "Blue", + "Green", + "Aqua", + "Red", + "Light Purple", + "Yellow", + "White" + } + ) + @ConfigAccordionId(id = 6) + public int crystalHollowAllColor = 10; + + @Expose + @ConfigOption( + name = "1/3 Color", + desc = "Change the colour when you have 1/3-2/3 of the parts collected in the count overlay." + ) + @ConfigEditorDropdown( + values = { + "Black", + "Dark Blue", + "Dark Green", + "Dark Aqua", + "Dark Red", + "Dark Purple", + "Gold", + "Gray", + "Dark Gray", + "Blue", + "Green", + "Aqua", + "Red", + "Light Purple", + "Yellow", + "White" + } + ) + @ConfigAccordionId(id = 6) + public int crystalHollowMiddleColor = 14; + + @Expose + @ConfigOption( + name = "0 Color", + desc = "Change the colour when you have 0-1/3 of the parts collected in the count overlay." + ) + @ConfigEditorDropdown( + values = { + "Black", + "Dark Blue", + "Dark Green", + "Dark Aqua", + "Dark Red", + "Dark Purple", + "Gold", + "Gray", + "Dark Gray", + "Blue", + "Green", + "Aqua", + "Red", + "Light Purple", + "Yellow", + "White" + } + ) + @ConfigAccordionId(id = 6) + public int crystalHollowNoneColor = 12; + + @Expose + @ConfigOption( + name = "Puzzler Solver", + desc = "Show the correct block to mine for the puzzler puzzle in Dwarven Mines" + ) + @ConfigEditorBoolean + public boolean puzzlerSolver = true; + + @Expose + @ConfigOption( + name = "Titanium Alert", + desc = "Show an alert whenever titanium appears nearby" + ) + @ConfigEditorBoolean + public boolean titaniumAlert = true; + + @Expose + @ConfigOption( + name = "Titanium must touch air", + desc = "Only show an alert if the Titanium touches air. (kinda sus)" + ) + @ConfigEditorBoolean + public boolean titaniumAlertMustBeVisible = false; + + @Expose + @ConfigOption( + name = "Wishing Compass Solver", + desc = "Show wishing compass target coordinates based on two samples" + ) + @ConfigEditorBoolean + public boolean wishingCompassSolver = true; + + @ConfigOption( + name = "Custom Textures", + desc = "" + ) + @ConfigEditorAccordion(id = 7) + public boolean texturesAccordion = false; + + @Expose + @ConfigOption( + name = "Dwarven Mines Textures", + desc = "Allows texture packs to retexture blocks in the Dwarven Mines. If you don't have a texture pack that does this, you should leave this off" + ) + @ConfigAccordionId(id = 7) + @ConfigEditorBoolean + public boolean dwarvenTextures = false; + @Expose + @ConfigOption( + name = "Crystal Hollows Textures", + desc = "Allows texture packs to retexture blocks in the Crystal Hollows. If you don't have a texture pack that does this, you should leave this off" + ) + @ConfigAccordionId(id = 7) + @ConfigEditorBoolean + public boolean crystalHollowTextures = false; + + @Expose + @ConfigOption( + name = "Replace Gemstone sounds", + desc = "Replace the break sounds of crystals in the Crystal Hollows. Requires a texture pack with this feature" + ) + @ConfigAccordionId(id = 7) + @ConfigEditorBoolean + public boolean gemstoneSounds = false; + + @Expose + @ConfigOption( + name = "Replace Mithril sounds", + desc = "Replace the break sounds of mithril and titanium in the Dwarven mines. Requires a texture pack with this feature" + ) + @ConfigAccordionId(id = 7) + @ConfigEditorBoolean + public boolean mithrilSounds = false; + +} diff --git a/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/Misc.java b/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/Misc.java index 01a4576d..058b13d8 100644 --- a/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/Misc.java +++ b/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/Misc.java @@ -1,144 +1,144 @@ -package io.github.moulberry.notenoughupdates.options.seperateSections;
-
-import com.google.gson.annotations.Expose;
-import io.github.moulberry.notenoughupdates.core.config.annotations.*;
-
-public class Misc {
- @Expose
- @ConfigOption(
- name = "Only Show on Skyblock",
- desc = "The item list and some other GUI elements will only show on skyblock"
- )
- @ConfigEditorBoolean
- public boolean onlyShowOnSkyblock = true;
-
- @Expose
- @ConfigOption(
- name = "Hide Potion Effects",
- desc = "Hide the potion effects inside your inventory while on skyblock"
- )
- @ConfigEditorBoolean
- public boolean hidePotionEffect = true;
-
- @Expose
- @ConfigOption(
- name = "Streamer Mode",
- desc = "Randomize lobby names in the scoreboard and chat messages to help prevent stream sniping"
- )
- @ConfigEditorBoolean
- public boolean streamerMode = false;
-
- @ConfigOption(
- name = "Fairy Soul Waypoints",
- desc = ""
- )
- @ConfigEditorAccordion(id = 0)
- public boolean fariySoulAccordion = false;
- @Expose
- @ConfigOption(
- name = "Fairy Souls Finder",
- desc = "Shows waypoints to fairy souls (/neusouls)"
- )
- @ConfigEditorBoolean
- @ConfigAccordionId(id = 0)
- public boolean fariySoul = false;
-
- @Expose
- @ConfigOption(
- name = "Clear Fairy Souls",
- desc = "Clears waypoints to fairy souls (/neusouls clear)"
- )
- @ConfigEditorButton(
- runnableId = 16,
- buttonText = "Clear"
- )
- @ConfigAccordionId(id = 0)
- public boolean fariySoulClear = false;
-
- @Expose
- @ConfigOption(
- name = "Unclear Fairy Souls",
- desc = "Shows all waypoints to fairy souls (/neusouls unclear)"
- )
- @ConfigEditorButton(
- runnableId = 17,
- buttonText = "Unclear"
- )
- @ConfigAccordionId(id = 0)
- public boolean fariySoulUnclear = false;
-
- @Expose
- @ConfigOption(
- name = "GUI Click Sounds",
- desc = "Play click sounds in various NEU-related GUIs when pressing buttons"
- )
- @ConfigEditorBoolean
- public boolean guiButtonClicks = true;
-
- @Expose
- @ConfigOption(
- name = "Replace Chat Social Options",
- desc = "Replace Hypixel's chat social options with NEU's profile viewer or with /ah"
- )
- @ConfigEditorDropdown(
- values = {"Off", "/pv", "/ah"}
- )
- public int replaceSocialOptions1 = 1;
-
- @Expose
- @ConfigOption(
- name = "Damage Indicator Style",
- desc = "Change the style of Skyblock damage indicators to be easier to read\n" +
- "\u00A7cSome old animations mods break this feature"
- )
- @ConfigEditorDropdown(
- values = {"Off", "Commas", "Shortened"}
- )
- public int damageIndicatorStyle = 1;
-
- @Expose
- @ConfigOption(
- name = "Profile Viewer",
- desc = "Brings up the profile viewer (/pv)\n" +
- "Shows stats and networth of players"
- )
- @ConfigEditorButton(runnableId = 13, buttonText = "Open")
- public boolean openPV = true;
-
- @Expose
- @ConfigOption(
- name = "Edit Enchant Colours",
- desc = "Change the colours of certain skyblock enchants (/neuec)"
- )
- @ConfigEditorButton(runnableId = 8, buttonText = "Open")
- public boolean editEnchantColoursButton = true;
-
- @Expose
- @ConfigOption(
- name = "Chroma Text Speed",
- desc = "Change the speed of chroma text for items names (/neucustomize) and enchant colours (/neuec) with the chroma colour code (&z)"
- )
- @ConfigEditorSlider(
- minValue = 10,
- maxValue = 500,
- minStep = 10
- )
- public int chromaSpeed = 100;
-
- @Expose
- @ConfigOption(
- name = "Disable Skull retexturing",
- desc = "Disables the skull retexturing."
- )
- @ConfigEditorBoolean
- public boolean disableSkullRetexturing = false;
-
- @Expose
- @ConfigOption(
- name = "Disable NPC retexturing",
- desc = "Disables the NPC retexturing."
- )
- @ConfigEditorBoolean
- public boolean disableNPCRetexturing = false;
-
+package io.github.moulberry.notenoughupdates.options.seperateSections; + +import com.google.gson.annotations.Expose; +import io.github.moulberry.notenoughupdates.core.config.annotations.*; + +public class Misc { + @Expose + @ConfigOption( + name = "Only Show on Skyblock", + desc = "The item list and some other GUI elements will only show on skyblock" + ) + @ConfigEditorBoolean + public boolean onlyShowOnSkyblock = true; + + @Expose + @ConfigOption( + name = "Hide Potion Effects", + desc = "Hide the potion effects inside your inventory while on skyblock" + ) + @ConfigEditorBoolean + public boolean hidePotionEffect = true; + + @Expose + @ConfigOption( + name = "Streamer Mode", + desc = "Randomize lobby names in the scoreboard and chat messages to help prevent stream sniping" + ) + @ConfigEditorBoolean + public boolean streamerMode = false; + + @ConfigOption( + name = "Fairy Soul Waypoints", + desc = "" + ) + @ConfigEditorAccordion(id = 0) + public boolean fariySoulAccordion = false; + @Expose + @ConfigOption( + name = "Fairy Souls Finder", + desc = "Shows waypoints to fairy souls (/neusouls)" + ) + @ConfigEditorBoolean + @ConfigAccordionId(id = 0) + public boolean fariySoul = false; + + @Expose + @ConfigOption( + name = "Clear Fairy Souls", + desc = "Clears waypoints to fairy souls (/neusouls clear)" + ) + @ConfigEditorButton( + runnableId = 16, + buttonText = "Clear" + ) + @ConfigAccordionId(id = 0) + public boolean fariySoulClear = false; + + @Expose + @ConfigOption( + name = "Unclear Fairy Souls", + desc = "Shows all waypoints to fairy souls (/neusouls unclear)" + ) + @ConfigEditorButton( + runnableId = 17, + buttonText = "Unclear" + ) + @ConfigAccordionId(id = 0) + public boolean fariySoulUnclear = false; + + @Expose + @ConfigOption( + name = "GUI Click Sounds", + desc = "Play click sounds in various NEU-related GUIs when pressing buttons" + ) + @ConfigEditorBoolean + public boolean guiButtonClicks = true; + + @Expose + @ConfigOption( + name = "Replace Chat Social Options", + desc = "Replace Hypixel's chat social options with NEU's profile viewer or with /ah" + ) + @ConfigEditorDropdown( + values = {"Off", "/pv", "/ah"} + ) + public int replaceSocialOptions1 = 1; + + @Expose + @ConfigOption( + name = "Damage Indicator Style", + desc = "Change the style of Skyblock damage indicators to be easier to read\n" + + "\u00A7cSome old animations mods break this feature" + ) + @ConfigEditorDropdown( + values = {"Off", "Commas", "Shortened"} + ) + public int damageIndicatorStyle = 1; + + @Expose + @ConfigOption( + name = "Profile Viewer", + desc = "Brings up the profile viewer (/pv)\n" + + "Shows stats and networth of players" + ) + @ConfigEditorButton(runnableId = 13, buttonText = "Open") + public boolean openPV = true; + + @Expose + @ConfigOption( + name = "Edit Enchant Colours", + desc = "Change the colours of certain skyblock enchants (/neuec)" + ) + @ConfigEditorButton(runnableId = 8, buttonText = "Open") + public boolean editEnchantColoursButton = true; + + @Expose + @ConfigOption( + name = "Chroma Text Speed", + desc = "Change the speed of chroma text for items names (/neucustomize) and enchant colours (/neuec) with the chroma colour code (&z)" + ) + @ConfigEditorSlider( + minValue = 10, + maxValue = 500, + minStep = 10 + ) + public int chromaSpeed = 100; + + @Expose + @ConfigOption( + name = "Disable Skull retexturing", + desc = "Disables the skull retexturing." + ) + @ConfigEditorBoolean + public boolean disableSkullRetexturing = false; + + @Expose + @ConfigOption( + name = "Disable NPC retexturing", + desc = "Disables the NPC retexturing." + ) + @ConfigEditorBoolean + public boolean disableNPCRetexturing = false; + }
\ No newline at end of file diff --git a/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/NeuAuctionHouse.java b/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/NeuAuctionHouse.java index 82b0f22a..25efd693 100644 --- a/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/NeuAuctionHouse.java +++ b/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/NeuAuctionHouse.java @@ -1,45 +1,45 @@ -package io.github.moulberry.notenoughupdates.options.seperateSections;
-
-import com.google.gson.annotations.Expose;
-import io.github.moulberry.notenoughupdates.core.config.annotations.ConfigEditorBoolean;
-import io.github.moulberry.notenoughupdates.core.config.annotations.ConfigEditorSlider;
-import io.github.moulberry.notenoughupdates.core.config.annotations.ConfigOption;
-
-public class NeuAuctionHouse {
- @Expose
- @ConfigOption(
- name = "Enable NeuAH",
- desc = "Turn on the NEU Auction House. \u00A7cWARNING: May negatively impact performance on low-end machines"
- )
- @ConfigEditorBoolean
- public boolean enableNeuAuctionHouse = false;
-
- @Expose
- @ConfigOption(
- name = "Disable AH Scroll",
- desc = "Disable scrolling using the scroll wheel inside NeuAH.\n" +
- "This should be used if you want to be able to scroll through tooltips"
- )
- @ConfigEditorBoolean
- public boolean disableAhScroll = false;
-
- @Expose
- @ConfigOption(
- name = "AH Notification (Mins)",
- desc = "Change the amount of time (in minutes) before the \"Ending Soon\" notification for an auction you have bid on"
- )
- @ConfigEditorSlider(
- minValue = 1f,
- maxValue = 10f,
- minStep = 1f
- )
- public int ahNotification = 5;
-
- @Expose
- @ConfigOption(
- name = "Price Filtering in NEU AH",
- desc = "The ability to filter the price of items and their respective average BIN values"
- )
- @ConfigEditorBoolean
- public boolean priceFiltering = false;
-}
+package io.github.moulberry.notenoughupdates.options.seperateSections; + +import com.google.gson.annotations.Expose; +import io.github.moulberry.notenoughupdates.core.config.annotations.ConfigEditorBoolean; +import io.github.moulberry.notenoughupdates.core.config.annotations.ConfigEditorSlider; +import io.github.moulberry.notenoughupdates.core.config.annotations.ConfigOption; + +public class NeuAuctionHouse { + @Expose + @ConfigOption( + name = "Enable NeuAH", + desc = "Turn on the NEU Auction House. \u00A7cWARNING: May negatively impact performance on low-end machines" + ) + @ConfigEditorBoolean + public boolean enableNeuAuctionHouse = false; + + @Expose + @ConfigOption( + name = "Disable AH Scroll", + desc = "Disable scrolling using the scroll wheel inside NeuAH.\n" + + "This should be used if you want to be able to scroll through tooltips" + ) + @ConfigEditorBoolean + public boolean disableAhScroll = false; + + @Expose + @ConfigOption( + name = "AH Notification (Mins)", + desc = "Change the amount of time (in minutes) before the \"Ending Soon\" notification for an auction you have bid on" + ) + @ConfigEditorSlider( + minValue = 1f, + maxValue = 10f, + minStep = 1f + ) + public int ahNotification = 5; + + @Expose + @ConfigOption( + name = "Price Filtering in NEU AH", + desc = "The ability to filter the price of items and their respective average BIN values" + ) + @ConfigEditorBoolean + public boolean priceFiltering = false; +} diff --git a/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/Notifications.java b/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/Notifications.java index 9fae1d01..0c222aa9 100644 --- a/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/Notifications.java +++ b/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/Notifications.java @@ -1,32 +1,32 @@ -package io.github.moulberry.notenoughupdates.options.seperateSections;
-
-import com.google.gson.annotations.Expose;
-import io.github.moulberry.notenoughupdates.core.config.annotations.ConfigEditorBoolean;
-import io.github.moulberry.notenoughupdates.core.config.annotations.ConfigOption;
-
-public class Notifications {
- @Expose
- @ConfigOption(
- name = "Update Messages",
- desc = "Give a notification in chat whenever a new version of NEU is released"
- )
- @ConfigEditorBoolean
- public boolean showUpdateMsg = true;
-
- @Expose
- @ConfigOption(
- name = "RAM Warning",
- desc = "Warning when game starts with lots of RAM allocated\n" +
- "\u00a7cBefore disabling this, please seriously read the message. If you complain about FPS issues without listening to the warning, that's your fault."
- )
- @ConfigEditorBoolean
- public boolean doRamNotif = true;
-
- /*@Expose
- @ConfigOption(
- name = "Wrong Pet",
- desc = "Gives a notification in chat whenever you're using a pet that doesnt match the same xp you're gathering."
- )
- @ConfigEditorBoolean
- public boolean showWrongPetMsg = false;*/
-}
+package io.github.moulberry.notenoughupdates.options.seperateSections; + +import com.google.gson.annotations.Expose; +import io.github.moulberry.notenoughupdates.core.config.annotations.ConfigEditorBoolean; +import io.github.moulberry.notenoughupdates.core.config.annotations.ConfigOption; + +public class Notifications { + @Expose + @ConfigOption( + name = "Update Messages", + desc = "Give a notification in chat whenever a new version of NEU is released" + ) + @ConfigEditorBoolean + public boolean showUpdateMsg = true; + + @Expose + @ConfigOption( + name = "RAM Warning", + desc = "Warning when game starts with lots of RAM allocated\n" + + "\u00a7cBefore disabling this, please seriously read the message. If you complain about FPS issues without listening to the warning, that's your fault." + ) + @ConfigEditorBoolean + public boolean doRamNotif = true; + + /*@Expose + @ConfigOption( + name = "Wrong Pet", + desc = "Gives a notification in chat whenever you're using a pet that doesnt match the same xp you're gathering." + ) + @ConfigEditorBoolean + public boolean showWrongPetMsg = false;*/ +} diff --git a/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/PetOverlay.java b/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/PetOverlay.java index f0d0c22c..1cef5faf 100644 --- a/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/PetOverlay.java +++ b/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/PetOverlay.java @@ -1,118 +1,118 @@ -package io.github.moulberry.notenoughupdates.options.seperateSections;
-
-import com.google.gson.annotations.Expose;
-import io.github.moulberry.notenoughupdates.core.config.Position;
-import io.github.moulberry.notenoughupdates.core.config.annotations.*;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-
-public class PetOverlay {
- @Expose
- @ConfigOption(
- name = "Enable Pet Info Overlay",
- desc = "Shows current active pet and pet exp on screen."
- )
- @ConfigEditorBoolean
- public boolean enablePetInfo = false;
-
- @Expose
- @ConfigOption(
- name = "Edit Pet Info Position",
- desc = "The position of the pet info."
- )
- @ConfigEditorButton(
- runnableId = 4,
- buttonText = "Edit"
- )
- public Position petInfoPosition = new Position(-1, -1);
-
- @Expose
- @ConfigOption(
- name = "Pet Overlay Text",
- desc = "\u00a7eDrag text to change the appearance of the overlay\n" +
- "\u00a7rEquip a pet to show the overlay"
- )
- @ConfigEditorDraggableList(
- exampleText = {
- "\u00a7a[Lvl 37] \u00a7fRock",
- "\u00a7b2,312.9/2,700\u00a7e (85.7%)",
- "\u00a7b2.3k/2.7k\u00a7e (85.7%)",
- "\u00a7bXP/h: \u00a7e27,209",
- "\u00a7bTotal XP: \u00a7e30,597.9",
- "\u00a7bHeld Item: \u00a7fMining Exp Boost",
- "\u00a7bUntil L38: \u00a7e5m13s",
- "\u00a7bUntil L100: \u00a7e2d13h"
- }
- )
- public List<Integer> petOverlayText = new ArrayList<>(Arrays.asList(0, 2, 3, 6, 4));
-
- @Expose
- @ConfigOption(
- name = "Pet Overlay Icon",
- desc = "Show the icon of the pet you have equiped in the overlay"
- )
- @ConfigEditorBoolean
- public boolean petOverlayIcon = true;
-
- @Expose
- @ConfigOption(
- name = "Pet Info Overlay Style",
- desc = "Change the style of the Pet Info overlay"
- )
- @ConfigEditorDropdown(
- values = {"Background", "No Shadow", "Shadow Only", "Full Shadow"}
- )
- public int petInfoOverlayStyle = 0;
-
- @Expose
- @ConfigOption(
- name = "Show Last Pet",
- desc = "Show 2 pets on the overlay\nUseful if training two pets at once with autopet"
- )
- @ConfigEditorBoolean
- public boolean dualPets = false;
-
- @Expose
- @ConfigOption(
- name = "Pet Inventory Display",
- desc = "Shows an overlay in your inventory showing your current pet"
- )
- @ConfigEditorBoolean
- public boolean petInvDisplay = false;
-
- @Expose
- @ConfigOption(
- name = "GUI Colour",
- desc = "Change the colour of the GUI"
- )
- @ConfigEditorDropdown(
- values = {"Vanilla", "Grey", "Dark", "Transparent", "FSR"}
- )
- public int colourStyle = 0;
-
- @Expose
- @ConfigOption(
- name = "Click To Open Pets",
- desc = "Click on the hud to open /pets"
- )
- @ConfigEditorBoolean
- public boolean sendPetsCommand = true;
-
- @Expose
- @ConfigOption(
- name = "Hide Pet Inventory Tooltip",
- desc = "Hides the tooltip of your active in your inventory"
- )
- @ConfigEditorBoolean
- public boolean hidePetTooltip = false;
-
- @Expose
- @ConfigOption(
- name = "Show upgraded Pet Level",
- desc = "Show the estimated pet level after an upgrade at Kats"
- )
- @ConfigEditorBoolean
- public boolean showKatSitting = true;
-}
+package io.github.moulberry.notenoughupdates.options.seperateSections; + +import com.google.gson.annotations.Expose; +import io.github.moulberry.notenoughupdates.core.config.Position; +import io.github.moulberry.notenoughupdates.core.config.annotations.*; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; + +public class PetOverlay { + @Expose + @ConfigOption( + name = "Enable Pet Info Overlay", + desc = "Shows current active pet and pet exp on screen." + ) + @ConfigEditorBoolean + public boolean enablePetInfo = false; + + @Expose + @ConfigOption( + name = "Edit Pet Info Position", + desc = "The position of the pet info." + ) + @ConfigEditorButton( + runnableId = 4, + buttonText = "Edit" + ) + public Position petInfoPosition = new Position(-1, -1); + + @Expose + @ConfigOption( + name = "Pet Overlay Text", + desc = "\u00a7eDrag text to change the appearance of the overlay\n" + + "\u00a7rEquip a pet to show the overlay" + ) + @ConfigEditorDraggableList( + exampleText = { + "\u00a7a[Lvl 37] \u00a7fRock", + "\u00a7b2,312.9/2,700\u00a7e (85.7%)", + "\u00a7b2.3k/2.7k\u00a7e (85.7%)", + "\u00a7bXP/h: \u00a7e27,209", + "\u00a7bTotal XP: \u00a7e30,597.9", + "\u00a7bHeld Item: \u00a7fMining Exp Boost", + "\u00a7bUntil L38: \u00a7e5m13s", + "\u00a7bUntil L100: \u00a7e2d13h" + } + ) + public List<Integer> petOverlayText = new ArrayList<>(Arrays.asList(0, 2, 3, 6, 4)); + + @Expose + @ConfigOption( + name = "Pet Overlay Icon", + desc = "Show the icon of the pet you have equiped in the overlay" + ) + @ConfigEditorBoolean + public boolean petOverlayIcon = true; + + @Expose + @ConfigOption( + name = "Pet Info Overlay Style", + desc = "Change the style of the Pet Info overlay" + ) + @ConfigEditorDropdown( + values = {"Background", "No Shadow", "Shadow Only", "Full Shadow"} + ) + public int petInfoOverlayStyle = 0; + + @Expose + @ConfigOption( + name = "Show Last Pet", + desc = "Show 2 pets on the overlay\nUseful if training two pets at once with autopet" + ) + @ConfigEditorBoolean + public boolean dualPets = false; + + @Expose + @ConfigOption( + name = "Pet Inventory Display", + desc = "Shows an overlay in your inventory showing your current pet" + ) + @ConfigEditorBoolean + public boolean petInvDisplay = false; + + @Expose + @ConfigOption( + name = "GUI Colour", + desc = "Change the colour of the GUI" + ) + @ConfigEditorDropdown( + values = {"Vanilla", "Grey", "Dark", "Transparent", "FSR"} + ) + public int colourStyle = 0; + + @Expose + @ConfigOption( + name = "Click To Open Pets", + desc = "Click on the hud to open /pets" + ) + @ConfigEditorBoolean + public boolean sendPetsCommand = true; + + @Expose + @ConfigOption( + name = "Hide Pet Inventory Tooltip", + desc = "Hides the tooltip of your active in your inventory" + ) + @ConfigEditorBoolean + public boolean hidePetTooltip = false; + + @Expose + @ConfigOption( + name = "Show upgraded Pet Level", + desc = "Show the estimated pet level after an upgrade at Kats" + ) + @ConfigEditorBoolean + public boolean showKatSitting = true; +} diff --git a/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/SkillOverlays.java b/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/SkillOverlays.java index 71b41329..acdfbe54 100644 --- a/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/SkillOverlays.java +++ b/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/SkillOverlays.java @@ -1,317 +1,317 @@ -package io.github.moulberry.notenoughupdates.options.seperateSections;
-
-import com.google.gson.annotations.Expose;
-import io.github.moulberry.notenoughupdates.core.config.Position;
-import io.github.moulberry.notenoughupdates.core.config.annotations.*;
-import org.lwjgl.input.Keyboard;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-
-public class SkillOverlays {
- @ConfigOption(
- name = "Skill Overlay info",
- desc =
- "The skill trackers need you to have an \u00A72api key\u00A77 set (if you don't have one set do \u00A72/api new\u00A77)\n" +
- "For the overlays to show you need a \u00A7bmathematical hoe\u00A77 or an axe with \u00A7bcultivating\u00A77 " +
- "enchant for farming, a pickaxe with \u00A7bcompact\u00A77 for mining or a rod with \u00A7bexpertise\u00A77"
- )
- @ConfigEditorFSR(
- runnableId = 12,
- buttonText = ""
- )
- public boolean skillInfo = false;
- @ConfigOption(
- name = "Farming",
- desc = ""
- )
- @ConfigEditorAccordion(id = 0)
- public boolean farmingAccordion = false;
- @Expose
- @ConfigOption(
- name = "Enable Farming Overlay",
- desc = "Show an overlay while farming with useful information"
- )
- @ConfigEditorBoolean
- @ConfigAccordionId(id = 0)
- public boolean farmingOverlay = true;
-
- @Expose
- @ConfigOption(
- name = "Farming Text",
- desc = "\u00a7eDrag text to change the appearance of the overlay\n" +
- "\u00a7rHold a mathematical hoe or use an axe with cultivating enchantment while gaining farming xp to show the overlay"
- )
- @ConfigEditorDraggableList(
- exampleText = {
- "\u00a7bCounter: \u00a7e37,547,860",
- "\u00a7bCrops/m: \u00a7e38.29",
- "\u00a7bFarm: \u00a7e12\u00a77 [\u00a7e|||||||||||||||||\u00a78||||||||\u00a77] \u00a7e67%",
- "\u00a7bCurrent XP: \u00a7e6,734",
- "\u00a7bRemaining XP: \u00a7e3,265",
- "\u00a7bXP/h: \u00a7e238,129",
- "\u00a7bYaw: \u00a7e68.25\u00a7l\u1D52",
- "\u00a7bETA: \u00a7e13h12m",
- "\u00a7bPitch: \u00a7e69.42\u00a7l\u1D52",
- "\u00a7bCultivating: \u00a7e10,137,945/20,000,000",
- "\u00a7bCoins/m \u00a7e57,432"
- }
- )
- @ConfigAccordionId(id = 0)
- public List<Integer> farmingText = new ArrayList<>(Arrays.asList(0, 9, 10, 1, 2, 3, 4, 5, 7, 6));
-
- @Expose
- @ConfigOption(
- name = "Use BZ Price For Coins/m",
- desc = "Uses the bazzar price instead of NPC price for coins/m"
- )
- @ConfigEditorBoolean
- @ConfigAccordionId(id = 0)
- public boolean useBZPrice = true;
-
- @Expose
- @ConfigOption(
- name = "Edit Farming Overlay Position",
- desc = "Change the position of the Farming overlay"
- )
- @ConfigEditorButton(
- runnableId = 3,
- buttonText = "Edit"
- )
- @ConfigAccordionId(id = 0)
- public Position farmingPosition = new Position(10, 200);
-
- @Expose
- @ConfigOption(
- name = "Farming Style",
- desc = "Change the style of the Farming overlay"
- )
- @ConfigEditorDropdown(
- values = {"Background", "No Shadow", "Shadow", "Full Shadow"}
- )
- @ConfigAccordionId(id = 0)
- public int farmingStyle = 0;
- @ConfigOption(
- name = "Mining",
- desc = ""
- )
- @ConfigEditorAccordion(id = 1)
- public boolean miningAccordion = false;
- @Expose
- @ConfigOption(
- name = "Enable Mining Overlay",
- desc = "Show an overlay while Mining with useful information"
- )
- @ConfigEditorBoolean
- @ConfigAccordionId(id = 1)
- public boolean miningSkillOverlay = true;
-
- @Expose
- @ConfigOption(
- name = "Mining Text",
- desc = "\u00a7eDrag text to change the appearance of the overlay\n" +
- "\u00a7rHold a pickaxe with compact while gaining mining xp to show the overlay"
- )
- @ConfigEditorDraggableList(
- exampleText = {
- "\u00a7bCompact: \u00a7e547,860",
- "\u00a7bBlocks/m: \u00a7e38.29",
- "\u00a7bMine: \u00a7e12\u00a77 [\u00a7e|||||||||||||||||\u00a78||||||||\u00a77] \u00a7e67%",
- "\u00a7bCurrent XP: \u00a7e6,734",
- "\u00a7bRemaining XP: \u00a7e3,265",
- "\u00a7bXP/h: \u00a7e238,129",
- "\u00a7bYaw: \u00a7e68.25\u00a7l\u1D52",
- "\u00a7bETA: \u00a7e13h12m",
- "\u00a7bCompact Progress: \u00a7e137,945/150,000"
- }
- )
- @ConfigAccordionId(id = 1)
- public List<Integer> miningText = new ArrayList<>(Arrays.asList(0, 8, 1, 2, 3, 4, 5, 7));
-
- @Expose
- @ConfigOption(
- name = "Edit Mining Overlay Position",
- desc = "Change the position of the Mining overlay"
- )
- @ConfigEditorButton(
- runnableId = 11,
- buttonText = "Edit"
- )
- @ConfigAccordionId(id = 1)
- public Position miningPosition = new Position(10, 200);
-
- @Expose
- @ConfigOption(
- name = "Mining Style",
- desc = "Change the style of the Mining overlay"
- )
- @ConfigEditorDropdown(
- values = {"Background", "No Shadow", "Shadow", "Full Shadow"}
- )
- @ConfigAccordionId(id = 1)
- public int miningStyle = 0;
-
- @ConfigOption(
- name = "Fishing",
- desc = ""
- )
- @ConfigEditorAccordion(id = 3)
- public boolean fishingAccordion = false;
- @Expose
- @ConfigOption(
- name = "Enable Fishing Overlay",
- desc = "Show an overlay while Fishing with useful information"
- )
- @ConfigEditorBoolean
- @ConfigAccordionId(id = 3)
- public boolean FishingSkillOverlay = true;
-
- @Expose
- @ConfigOption(
- name = "Fishing Text",
- desc = "\u00a7eDrag text to change the appearance of the overlay\n" +
- "\u00a7rHold a fishing rod with expertise enchantment while gaining fishing xp to show the overlay"
- )
- @ConfigEditorDraggableList(
- exampleText = {
- "\u00a7bExpertise: \u00a7e7,945/10,000",
- //"\u00a7bCatches/m: \u00a7e38.29",
- "\u00a7bFishing: \u00a7e12\u00a77 [\u00a7e|||||||||||||||||\u00a78||||||||\u00a77] \u00a7e67%",
- "\u00a7bCurrent XP: \u00a7e6,734",
- "\u00a7bRemaining XP: \u00a7e3,265",
- "\u00a7bXP/h: \u00a7e238,129",
- //"\u00a7bYaw: \u00a7e68.25\u00a7l\u1D52",
- "\u00a7bETA: \u00a7e13h12m",
- //"\u00a7bExpertise Progress: \u00a7e7,945/10,000",
- "\u00a7bTimer: \u00a7e1m15s"
- }
- )
- @ConfigAccordionId(id = 3)
- public List<Integer> fishingText = new ArrayList<>(Arrays.asList(0, 1, 2, 3, 4, 5, 6));
-
- @Expose
- @ConfigOption(
- name = "Edit Fishing Overlay Position",
- desc = "Change the position of the Fishing overlay"
- )
- @ConfigEditorButton(
- runnableId = 14,
- buttonText = "Edit"
- )
- @ConfigAccordionId(id = 3)
- public Position fishingPosition = new Position(10, 200);
-
- @Expose
- @ConfigOption(
- name = "Fishing Style",
- desc = "Change the style of the Fishing overlay"
- )
- @ConfigEditorDropdown(
- values = {"Background", "No Shadow", "Shadow", "Full Shadow"}
- )
- @ConfigAccordionId(id = 3)
- public int fishingStyle = 0;
-
- @Expose
- @ConfigOption(
- name = "Toggle Fishing timer",
- desc = "Start or stop the timer on the fishing overlay\n" +
- "Also can plays a ding customizable below"
- )
- @ConfigEditorKeybind(defaultKey = Keyboard.KEY_END)
- @ConfigAccordionId(id = 3)
- public int fishKey = Keyboard.KEY_END;
-
- @Expose
- @ConfigOption(
- name = "Fishing Timer Alert",
- desc = "Change the amount of time (seconds) until the timer dings"
- )
- @ConfigEditorSlider(
- minValue = 0,
- maxValue = 600,
- minStep = 20
- )
- @ConfigAccordionId(id = 3)
- public int customFishTimer = 300;
-
- @ConfigOption(
- name = "Combat",
- desc = ""
- )
- @ConfigEditorAccordion(id = 4)
- public boolean combatAccordion = false;
-
- @Expose
- @ConfigOption(
- name = "\u00A7cWarning",
- desc = "The combat display will only show if you have a Book of Stats on the item you are using"
- )
- @ConfigEditorFSR(
- runnableId = 12,
- buttonText = ""
- )
- @ConfigAccordionId(id = 4)
- public boolean combatInfo = false;
-
- @Expose
- @ConfigOption(
- name = "Enable Combat Overlay",
- desc = "Show an overlay while Combat with useful information"
- )
- @ConfigEditorBoolean
- @ConfigAccordionId(id = 4)
- public boolean combatSkillOverlay = true;
-
- @Expose
- @ConfigOption(
- name = "Combat Text",
- desc = "\u00a7eDrag text to change the appearance of the overlay\n" +
- "\u00a7rHold an item with Book of Stats to show the display"
- )
- @ConfigEditorDraggableList(
- exampleText = {
- "\u00a7bKills: \u00a7e547,860",
- "\u00a7bCombat: \u00a7e12\u00a77 [\u00a7e|||||||||||||||||\u00a78||||||||\u00a77] \u00a7e67%",
- "\u00a7bCurrent XP: \u00a7e6,734",
- "\u00a7bRemaining XP: \u00a7e3,265",
- "\u00a7bXP/h: \u00a7e238,129",
- "\u00a7bETA: \u00a7e13h12m"
- }
- )
- @ConfigAccordionId(id = 4)
- public List<Integer> combatText = new ArrayList<>(Arrays.asList(0, 1, 2, 3, 4, 5));
-
- @Expose
- @ConfigOption(
- name = "Edit Combat Overlay Position",
- desc = "Change the position of the Combat overlay"
- )
- @ConfigEditorButton(
- runnableId = 19,
- buttonText = "Edit"
- )
- @ConfigAccordionId(id = 4)
- public Position combatPosition = new Position(10, 200);
-
- @Expose
- @ConfigOption(
- name = "Combat Style",
- desc = "Change the style of the Combat overlay"
- )
- @ConfigEditorDropdown(
- values = {"Background", "No Shadow", "Shadow", "Full Shadow"}
- )
- @ConfigAccordionId(id = 4)
- public int combatStyle = 0;
-
- @Expose
- @ConfigOption(
- name = "Always show combat overlay",
- desc = "Shows combat overlay even if you dont have Book of Stats"
- )
- @ConfigEditorBoolean
- @ConfigAccordionId(id = 4)
- public boolean alwaysShowCombatOverlay = false;
-}
+package io.github.moulberry.notenoughupdates.options.seperateSections; + +import com.google.gson.annotations.Expose; +import io.github.moulberry.notenoughupdates.core.config.Position; +import io.github.moulberry.notenoughupdates.core.config.annotations.*; +import org.lwjgl.input.Keyboard; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; + +public class SkillOverlays { + @ConfigOption( + name = "Skill Overlay info", + desc = + "The skill trackers need you to have an \u00A72api key\u00A77 set (if you don't have one set do \u00A72/api new\u00A77)\n" + + "For the overlays to show you need a \u00A7bmathematical hoe\u00A77 or an axe with \u00A7bcultivating\u00A77 " + + "enchant for farming, a pickaxe with \u00A7bcompact\u00A77 for mining or a rod with \u00A7bexpertise\u00A77" + ) + @ConfigEditorFSR( + runnableId = 12, + buttonText = "" + ) + public boolean skillInfo = false; + @ConfigOption( + name = "Farming", + desc = "" + ) + @ConfigEditorAccordion(id = 0) + public boolean farmingAccordion = false; + @Expose + @ConfigOption( + name = "Enable Farming Overlay", + desc = "Show an overlay while farming with useful information" + ) + @ConfigEditorBoolean + @ConfigAccordionId(id = 0) + public boolean farmingOverlay = true; + + @Expose + @ConfigOption( + name = "Farming Text", + desc = "\u00a7eDrag text to change the appearance of the overlay\n" + + "\u00a7rHold a mathematical hoe or use an axe with cultivating enchantment while gaining farming xp to show the overlay" + ) + @ConfigEditorDraggableList( + exampleText = { + "\u00a7bCounter: \u00a7e37,547,860", + "\u00a7bCrops/m: \u00a7e38.29", + "\u00a7bFarm: \u00a7e12\u00a77 [\u00a7e|||||||||||||||||\u00a78||||||||\u00a77] \u00a7e67%", + "\u00a7bCurrent XP: \u00a7e6,734", + "\u00a7bRemaining XP: \u00a7e3,265", + "\u00a7bXP/h: \u00a7e238,129", + "\u00a7bYaw: \u00a7e68.25\u00a7l\u1D52", + "\u00a7bETA: \u00a7e13h12m", + "\u00a7bPitch: \u00a7e69.42\u00a7l\u1D52", + "\u00a7bCultivating: \u00a7e10,137,945/20,000,000", + "\u00a7bCoins/m \u00a7e57,432" + } + ) + @ConfigAccordionId(id = 0) + public List<Integer> farmingText = new ArrayList<>(Arrays.asList(0, 9, 10, 1, 2, 3, 4, 5, 7, 6)); + + @Expose + @ConfigOption( + name = "Use BZ Price For Coins/m", + desc = "Uses the bazzar price instead of NPC price for coins/m" + ) + @ConfigEditorBoolean + @ConfigAccordionId(id = 0) + public boolean useBZPrice = true; + + @Expose + @ConfigOption( + name = "Edit Farming Overlay Position", + desc = "Change the position of the Farming overlay" + ) + @ConfigEditorButton( + runnableId = 3, + buttonText = "Edit" + ) + @ConfigAccordionId(id = 0) + public Position farmingPosition = new Position(10, 200); + + @Expose + @ConfigOption( + name = "Farming Style", + desc = "Change the style of the Farming overlay" + ) + @ConfigEditorDropdown( + values = {"Background", "No Shadow", "Shadow", "Full Shadow"} + ) + @ConfigAccordionId(id = 0) + public int farmingStyle = 0; + @ConfigOption( + name = "Mining", + desc = "" + ) + @ConfigEditorAccordion(id = 1) + public boolean miningAccordion = false; + @Expose + @ConfigOption( + name = "Enable Mining Overlay", + desc = "Show an overlay while Mining with useful information" + ) + @ConfigEditorBoolean + @ConfigAccordionId(id = 1) + public boolean miningSkillOverlay = true; + + @Expose + @ConfigOption( + name = "Mining Text", + desc = "\u00a7eDrag text to change the appearance of the overlay\n" + + "\u00a7rHold a pickaxe with compact while gaining mining xp to show the overlay" + ) + @ConfigEditorDraggableList( + exampleText = { + "\u00a7bCompact: \u00a7e547,860", + "\u00a7bBlocks/m: \u00a7e38.29", + "\u00a7bMine: \u00a7e12\u00a77 [\u00a7e|||||||||||||||||\u00a78||||||||\u00a77] \u00a7e67%", + "\u00a7bCurrent XP: \u00a7e6,734", + "\u00a7bRemaining XP: \u00a7e3,265", + "\u00a7bXP/h: \u00a7e238,129", + "\u00a7bYaw: \u00a7e68.25\u00a7l\u1D52", + "\u00a7bETA: \u00a7e13h12m", + "\u00a7bCompact Progress: \u00a7e137,945/150,000" + } + ) + @ConfigAccordionId(id = 1) + public List<Integer> miningText = new ArrayList<>(Arrays.asList(0, 8, 1, 2, 3, 4, 5, 7)); + + @Expose + @ConfigOption( + name = "Edit Mining Overlay Position", + desc = "Change the position of the Mining overlay" + ) + @ConfigEditorButton( + runnableId = 11, + buttonText = "Edit" + ) + @ConfigAccordionId(id = 1) + public Position miningPosition = new Position(10, 200); + + @Expose + @ConfigOption( + name = "Mining Style", + desc = "Change the style of the Mining overlay" + ) + @ConfigEditorDropdown( + values = {"Background", "No Shadow", "Shadow", "Full Shadow"} + ) + @ConfigAccordionId(id = 1) + public int miningStyle = 0; + + @ConfigOption( + name = "Fishing", + desc = "" + ) + @ConfigEditorAccordion(id = 3) + public boolean fishingAccordion = false; + @Expose + @ConfigOption( + name = "Enable Fishing Overlay", + desc = "Show an overlay while Fishing with useful information" + ) + @ConfigEditorBoolean + @ConfigAccordionId(id = 3) + public boolean FishingSkillOverlay = true; + + @Expose + @ConfigOption( + name = "Fishing Text", + desc = "\u00a7eDrag text to change the appearance of the overlay\n" + + "\u00a7rHold a fishing rod with expertise enchantment while gaining fishing xp to show the overlay" + ) + @ConfigEditorDraggableList( + exampleText = { + "\u00a7bExpertise: \u00a7e7,945/10,000", + //"\u00a7bCatches/m: \u00a7e38.29", + "\u00a7bFishing: \u00a7e12\u00a77 [\u00a7e|||||||||||||||||\u00a78||||||||\u00a77] \u00a7e67%", + "\u00a7bCurrent XP: \u00a7e6,734", + "\u00a7bRemaining XP: \u00a7e3,265", + "\u00a7bXP/h: \u00a7e238,129", + //"\u00a7bYaw: \u00a7e68.25\u00a7l\u1D52", + "\u00a7bETA: \u00a7e13h12m", + //"\u00a7bExpertise Progress: \u00a7e7,945/10,000", + "\u00a7bTimer: \u00a7e1m15s" + } + ) + @ConfigAccordionId(id = 3) + public List<Integer> fishingText = new ArrayList<>(Arrays.asList(0, 1, 2, 3, 4, 5, 6)); + + @Expose + @ConfigOption( + name = "Edit Fishing Overlay Position", + desc = "Change the position of the Fishing overlay" + ) + @ConfigEditorButton( + runnableId = 14, + buttonText = "Edit" + ) + @ConfigAccordionId(id = 3) + public Position fishingPosition = new Position(10, 200); + + @Expose + @ConfigOption( + name = "Fishing Style", + desc = "Change the style of the Fishing overlay" + ) + @ConfigEditorDropdown( + values = {"Background", "No Shadow", "Shadow", "Full Shadow"} + ) + @ConfigAccordionId(id = 3) + public int fishingStyle = 0; + + @Expose + @ConfigOption( + name = "Toggle Fishing timer", + desc = "Start or stop the timer on the fishing overlay\n" + + "Also can plays a ding customizable below" + ) + @ConfigEditorKeybind(defaultKey = Keyboard.KEY_END) + @ConfigAccordionId(id = 3) + public int fishKey = Keyboard.KEY_END; + + @Expose + @ConfigOption( + name = "Fishing Timer Alert", + desc = "Change the amount of time (seconds) until the timer dings" + ) + @ConfigEditorSlider( + minValue = 0, + maxValue = 600, + minStep = 20 + ) + @ConfigAccordionId(id = 3) + public int customFishTimer = 300; + + @ConfigOption( + name = "Combat", + desc = "" + ) + @ConfigEditorAccordion(id = 4) + public boolean combatAccordion = false; + + @Expose + @ConfigOption( + name = "\u00A7cWarning", + desc = "The combat display will only show if you have a Book of Stats on the item you are using" + ) + @ConfigEditorFSR( + runnableId = 12, + buttonText = "" + ) + @ConfigAccordionId(id = 4) + public boolean combatInfo = false; + + @Expose + @ConfigOption( + name = "Enable Combat Overlay", + desc = "Show an overlay while Combat with useful information" + ) + @ConfigEditorBoolean + @ConfigAccordionId(id = 4) + public boolean combatSkillOverlay = true; + + @Expose + @ConfigOption( + name = "Combat Text", + desc = "\u00a7eDrag text to change the appearance of the overlay\n" + + "\u00a7rHold an item with Book of Stats to show the display" + ) + @ConfigEditorDraggableList( + exampleText = { + "\u00a7bKills: \u00a7e547,860", + "\u00a7bCombat: \u00a7e12\u00a77 [\u00a7e|||||||||||||||||\u00a78||||||||\u00a77] \u00a7e67%", + "\u00a7bCurrent XP: \u00a7e6,734", + "\u00a7bRemaining XP: \u00a7e3,265", + "\u00a7bXP/h: \u00a7e238,129", + "\u00a7bETA: \u00a7e13h12m" + } + ) + @ConfigAccordionId(id = 4) + public List<Integer> combatText = new ArrayList<>(Arrays.asList(0, 1, 2, 3, 4, 5)); + + @Expose + @ConfigOption( + name = "Edit Combat Overlay Position", + desc = "Change the position of the Combat overlay" + ) + @ConfigEditorButton( + runnableId = 19, + buttonText = "Edit" + ) + @ConfigAccordionId(id = 4) + public Position combatPosition = new Position(10, 200); + + @Expose + @ConfigOption( + name = "Combat Style", + desc = "Change the style of the Combat overlay" + ) + @ConfigEditorDropdown( + values = {"Background", "No Shadow", "Shadow", "Full Shadow"} + ) + @ConfigAccordionId(id = 4) + public int combatStyle = 0; + + @Expose + @ConfigOption( + name = "Always show combat overlay", + desc = "Shows combat overlay even if you dont have Book of Stats" + ) + @ConfigEditorBoolean + @ConfigAccordionId(id = 4) + public boolean alwaysShowCombatOverlay = false; +} diff --git a/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/SlotLocking.java b/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/SlotLocking.java index f9d1eef1..c86708bb 100644 --- a/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/SlotLocking.java +++ b/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/SlotLocking.java @@ -1,91 +1,91 @@ -package io.github.moulberry.notenoughupdates.options.seperateSections;
-
-import com.google.gson.annotations.Expose;
-import io.github.moulberry.notenoughupdates.core.config.annotations.*;
-import org.lwjgl.input.Keyboard;
-
-public class SlotLocking {
- @Expose
- @ConfigOption(
- name = "\u00A7cWarning",
- desc = "Make sure you have SBA's locked slots off before you turn NEU's on"
- )
- @ConfigEditorFSR(
- runnableId = 12
- )
- public boolean slotLockWarning = false;
-
- @Expose
- @ConfigOption(
- name = "Enable Slot Locking",
- desc = "Allows you to lock slots and create slot bindings"
- )
- @ConfigEditorBoolean
- public boolean enableSlotLocking = false;
-
- @Expose
- @ConfigOption(
- name = "Enable Slot Binding",
- desc = "Allows you to create slot bindings\nNote: \"Enable Slot Locking\" must be on"
- )
- @ConfigEditorBoolean
- public boolean enableSlotBinding = true;
-
- @Expose
- @ConfigOption(
- name = "Don't Drop Bound Slots",
- desc = "Slot bindings also act as locked slots (prevents dropping / moving in inventory)"
- )
- @ConfigEditorBoolean
- public boolean bindingAlsoLocks = false;
-
- @Expose
- @ConfigOption(
- name = "Slot Lock Key",
- desc = "Click this key to LOCK a slot\n" +
- "Hold this key and drag to BIND a slot"
- )
- @ConfigEditorKeybind(defaultKey = Keyboard.KEY_L)
- public int slotLockKey = Keyboard.KEY_L;
-
- @Expose
- @ConfigOption(
- name = "Lock Slots in Trade",
- desc = "Prevents trading locked items in the custom trade windows"
- )
- @ConfigEditorBoolean
- public boolean lockSlotsInTrade = true;
-
- @Expose
- /*@ConfigOption(
- name = "Item Swap drop delay",
- desc = "Set the delay between swapping to another item and being able to drop it.\n"+
- "This is to fix a bug that allowed you to drop slot locked items."
- )
- @ConfigEditorSlider(
- minValue = 0,
- maxValue = 500,
- minStep = 5
- )*/
- public int slotLockSwapDelay = 100;
-
- @Expose
- @ConfigOption(
- name = "Slot Lock Sound",
- desc = "Play a ding when locking/unlocking slots"
- )
- @ConfigEditorBoolean
- public boolean slotLockSound = true;
-
- @Expose
- @ConfigOption(
- name = "Slot Lock Sound Vol.",
- desc = "Set the volume of the ding sound"
- )
- @ConfigEditorSlider(
- minValue = 0,
- maxValue = 100,
- minStep = 1
- )
- public float slotLockSoundVol = 20;
-}
+package io.github.moulberry.notenoughupdates.options.seperateSections; + +import com.google.gson.annotations.Expose; +import io.github.moulberry.notenoughupdates.core.config.annotations.*; +import org.lwjgl.input.Keyboard; + +public class SlotLocking { + @Expose + @ConfigOption( + name = "\u00A7cWarning", + desc = "Make sure you have SBA's locked slots off before you turn NEU's on" + ) + @ConfigEditorFSR( + runnableId = 12 + ) + public boolean slotLockWarning = false; + + @Expose + @ConfigOption( + name = "Enable Slot Locking", + desc = "Allows you to lock slots and create slot bindings" + ) + @ConfigEditorBoolean + public boolean enableSlotLocking = false; + + @Expose + @ConfigOption( + name = "Enable Slot Binding", + desc = "Allows you to create slot bindings\nNote: \"Enable Slot Locking\" must be on" + ) + @ConfigEditorBoolean + public boolean enableSlotBinding = true; + + @Expose + @ConfigOption( + name = "Don't Drop Bound Slots", + desc = "Slot bindings also act as locked slots (prevents dropping / moving in inventory)" + ) + @ConfigEditorBoolean + public boolean bindingAlsoLocks = false; + + @Expose + @ConfigOption( + name = "Slot Lock Key", + desc = "Click this key to LOCK a slot\n" + + "Hold this key and drag to BIND a slot" + ) + @ConfigEditorKeybind(defaultKey = Keyboard.KEY_L) + public int slotLockKey = Keyboard.KEY_L; + + @Expose + @ConfigOption( + name = "Lock Slots in Trade", + desc = "Prevents trading locked items in the custom trade windows" + ) + @ConfigEditorBoolean + public boolean lockSlotsInTrade = true; + + @Expose + /*@ConfigOption( + name = "Item Swap drop delay", + desc = "Set the delay between swapping to another item and being able to drop it.\n"+ + "This is to fix a bug that allowed you to drop slot locked items." + ) + @ConfigEditorSlider( + minValue = 0, + maxValue = 500, + minStep = 5 + )*/ + public int slotLockSwapDelay = 100; + + @Expose + @ConfigOption( + name = "Slot Lock Sound", + desc = "Play a ding when locking/unlocking slots" + ) + @ConfigEditorBoolean + public boolean slotLockSound = true; + + @Expose + @ConfigOption( + name = "Slot Lock Sound Vol.", + desc = "Set the volume of the ding sound" + ) + @ConfigEditorSlider( + minValue = 0, + maxValue = 100, + minStep = 1 + ) + public float slotLockSoundVol = 20; +} diff --git a/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/StorageGUI.java b/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/StorageGUI.java index a2d50409..2e765777 100644 --- a/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/StorageGUI.java +++ b/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/StorageGUI.java @@ -1,260 +1,260 @@ -package io.github.moulberry.notenoughupdates.options.seperateSections;
-
-import com.google.gson.annotations.Expose;
-import io.github.moulberry.notenoughupdates.core.config.annotations.*;
-import org.lwjgl.input.Keyboard;
-
-public class StorageGUI {
- @ConfigOption(
- name = "Storage Overlay",
- desc = ""
- )
- @ConfigEditorAccordion(id = 1)
- public boolean storageOverlayAccordion = false;
-
- @Expose
- public int selectedIndex = 0;
- @ConfigOption(
- name = "\u00A7cWarning",
- desc = "You need Fast Render and Antialiasing off for these settings to work\n" +
- "You can find these in your video settings"
- )
- @ConfigEditorFSR(
- runnableId = 12,
- buttonText = ""
- )
- @ConfigAccordionId(id = 1)
- public boolean storageGUIWarning = false;
- @Expose
- @ConfigOption(
- name = "Enable Storage GUI",
- desc = "Show a custom storage overlay when accessing /storage. " +
- "Makes switching between pages much easier and also allows for searching through all storages"
- )
- @ConfigEditorBoolean
- @ConfigAccordionId(id = 1)
- public boolean enableStorageGUI3 = true;
-
- @Expose
- @ConfigOption(
- name = "Storage Height",
- desc = "Change the height of the storage preview section. Increasing this allows more storages to be seen at once"
- )
- @ConfigEditorSlider(
- minValue = 104,
- maxValue = 312,
- minStep = 26
- )
- @ConfigAccordionId(id = 1)
- public int storageHeight = 208;
-
- @Expose
- @ConfigOption(
- name = "Storage Style",
- desc = "Change the visual style of the overlay"
- )
- @ConfigEditorDropdown(
- values = {"Transparent", "Minecraft", "Dark", "Custom"}
- )
- @ConfigAccordionId(id = 1)
- public int displayStyle = 0;
-
- @Expose
- @ConfigOption(
- name = "Enderchest Preview",
- desc = "Preview Enderchest pages when hovering over the selector on the left side"
- )
- @ConfigEditorBoolean
- @ConfigAccordionId(id = 1)
- public boolean enderchestPreview = true;
-
- @Expose
- @ConfigOption(
- name = "Backpack Preview",
- desc = "Preview Backpacks when hovering over the selector on the left side"
- )
- @ConfigEditorBoolean
- @ConfigAccordionId(id = 1)
- public boolean backpackPreview = true;
-
- @Expose
- @ConfigOption(
- name = "Compact Vertically",
- desc = "Remove the space between backpacks when there is a size discrepancy"
- )
- @ConfigEditorBoolean
- @ConfigAccordionId(id = 1)
- public boolean masonryMode = false;
-
- @Expose
- @ConfigOption(
- name = "Fancy Glass Panes",
- desc = "Replace the glass pane textures in your storage containers with a fancy connected texture"
- )
- @ConfigEditorDropdown(
- values = {"On", "Locked", "Off"}
- )
- @ConfigAccordionId(id = 1)
- public int fancyPanes = 0;
-
- @Expose
- @ConfigOption(
- name = "Search Bar Autofocus",
- desc = "Automatically focus the search bar when pressing keys"
- )
- @ConfigEditorBoolean
- @ConfigAccordionId(id = 1)
- public boolean searchBarAutofocus = true;
-
- @Expose
- @ConfigOption(
- name = "Show Enchant Glint",
- desc = "Toggle enchant glint in storage GUI"
- )
- @ConfigEditorBoolean
- @ConfigAccordionId(id = 1)
- public boolean showEnchantGlint = true;
-
- @Expose
- @ConfigOption(
- name = "Selected Storage Colour",
- desc = "Change the colour used to draw the selected backpack border"
- )
- @ConfigEditorColour
- @ConfigAccordionId(id = 1)
- public String selectedStorageColour = "0:255:255:223:0";
-
- @Expose
- @ConfigOption(
- name = "Scrollable Tooltips",
- desc = "Support for scrolling tooltips for users with small monitors\n" +
- "This will prevent the menu from scrolling while holding the key, allowing you to scroll tooltips"
- )
- @ConfigEditorKeybind(defaultKey = 0)
- @ConfigAccordionId(id = 1)
- public int cancelScrollKey = 0;
-
- @ConfigOption(
- name = "Inventory Backpacks",
- desc = ""
- )
- @ConfigEditorAccordion(id = 0)
- public boolean inventorySlotAccordion = false;
-
- @Expose
- @ConfigOption(
- name = "Inventory Backpacks",
- desc = "Add a \"10th slot\" to your inventory which allows you to quickly access your backpacks"
- )
- @ConfigEditorBoolean
- @ConfigAccordionId(id = 0)
- public boolean showInvBackpack = false;
-
- //public boolean showInvBackpack = false;
- @Expose
- @ConfigOption(
- name = "Scroll to Backpack",
- desc = "Allow scrolling to the backpack using the mouse wheel.\n" +
- "\"Scroll (Key)\" = Allow scrolling to 10th slot only while 'Backpack Scroll Key' (default: SHIFT) is pressed"
- )
- @ConfigEditorDropdown(
- values = {"Scroll (Key)", "Scroll (Always)", "Don't Scroll"}
- )
- @ConfigAccordionId(id = 0)
- public int scrollToBackpack2 = 0;
-
- @Expose
- @ConfigOption(
- name = "Backpack Side",
- desc = "Set which side of the hotbar the backpack slot shows"
- )
- @ConfigEditorDropdown(
- values = {"Left", "Right"}
- )
- @ConfigAccordionId(id = 0)
- public int backpackHotbarSide = 0;
-
- @Expose
- @ConfigOption(
- name = "Backpack Peeking",
- desc = "When the backpack is selected, show it's contents on your screen"
- )
- @ConfigEditorBoolean
- @ConfigAccordionId(id = 0)
- public boolean showInvBackpackPreview = true;
-
- @Expose
- @ConfigOption(
- name = "Backpack Opacity%",
- desc = "Change the opacity of the backpack preview background"
- )
- @ConfigEditorSlider(
- minValue = 0,
- maxValue = 100,
- minStep = 5
- )
- @ConfigAccordionId(id = 0)
- public int backpackOpacity = 50;
-
- @Expose
- @ConfigOption(
- name = "Backpack Scroll Key",
- desc = "Change the key which needs to be pressed in order to allow backpacks to be scrolled between"
- )
- @ConfigEditorKeybind(defaultKey = Keyboard.KEY_LSHIFT)
- @ConfigAccordionId(id = 0)
- public int backpackScrollKey = Keyboard.KEY_LSHIFT;
-
- @Expose
- @ConfigOption(
- name = "Backpack Hotkey",
- desc = "Hotkey to quickly switch to the backpack slot"
- )
- @ConfigEditorKeybind(defaultKey = Keyboard.KEY_GRAVE)
- @ConfigAccordionId(id = 0)
- public int backpackHotkey = Keyboard.KEY_GRAVE;
-
- @Expose
- @ConfigOption(
- name = "Arrow Key Backpacks",
- desc = "Use arrow keys [LEFT],[RIGHT] to move between backpacks and [DOWN] to navigate backpack even when the slot is not selected. Keys are customizable below"
- )
- @ConfigEditorBoolean
- @ConfigAccordionId(id = 0)
- public boolean arrowKeyBackpacks = false;
-
- @ConfigOption(
- name = "Arrow Key Backpack Keybinds",
- desc = ""
- )
- @ConfigEditorAccordion(id = 2)
- @ConfigAccordionId(id = 0)
- public boolean backpackArrowAccordion = false;
-
- @Expose
- @ConfigOption(
- name = "Backpack Left",
- desc = "Select the backpack to the left"
- )
- @ConfigEditorKeybind(defaultKey = Keyboard.KEY_LEFT)
- @ConfigAccordionId(id = 2)
- public int arrowLeftKey = Keyboard.KEY_LEFT;
-
- @Expose
- @ConfigOption(
- name = "Backpack Right",
- desc = "Select the backpack to the right"
- )
- @ConfigEditorKeybind(defaultKey = Keyboard.KEY_RIGHT)
- @ConfigAccordionId(id = 2)
- public int arrowRightKey = Keyboard.KEY_RIGHT;
-
- @Expose
- @ConfigOption(
- name = "Backpack Open",
- desc = "Open the selected backpack"
- )
- @ConfigEditorKeybind(defaultKey = Keyboard.KEY_DOWN)
- @ConfigAccordionId(id = 2)
- public int arrowDownKey = Keyboard.KEY_DOWN;
-}
+package io.github.moulberry.notenoughupdates.options.seperateSections; + +import com.google.gson.annotations.Expose; +import io.github.moulberry.notenoughupdates.core.config.annotations.*; +import org.lwjgl.input.Keyboard; + +public class StorageGUI { + @ConfigOption( + name = "Storage Overlay", + desc = "" + ) + @ConfigEditorAccordion(id = 1) + public boolean storageOverlayAccordion = false; + + @Expose + public int selectedIndex = 0; + @ConfigOption( + name = "\u00A7cWarning", + desc = "You need Fast Render and Antialiasing off for these settings to work\n" + + "You can find these in your video settings" + ) + @ConfigEditorFSR( + runnableId = 12, + buttonText = "" + ) + @ConfigAccordionId(id = 1) + public boolean storageGUIWarning = false; + @Expose + @ConfigOption( + name = "Enable Storage GUI", + desc = "Show a custom storage overlay when accessing /storage. " + + "Makes switching between pages much easier and also allows for searching through all storages" + ) + @ConfigEditorBoolean + @ConfigAccordionId(id = 1) + public boolean enableStorageGUI3 = true; + + @Expose + @ConfigOption( + name = "Storage Height", + desc = "Change the height of the storage preview section. Increasing this allows more storages to be seen at once" + ) + @ConfigEditorSlider( + minValue = 104, + maxValue = 312, + minStep = 26 + ) + @ConfigAccordionId(id = 1) + public int storageHeight = 208; + + @Expose + @ConfigOption( + name = "Storage Style", + desc = "Change the visual style of the overlay" + ) + @ConfigEditorDropdown( + values = {"Transparent", "Minecraft", "Dark", "Custom"} + ) + @ConfigAccordionId(id = 1) + public int displayStyle = 0; + + @Expose + @ConfigOption( + name = "Enderchest Preview", + desc = "Preview Enderchest pages when hovering over the selector on the left side" + ) + @ConfigEditorBoolean + @ConfigAccordionId(id = 1) + public boolean enderchestPreview = true; + + @Expose + @ConfigOption( + name = "Backpack Preview", + desc = "Preview Backpacks when hovering over the selector on the left side" + ) + @ConfigEditorBoolean + @ConfigAccordionId(id = 1) + public boolean backpackPreview = true; + + @Expose + @ConfigOption( + name = "Compact Vertically", + desc = "Remove the space between backpacks when there is a size discrepancy" + ) + @ConfigEditorBoolean + @ConfigAccordionId(id = 1) + public boolean masonryMode = false; + + @Expose + @ConfigOption( + name = "Fancy Glass Panes", + desc = "Replace the glass pane textures in your storage containers with a fancy connected texture" + ) + @ConfigEditorDropdown( + values = {"On", "Locked", "Off"} + ) + @ConfigAccordionId(id = 1) + public int fancyPanes = 0; + + @Expose + @ConfigOption( + name = "Search Bar Autofocus", + desc = "Automatically focus the search bar when pressing keys" + ) + @ConfigEditorBoolean + @ConfigAccordionId(id = 1) + public boolean searchBarAutofocus = true; + + @Expose + @ConfigOption( + name = "Show Enchant Glint", + desc = "Toggle enchant glint in storage GUI" + ) + @ConfigEditorBoolean + @ConfigAccordionId(id = 1) + public boolean showEnchantGlint = true; + + @Expose + @ConfigOption( + name = "Selected Storage Colour", + desc = "Change the colour used to draw the selected backpack border" + ) + @ConfigEditorColour + @ConfigAccordionId(id = 1) + public String selectedStorageColour = "0:255:255:223:0"; + + @Expose + @ConfigOption( + name = "Scrollable Tooltips", + desc = "Support for scrolling tooltips for users with small monitors\n" + + "This will prevent the menu from scrolling while holding the key, allowing you to scroll tooltips" + ) + @ConfigEditorKeybind(defaultKey = 0) + @ConfigAccordionId(id = 1) + public int cancelScrollKey = 0; + + @ConfigOption( + name = "Inventory Backpacks", + desc = "" + ) + @ConfigEditorAccordion(id = 0) + public boolean inventorySlotAccordion = false; + + @Expose + @ConfigOption( + name = "Inventory Backpacks", + desc = "Add a \"10th slot\" to your inventory which allows you to quickly access your backpacks" + ) + @ConfigEditorBoolean + @ConfigAccordionId(id = 0) + public boolean showInvBackpack = false; + + //public boolean showInvBackpack = false; + @Expose + @ConfigOption( + name = "Scroll to Backpack", + desc = "Allow scrolling to the backpack using the mouse wheel.\n" + + "\"Scroll (Key)\" = Allow scrolling to 10th slot only while 'Backpack Scroll Key' (default: SHIFT) is pressed" + ) + @ConfigEditorDropdown( + values = {"Scroll (Key)", "Scroll (Always)", "Don't Scroll"} + ) + @ConfigAccordionId(id = 0) + public int scrollToBackpack2 = 0; + + @Expose + @ConfigOption( + name = "Backpack Side", + desc = "Set which side of the hotbar the backpack slot shows" + ) + @ConfigEditorDropdown( + values = {"Left", "Right"} + ) + @ConfigAccordionId(id = 0) + public int backpackHotbarSide = 0; + + @Expose + @ConfigOption( + name = "Backpack Peeking", + desc = "When the backpack is selected, show it's contents on your screen" + ) + @ConfigEditorBoolean + @ConfigAccordionId(id = 0) + public boolean showInvBackpackPreview = true; + + @Expose + @ConfigOption( + name = "Backpack Opacity%", + desc = "Change the opacity of the backpack preview background" + ) + @ConfigEditorSlider( + minValue = 0, + maxValue = 100, + minStep = 5 + ) + @ConfigAccordionId(id = 0) + public int backpackOpacity = 50; + + @Expose + @ConfigOption( + name = "Backpack Scroll Key", + desc = "Change the key which needs to be pressed in order to allow backpacks to be scrolled between" + ) + @ConfigEditorKeybind(defaultKey = Keyboard.KEY_LSHIFT) + @ConfigAccordionId(id = 0) + public int backpackScrollKey = Keyboard.KEY_LSHIFT; + + @Expose + @ConfigOption( + name = "Backpack Hotkey", + desc = "Hotkey to quickly switch to the backpack slot" + ) + @ConfigEditorKeybind(defaultKey = Keyboard.KEY_GRAVE) + @ConfigAccordionId(id = 0) + public int backpackHotkey = Keyboard.KEY_GRAVE; + + @Expose + @ConfigOption( + name = "Arrow Key Backpacks", + desc = "Use arrow keys [LEFT],[RIGHT] to move between backpacks and [DOWN] to navigate backpack even when the slot is not selected. Keys are customizable below" + ) + @ConfigEditorBoolean + @ConfigAccordionId(id = 0) + public boolean arrowKeyBackpacks = false; + + @ConfigOption( + name = "Arrow Key Backpack Keybinds", + desc = "" + ) + @ConfigEditorAccordion(id = 2) + @ConfigAccordionId(id = 0) + public boolean backpackArrowAccordion = false; + + @Expose + @ConfigOption( + name = "Backpack Left", + desc = "Select the backpack to the left" + ) + @ConfigEditorKeybind(defaultKey = Keyboard.KEY_LEFT) + @ConfigAccordionId(id = 2) + public int arrowLeftKey = Keyboard.KEY_LEFT; + + @Expose + @ConfigOption( + name = "Backpack Right", + desc = "Select the backpack to the right" + ) + @ConfigEditorKeybind(defaultKey = Keyboard.KEY_RIGHT) + @ConfigAccordionId(id = 2) + public int arrowRightKey = Keyboard.KEY_RIGHT; + + @Expose + @ConfigOption( + name = "Backpack Open", + desc = "Open the selected backpack" + ) + @ConfigEditorKeybind(defaultKey = Keyboard.KEY_DOWN) + @ConfigAccordionId(id = 2) + public int arrowDownKey = Keyboard.KEY_DOWN; +} diff --git a/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/Toolbar.java b/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/Toolbar.java index 39674459..ff1b94c5 100644 --- a/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/Toolbar.java +++ b/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/Toolbar.java @@ -1,101 +1,101 @@ -package io.github.moulberry.notenoughupdates.options.seperateSections;
-
-import com.google.gson.annotations.Expose;
-import io.github.moulberry.notenoughupdates.core.config.annotations.*;
-
-public class Toolbar {
- @Expose
- @ConfigOption(
- name = "Edit Toolbar Positions",
- desc = "Edit the position of the QuickCommands / Search Bar"
- )
- @ConfigEditorButton(runnableId = 6, buttonText = "Edit")
- public boolean positionButton = true;
-
- @ConfigOption(
- name = "Search Bar",
- desc = ""
- )
- @ConfigEditorAccordion(id = 0)
- public boolean searchBarAccordion = false;
-
- @Expose
- @ConfigOption(
- name = "Show Search Bar",
- desc = "Show Itemlist search bar in the NEU toolbar"
- )
- @ConfigEditorBoolean
- @ConfigAccordionId(id = 0)
- public boolean searchBar = true;
-
- @Expose
- @ConfigOption(
- name = "Show a quick settings button",
- desc = "Show quick settings button in the NEU toolbar"
- )
- @ConfigEditorBoolean
- @ConfigAccordionId(id = 0)
- public boolean enableSettingsButton = true;
-
- @Expose
- @ConfigOption(
- name = "Show a help settings button",
- desc = "Show quick settings button in the NEU toolbar"
- )
- @ConfigEditorBoolean
- @ConfigAccordionId(id = 0)
- public boolean enableHelpButton = true;
-
- @Expose
- @ConfigOption(
- name = "Search Bar Width",
- desc = "Change the width of the search bar"
- )
- @ConfigEditorSlider(
- minValue = 50f,
- maxValue = 300f,
- minStep = 10f
- )
- @ConfigAccordionId(id = 0)
- public int searchBarWidth = 200;
-
- @Expose
- @ConfigOption(
- name = "Search Bar Height",
- desc = "Change the height of the search bar"
- )
- @ConfigEditorSlider(
- minValue = 15f,
- maxValue = 50f,
- minStep = 1f
- )
- @ConfigAccordionId(id = 0)
- public int searchBarHeight = 40;
-
- @Expose
- @ConfigOption(
- name = "Auto turnoff search mode",
- desc = "Turns off the inventory search mode after 2 minutes"
- )
- @ConfigEditorBoolean
- @ConfigAccordionId(id = 0)
- public boolean autoTurnOffSearchMode = true;
-
- @Expose
- @ConfigOption(
- name = "Show Quick Commands",
- desc = "Show QuickCommands\u2122 in the NEU toolbar"
- )
- @ConfigEditorBoolean
- public boolean quickCommands = false;
-
- @Expose
- @ConfigOption(
- name = "Quick Commands Click Type",
- desc = "Change the click type needed to trigger quick commands"
- )
- @ConfigEditorDropdown(
- values = {"Mouse Up", "Mouse Down"}
- )
- public int quickCommandsClickType = 0;
-}
+package io.github.moulberry.notenoughupdates.options.seperateSections; + +import com.google.gson.annotations.Expose; +import io.github.moulberry.notenoughupdates.core.config.annotations.*; + +public class Toolbar { + @Expose + @ConfigOption( + name = "Edit Toolbar Positions", + desc = "Edit the position of the QuickCommands / Search Bar" + ) + @ConfigEditorButton(runnableId = 6, buttonText = "Edit") + public boolean positionButton = true; + + @ConfigOption( + name = "Search Bar", + desc = "" + ) + @ConfigEditorAccordion(id = 0) + public boolean searchBarAccordion = false; + + @Expose + @ConfigOption( + name = "Show Search Bar", + desc = "Show Itemlist search bar in the NEU toolbar" + ) + @ConfigEditorBoolean + @ConfigAccordionId(id = 0) + public boolean searchBar = true; + + @Expose + @ConfigOption( + name = "Show a quick settings button", + desc = "Show quick settings button in the NEU toolbar" + ) + @ConfigEditorBoolean + @ConfigAccordionId(id = 0) + public boolean enableSettingsButton = true; + + @Expose + @ConfigOption( + name = "Show a help settings button", + desc = "Show quick settings button in the NEU toolbar" + ) + @ConfigEditorBoolean + @ConfigAccordionId(id = 0) + public boolean enableHelpButton = true; + + @Expose + @ConfigOption( + name = "Search Bar Width", + desc = "Change the width of the search bar" + ) + @ConfigEditorSlider( + minValue = 50f, + maxValue = 300f, + minStep = 10f + ) + @ConfigAccordionId(id = 0) + public int searchBarWidth = 200; + + @Expose + @ConfigOption( + name = "Search Bar Height", + desc = "Change the height of the search bar" + ) + @ConfigEditorSlider( + minValue = 15f, + maxValue = 50f, + minStep = 1f + ) + @ConfigAccordionId(id = 0) + public int searchBarHeight = 40; + + @Expose + @ConfigOption( + name = "Auto turnoff search mode", + desc = "Turns off the inventory search mode after 2 minutes" + ) + @ConfigEditorBoolean + @ConfigAccordionId(id = 0) + public boolean autoTurnOffSearchMode = true; + + @Expose + @ConfigOption( + name = "Show Quick Commands", + desc = "Show QuickCommands\u2122 in the NEU toolbar" + ) + @ConfigEditorBoolean + public boolean quickCommands = false; + + @Expose + @ConfigOption( + name = "Quick Commands Click Type", + desc = "Change the click type needed to trigger quick commands" + ) + @ConfigEditorDropdown( + values = {"Mouse Up", "Mouse Down"} + ) + public int quickCommandsClickType = 0; +} diff --git a/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/TooltipTweaks.java b/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/TooltipTweaks.java index 52d2a5d1..b35c6795 100644 --- a/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/TooltipTweaks.java +++ b/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/TooltipTweaks.java @@ -1,142 +1,142 @@ -package io.github.moulberry.notenoughupdates.options.seperateSections;
-
-import com.google.gson.annotations.Expose;
-import io.github.moulberry.notenoughupdates.core.config.annotations.*;
-import org.lwjgl.input.Keyboard;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-
-public class TooltipTweaks {
- @ConfigOption(
- name = "Tooltip Price Information",
- desc = ""
- )
- @ConfigEditorAccordion(id = 0)
- public boolean priceInfoAccordion = false;
-
- @Expose
- @ConfigOption(
- name = "Price Info (Auc)",
- desc = "\u00a7rSelect what price information you would like to see on auctionable item tooltips\n" +
- "\u00a7eDrag text to rearrange"
- )
- @ConfigEditorDraggableList(
- exampleText = {
- "\u00a7eLowest BIN",
- "\u00a7eAH Price",
- "\u00a7eAH Sales",
- "\u00a7eRaw Craft Cost",
- "\u00a7eAVG Lowest BIN",
- "\u00a7eDungeon Costs"
- }
- )
- @ConfigAccordionId(id = 0)
- public List<Integer> priceInfoAuc = new ArrayList<>(Arrays.asList(0, 1, 2, 3, 5));
-
- @Expose
- @ConfigOption(
- name = "Price Info (Baz)",
- desc = "\u00a7rSelect what price information you would like to see on bazaar item tooltips\n" +
- "\u00a7eDrag text to rearrange"
- )
- @ConfigEditorDraggableList(
- exampleText = {"\u00a7eBuy", "\u00a7eSell", "\u00a7eBuy (Insta)", "\u00a7eSell (Insta)", "\u00a7eRaw Craft Cost"}
- )
- @ConfigAccordionId(id = 0)
- public List<Integer> priceInfoBaz = new ArrayList<>(Arrays.asList(0, 1, 2, 3, 4));
-
- @Expose
- @ConfigOption(
- name = "Use Short Number Format",
- desc = "Use Short Numbers (5.1m) instead of 5,130,302"
- )
- @ConfigEditorBoolean
- @ConfigAccordionId(id = 0)
- public boolean shortNumberFormatPrices = false;
-
- @Expose
- @ConfigOption(
- name = "Price Info (Inv)",
- desc = "Show price information for items in your inventory"
- )
- @ConfigEditorBoolean
- public boolean showPriceInfoInvItem = true;
-
- @Expose
- @ConfigOption(
- name = "Price Info (AH)",
- desc = "Show price information for auctioned items"
- )
- @ConfigEditorBoolean
- public boolean showPriceInfoAucItem = true;
-
- @Expose
- @ConfigOption(
- name = "Price info keybind",
- desc = "Only show price info if holding a key."
- )
- @ConfigEditorBoolean
- public boolean disablePriceKey = false;
-
- @Expose
- @ConfigOption(
- name = "Show Price info Keybind",
- desc = "Hold this key to show a price info tooltip"
- )
- @ConfigEditorKeybind(defaultKey = Keyboard.KEY_NONE)
- public int disablePriceKeyKeybind = Keyboard.KEY_NONE;
-
- @Expose
- @ConfigOption(
- name = "Show reforge stats",
- desc = "Show statistics a reforge stone will apply."
- )
- @ConfigEditorBoolean
- public boolean showReforgeStats = true;
-
- @Expose
- @ConfigOption(
- name = "Hide default reforge stats",
- desc = "Hides the reforge stats only for Legendary items that Hypixel adds to the Reforge stones"
- )
- @ConfigEditorBoolean
- public boolean hideDefaultReforgeStats = true;
-
- @Expose
- @ConfigOption(
- name = "Missing Enchant List",
- desc = "Show which enchants are missing on an item when pressing LSHIFT"
- )
- @ConfigEditorBoolean
- public boolean missingEnchantList = true;
-
- @Expose
- @ConfigOption(
- name = "Expand Pet Exp Requirement",
- desc = "Show which the full amount of pet xp required"
- )
- @ConfigEditorBoolean
- public boolean petExtendExp = false;
-
- @Expose
- @ConfigOption(
- name = "Tooltip Border Colours",
- desc = "Make the borders of tooltips match the rarity of the item (NEU Tooltips Only)"
- )
- @ConfigEditorBoolean
- public boolean tooltipBorderColours = true;
-
- @Expose
- @ConfigOption(
- name = "Tooltip Border Opacity",
- desc = "Change the opacity of the rarity highlight (NEU Tooltips Only)"
- )
- @ConfigEditorSlider(
- minValue = 0f,
- maxValue = 255f,
- minStep = 1f
- )
- public int tooltipBorderOpacity = 200;
+package io.github.moulberry.notenoughupdates.options.seperateSections; + +import com.google.gson.annotations.Expose; +import io.github.moulberry.notenoughupdates.core.config.annotations.*; +import org.lwjgl.input.Keyboard; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; + +public class TooltipTweaks { + @ConfigOption( + name = "Tooltip Price Information", + desc = "" + ) + @ConfigEditorAccordion(id = 0) + public boolean priceInfoAccordion = false; + + @Expose + @ConfigOption( + name = "Price Info (Auc)", + desc = "\u00a7rSelect what price information you would like to see on auctionable item tooltips\n" + + "\u00a7eDrag text to rearrange" + ) + @ConfigEditorDraggableList( + exampleText = { + "\u00a7eLowest BIN", + "\u00a7eAH Price", + "\u00a7eAH Sales", + "\u00a7eRaw Craft Cost", + "\u00a7eAVG Lowest BIN", + "\u00a7eDungeon Costs" + } + ) + @ConfigAccordionId(id = 0) + public List<Integer> priceInfoAuc = new ArrayList<>(Arrays.asList(0, 1, 2, 3, 5)); + + @Expose + @ConfigOption( + name = "Price Info (Baz)", + desc = "\u00a7rSelect what price information you would like to see on bazaar item tooltips\n" + + "\u00a7eDrag text to rearrange" + ) + @ConfigEditorDraggableList( + exampleText = {"\u00a7eBuy", "\u00a7eSell", "\u00a7eBuy (Insta)", "\u00a7eSell (Insta)", "\u00a7eRaw Craft Cost"} + ) + @ConfigAccordionId(id = 0) + public List<Integer> priceInfoBaz = new ArrayList<>(Arrays.asList(0, 1, 2, 3, 4)); + + @Expose + @ConfigOption( + name = "Use Short Number Format", + desc = "Use Short Numbers (5.1m) instead of 5,130,302" + ) + @ConfigEditorBoolean + @ConfigAccordionId(id = 0) + public boolean shortNumberFormatPrices = false; + + @Expose + @ConfigOption( + name = "Price Info (Inv)", + desc = "Show price information for items in your inventory" + ) + @ConfigEditorBoolean + public boolean showPriceInfoInvItem = true; + + @Expose + @ConfigOption( + name = "Price Info (AH)", + desc = "Show price information for auctioned items" + ) + @ConfigEditorBoolean + public boolean showPriceInfoAucItem = true; + + @Expose + @ConfigOption( + name = "Price info keybind", + desc = "Only show price info if holding a key." + ) + @ConfigEditorBoolean + public boolean disablePriceKey = false; + + @Expose + @ConfigOption( + name = "Show Price info Keybind", + desc = "Hold this key to show a price info tooltip" + ) + @ConfigEditorKeybind(defaultKey = Keyboard.KEY_NONE) + public int disablePriceKeyKeybind = Keyboard.KEY_NONE; + + @Expose + @ConfigOption( + name = "Show reforge stats", + desc = "Show statistics a reforge stone will apply." + ) + @ConfigEditorBoolean + public boolean showReforgeStats = true; + + @Expose + @ConfigOption( + name = "Hide default reforge stats", + desc = "Hides the reforge stats only for Legendary items that Hypixel adds to the Reforge stones" + ) + @ConfigEditorBoolean + public boolean hideDefaultReforgeStats = true; + + @Expose + @ConfigOption( + name = "Missing Enchant List", + desc = "Show which enchants are missing on an item when pressing LSHIFT" + ) + @ConfigEditorBoolean + public boolean missingEnchantList = true; + + @Expose + @ConfigOption( + name = "Expand Pet Exp Requirement", + desc = "Show which the full amount of pet xp required" + ) + @ConfigEditorBoolean + public boolean petExtendExp = false; + + @Expose + @ConfigOption( + name = "Tooltip Border Colours", + desc = "Make the borders of tooltips match the rarity of the item (NEU Tooltips Only)" + ) + @ConfigEditorBoolean + public boolean tooltipBorderColours = true; + + @Expose + @ConfigOption( + name = "Tooltip Border Opacity", + desc = "Change the opacity of the rarity highlight (NEU Tooltips Only)" + ) + @ConfigEditorSlider( + minValue = 0f, + maxValue = 255f, + minStep = 1f + ) + public int tooltipBorderOpacity = 200; }
\ No newline at end of file diff --git a/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/TradeMenu.java b/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/TradeMenu.java index cb0c5dd1..d6f0808f 100644 --- a/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/TradeMenu.java +++ b/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/TradeMenu.java @@ -1,26 +1,26 @@ -package io.github.moulberry.notenoughupdates.options.seperateSections;
-
-import com.google.gson.annotations.Expose;
-import io.github.moulberry.notenoughupdates.core.config.annotations.ConfigEditorBoolean;
-import io.github.moulberry.notenoughupdates.core.config.annotations.ConfigOption;
-
-public class TradeMenu {
- @Expose
- @ConfigOption(
- name = "Enable Custom Trade Menu",
- desc = "When trading with other players in skyblock, display a special GUI designed to prevent scamming"
- )
- @ConfigEditorBoolean
- public boolean enableCustomTrade = true;
-
- @Expose
- @ConfigOption(
- name = "Price Information",
- desc = "Show the price of items in the trade window on both sides"
- )
- @ConfigEditorBoolean
- public boolean customTradePrices = true;
-
- @Expose
- public boolean customTradePriceStyle = true;
-}
+package io.github.moulberry.notenoughupdates.options.seperateSections; + +import com.google.gson.annotations.Expose; +import io.github.moulberry.notenoughupdates.core.config.annotations.ConfigEditorBoolean; +import io.github.moulberry.notenoughupdates.core.config.annotations.ConfigOption; + +public class TradeMenu { + @Expose + @ConfigOption( + name = "Enable Custom Trade Menu", + desc = "When trading with other players in skyblock, display a special GUI designed to prevent scamming" + ) + @ConfigEditorBoolean + public boolean enableCustomTrade = true; + + @Expose + @ConfigOption( + name = "Price Information", + desc = "Show the price of items in the trade window on both sides" + ) + @ConfigEditorBoolean + public boolean customTradePrices = true; + + @Expose + public boolean customTradePriceStyle = true; +} |