aboutsummaryrefslogtreecommitdiff
path: root/src/main/java
diff options
context:
space:
mode:
authorviciscat <51047087+viciscat@users.noreply.github.com>2024-09-08 18:16:03 +0200
committerviciscat <51047087+viciscat@users.noreply.github.com>2024-12-12 18:21:01 +0100
commit2158cc523bca158d678c84d152d7e716141f3af9 (patch)
tree1f139047249b86af1595f3faea47b803a993ef1b /src/main/java
parent2c4ce78591757958960bdb029a082170f62dcc4d (diff)
downloadSkyblocker-2158cc523bca158d678c84d152d7e716141f3af9.tar.gz
Skyblocker-2158cc523bca158d678c84d152d7e716141f3af9.tar.bz2
Skyblocker-2158cc523bca158d678c84d152d7e716141f3af9.zip
annotation yipee!
did the todo in TheEnd while I was at it and removed EndHudConfigScreen.java
Diffstat (limited to 'src/main/java')
-rw-r--r--src/main/java/de/hysky/skyblocker/config/categories/FarmingCategory.java2
-rw-r--r--src/main/java/de/hysky/skyblocker/config/categories/MiningCategory.java3
-rw-r--r--src/main/java/de/hysky/skyblocker/config/categories/OtherLocationsCategory.java7
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/dwarven/CrystalsHudWidget.java10
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/end/EndHudConfigScreen.java28
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/end/EndHudWidget.java9
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/end/TheEnd.java16
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/garden/FarmingHud.java2
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/garden/FarmingHudWidget.java9
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/tabhud/screenbuilder/ScreenMaster.java32
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/CommsWidget.java2
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/ComposterWidget.java4
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/DungeonBuffWidget.java5
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/DungeonDeathWidget.java3
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/DungeonDownedWidget.java3
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/DungeonPuzzleWidget.java3
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/DungeonSecretWidget.java3
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/DungeonServerWidget.java3
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/EffectWidget.java3
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/ElectionWidget.java3
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/EssenceWidget.java4
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/EventWidget.java3
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/FireSaleWidget.java3
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/ForgeWidget.java4
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/JacobsContestWidget.java6
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/MinionWidget.java3
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/PetWidget.java3
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/PowderWidget.java3
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/ProfileWidget.java3
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/ServerWidget.java3
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/SkillsWidget.java4
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/VisitorsWidget.java3
32 files changed, 89 insertions, 103 deletions
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.<Boolean>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.<Float>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<String> 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<IntIntMutablePair> getConfigPos(SkyblockerConfig config) {
- return List.of(IntIntMutablePair.of(config.otherLocations.end.x, config.otherLocations.end.y));
- }
-
- @Override
- protected void savePos(SkyblockerConfig configManager, List<HudWidget> 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(Formatti