diff options
| author | hannibal2 <24389977+hannibal00212@users.noreply.github.com> | 2023-09-17 10:54:24 +0200 | 
|---|---|---|
| committer | hannibal2 <24389977+hannibal00212@users.noreply.github.com> | 2023-09-17 10:54:24 +0200 | 
| commit | dc337e273420fbc987fabdfb07f42a78116da164 (patch) | |
| tree | 077648c22dcf785b5ffc0f9fe392f634bdd67ed3 | |
| parent | e55b901cf4368f030dd10519946e54f1129ab78a (diff) | |
| download | skyhanni-dc337e273420fbc987fabdfb07f42a78116da164.tar.gz skyhanni-dc337e273420fbc987fabdfb07f42a78116da164.tar.bz2 skyhanni-dc337e273420fbc987fabdfb07f42a78116da164.zip  | |
migrate city project config into event and real time, tps display, and custom text box config into gui
7 files changed, 107 insertions, 98 deletions
diff --git a/src/main/java/at/hannibal2/skyhanni/config/features/EventConfig.java b/src/main/java/at/hannibal2/skyhanni/config/features/EventConfig.java index a76c49858..79224ce80 100644 --- a/src/main/java/at/hannibal2/skyhanni/config/features/EventConfig.java +++ b/src/main/java/at/hannibal2/skyhanni/config/features/EventConfig.java @@ -277,6 +277,35 @@ public class EventConfig {      } +    @ConfigOption(name = "City Project", desc = "") +    @Accordion +    @Expose +    public CityProjectConfig cityProject = new CityProjectConfig(); + +    public static class CityProjectConfig { + +        @Expose +        @ConfigOption(name = "Show Materials", desc = "Show materials needed for contributing to the City Project.") +        @ConfigEditorBoolean +        @FeatureToggle +        public boolean showMaterials = true; + +        @Expose +        @ConfigOption(name = "Show Ready", desc = "Mark contributions that are ready to participate.") +        @ConfigEditorBoolean +        @FeatureToggle +        public boolean showReady = true; + +        @Expose +        @ConfigOption(name = "Daily Reminder", desc = "Remind every 24 hours to participate.") +        @ConfigEditorBoolean +        @FeatureToggle +        public boolean dailyReminder = true; + +        @Expose +        public Position pos = new Position(150, 150, false, true); +    } +      // comment in if the event is needed again  //    @ConfigOption(name = "300þ Anniversary Celebration", desc = "Features for the 300þ year of SkyBlock")      @Accordion diff --git a/src/main/java/at/hannibal2/skyhanni/config/features/GUIConfig.java b/src/main/java/at/hannibal2/skyhanni/config/features/GUIConfig.java index cf9f0cc39..f885bfc82 100644 --- a/src/main/java/at/hannibal2/skyhanni/config/features/GUIConfig.java +++ b/src/main/java/at/hannibal2/skyhanni/config/features/GUIConfig.java @@ -1,11 +1,11 @@  package at.hannibal2.skyhanni.config.features; +import at.hannibal2.skyhanni.config.FeatureToggle; +import at.hannibal2.skyhanni.config.core.config.Position;  import at.hannibal2.skyhanni.data.GuiEditManager;  import com.google.gson.annotations.Expose; -import io.github.moulberry.moulconfig.annotations.ConfigEditorButton; -import io.github.moulberry.moulconfig.annotations.ConfigEditorKeybind; -import io.github.moulberry.moulconfig.annotations.ConfigEditorSlider; -import io.github.moulberry.moulconfig.annotations.ConfigOption; +import io.github.moulberry.moulconfig.annotations.*; +import io.github.moulberry.moulconfig.observer.Property;  import org.lwjgl.input.Keyboard;  public class GUIConfig { @@ -23,4 +23,45 @@ public class GUIConfig {      @ConfigOption(name = "Global GUI scale", desc = "Globally scale all SkyHanni GUIs")      @ConfigEditorSlider(minValue = 0.1F, maxValue = 10, minStep = 0.05F)      public float globalScale = 1F; + +    @Expose +    @ConfigOption(name = "Custom Text box", desc = "") +    @Accordion +    public TextBoxConfig customTextBox = new TextBoxConfig(); + +    public static class TextBoxConfig { + +        @Expose +        @ConfigOption(name = "Enabled", desc = "Enables showing the textbox while in SkyBlock.") +        @ConfigEditorBoolean +        public boolean enabled = false; + +        @Expose +        @ConfigOption(name = "Text", desc = "Enter text you want to display here.\n" + +                "§eUse '&' as the colour code character.\n" + +                "§eUse '\\n' as the line break character.") +        @ConfigEditorText +        public Property<String> text = Property.of("&aYour Text Here\\n&bYour new line here"); + +        @Expose +        public Position position = new Position(10, 80, false, true); +    } + +    @Expose +    @ConfigOption(name = "Real Time", desc = "Display the current computer time, a handy feature when playing in full-screen mode.") +    @ConfigEditorBoolean +    @FeatureToggle +    public boolean realTime = false; + +    @Expose +    public Position realTimePosition = new Position(10, 10, false, true); + +    @Expose +    @ConfigOption(name = "Tps Display", desc = "Show the TPS of the current server, like in Soopy.") +    @ConfigEditorBoolean +    @FeatureToggle +    public boolean tpsDisplay = false; + +    @Expose +    public Position tpsDisplayPosition = new Position(10, 10, false, true);  } diff --git a/src/main/java/at/hannibal2/skyhanni/config/features/MiscConfig.java b/src/main/java/at/hannibal2/skyhanni/config/features/MiscConfig.java index bd231257d..d29b14f9b 100644 --- a/src/main/java/at/hannibal2/skyhanni/config/features/MiscConfig.java +++ b/src/main/java/at/hannibal2/skyhanni/config/features/MiscConfig.java @@ -54,24 +54,6 @@ public class MiscConfig {      @Expose      public Position petDisplayPos = new Position(-330, -15, false, true); -    // rename this to just "time will cause a config reset -    @ConfigOption(name = "Time Features", desc = "") -    @Accordion -    @Expose -    public TimeConfig timeConfigs = new TimeConfig(); - -    public static class TimeConfig { - -        @Expose -        @ConfigOption(name = "Real Time", desc = "Display the current computer time, a handy feature when playing in full-screen mode.") -        @ConfigEditorBoolean -        @FeatureToggle -        public boolean realTime = false; - -        @Expose -        public Position realTimePos = new Position(10, 10, false, true); -    } -      @ConfigOption(name = "Hide Armor", desc = "")      @Accordion      @Expose @@ -116,21 +98,6 @@ public class MiscConfig {      public Position nonGodPotEffectPos = new Position(10, 10, false, true);      @Expose -    @ConfigOption(name = "Tps Display", desc = "") -    @ConfigEditorAccordion(id = 8) -    public boolean tpsDisplay = false; - -    @Expose -    @ConfigOption(name = "Tps Display", desc = "Show the TPS of the current server, like in Soopy.") -    @ConfigEditorBoolean -    @ConfigAccordionId(id = 8) -    @FeatureToggle -    public boolean tpsDisplayEnabled = false; - -    @Expose -    public Position tpsDisplayPosition = new Position(10, 10, false, true); - -    @Expose      @ConfigOption(name = "Particle Hider", desc = "")      @ConfigEditorAccordion(id = 9)      public boolean particleHider = false; @@ -378,35 +345,6 @@ public class MiscConfig {          public boolean inventoryNumbers = false;      } -    @ConfigOption(name = "City Project", desc = "") -    @Accordion -    @Expose -    public CityProject cityProject = new CityProject(); - -    public static class CityProject { - -        @Expose -        @ConfigOption(name = "Show Materials", desc = "Show materials needed for contributing to the City Project.") -        @ConfigEditorBoolean -        @FeatureToggle -        public boolean showMaterials = true; - -        @Expose -        @ConfigOption(name = "Show Ready", desc = "Mark contributions that are ready to participate.") -        @ConfigEditorBoolean -        @FeatureToggle -        public boolean showReady = true; - -        @Expose -        @ConfigOption(name = "Daily Reminder", desc = "Remind every 24 hours to participate.") -        @ConfigEditorBoolean -        @FeatureToggle -        public boolean dailyReminder = true; - -        @Expose -        public Position pos = new Position(150, 150, false, true); -    } -      @ConfigOption(name = "Pocket Sack-In-A-Sack", desc = "")      @Accordion      @Expose @@ -511,29 +449,6 @@ public class MiscConfig {      }      @Expose -    @ConfigOption(name = "Custom Text box", desc = "") -    @Accordion -    public TextBox textBox = new TextBox(); - -    public static class TextBox { - -        @Expose -        @ConfigOption(name = "Enabled", desc = "Enables showing the textbox while in SkyBlock.") -        @ConfigEditorBoolean -        public boolean enabled = false; - -        @Expose -        @ConfigOption(name = "Text", desc = "Enter text you want to display here.\n" + -                "§eUse '&' as the colour code character.\n" + -                "§eUse '\\n' as the line break character.") -        @ConfigEditorText -        public Property<String> text = Property.of("&aYour Text Here\\n&bYour new line here"); - -        @Expose -        public Position position = new Position(10, 80, false, true); -    } - -    @Expose      @ConfigOption(name = "Cosmetic", desc = "")      @Accordion      public CosmeticConfig cosmeticConfig = new CosmeticConfig(); diff --git a/src/main/java/at/hannibal2/skyhanni/features/fame/CityProjectFeatures.kt b/src/main/java/at/hannibal2/skyhanni/features/fame/CityProjectFeatures.kt index 706de6807..2e8154d6a 100644 --- a/src/main/java/at/hannibal2/skyhanni/features/fame/CityProjectFeatures.kt +++ b/src/main/java/at/hannibal2/skyhanni/features/fame/CityProjectFeatures.kt @@ -1,6 +1,7 @@  package at.hannibal2.skyhanni.features.fame  import at.hannibal2.skyhanni.SkyHanniMod +import at.hannibal2.skyhanni.config.ConfigUpdaterMigrator  import at.hannibal2.skyhanni.data.ProfileStorageData  import at.hannibal2.skyhanni.events.*  import at.hannibal2.skyhanni.features.bazaar.BazaarApi @@ -27,7 +28,7 @@ class CityProjectFeatures {      private val contributeAgainPattern = "§7Contribute again: §e(?<time>.*)".toPattern()      companion object { -        private val config get() = SkyHanniMod.feature.misc.cityProject +        private val config get() = SkyHanniMod.feature.event.cityProject          fun disable() {              config.dailyReminder = false              LorenzUtils.chat("§c[SkyHanni] Disabled city project reminder messages!") @@ -188,4 +189,9 @@ class CityProjectFeatures {              }          }      } + +    @SubscribeEvent +    fun onConfigFix(event: ConfigUpdaterMigrator.ConfigFixEvent) { +        event.move(2, "misc.cityProject", "event.cityProject") +    }  } diff --git a/src/main/java/at/hannibal2/skyhanni/features/misc/CustomTextBox.kt b/src/main/java/at/hannibal2/skyhanni/features/misc/CustomTextBox.kt index 7c05c6af1..eb78def01 100644 --- a/src/main/java/at/hannibal2/skyhanni/features/misc/CustomTextBox.kt +++ b/src/main/java/at/hannibal2/skyhanni/features/misc/CustomTextBox.kt @@ -1,6 +1,7 @@  package at.hannibal2.skyhanni.features.misc  import at.hannibal2.skyhanni.SkyHanniMod +import at.hannibal2.skyhanni.config.ConfigUpdaterMigrator  import at.hannibal2.skyhanni.events.ConfigLoadEvent  import at.hannibal2.skyhanni.events.GuiRenderEvent  import at.hannibal2.skyhanni.utils.LorenzUtils @@ -9,7 +10,7 @@ import at.hannibal2.skyhanni.utils.RenderUtils.renderStrings  import net.minecraftforge.fml.common.eventhandler.SubscribeEvent  class CustomTextBox { -    private val config get() = SkyHanniMod.feature.misc.textBox +    private val config get() = SkyHanniMod.feature.gui.customTextBox      private var display = listOf<String>()      @SubscribeEvent @@ -30,4 +31,9 @@ class CustomTextBox {          config.position.renderStrings(display, posLabel = "Custom Text Box")      } + +    @SubscribeEvent +    fun onConfigFix(event: ConfigUpdaterMigrator.ConfigFixEvent) { +        event.move(2, "misc.textBox", "gui.customTextBox") +    }  }
\ No newline at end of file diff --git a/src/main/java/at/hannibal2/skyhanni/features/misc/TimeFeatures.kt b/src/main/java/at/hannibal2/skyhanni/features/misc/TimeFeatures.kt index 0ec010924..4f23411a0 100644 --- a/src/main/java/at/hannibal2/skyhanni/features/misc/TimeFeatures.kt +++ b/src/main/java/at/hannibal2/skyhanni/features/misc/TimeFeatures.kt @@ -17,7 +17,7 @@ import kotlin.time.Duration.Companion.days  import kotlin.time.Duration.Companion.seconds  class TimeFeatures { -    private val config get() = SkyHanniMod.feature.misc.timeConfigs +    private val config get() = SkyHanniMod.feature.gui      private val winterConfig get() = SkyHanniMod.feature.event.winter      private val format = SimpleDateFormat("HH:mm:ss") @@ -31,7 +31,7 @@ class TimeFeatures {          if (!LorenzUtils.inSkyBlock) return          if (config.realTime) { -            config.realTimePos.renderString(format.format(System.currentTimeMillis()), posLabel = "Real Time") +            config.realTimePosition.renderString(format.format(System.currentTimeMillis()), posLabel = "Real Time")          }          if (winterConfig.islandCloseTime && IslandType.WINTER.isInIsland()) { @@ -50,5 +50,8 @@ class TimeFeatures {      fun onConfigFix(event: ConfigUpdaterMigrator.ConfigFixEvent) {          event.move(2, "misc.timeConfigs.winterTime", "event.winter.islandCloseTime")          event.move(2, "misc.timeConfigs.winterTimePos", "event.winter.islandCloseTimePosition") + +        event.move(2, "misc.timeConfigs.realTime", "gui.realTime") +        event.move(2, "misc.timeConfigs.realTimePos", "gui.realTimePosition")      }  }
\ No newline at end of file diff --git a/src/main/java/at/hannibal2/skyhanni/features/misc/TpsCounter.kt b/src/main/java/at/hannibal2/skyhanni/features/misc/TpsCounter.kt index 864bdde72..726771f8c 100644 --- a/src/main/java/at/hannibal2/skyhanni/features/misc/TpsCounter.kt +++ b/src/main/java/at/hannibal2/skyhanni/features/misc/TpsCounter.kt @@ -1,6 +1,7 @@  package at.hannibal2.skyhanni.features.misc  import at.hannibal2.skyhanni.SkyHanniMod +import at.hannibal2.skyhanni.config.ConfigUpdaterMigrator  import at.hannibal2.skyhanni.events.GuiRenderEvent  import at.hannibal2.skyhanni.events.LorenzWorldChangeEvent  import at.hannibal2.skyhanni.events.PacketEvent @@ -12,6 +13,8 @@ import net.minecraftforge.fml.common.eventhandler.SubscribeEvent  import kotlin.concurrent.fixedRateTimer  class TpsCounter { +    private val config get() = SkyHanniMod.feature.gui +      companion object {          private const val minDataAmount = 5          private const val waitAfterWorldSwitch = 6 @@ -27,7 +30,7 @@ class TpsCounter {      init {          fixedRateTimer(name = "skyhanni-tps-counter-seconds", period = 1000L) {              if (!LorenzUtils.inSkyBlock) return@fixedRateTimer -            if (!SkyHanniMod.feature.misc.tpsDisplayEnabled) return@fixedRateTimer +            if (!config.tpsDisplay) return@fixedRateTimer              if (packetsFromLastSecond == 0) return@fixedRateTimer              if (ignoreFirstTicks > 0) { @@ -57,7 +60,7 @@ class TpsCounter {          }          fixedRateTimer(name = "skyhanni-tps-counter-ticks", period = 50L) {              if (!LorenzUtils.inSkyBlock) return@fixedRateTimer -            if (!SkyHanniMod.feature.misc.tpsDisplayEnabled) return@fixedRateTimer +            if (!config.tpsDisplay) return@fixedRateTimer              if (hasPacketReceived) {                  hasPacketReceived = false @@ -76,16 +79,22 @@ class TpsCounter {      @SubscribeEvent(priority = EventPriority.LOW, receiveCanceled = true)      fun onChatPacket(event: PacketEvent.ReceiveEvent) { -        if (!SkyHanniMod.feature.misc.tpsDisplayEnabled) return +        if (!config.tpsDisplay) return          hasPacketReceived = true      }      @SubscribeEvent      fun onRenderOverlay(event: GuiRenderEvent.GameOverlayRenderEvent) {          if (!LorenzUtils.inSkyBlock) return -        if (!SkyHanniMod.feature.misc.tpsDisplayEnabled) return +        if (!config.tpsDisplay) return + +        config.tpsDisplayPosition.renderString(display, posLabel = "Tps Display") +    } -        SkyHanniMod.feature.misc.tpsDisplayPosition.renderString(display, posLabel = "Tps Display") +    @SubscribeEvent +    fun onConfigFix(event: ConfigUpdaterMigrator.ConfigFixEvent) { +        event.move(2, "misc.tpsDisplayEnabled", "gui.tpsDisplay") +        event.move(2, "misc.tpsDisplayPosition", "gui.tpsDisplayPosition")      }      private fun getColor(tps: Double): String {  | 
