/* * Copyright (C) 2022-2024 NotEnoughUpdates contributors * * This file is part of NotEnoughUpdates. * * NotEnoughUpdates is free software: you can redistribute it * and/or modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation, either * version 3 of the License, or (at your option) any later version. * * NotEnoughUpdates is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public License * along with NotEnoughUpdates. If not, see . */ package io.github.moulberry.notenoughupdates.options.separatesections; import com.google.gson.annotations.Expose; import io.github.moulberry.moulconfig.annotations.ConfigAccordionId; import io.github.moulberry.moulconfig.annotations.ConfigEditorAccordion; import io.github.moulberry.moulconfig.annotations.ConfigEditorBoolean; import io.github.moulberry.moulconfig.annotations.ConfigEditorColour; import io.github.moulberry.moulconfig.annotations.ConfigEditorDraggableList; import io.github.moulberry.moulconfig.annotations.ConfigEditorDropdown; import io.github.moulberry.moulconfig.annotations.ConfigEditorInfoText; import io.github.moulberry.moulconfig.annotations.ConfigEditorSlider; import io.github.moulberry.moulconfig.annotations.ConfigOption; import io.github.moulberry.notenoughupdates.core.config.Position; import java.util.ArrayList; import java.util.Arrays; import java.util.List; public class ItemOverlays { @ConfigOption( name = "Treecapitator Overlay", desc = "Jungle Axe" ) @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 = "Determines 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 = 2) 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 = 2) public boolean enableZapperOverlay = true; @Expose @ConfigOption( name = "Overlay Colour", desc = "Change the colour of the ghost block outline" ) @ConfigEditorColour @ConfigAccordionId(id = 2) public String zapperOverlayColour = "0:102:171:5:0"; @ConfigOption( name = "Smooth AOTE/AOTV/AOTL/Hyp", desc = "" ) @ConfigEditorAccordion(id = 3) public boolean aoteAccordion = false; @Expose @ConfigOption( name = "Enable Smooth AOTE", desc = "Teleport smoothly to your destination when using AOTE, AOTV or AOTL" ) @ConfigEditorBoolean @ConfigAccordionId(id = 3) public boolean enableSmoothAOTE = true; @Expose @ConfigOption( name = "Enable Smooth Hyperion", desc = "Teleport smoothly to your destination when using Hyperion" ) @ConfigEditorBoolean @ConfigAccordionId(id = 3) 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 = 3) 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 = 3) public int smoothTpMillisEtherwarp = 50; @Expose @ConfigOption( name = "Disable Hyperion Particles", desc = "Remove the explosion effect when using a hyperion" ) @ConfigEditorBoolean @ConfigAccordionId(id = 3) public boolean disableHyperionParticles = true; @ConfigOption( name = "Etherwarp", desc = "" ) @ConfigEditorAccordion(id = 4) 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 = 4) 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 = 4) 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 = 4) public boolean enableEtherwarpBlockOverlay = true; @Expose @ConfigOption( name = "Disable overlay when fail", desc = "Don't display the etherwarp block overlay when you can't TP to the block" ) @ConfigEditorBoolean @ConfigAccordionId(id = 4) public boolean disableOverlayWhenFailed = false; @Expose @ConfigOption( name = "Hide fail text", desc = "Dont display the text saying you can't TP to the block" ) @ConfigEditorBoolean @ConfigAccordionId(id = 4) public boolean hideEtherwarpFailText = false; @Expose @ConfigOption( name = "Change colour when fail", desc = "Show a different colour when you can't TP to the block" ) @ConfigEditorBoolean @ConfigAccordionId(id = 4) public boolean changeEtherwarpColourWhenFailed = false; @Expose @ConfigOption( name = "Highlight Colour", desc = "Change the colour of the etherwarp target block outline" ) @ConfigEditorColour @ConfigAccordionId(id = 4) public String etherwarpHighlightColour = "00:70:156:8:96"; @Expose @ConfigOption( name = "Fail Highlight Colour", desc = "Change the colour of the etherwarp target block outline when you can't TP to that block" ) @ConfigEditorColour @ConfigAccordionId(id = 4) public String etherwarpFailHighlightColour = "00:70:220:40:40"; @ConfigOption( name = "Bonemerang Overlay", desc = "" ) @ConfigEditorAccordion(id = 5) public boolean bonemerangAccordion = false; @Expose @ConfigOption( name = "Enable Bonemerang Overlay", desc = "Shows info about the bonemerang while holding it." ) @ConfigEditorBoolean @ConfigAccordionId(id = 5) public boolean enableBonemerangOverlay = true; @Expose @ConfigOption( name = "Highlight Targeted Entities", desc = "Highlight entities that will be hit by your bonemerang" ) @ConfigEditorBoolean @ConfigAccordionId(id = 5) public boolean highlightTargeted = true; @Expose 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 = 5) public List 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 = 5) public int bonemerangOverlayStyle = 0; @Expose @ConfigOption( name = "Fast update", desc = "Updates the bonemerang overlay faster.\n" + "Might cause some lag." ) @ConfigEditorBoolean @ConfigAccordionId(id = 5) public boolean bonemerangFastUpdate = false; @ConfigOption( name = "Minion Crystal Radius Overlay", desc = "" ) @ConfigEditorAccordion(id = 6) 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 = 6) 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 = 6) public boolean alwaysShowCrystal = false; @ConfigOption( name = "Farming Overlays", desc = "" ) @ConfigEditorAccordion(id = 7) 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 = 7) 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 = 7) 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 = 7) public boolean enableDirtWandOverlay = true; @Expose @ConfigOption( name = "Enable Scythe Overlay", desc = "Show a block overlay for the effected blocks of scythe's ability." ) @ConfigEditorBoolean @ConfigAccordionId(id = 7) public boolean enableScytheOverlay = true; @ConfigOption( name = "Custom Wither Cloak", desc = "" ) @ConfigEditorAccordion(id = 8) public boolean customWitherCloakAccordion = false; @Expose @ConfigAccordionId(id = 8) @ConfigOption( name = "Enable Custom Wither Cloak", desc = "Replaces Hypixel Wither Cloak with custom shields due to the Hypixel Wither Cloak being difficult to see through" ) @ConfigEditorBoolean public boolean customWitherCloakToggle = true; @Expose @ConfigAccordionId(id = 8) @ConfigOption( name = "Shield Count", desc = "The amount of shields circling the player\n0 = No shields" ) @ConfigEditorSlider( minValue = 0, maxValue = 20, minStep = 1 ) public int customWitherCloakCount = 6; @Expose @ConfigAccordionId(id = 8) @ConfigOption( name = "Shield Speed", desc = "How fast they circle the player\n0 = Not moving\nNegative = Spinning opposite direction" ) @ConfigEditorSlider( minValue = -20f, maxValue = 20f, minStep = 1.0f ) public double customWitherCloakSpeed = 2d; /*@Expose @ConfigAccordionId(id = 7) @ConfigOption( name = "Shield Transparency", desc = "Changes how visible each shield is\n0 = Invisible" ) @ConfigEditorSlider( minValue = 0f, maxValue = 1, minStep = 0.1f ) public float customWitherCloakTransparency = 1.0f; Couldn't get this to work and couldn't for the life of me figure out why - Cobble8 */ @Expose @ConfigAccordionId(id = 8) @ConfigOption( name = "Shield Distance From Player", desc = "How far (in blocks) each shield is from the player\n" + "0 = Inside the player" ) @ConfigEditorSlider( minValue = 0f, maxValue = 3.0f, minStep = 0.1f ) public float customWitherCloakDistance = 1.2f; @Expose @ConfigAccordionId(id = 8) @ConfigOption( name = "\u00A7aInspiration:", desc = "\u00A76u/Sori0612 \u00A77on \u00A7cReddit\n\n\u00A78https://tinyurl.com/creeperveil" ) @ConfigEditorInfoText() public boolean customWitherCloakCredit = false; @ConfigOption( name = "Grappling hook Overlay", desc = "" ) @ConfigEditorAccordion(id = 9) public boolean grappleAccordion = false; @Expose @ConfigOption( name = "Enable grappling hook overlay", desc = "Show the cooldown of grappling hook in the item durability" ) @ConfigEditorBoolean @ConfigAccordionId(id = 9) public boolean enableGrappleOverlay = true; @Expose @ConfigOption( name = "Use Durability for Cooldowns", desc = "Show the cooldown durations as the durability." ) @ConfigEditorBoolean public boolean oldCooldowns = false; @Expose @ConfigOption( name = "Pickaxe Ability Cooldown", desc = "Show the cooldown duration of the pickaxe ability." ) @ConfigEditorBoolean public boolean pickaxeAbility = true; @Expose @ConfigOption( name = "Bonzo Mask Ability Cooldown", desc = "Show the cooldown duration of a bonzo mask ability." ) @ConfigEditorBoolean public boolean bonzoAbility = true; @Expose @ConfigOption( name = "Spirit Mask Ability Cooldown", desc = "Show the cooldown duration of the spirit mask ability." ) @ConfigEditorBoolean public boolean spiritAbility = true; }