From 2158cc523bca158d678c84d152d7e716141f3af9 Mon Sep 17 00:00:00 2001 From: viciscat <51047087+viciscat@users.noreply.github.com> Date: Sun, 8 Sep 2024 18:16:03 +0200 Subject: annotation yipee! did the todo in TheEnd while I was at it and removed EndHudConfigScreen.java --- .../config/categories/FarmingCategory.java | 2 +- .../config/categories/MiningCategory.java | 3 +- .../config/categories/OtherLocationsCategory.java | 7 ++--- .../skyblock/dwarven/CrystalsHudWidget.java | 10 ++++++- .../skyblock/end/EndHudConfigScreen.java | 28 ------------------- .../skyblocker/skyblock/end/EndHudWidget.java | 9 +++++- .../de/hysky/skyblocker/skyblock/end/TheEnd.java | 16 +++++------ .../skyblocker/skyblock/garden/FarmingHud.java | 2 +- .../skyblock/garden/FarmingHudWidget.java | 9 +++++- .../tabhud/screenbuilder/ScreenMaster.java | 32 ++++------------------ .../skyblock/tabhud/widget/CommsWidget.java | 2 ++ .../skyblock/tabhud/widget/ComposterWidget.java | 4 +-- .../skyblock/tabhud/widget/DungeonBuffWidget.java | 5 ++-- .../skyblock/tabhud/widget/DungeonDeathWidget.java | 3 +- .../tabhud/widget/DungeonDownedWidget.java | 3 +- .../tabhud/widget/DungeonPuzzleWidget.java | 3 +- .../tabhud/widget/DungeonSecretWidget.java | 3 +- .../tabhud/widget/DungeonServerWidget.java | 3 +- .../skyblock/tabhud/widget/EffectWidget.java | 3 +- .../skyblock/tabhud/widget/ElectionWidget.java | 3 +- .../skyblock/tabhud/widget/EssenceWidget.java | 4 +-- .../skyblock/tabhud/widget/EventWidget.java | 3 +- .../skyblock/tabhud/widget/FireSaleWidget.java | 3 +- .../skyblock/tabhud/widget/ForgeWidget.java | 4 +-- .../tabhud/widget/JacobsContestWidget.java | 6 ++-- .../skyblock/tabhud/widget/MinionWidget.java | 3 +- .../skyblock/tabhud/widget/PetWidget.java | 3 +- .../skyblock/tabhud/widget/PowderWidget.java | 3 +- .../skyblock/tabhud/widget/ProfileWidget.java | 3 +- .../skyblock/tabhud/widget/ServerWidget.java | 3 +- .../skyblock/tabhud/widget/SkillsWidget.java | 4 +-- .../skyblock/tabhud/widget/VisitorsWidget.java | 3 +- 32 files changed, 89 insertions(+), 103 deletions(-) delete mode 100644 src/main/java/de/hysky/skyblocker/skyblock/end/EndHudConfigScreen.java (limited to 'src/main/java') diff --git a/src/main/java/de/hysky/skyblocker/config/categories/FarmingCategory.java b/src/main/java/de/hysky/skyblocker/config/categories/FarmingCategory.java index 4f91252c..6ebbc23e 100644 --- a/src/main/java/de/hysky/skyblocker/config/categories/FarmingCategory.java +++ b/src/main/java/de/hysky/skyblocker/config/categories/FarmingCategory.java @@ -32,7 +32,7 @@ public class FarmingCategory { .option(ButtonOption.createBuilder() .name(Text.translatable("skyblocker.config.farming.garden.farmingHud")) .text(Text.translatable("text.skyblocker.open")) - .action((screen, opt) -> MinecraftClient.getInstance().setScreen(new WidgetsConfigurationScreen(Location.GARDEN, FarmingHudWidget.INSTANCE.getInternalID(), screen))) + .action((screen, opt) -> MinecraftClient.getInstance().setScreen(new WidgetsConfigurationScreen(Location.GARDEN, FarmingHudWidget.getInstance().getInternalID(), screen))) .build()) .option(Option.createBuilder() .name(Text.translatable("skyblocker.config.farming.garden.dicerTitlePrevent")) diff --git a/src/main/java/de/hysky/skyblocker/config/categories/MiningCategory.java b/src/main/java/de/hysky/skyblocker/config/categories/MiningCategory.java index 36ecd60e..eaaab35b 100644 --- a/src/main/java/de/hysky/skyblocker/config/categories/MiningCategory.java +++ b/src/main/java/de/hysky/skyblocker/config/categories/MiningCategory.java @@ -8,7 +8,6 @@ import dev.isxander.yacl3.api.*; import dev.isxander.yacl3.api.controller.ColorControllerBuilder; import de.hysky.skyblocker.skyblock.tabhud.config.WidgetsConfigurationScreen; import de.hysky.skyblocker.utils.Location; -import dev.isxander.yacl3.api.*; import dev.isxander.yacl3.api.controller.FloatFieldControllerBuilder; import dev.isxander.yacl3.api.controller.IntegerSliderControllerBuilder; import net.minecraft.client.MinecraftClient; @@ -150,7 +149,7 @@ public class MiningCategory { .option(ButtonOption.createBuilder() .name(Text.translatable("skyblocker.config.mining.crystalsHud.screen")) .text(Text.translatable("text.skyblocker.open")) - .action((screen, opt) -> MinecraftClient.getInstance().setScreen(new WidgetsConfigurationScreen(Location.CRYSTAL_HOLLOWS, CrystalsHudWidget.INSTANCE.getInternalID(), screen))) + .action((screen, opt) -> MinecraftClient.getInstance().setScreen(new WidgetsConfigurationScreen(Location.CRYSTAL_HOLLOWS, CrystalsHudWidget.getInstance().getInternalID(), screen))) .build()) .option(Option.createBuilder() .name(Text.translatable("skyblocker.config.mining.crystalsHud.mapScaling")) diff --git a/src/main/java/de/hysky/skyblocker/config/categories/OtherLocationsCategory.java b/src/main/java/de/hysky/skyblocker/config/categories/OtherLocationsCategory.java index d8e87697..c578bdc2 100644 --- a/src/main/java/de/hysky/skyblocker/config/categories/OtherLocationsCategory.java +++ b/src/main/java/de/hysky/skyblocker/config/categories/OtherLocationsCategory.java @@ -2,7 +2,6 @@ package de.hysky.skyblocker.config.categories; import de.hysky.skyblocker.config.ConfigUtils; import de.hysky.skyblocker.config.SkyblockerConfig; -import de.hysky.skyblocker.skyblock.end.EndHudConfigScreen; import de.hysky.skyblocker.skyblock.end.EndHudWidget; import de.hysky.skyblocker.skyblock.end.TheEnd; import de.hysky.skyblocker.skyblock.tabhud.config.WidgetsConfigurationScreen; @@ -106,7 +105,7 @@ public class OtherLocationsCategory { () -> config.otherLocations.end.zealotKillsEnabled, newValue -> { config.otherLocations.end.zealotKillsEnabled = newValue; - EndHudWidget.INSTANCE.update(); + EndHudWidget.getInstance().update(); }) .controller(ConfigUtils::createBooleanController) .build()) @@ -116,7 +115,7 @@ public class OtherLocationsCategory { () -> config.otherLocations.end.protectorLocationEnabled, newValue -> { config.otherLocations.end.protectorLocationEnabled = newValue; - EndHudWidget.INSTANCE.update(); + EndHudWidget.getInstance().update(); }) .controller(ConfigUtils::createBooleanController) .build()) @@ -130,7 +129,7 @@ public class OtherLocationsCategory { .option(ButtonOption.createBuilder() .name(Text.translatable("skyblocker.config.otherLocations.end.screen")) .text(Text.translatable("text.skyblocker.open")) // Reusing again lol - .action((screen, opt) -> MinecraftClient.getInstance().setScreen(new WidgetsConfigurationScreen(Location.THE_END, EndHudWidget.INSTANCE.getInternalID(), screen))) + .action((screen, opt) -> MinecraftClient.getInstance().setScreen(new WidgetsConfigurationScreen(Location.THE_END, EndHudWidget.getInstance().getInternalID(), screen))) .build()) .option(ButtonOption.createBuilder() .name(Text.translatable("skyblocker.config.otherLocations.end.resetName")) diff --git a/src/main/java/de/hysky/skyblocker/skyblock/dwarven/CrystalsHudWidget.java b/src/main/java/de/hysky/skyblocker/skyblock/dwarven/CrystalsHudWidget.java index 602b7fcf..f472f734 100644 --- a/src/main/java/de/hysky/skyblocker/skyblock/dwarven/CrystalsHudWidget.java +++ b/src/main/java/de/hysky/skyblocker/skyblock/dwarven/CrystalsHudWidget.java @@ -1,6 +1,7 @@ package de.hysky.skyblocker.skyblock.dwarven; import de.hysky.skyblocker.SkyblockerMod; +import de.hysky.skyblocker.annotations.RegisterWidget; import de.hysky.skyblocker.config.SkyblockerConfigManager; import de.hysky.skyblocker.skyblock.tabhud.widget.HudWidget; import de.hysky.skyblocker.utils.Location; @@ -16,16 +17,23 @@ import org.joml.Vector2ic; import java.util.List; import java.util.Map; +@RegisterWidget public class CrystalsHudWidget extends HudWidget { private static final MinecraftClient CLIENT = MinecraftClient.getInstance(); protected static final Identifier MAP_TEXTURE = Identifier.of(SkyblockerMod.NAMESPACE, "textures/gui/crystals_map.png"); private static final Identifier MAP_ICON = Identifier.ofVanilla("textures/map/decorations/player.png"); private static final List SMALL_LOCATIONS = List.of("Fairy Grotto", "King Yolkar", "Corleone", "Odawa", "Key Guardian", "Unknown"); - public static final CrystalsHudWidget INSTANCE = new CrystalsHudWidget(); + private static CrystalsHudWidget instance = null; + + public static CrystalsHudWidget getInstance() { + if (instance == null) new CrystalsHudWidget(); + return instance; + } public CrystalsHudWidget() { super("hud_crystals"); + instance = this; } /** diff --git a/src/main/java/de/hysky/skyblocker/skyblock/end/EndHudConfigScreen.java b/src/main/java/de/hysky/skyblocker/skyblock/end/EndHudConfigScreen.java deleted file mode 100644 index 19a96bd4..00000000 --- a/src/main/java/de/hysky/skyblocker/skyblock/end/EndHudConfigScreen.java +++ /dev/null @@ -1,28 +0,0 @@ -package de.hysky.skyblocker.skyblock.end; - -import de.hysky.skyblocker.config.HudConfigScreen; -import de.hysky.skyblocker.config.SkyblockerConfig; -import de.hysky.skyblocker.skyblock.tabhud.widget.HudWidget; -import it.unimi.dsi.fastutil.ints.IntIntMutablePair; -import net.minecraft.client.gui.screen.Screen; -import net.minecraft.text.Text; - -import java.util.List; - -public class EndHudConfigScreen extends HudConfigScreen { - public EndHudConfigScreen(Screen parent) { - super(Text.literal("End HUD Config"), parent, EndHudWidget.INSTANCE); - } - - @SuppressWarnings("SuspiciousNameCombination") - @Override - protected List getConfigPos(SkyblockerConfig config) { - return List.of(IntIntMutablePair.of(config.otherLocations.end.x, config.otherLocations.end.y)); - } - - @Override - protected void savePos(SkyblockerConfig configManager, List widgets) { - configManager.otherLocations.end.x = widgets.getFirst().getX(); - configManager.otherLocations.end.y = widgets.getFirst().getY(); - } -} diff --git a/src/main/java/de/hysky/skyblocker/skyblock/end/EndHudWidget.java b/src/main/java/de/hysky/skyblocker/skyblock/end/EndHudWidget.java index ee1b95c1..d56a03ca 100644 --- a/src/main/java/de/hysky/skyblocker/skyblock/end/EndHudWidget.java +++ b/src/main/java/de/hysky/skyblocker/skyblock/end/EndHudWidget.java @@ -23,7 +23,13 @@ import java.util.Optional; public class EndHudWidget extends ComponentBasedWidget { private static final MutableText TITLE = Text.literal("The End").formatted(Formatting.LIGHT_PURPLE, Formatting.BOLD); - public static final EndHudWidget INSTANCE = new EndHudWidget(); + private static EndHudWidget instance = null; + + public static EndHudWidget getInstance() { + if (instance == null) instance = new EndHudWidget(); + return instance; + } + private static final NumberFormat DECIMAL_FORMAT = NumberFormat.getInstance(Locale.US); private static final ItemStack ENDERMAN_HEAD = new ItemStack(Items.PLAYER_HEAD); private static final ItemStack POPPY = new ItemStack(Items.POPPY); @@ -38,6 +44,7 @@ public class EndHudWidget extends ComponentBasedWidget { public EndHudWidget() { super(TITLE, Formatting.DARK_PURPLE.getColorValue(), "hud_end"); + instance = this; this.update(); } @Override diff --git a/src/main/java/de/hysky/skyblocker/skyblock/end/TheEnd.java b/src/main/java/de/hysky/skyblocker/skyblock/end/TheEnd.java index 5aa9eae7..7c51ca12 100644 --- a/src/main/java/de/hysky/skyblocker/skyblock/end/TheEnd.java +++ b/src/main/java/de/hysky/skyblocker/skyblock/end/TheEnd.java @@ -5,14 +5,13 @@ import com.google.gson.JsonObject; import de.hysky.skyblocker.SkyblockerMod; import de.hysky.skyblocker.annotations.Init; import de.hysky.skyblocker.config.SkyblockerConfigManager; -import de.hysky.skyblocker.events.HudRenderEvents; +import de.hysky.skyblocker.events.SkyblockEvents; import de.hysky.skyblocker.utils.ColorUtils; import de.hysky.skyblocker.utils.Utils; import de.hysky.skyblocker.utils.waypoint.Waypoint; import net.fabricmc.fabric.api.client.event.lifecycle.v1.ClientChunkEvents; import net.fabricmc.fabric.api.client.event.lifecycle.v1.ClientLifecycleEvents; import net.fabricmc.fabric.api.client.message.v1.ClientReceiveMessageEvents; -import net.fabricmc.fabric.api.client.networking.v1.ClientPlayConnectionEvents; import net.fabricmc.fabric.api.client.rendering.v1.WorldRenderContext; import net.fabricmc.fabric.api.client.rendering.v1.WorldRenderEvents; import net.fabricmc.fabric.api.event.player.AttackEntityCallback; @@ -101,12 +100,11 @@ public class TheEnd { }); // Reset when changing island - // TODO: Replace when a changed island event is added - ClientPlayConnectionEvents.JOIN.register((handler, sender, client) -> { + SkyblockEvents.LOCATION_CHANGE.register(location -> { resetLocation(); save(); load(); - EndHudWidget.INSTANCE.update(); + EndHudWidget.getInstance().update(); }); // Save when leaving as well ClientLifecycleEvents.CLIENT_STOPPING.register((client) -> save()); @@ -121,7 +119,7 @@ public class TheEnd { else if (lowerCase.contains("rises from below")) stage = 5; else if (lowerCase.contains("protector down") || lowerCase.contains("has risen")) resetLocation(); else return; - EndHudWidget.INSTANCE.update(); + EndHudWidget.getInstance().update(); }); WorldRenderEvents.AFTER_TRANSLUCENT.register(TheEnd::renderWaypoint); @@ -148,7 +146,7 @@ public class TheEnd { if (world.getBlockState(new BlockPos(protectorLocation.x, i + 5, protectorLocation.z)).isOf(Blocks.PLAYER_HEAD)) { stage = i + 1; currentProtectorLocation = protectorLocation; - EndHudWidget.INSTANCE.update(); + EndHudWidget.getInstance().update(); return true; } } @@ -172,7 +170,7 @@ public class TheEnd { zealotsKilled++; dirty = true; hitZealots.remove(enderman.getUuid()); - EndHudWidget.INSTANCE.update(); + EndHudWidget.getInstance().update(); } } @@ -209,7 +207,7 @@ public class TheEnd { zealotsKilled = jsonElement1.getAsJsonObject().get("totalZealotKills").getAsInt(); zealotsSinceLastEye = jsonElement1.getAsJsonObject().get("zealotsSinceLastEye").getAsInt(); eyes = jsonElement1.getAsJsonObject().get("eyes").getAsInt(); - EndHudWidget.INSTANCE.update(); + EndHudWidget.getInstance().update(); } } diff --git a/src/main/java/de/hysky/skyblocker/skyblock/garden/FarmingHud.java b/src/main/java/de/hysky/skyblocker/skyblock/garden/FarmingHud.java index a81a6d4b..095f9b76 100644 --- a/src/main/java/de/hysky/skyblocker/skyblock/garden/FarmingHud.java +++ b/src/main/java/de/hysky/skyblocker/skyblock/garden/FarmingHud.java @@ -64,7 +64,7 @@ public class FarmingHud { counterType = CounterType.NONE; } - FarmingHudWidget.INSTANCE.update(); + FarmingHudWidget.getInstance().update(); } }); ClientPlayerBlockBreakEvents.AFTER.register((world, player, pos, state) -> { diff --git a/src/main/java/de/hysky/skyblocker/skyblock/garden/FarmingHudWidget.java b/src/main/java/de/hysky/skyblocker/skyblock/garden/FarmingHudWidget.java index f686b0ae..5f7516b7 100644 --- a/src/main/java/de/hysky/skyblocker/skyblock/garden/FarmingHudWidget.java +++ b/src/main/java/de/hysky/skyblocker/skyblock/garden/FarmingHudWidget.java @@ -50,11 +50,18 @@ public class FarmingHudWidget extends ComponentBasedWidget { Map.entry("PUMPKIN_DICER_3", "PUMPKIN"), Map.entry("COCO_CHOPPER", "INK_SACK:3") ); - public static final FarmingHudWidget INSTANCE = new FarmingHudWidget(); + private static FarmingHudWidget instance = null; + + public static FarmingHudWidget getInstance() { + if (instance == null) instance = new FarmingHudWidget(); + return instance; + } + private final MinecraftClient client = MinecraftClient.getInstance(); public FarmingHudWidget() { super(TITLE, Formatting.YELLOW.getColorValue(), "hud_farming"); + instance = this; update(); } diff --git a/src/main/java/de/hysky/skyblocker/skyblock/tabhud/screenbuilder/ScreenMaster.java b/src/main/java/de/hysky/skyblocker/skyblock/tabhud/screenbuilder/ScreenMaster.java index bffa5418..a2931e85 100644 --- a/src/main/java/de/hysky/skyblocker/skyblock/tabhud/screenbuilder/ScreenMaster.java +++ b/src/main/java/de/hysky/skyblocker/skyblock/tabhud/screenbuilder/ScreenMaster.java @@ -1,6 +1,5 @@ package de.hysky.skyblocker.skyblock.tabhud.screenbuilder; -import com.google.common.reflect.ClassPath; import com.google.gson.JsonElement; import com.google.gson.JsonObject; import com.mojang.logging.LogUtils; @@ -15,7 +14,6 @@ import de.hysky.skyblocker.skyblock.tabhud.screenbuilder.pipeline.PositionRule; import de.hysky.skyblocker.skyblock.tabhud.util.PlayerListMgr; import de.hysky.skyblocker.skyblock.tabhud.widget.DungeonPlayerWidget; import de.hysky.skyblocker.skyblock.tabhud.widget.HudWidget; -import de.hysky.skyblocker.skyblock.tabhud.widget.TabHudWidget; import de.hysky.skyblocker.utils.Location; import de.hysky.skyblocker.utils.Utils; import net.fabricmc.fabric.api.client.event.lifecycle.v1.ClientLifecycleEvents; @@ -26,7 +24,6 @@ import org.slf4j.Logger; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.IOException; -import java.lang.reflect.InvocationTargetException; import java.nio.file.Files; import java.nio.file.NoSuchFileException; import java.nio.file.Path; @@ -158,30 +155,13 @@ public class ScreenMaster { instantiateWidgets(); - ClientLifecycleEvents.CLIENT_STARTED.register(client -> { - try { - ClassPath.from(TabHudWidget.class.getClassLoader()).getTopLevelClasses("de.hysky.skyblocker.skyblock.tabhud.widget").iterator().forEachRemaining(classInfo -> { - try { - Class load = Class.forName(classInfo.getName()); - if (!load.getSuperclass().equals(TabHudWidget.class)) return; - if (load.equals(DungeonPlayerWidget.class)) { - for (int i = 1; i < 6; i++) { - DungeonPlayerWidget widget = new DungeonPlayerWidget(i); - PlayerListMgr.tabWidgetInstances.put(widget.getHypixelWidgetName(), widget); - } - } else { - TabHudWidget tabHudWidget = (TabHudWidget) load.getDeclaredConstructor().newInstance(); - PlayerListMgr.tabWidgetInstances.put(tabHudWidget.getHypixelWidgetName(), tabHudWidget); - } - } catch (NoSuchMethodException | InvocationTargetException | InstantiationException | - IllegalAccessException | ClassNotFoundException e) { - LOGGER.error("[Skyblocker] Failed to load {} hud widget", classInfo.getName(), e); - } + for (int i = 1; i < 6; i++) { + DungeonPlayerWidget widget = new DungeonPlayerWidget(i); + addWidgetInstance(widget); + PlayerListMgr.tabWidgetInstances.put(widget.getHypixelWidgetName(), widget); + } - }); - } catch (Exception e) { - LOGGER.error("[Skyblocker] Failed to get instances of hud widgets", e); - } + ClientLifecycleEvents.CLIENT_STARTED.register(client -> { fillDefaultConfig(); loadConfig(); diff --git a/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/CommsWidget.java b/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/CommsWidget.java index fe045351..cc862077 100644 --- a/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/CommsWidget.java +++ b/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/CommsWidget.java @@ -5,6 +5,7 @@ import java.util.List; import java.util.regex.Matcher; import java.util.regex.Pattern; +import de.hysky.skyblocker.annotations.RegisterWidget; import de.hysky.skyblocker.skyblock.dwarven.CommissionLabels; import de.hysky.skyblocker.skyblock.tabhud.util.Ico; import de.hysky.skyblocker.skyblock.tabhud.widget.component.IcoTextComponent; @@ -17,6 +18,7 @@ import net.minecraft.util.Formatting; // this widget shows the status of the king's commissions. // (dwarven mines and crystal hollows) +@RegisterWidget public class CommsWidget extends TabHudWidget { private static final MutableText TITLE = Text.literal("Commissions").formatted(Formatting.DARK_AQUA, diff --git a/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/ComposterWidget.java b/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/ComposterWidget.java index 94e6791f..83e35fcb 100644 --- a/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/ComposterWidget.java +++ b/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/ComposterWidget.java @@ -1,8 +1,8 @@ package de.hysky.skyblocker.skyblock.tabhud.widget; +import de.hysky.skyblocker.annotations.RegisterWidget; import de.hysky.skyblocker.skyblock.tabhud.util.Ico; -import de.hysky.skyblocker.skyblock.tabhud.util.PlayerListMgr; import de.hysky.skyblocker.skyblock.tabhud.widget.component.IcoTextComponent; import de.hysky.skyblocker.skyblock.tabhud.widget.component.PlainTextComponent; import net.minecraft.text.MutableText; @@ -12,7 +12,7 @@ import net.minecraft.util.Formatting; import java.util.List; // this widget shows info about the garden's composter - +@RegisterWidget public class ComposterWidget extends TabHudWidget { private static final MutableText TITLE = Text.literal("Composter").formatted(Formatting.GREEN, diff --git a/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/DungeonBuffWidget.java b/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/DungeonBuffWidget.java index fc3362ed..6cb47993 100644 --- a/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/DungeonBuffWidget.java +++ b/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/DungeonBuffWidget.java @@ -1,5 +1,6 @@ package de.hysky.skyblocker.skyblock.tabhud.widget; +import de.hysky.skyblocker.annotations.RegisterWidget; import de.hysky.skyblocker.skyblock.tabhud.widget.component.PlainTextComponent; import de.hysky.skyblocker.skyblock.tabhud.util.PlayerListMgr; import net.minecraft.text.MutableText; @@ -11,7 +12,7 @@ import java.util.Comparator; import java.util.List; // this widget shows a list of obtained dungeon buffs - +@RegisterWidget public class DungeonBuffWidget extends TabHudWidget { private static final MutableText TITLE = Text.literal("Dungeon Buffs").formatted(Formatting.DARK_PURPLE, @@ -66,4 +67,4 @@ public class DungeonBuffWidget extends TabHudWidget { return 0xffffff; } -} \ No newline at end of file +} diff --git a/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/DungeonDeathWidget.java b/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/DungeonDeathWidget.java index 5119b394..18afe1e9 100644 --- a/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/DungeonDeathWidget.java +++ b/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/DungeonDeathWidget.java @@ -4,6 +4,7 @@ import java.util.List; import java.util.regex.Matcher; import java.util.regex.Pattern; +import de.hysky.skyblocker.annotations.RegisterWidget; import de.hysky.skyblocker.skyblock.tabhud.widget.component.IcoTextComponent; import de.hysky.skyblocker.skyblock.tabhud.util.Ico; import de.hysky.skyblocker.skyblock.tabhud.util.PlayerListMgr; @@ -13,7 +14,7 @@ import net.minecraft.util.Formatting; // this widget shows various dungeon info // deaths, healing, dmg taken, milestones - +@RegisterWidget public class DungeonDeathWidget extends TabHudWidget { private static final MutableText TITLE = Text.literal("Death").formatted(Formatting.DARK_PURPLE, diff --git a/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/DungeonDownedWidget.java b/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/DungeonDownedWidget.java index 79af6364..f846f287 100644 --- a/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/DungeonDownedWidget.java +++ b/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/DungeonDownedWidget.java @@ -1,5 +1,6 @@ package de.hysky.skyblocker.skyblock.tabhud.widget; +import de.hysky.skyblocker.annotations.RegisterWidget; import de.hysky.skyblocker.skyblock.tabhud.widget.component.IcoTextComponent; import de.hysky.skyblocker.skyblock.tabhud.util.Ico; import de.hysky.skyblocker.skyblock.tabhud.util.PlayerListMgr; @@ -11,7 +12,7 @@ import java.util.List; // this widget shows info about... something? // related to downed people in dungeons, not sure what this is supposed to show - +@RegisterWidget public class DungeonDownedWidget extends TabHudWidget { private static final MutableText TITLE = Text.literal("Downed").formatted(Formatting.DARK_PURPLE, diff --git a/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/DungeonPuzzleWidget.java b/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/DungeonPuzzleWidget.java index 2d2cf99f..c5af089d 100644 --- a/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/DungeonPuzzleWidget.java +++ b/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/DungeonPuzzleWidget.java @@ -4,6 +4,7 @@ import java.util.List; import java.util.regex.Matcher; import java.util.regex.Pattern; +import de.hysky.skyblocker.annotations.RegisterWidget; import de.hysky.skyblocker.skyblock.tabhud.widget.component.IcoTextComponent; import de.hysky.skyblocker.skyblock.tabhud.util.Ico; import de.hysky.skyblocker.skyblock.tabhud.util.PlayerListMgr; @@ -12,7 +13,7 @@ import net.minecraft.text.Text; import net.minecraft.util.Formatting; // this widget shows info about all puzzeles in the dungeon (name and status) - +@RegisterWidget public class DungeonPuzzleWidget extends TabHudWidget { private static final MutableText TITLE = Text.literal("Puzzles").formatted(Formatting.DARK_PURPLE, diff --git a/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/DungeonSecretWidget.java b/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/DungeonSecretWidget.java index e40dfad3..9f667b6c 100644 --- a/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/DungeonSecretWidget.java +++ b/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/DungeonSecretWidget.java @@ -1,5 +1,6 @@ package de.hysky.skyblocker.skyblock.tabhud.widget; +import de.hysky.skyblocker.annotations.RegisterWidget; import de.hysky.skyblocker.skyblock.dungeon.DungeonScore; import de.hysky.skyblocker.skyblock.tabhud.util.Ico; import de.hysky.skyblocker.skyblock.tabhud.util.PlayerListMgr; @@ -11,7 +12,7 @@ import java.util.List; import java.util.regex.Pattern; // this widget shows info about the secrets of the dungeon - +@RegisterWidget public class DungeonSecretWidget extends TabHudWidget { private static final MutableText TITLE = Text.literal("Discoveries").formatted(Formatting.DARK_PURPLE, Formatting.BOLD); diff --git a/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/DungeonServerWidget.java b/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/DungeonServerWidget.java index ca208a48..dd6ca713 100644 --- a/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/DungeonServerWidget.java +++ b/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/DungeonServerWidget.java @@ -4,6 +4,7 @@ import java.util.List; import java.util.regex.Matcher; import java.util.regex.Pattern; +import de.hysky.skyblocker.annotations.RegisterWidget; import de.hysky.skyblocker.skyblock.tabhud.widget.component.ProgressComponent; import de.hysky.skyblocker.skyblock.tabhud.util.Ico; import de.hysky.skyblocker.skyblock.tabhud.util.PlayerListMgr; @@ -13,7 +14,7 @@ import net.minecraft.util.Formatting; // this widget shows broad info about the current dungeon // opened/completed rooms, % of secrets found and time taken - +@RegisterWidget public class DungeonServerWidget extends TabHudWidget { private static final MutableText TITLE = Text.literal("Dungeon Info").formatted(Formatting.DARK_PURPLE, diff --git a/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/EffectWidget.java b/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/EffectWidget.java index eba9cb38..10e1753f 100644 --- a/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/EffectWidget.java +++ b/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/EffectWidget.java @@ -1,5 +1,6 @@ package de.hysky.skyblocker.skyblock.tabhud.widget; +import de.hysky.skyblocker.annotations.RegisterWidget; import de.hysky.skyblocker.skyblock.tabhud.util.Ico; import de.hysky.skyblocker.skyblock.tabhud.util.PlayerListMgr; import de.hysky.skyblocker.skyblock.tabhud.widget.component.IcoFatTextComponent; @@ -16,7 +17,7 @@ import java.util.regex.Pattern; // this widgte shows, how many active effects you have. // it also shows one of those in detail. // the parsing is super suspect and should be replaced by some regexes sometime later - +@RegisterWidget public class EffectWidget extends TabHudWidget { private static final MutableText TITLE = Text.literal("Active Effects").formatted(Formatting.DARK_PURPLE, diff --git a/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/ElectionWidget.java b/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/ElectionWidget.java index 298ead3c..2e15d4bf 100644 --- a/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/ElectionWidget.java +++ b/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/ElectionWidget.java @@ -5,6 +5,7 @@ import java.util.List; import java.util.regex.Matcher; import java.util.regex.Pattern; +import de.hysky.skyblocker.annotations.RegisterWidget; import de.hysky.skyblocker.skyblock.tabhud.util.Ico; import de.hysky.skyblocker.skyblock.tabhud.widget.component.IcoTextComponent; import de.hysky.skyblocker.skyblock.tabhud.widget.component.PlainTextComponent; @@ -15,7 +16,7 @@ import net.minecraft.text.Text; import net.minecraft.util.Formatting; // this widget shows the status or results of the current election - +@RegisterWidget public class ElectionWidget extends TabHudWidget { private static final MutableText TITLE = Text.literal("Election Info").formatted(Formatting.YELLOW, diff --git a/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/EssenceWidget.java b/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/EssenceWidget.java index c41582b6..ed559072 100644 --- a/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/EssenceWidget.java +++ b/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/EssenceWidget.java @@ -1,9 +1,9 @@ package de.hysky.skyblocker.skyblock.tabhud.widget; +import de.hysky.skyblocker.annotations.RegisterWidget; import de.hysky.skyblocker.skyblock.tabhud.util.Ico; import de.hysky.skyblocker.skyblock.tabhud.widget.component.IcoTextComponent; import de.hysky.skyblocker.skyblock.tabhud.widget.component.PlainTextComponent; -import de.hysky.skyblocker.skyblock.tabhud.widget.component.TableComponent; import net.minecraft.text.MutableText; import net.minecraft.text.Text; @@ -12,7 +12,7 @@ import net.minecraft.util.Formatting; import java.util.List; // this widget shows your dungeon essences (dungeon hub only) - +@RegisterWidget public class EssenceWidget extends TabHudWidget { private static final MutableText TITLE = Text.literal("Essences").formatted(Formatting.DARK_AQUA, diff --git a/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/EventWidget.java b/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/EventWidget.java index 6072e4f9..fa2e268d 100644 --- a/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/EventWidget.java +++ b/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/EventWidget.java @@ -1,5 +1,6 @@ package de.hysky.skyblocker.skyblock.tabhud.widget; +import de.hysky.skyblocker.annotations.RegisterWidget; import de.hysky.skyblocker.skyblock.tabhud.util.Ico; import de.hysky.skyblocker.skyblock.tabhud.widget.component.IcoTextComponent; import net.minecraft.text.MutableText; @@ -9,7 +10,7 @@ import net.minecraft.util.Formatting; import java.util.List; // this widget shows info about ongoing events (e.g. election) - +@RegisterWidget public class EventWidget extends TabHudWidget { private static final MutableText TITLE = Text.literal("Event Info").formatted(Formatting.YELLOW, Formatting.BOLD); diff --git a/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/FireSaleWidget.java b/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/FireSaleWidget.java index 77654245..e0473fc7 100644 --- a/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/FireSaleWidget.java +++ b/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/FireSaleWidget.java @@ -4,6 +4,7 @@ import java.util.List; import java.util.regex.Matcher; import java.util.regex.Pattern; +import de.hysky.skyblocker.annotations.RegisterWidget; import de.hysky.skyblocker.skyblock.tabhud.util.Ico; import de.hysky.skyblocker.skyblock.tabhud.widget.component.IcoTextComponent; import de.hysky.skyblocker.skyblock.tabhud.widget.component.PlainTextComponent; @@ -15,7 +16,7 @@ import net.minecraft.util.Formatting; // this widget shows info about fire sales when in the hub. // or not, if there isn't one going on - +@RegisterWidget public class FireSaleWidget extends TabHudWidget { private static final MutableText TITLE = Text.literal("Fire Sales").formatted(Formatting.DARK_AQUA, diff --git a/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/ForgeWidget.java b/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/ForgeWidget.java index 40be16cc..6abeccf6 100644 --- a/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/ForgeWidget.java +++ b/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/ForgeWidget.java @@ -1,7 +1,7 @@ package de.hysky.skyblocker.skyblock.tabhud.widget; +import de.hysky.skyblocker.annotations.RegisterWidget; import de.hysky.skyblocker.skyblock.tabhud.util.Ico; -import de.hysky.skyblocker.skyblock.tabhud.util.PlayerListMgr; import de.hysky.skyblocker.skyblock.tabhud.widget.component.Component; import de.hysky.skyblocker.skyblock.tabhud.widget.component.IcoFatTextComponent; import de.hysky.skyblocker.skyblock.tabhud.widget.component.IcoTextComponent; @@ -14,7 +14,7 @@ import java.util.List; // this widget shows what you're forging right now. // for locked slots, the unlock requirement is shown - +@RegisterWidget public class ForgeWidget extends TabHudWidget { private static final MutableText TITLE = Text.literal("Forges").formatted(Formatting.DARK_AQUA, diff --git a/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/JacobsContestWidget.java b/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/JacobsContestWidget.java index 33e5f3ab..731fb1c8 100644 --- a/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/JacobsContestWidget.java +++ b/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/JacobsContestWidget.java @@ -1,10 +1,9 @@ package de.hysky.skyblocker.skyblock.tabhud.widget; +import de.hysky.skyblocker.annotations.RegisterWidget; import de.hysky.skyblocker.skyblock.tabhud.util.Ico; -import de.hysky.skyblocker.skyblock.tabhud.util.PlayerListMgr; import de.hysky.skyblocker.skyblock.tabhud.widget.component.IcoTextComponent; import de.hysky.skyblocker.skyblock.tabhud.widget.component.PlainTextComponent; -import de.hysky.skyblocker.skyblock.tabhud.widget.component.TableComponent; import net.minecraft.item.ItemStack; import net.minecraft.item.Items; import net.minecraft.text.MutableText; @@ -13,13 +12,12 @@ import net.minecraft.util.Formatting; import java.util.List; import java.util.Map; -import java.util.regex.Matcher; import java.util.regex.Pattern; import static java.util.Map.entry; // this widget shows info about the current jacob's contest (garden only) - +@RegisterWidget public class JacobsContestWidget extends TabHudWidget { private static final MutableText TITLE = Text.literal("Jacob's Contest").formatted(Formatting.YELLOW, diff --git a/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/MinionWidget.java b/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/MinionWidget.java index 8941fe05..a172c66a 100644 --- a/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/MinionWidget.java +++ b/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/MinionWidget.java @@ -5,6 +5,7 @@ import java.util.List; import java.util.regex.Matcher; import java.util.regex.Pattern; +import de.hysky.skyblocker.annotations.RegisterWidget; import de.hysky.skyblocker.skyblock.tabhud.widget.component.IcoTextComponent; import de.hysky.skyblocker.skyblock.tabhud.widget.component.PlainTextComponent; @@ -15,7 +16,7 @@ import net.minecraft.text.Text; import net.minecraft.util.Formatting; // this widget shows info about minions placed on the home island - +@RegisterWidget public class MinionWidget extends TabHudWidget { private static final MutableText TITLE = Text.literal("Minions").formatted(Formatting.DARK_AQUA, Formatting.BOLD); diff --git a/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/PetWidget.java b/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/PetWidget.java index 15665ffa..03000cd8 100644 --- a/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/PetWidget.java +++ b/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/PetWidget.java @@ -1,5 +1,6 @@ package de.hysky.skyblocker.skyblock.tabhud.widget; +import de.hysky.skyblocker.annotations.RegisterWidget; import de.hysky.skyblocker.skyblock.itemlist.ItemRepository; import de.hysky.skyblocker.skyblock.tabhud.util.Ico; import de.hysky.skyblocker.skyblock.tabhud.widget.component.IcoTextComponent; @@ -10,7 +11,7 @@ import net.minecraft.text.Text; import net.minecraft.util.Formatting; import java.util.List; - +@RegisterWidget public class PetWidget extends TabHudWidget { private static final MutableText TITLE = Text.literal("Pet").formatted(Formatting.YELLOW, diff --git a/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/PowderWidget.java b/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/PowderWidget.java index f8edc554..c8d77e54 100644 --- a/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/PowderWidget.java +++ b/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/PowderWidget.java @@ -1,6 +1,7 @@ package de.hysky.skyblocker.skyblock.tabhud.widget; +import de.hysky.skyblocker.annotations.RegisterWidget; import de.hysky.skyblocker.skyblock.tabhud.util.Ico; import de.hysky.skyblocker.skyblock.tabhud.widget.component.IcoTextComponent; @@ -13,7 +14,7 @@ import java.util.List; // this widget shows how much mithril and gemstone powder you have // (dwarven mines and crystal hollows) - +@RegisterWidget public class PowderWidget extends TabHudWidget { private static final MutableText TITLE = Text.literal("Powders").formatted(Formatting.DARK_AQUA, diff --git a/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/ProfileWidget.java b/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/ProfileWidget.java index 997fc69b..ebf6e9b0 100644 --- a/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/ProfileWidget.java +++ b/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/ProfileWidget.java @@ -1,5 +1,6 @@ package de.hysky.skyblocker.skyblock.tabhud.widget; +import de.hysky.skyblocker.annotations.RegisterWidget; import de.hysky.skyblocker.skyblock.tabhud.util.Ico; import de.hysky.skyblocker.skyblock.tabhud.widget.component.IcoTextComponent; import de.hysky.skyblocker.skyblock.tabhud.widget.component.PlainTextComponent; @@ -10,7 +11,7 @@ import net.minecraft.util.Formatting; import java.util.List; // this widget shows info about your profile and bank - +@RegisterWidget public class ProfileWidget extends TabHudWidget { private static final MutableText TITLE = Text.literal("Profile").formatted(Formatting.YELLOW, Formatting.BOLD); diff --git a/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/ServerWidget.java b/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/ServerWidget.java index 756cbe0e..8a6592b4 100644 --- a/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/ServerWidget.java +++ b/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/ServerWidget.java @@ -1,6 +1,7 @@ package de.hysky.skyblocker.skyblock.tabhud.widget; +import de.hysky.skyblocker.annotations.RegisterWidget; import de.hysky.skyblocker.skyblock.tabhud.util.Ico; import de.hysky.skyblocker.skyblock.tabhud.widget.component.IcoTextComponent; @@ -14,7 +15,7 @@ import java.util.List; // this widget shows info about "generic" servers. // a server is "generic", when only name, server ID and gems are shown // in the third column of the tab HUD - +@RegisterWidget public class ServerWidget extends TabHudWidget { private static final MutableText TITLE = Text.literal("Server Info").formatted(Formatting.DARK_AQUA, diff --git a/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/SkillsWidget.java b/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/SkillsWidget.java index 4e5229fb..27aabe5d 100644 --- a/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/SkillsWidget.java +++ b/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/SkillsWidget.java @@ -4,8 +4,8 @@ import java.util.List; import java.util.regex.Matcher; import java.util.regex.Pattern; +import de.hysky.skyblocker.annotations.RegisterWidget; import de.hysky.skyblocker.skyblock.tabhud.util.Ico; -import de.hysky.skyblocker.skyblock.tabhud.util.PlayerListMgr; import de.hysky.skyblocker.skyblock.tabhud.widget.component.*; import net.minecraft.text.MutableText; import net.minecraft.text.Text; @@ -13,7 +13,7 @@ import net.minecraft.util.Formatting; // this widget shows info about a skill and some stats, // as seen in the rightmost column of the default HUD - +@RegisterWidget public class SkillsWidget extends TabHudWidget { private static final MutableText TITLE = Text.literal("Skill Info").formatted(Formatting.YELLOW, diff --git a/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/VisitorsWidget.java b/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/VisitorsWidget.java index 2026cad3..e4040ac6 100644 --- a/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/VisitorsWidget.java +++ b/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/VisitorsWidget.java @@ -1,12 +1,13 @@ package de.hysky.skyblocker.skyblock.tabhud.widget; +import de.hysky.skyblocker.annotations.RegisterWidget; import de.hysky.skyblocker.skyblock.tabhud.widget.component.PlainTextComponent; import net.minecraft.text.MutableText; import net.minecraft.text.Text; import net.minecraft.util.Formatting; import java.util.List; - +@RegisterWidget public class VisitorsWidget extends TabHudWidget { private static final MutableText TITLE = Text.literal("Visitors").formatted(Formatting.AQUA, -- cgit