diff options
Diffstat (limited to 'src/main/java/me')
19 files changed, 159 insertions, 210 deletions
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/screenbuilder/ScreenBuilder.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/screenbuilder/ScreenBuilder.java index 76b675ce..084a6ffd 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/screenbuilder/ScreenBuilder.java +++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/screenbuilder/ScreenBuilder.java @@ -28,21 +28,21 @@ import net.minecraft.util.Identifier; public class ScreenBuilder { // layout pipeline - private ArrayList<PipelineStage> layoutPipeline = new ArrayList<>(); + private final ArrayList<PipelineStage> layoutPipeline = new ArrayList<>(); // all widget instances this builder knows - private ArrayList<Widget> instances = new ArrayList<>(); + private final ArrayList<Widget> instances = new ArrayList<>(); // maps alias -> widget instance - private HashMap<String, Widget> objectMap = new HashMap<>(); + private final HashMap<String, Widget> objectMap = new HashMap<>(); - private String builderName; + private final String builderName; /** * Create a ScreenBuilder from a json. */ public ScreenBuilder(Identifier ident) { - try (BufferedReader reader = MinecraftClient.getInstance().getResourceManager().openAsReader(ident);) { + try (BufferedReader reader = MinecraftClient.getInstance().getResourceManager().openAsReader(ident)) { this.builderName = ident.getPath(); JsonObject json = JsonParser.parseReader(reader).getAsJsonObject(); @@ -79,23 +79,23 @@ public class ScreenBuilder { // do widgets that require args the normal way JsonElement arg; switch (name) { - case "EventWidget": + case "EventWidget" -> { return new EventWidget(widget.get("inGarden").getAsBoolean()); - - case "DungeonPlayerWidget": + } + case "DungeonPlayerWidget" -> { return new DungeonPlayerWidget(widget.get("player").getAsInt()); - - case "ErrorWidget": + } + case "ErrorWidget" -> { arg = widget.get("text"); if (arg == null) { return new ErrorWidget(); } else { return new ErrorWidget(arg.getAsString()); } - - case "Widget": + } + case "Widget" -> // clown case sanity check. don't instantiate the superclass >:| - throw new NoSuchElementException(builderName + "[ERROR]: No such Widget type \"Widget\"!"); + throw new NoSuchElementException(builderName + "[ERROR]: No such Widget type \"Widget\"!"); } // reflect something together for the "normal" ones. @@ -143,18 +143,13 @@ public class ScreenBuilder { String op = descr.get("op").getAsString(); - switch (op) { - case "place": - return new PlaceStage(this, descr); - case "stack": - return new StackStage(this, descr); - case "align": - return new AlignStage(this, descr); - case "collideAgainst": - return new CollideStage(this, descr); - default: - throw new NoSuchElementException("No such op " + op + " as requested by " + this.builderName); - } + return switch (op) { + case "place" -> new PlaceStage(this, descr); + case "stack" -> new StackStage(this, descr); + case "align" -> new AlignStage(this, descr); + case "collideAgainst" -> new CollideStage(this, descr); + default -> throw new NoSuchElementException("No such op " + op + " as requested by " + this.builderName); + }; } /** diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/screenbuilder/ScreenMaster.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/screenbuilder/ScreenMaster.java index 165e875d..f771ce83 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/screenbuilder/ScreenMaster.java +++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/screenbuilder/ScreenMaster.java @@ -7,15 +7,11 @@ import java.util.Map; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import com.google.gson.JsonArray; -import com.google.gson.JsonElement; import com.google.gson.JsonObject; import com.google.gson.JsonParser; import me.xmrvizzy.skyblocker.skyblock.tabhud.TabHud; -import me.xmrvizzy.skyblocker.skyblock.tabhud.screenbuilder.pipeline.PipelineStage; import me.xmrvizzy.skyblocker.skyblock.tabhud.util.PlayerLocator; -import me.xmrvizzy.skyblocker.skyblock.tabhud.widget.Widget; import net.fabricmc.fabric.api.resource.ResourceManagerHelper; import net.fabricmc.fabric.api.resource.ResourcePackActivationType; import net.fabricmc.fabric.api.resource.SimpleSynchronousResourceReloadListener; @@ -33,9 +29,9 @@ public class ScreenMaster { private static final int VERSION = 1; - private static HashMap<String, ScreenBuilder> standardMap = new HashMap<>(); - private static HashMap<String, ScreenBuilder> screenAMap = new HashMap<>(); - private static HashMap<String, ScreenBuilder> screenBMap = new HashMap<>(); + private static final HashMap<String, ScreenBuilder> standardMap = new HashMap<>(); + private static final HashMap<String, ScreenBuilder> screenAMap = new HashMap<>(); + private static final HashMap<String, ScreenBuilder> screenBMap = new HashMap<>(); /** * Load a screen mapping from an identifier @@ -49,12 +45,10 @@ public class ScreenMaster { location = location.replace(".json", ""); ScreenBuilder sb = new ScreenBuilder(ident); - if (screenType.equals("standard")) { - standardMap.put(location, sb); - } else if (screenType.equals("screen_a")) { - screenAMap.put(location, sb); - } else if (screenType.equals("screen_b")) { - screenBMap.put(location, sb); + switch (screenType) { + case "standard" -> standardMap.put(location, sb); + case "screen_a" -> screenAMap.put(location, sb); + case "screen_b" -> screenBMap.put(location, sb); } } @@ -117,7 +111,7 @@ public class ScreenMaster { .entrySet()) { try (BufferedReader reader = MinecraftClient.getInstance().getResourceManager() - .openAsReader(entry.getKey());) { + .openAsReader(entry.getKey())) { JsonObject json = JsonParser.parseReader(reader).getAsJsonObject(); if (json.get("format_version").getAsInt() != VERSION) { throw new IllegalStateException(String.format("Resource pack isn't compatible! Expected version %d, got %d", VERSION, json.get("format_version").getAsInt())); diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/screenbuilder/pipeline/AlignStage.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/screenbuilder/pipeline/AlignStage.java index 74ebed64..76789a4c 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/screenbuilder/pipeline/AlignStage.java +++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/screenbuilder/pipeline/AlignStage.java @@ -25,7 +25,7 @@ public class AlignStage extends PipelineStage { private final String str; - private AlignReference(String d) { + AlignReference(String d) { this.str = d; } @@ -39,11 +39,11 @@ public class AlignStage extends PipelineStage { } } - private AlignReference reference; + private final AlignReference reference; public AlignStage(ScreenBuilder builder, JsonObject descr) { this.reference = AlignReference.parse(descr.get("reference").getAsString()); - this.primary = new ArrayList<Widget>(descr.getAsJsonArray("apply_to") + this.primary = new ArrayList<>(descr.getAsJsonArray("apply_to") .asList() .stream() .map(x -> builder.getInstance(x.getAsString())) @@ -54,40 +54,28 @@ public class AlignStage extends PipelineStage { int wHalf, hHalf; for (Widget wid : primary) { switch (this.reference) { - case HORICENT: - wid.setX((screenW - wid.getWidth()) / 2); - break; - case VERTCENT: - wid.setY((screenH - wid.getHeight()) / 2); - break; - case LEFTCENT: + case HORICENT -> wid.setX((screenW - wid.getWidth()) / 2); + case VERTCENT -> wid.setY((screenH - wid.getHeight()) / 2); + case LEFTCENT -> { wHalf = screenW / 2; wid.setX(wHalf - ScreenConst.WIDGET_PAD_HALF - wid.getWidth()); - break; - case RIGHTCENT: + } + case RIGHTCENT -> { wHalf = screenW / 2; wid.setX(wHalf + ScreenConst.WIDGET_PAD_HALF); - break; - case TOPCENT: + } + case TOPCENT -> { hHalf = screenH / 2; wid.setY(hHalf - ScreenConst.WIDGET_PAD_HALF - wid.getHeight()); - break; - case BOTCENT: + } + case BOTCENT -> { hHalf = screenH / 2; wid.setY(hHalf + ScreenConst.WIDGET_PAD_HALF); - break; - case TOP: - wid.setY(ScreenConst.getScreenPad()); - break; - case BOT: - wid.setY(screenH - wid.getHeight() - ScreenConst.getScreenPad()); - break; - case LEFT: - wid.setX(ScreenConst.getScreenPad()); - break; - case RIGHT: - wid.setX(screenW - wid.getWidth() - ScreenConst.getScreenPad()); - break; + } + case TOP -> wid.setY(ScreenConst.getScreenPad()); + case BOT -> wid.setY(screenH - wid.getHeight() - ScreenConst.getScreenPad()); + case LEFT -> wid.setX(ScreenConst.getScreenPad()); + case RIGHT -> wid.setX(screenW - wid.getWidth() - ScreenConst.getScreenPad()); } } } diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/screenbuilder/pipeline/CollideStage.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/screenbuilder/pipeline/CollideStage.java index 30031c93..b6a5f789 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/screenbuilder/pipeline/CollideStage.java +++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/screenbuilder/pipeline/CollideStage.java @@ -19,7 +19,7 @@ public class CollideStage extends PipelineStage { private final String str; - private CollideDirection(String d) { + CollideDirection(String d) { this.str = d; } @@ -33,16 +33,16 @@ public class CollideStage extends PipelineStage { } } - private CollideDirection direction; + private final CollideDirection direction; public CollideStage(ScreenBuilder builder, JsonObject descr) { this.direction = CollideDirection.parse(descr.get("direction").getAsString()); - this.primary = new ArrayList<Widget>(descr.getAsJsonArray("widgets") + this.primary = new ArrayList<>(descr.getAsJsonArray("widgets") .asList() .stream() .map(x -> builder.getInstance(x.getAsString())) .toList()); - this.secondary = new ArrayList<Widget>(descr.getAsJsonArray("colliders") + this.secondary = new ArrayList<>(descr.getAsJsonArray("colliders") .asList() .stream() .map(x -> builder.getInstance(x.getAsString())) @@ -51,18 +51,10 @@ public class CollideStage extends PipelineStage { public void run(int screenW, int screenH) { switch (this.direction) { - case LEFT: - primary.forEach(w -> collideAgainstL(screenW, w)); - break; - case RIGHT: - primary.forEach(w -> collideAgainstR(screenW, w)); - break; - case TOP: - primary.forEach(w -> collideAgainstT(screenH, w)); - break; - case BOT: - primary.forEach(w -> collideAgainstB(screenH, w)); - break; + case LEFT -> primary.forEach(w -> collideAgainstL(screenW, w)); + case RIGHT -> primary.forEach(w -> collideAgainstR(screenW, w)); + case TOP -> primary.forEach(w -> collideAgainstT(screenH, w)); + case BOT -> primary.forEach(w -> collideAgainstB(screenH, w)); } } diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/screenbuilder/pipeline/PlaceStage.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/screenbuilder/pipeline/PlaceStage.java index 31a27001..a950f8f2 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/screenbuilder/pipeline/PlaceStage.java +++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/screenbuilder/pipeline/PlaceStage.java @@ -24,7 +24,7 @@ public class PlaceStage extends PipelineStage { private final String str; - private PlaceLocation(String d) { + PlaceLocation(String d) { this.str = d; } @@ -38,11 +38,11 @@ public class PlaceStage extends PipelineStage { } } - private PlaceLocation where; + private final PlaceLocation where; public PlaceStage(ScreenBuilder builder, JsonObject descr) { this.where = PlaceLocation.parse(descr.get("where").getAsString()); - this.primary = new ArrayList<Widget>(descr.getAsJsonArray("apply_to") + this.primary = new ArrayList<>(descr.getAsJsonArray("apply_to") .asList() .stream() .map(x -> builder.getInstance(x.getAsString())) @@ -53,42 +53,42 @@ public class PlaceStage extends PipelineStage { public void run(int screenW, int screenH) { Widget wid = primary.get(0); switch (where) { - case CENTER: + case CENTER -> { wid.setX((screenW - wid.getWidth()) / 2); wid.setY((screenH - wid.getHeight()) / 2); - break; - case TOPCENT: + } + case TOPCENT -> { wid.setX((screenW - wid.getWidth()) / 2); wid.setY(ScreenConst.getScreenPad()); - break; - case BOTCENT: + } + case BOTCENT -> { wid.setX((screenW - wid.getWidth()) / 2); wid.setY((screenH - wid.getHeight()) - ScreenConst.getScreenPad()); - break; - case LEFTCENT: + } + case LEFTCENT -> { wid.setX(ScreenConst.getScreenPad()); wid.setY((screenH - wid.getHeight()) / 2); - break; - case RIGHTCENT: + } + case RIGHTCENT -> { wid.setX((screenW - wid.getWidth()) - ScreenConst.getScreenPad()); wid.setY((screenH - wid.getHeight()) / 2); - break; - case TLCORNER: + } + case TLCORNER -> { wid.setX(ScreenConst.getScreenPad()); wid.setY(ScreenConst.getScreenPad()); - break; - case TRCORNER: + } + case TRCORNER -> { wid.setX((screenW - wid.getWidth()) - ScreenConst.getScreenPad()); wid.setY(ScreenConst.getScreenPad()); - break; - case BLCORNER: + } + case BLCORNER -> { wid.setX(ScreenConst.getScreenPad()); wid.setY((screenH - wid.getHeight()) - ScreenConst.getScreenPad()); - break; - case BRCORNER: + } + case BRCORNER -> { wid.setX((screenW - wid.getWidth()) - ScreenConst.getScreenPad()); wid.setY((screenH - wid.getHeight()) - ScreenConst.getScreenPad()); - break; + } } } }
\ No newline at end of file diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/screenbuilder/pipeline/StackStage.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/screenbuilder/pipeline/StackStage.java index b32a3cca..5eb575c3 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/screenbuilder/pipeline/StackStage.java +++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/screenbuilder/pipeline/StackStage.java @@ -17,7 +17,7 @@ public class StackStage extends PipelineStage { private final String str; - private StackDirection(String d) { + StackDirection(String d) { this.str = d; } @@ -40,7 +40,7 @@ public class StackStage extends PipelineStage { private final String str; - private StackAlign(String d) { + StackAlign(String d) { this.str = d; } @@ -54,13 +54,13 @@ public class StackStage extends PipelineStage { } } - private StackDirection direction; - private StackAlign align; + private final StackDirection direction; + private final StackAlign align; public StackStage(ScreenBuilder builder, JsonObject descr) { this.direction = StackDirection.parse(descr.get("direction").getAsString()); this.align = StackAlign.parse(descr.get("align").getAsString()); - this.primary = new ArrayList<Widget>(descr.getAsJsonArray("apply_to") + this.primary = new ArrayList<>(descr.getAsJsonArray("apply_to") .asList() .stream() .map(x -> builder.getInstance(x.getAsString())) @@ -69,12 +69,8 @@ public class StackStage extends PipelineStage { public void run(int screenW, int screenH) { switch (this.direction) { - case HORIZONTAL: - stackWidgetsHoriz(screenW); - break; - case VERTICAL: - stackWidgetsVert(screenH); - break; + case HORIZONTAL -> stackWidgetsHoriz(screenW); + case VERTICAL -> stackWidgetsVert(screenH); } } @@ -86,9 +82,9 @@ public class StackStage extends PipelineStage { int y = switch (this.align) { - case TOP -> y = ScreenConst.getScreenPad(); - case BOT -> y = (screenH - compHeight) - ScreenConst.getScreenPad(); - default -> y = (screenH - compHeight) / 2; + case TOP -> ScreenConst.getScreenPad(); + case BOT -> (screenH - compHeight) - ScreenConst.getScreenPad(); + default -> (screenH - compHeight) / 2; }; for (Widget wid : primary) { @@ -106,9 +102,9 @@ public class StackStage extends PipelineStage { int x = switch (this.align) { - case LEFT-> x = ScreenConst.getScreenPad(); - case RIGHT -> x = (screenW - compWidth) - ScreenConst.getScreenPad(); - default -> x = (screenW - compWidth) / 2; + case LEFT -> ScreenConst.getScreenPad(); + case RIGHT -> (screenW - compWidth) - ScreenConst.getScreenPad(); + default -> (screenW - compWidth) / 2; }; for (Widget wid : primary) { diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/util/PlayerListMgr.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/util/PlayerListMgr.java index 30cc242e..7b35bcce 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/util/PlayerListMgr.java +++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/util/PlayerListMgr.java @@ -94,7 +94,7 @@ public class PlayerListMgr { return null; } String str = txt.getString().trim(); - if (str.length() == 0) { + if (str.isEmpty()) { return null; } return str; @@ -144,7 +144,7 @@ public class PlayerListMgr { } // Avoid returning an empty component - Rift advertisements needed this - if (newText.getString().length() == 0) { + if (newText.getString().isEmpty()) { return null; } diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/util/PlayerLocator.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/util/PlayerLocator.java index e6aa0336..11c9d860 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/util/PlayerLocator.java +++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/util/PlayerLocator.java @@ -7,7 +7,7 @@ import me.xmrvizzy.skyblocker.utils.Utils; */ public class PlayerLocator { - public static enum Location { + public enum Location { DUNGEON("dungeon"), GUEST_ISLAND("guest_island"), HOME_ISLAND("home_island"), @@ -31,7 +31,7 @@ public class PlayerLocator { public final String internal; - private Location(String i) { + Location(String i) { // as used internally by the mod, e.g. in the json this.internal = i; } @@ -44,60 +44,44 @@ public class PlayerLocator { return Location.UNKNOWN; } - String areaDesciptor = PlayerListMgr.strAt(41); + String areaDescriptor = PlayerListMgr.strAt(41); - if (areaDesciptor == null || areaDesciptor.length() < 6) { + if (areaDescriptor == null || areaDescriptor.length() < 6) { return Location.UNKNOWN; } - if (areaDesciptor.startsWith("Dungeon")) { + if (areaDescriptor.startsWith("Dungeon")) { return Location.DUNGEON; } - switch (areaDesciptor.substring(6)) { - case "Private Island": + return switch (areaDescriptor.substring(6)) { + case "Private Island" -> { String islandType = PlayerListMgr.strAt(44); if (islandType == null) { - return Location.UNKNOWN; + yield Location.UNKNOWN; } else if (islandType.endsWith("Guest")) { - return Location.GUEST_ISLAND; + yield Location.GUEST_ISLAND; } else { - return Location.HOME_ISLAND; + yield Location.HOME_ISLAND; } - case "Crimson Isle": - return Location.CRIMSON_ISLE; - case "Dungeon Hub": - return Location.DUNGEON_HUB; - case "The Farming Islands": - return Location.FARMING_ISLAND; - case "The Park": - return Location.PARK; - case "Dwarven Mines": - return Location.DWARVEN_MINES; - case "Crystal Hollows": - return Location.CRYSTAL_HOLLOWS; - case "The End": - return Location.END; - case "Gold Mine": - return Location.GOLD_MINE; - case "Deep Caverns": - return Location.DEEP_CAVERNS; - case "Hub": - return Location.HUB; - case "Spider's Den": - return Location.SPIDER_DEN; - case "Jerry's Workshop": - return Location.JERRY; - case "Garden": - return Location.GARDEN; - case "Instanced": - return Location.INSTANCED; - case "The Rift": - return Location.THE_RIFT; - case "Dark Auction": - return Location.DARK_AUCTION; - default: - return Location.UNKNOWN; - } + } + case "Crimson Isle" -> Location.CRIMSON_ISLE; + case "Dungeon Hub" -> Location.DUNGEON_HUB; + case "The Farming Islands" -> Location.FARMING_ISLAND; + case "The Park" -> Location.PARK; + case "Dwarven Mines" -> Location.DWARVEN_MINES; + case "Crystal Hollows" -> Location.CRYSTAL_HOLLOWS; + case "The End" -> Location.END; + case "Gold Mine" -> Location.GOLD_MINE; + case "Deep Caverns" -> Location.DEEP_CAVERNS; + case "Hub" -> Location.HUB; + case "Spider's Den" -> Location.SPIDER_DEN; + case "Jerry's Workshop" -> Location.JERRY; + case "Garden" -> Location.GARDEN; + case "Instanced" -> Location.INSTANCED; + case "The Rift" -> Location.THE_RIFT; + case "Dark Auction" -> Location.DARK_AUCTION; + default -> Location.UNKNOWN; + }; } } diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/DungeonPlayerWidget.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/DungeonPlayerWidget.java index e565bd8f..2ba0c0cc 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/DungeonPlayerWidget.java +++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/DungeonPlayerWidget.java @@ -45,7 +45,7 @@ public class DungeonPlayerWidget extends Widget { MSGS.add("More is better!"); } - private int player; + private final int player; // title needs to be changeable here public DungeonPlayerWidget(int player) { diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/EventWidget.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/EventWidget.java index b3563f1b..7d07ad75 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/EventWidget.java +++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/EventWidget.java @@ -11,7 +11,7 @@ import net.minecraft.util.Formatting; public class EventWidget extends Widget { private static final MutableText TITLE = Text.literal("Event Info").formatted(Formatting.YELLOW, Formatting.BOLD); - private boolean isInGarden; + private final boolean isInGarden; public EventWidget(boolean isInGarden) { super(TITLE, Formatting.YELLOW.getColorValue()); diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/ForgeWidget.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/ForgeWidget.java index 96b85fef..ed87d496 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/ForgeWidget.java +++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/ForgeWidget.java @@ -48,22 +48,22 @@ public class ForgeWidget extends Widget { Text l1, l2; switch (fstr.substring(3)) { - case "LOCKED": + case "LOCKED" -> { l1 = Text.literal("Locked").formatted(Formatting.RED); l2 = switch (slot) { case 3 -> Text.literal("Needs HotM 3").formatted(Formatting.GRAY); case 4 -> Text.literal("Needs HotM 4").formatted(Formatting.GRAY); case 5 -> Text.literal("Needs PotM 2").formatted(Formatting.GRAY); default -> - Text.literal("This message should not appear").formatted(Formatting.RED, Formatting.BOLD); + Text.literal("This message should not appear").formatted(Formatting.RED, Formatting.BOLD); }; c = new IcoFatTextComponent(Ico.BARRIER, l1, l2); - break; - case "EMPTY": + } + case "EMPTY" -> { l1 = Text.literal("Empty").formatted(Formatting.GRAY); c = new IcoTextComponent(Ico.FURNACE, l1); - break; - default: + } + default -> { String[] parts = fstr.split(": "); if (parts.length != 2) { c = new IcoFatTextComponent(); @@ -72,7 +72,7 @@ public class ForgeWidget extends Widget { l2 = Text.literal("Done in: ").formatted(Formatting.GRAY).append(Text.literal(parts[1]).formatted(Formatting.WHITE)); c = new IcoFatTextComponent(Ico.FIRE, l1, l2); } - break; + } } this.addComponent(c); } diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/IslandOwnersWidget.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/IslandOwnersWidget.java index a978654f..2e8e2c40 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/IslandOwnersWidget.java +++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/IslandOwnersWidget.java @@ -37,8 +37,8 @@ public class IslandOwnersWidget extends Widget { break; } - String name = null, lastseen = null; - Formatting format = null; + String name, lastseen; + Formatting format; if (m.group("nameA") != null) { name = m.group("nameA"); lastseen = m.group("lastseen"); diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/VolcanoWidget.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/VolcanoWidget.java index d0e01590..90f947ba 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/VolcanoWidget.java +++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/VolcanoWidget.java @@ -22,21 +22,21 @@ public class VolcanoWidget extends Widget { static { BOOM_TYPE.put("INACTIVE", - new Pair<ItemStack, Formatting>(new ItemStack(Items.BARRIER), Formatting.DARK_GRAY)); + new Pair<>(new ItemStack(Items.BARRIER), Formatting.DARK_GRAY)); BOOM_TYPE.put("CHILL", - new Pair<ItemStack, Formatting>(new ItemStack(Items.ICE), Formatting.AQUA)); + new Pair<>(new ItemStack(Items.ICE), Formatting.AQUA)); BOOM_TYPE.put("LOW", - new Pair<ItemStack, Formatting>(new ItemStack(Items.FLINT_AND_STEEL), Formatting.GRAY)); + new Pair<>(new ItemStack(Items.FLINT_AND_STEEL), Formatting.GRAY)); BOOM_TYPE.put("DISRUPTIVE", - new Pair<ItemStack, Formatting>(new ItemStack(Items.CAMPFIRE), Formatting.WHITE)); + new Pair<>(new ItemStack(Items.CAMPFIRE), Formatting.WHITE)); BOOM_TYPE.put("MEDIUM", - new Pair<ItemStack, Formatting>(new ItemStack(Items.LAVA_BUCKET), Formatting.YELLOW)); + new Pair<>(new ItemStack(Items.LAVA_BUCKET), Formatting.YELLOW)); BOOM_TYPE.put("HIGH", - new Pair<ItemStack, Formatting>(new ItemStack(Items.FIRE_CHARGE), Formatting.GOLD)); + new Pair<>(new ItemStack(Items.FIRE_CHARGE), Formatting.GOLD)); BOOM_TYPE.put("EXPLOSIVE", - new Pair<ItemStack, Formatting>(new ItemStack(Items.TNT), Formatting.RED)); + new Pair<>(new ItemStack(Items.TNT), Formatting.RED)); BOOM_TYPE.put("CATACLYSMIC", - new Pair<ItemStack, Formatting>(new ItemStack(Items.SKELETON_SKULL), Formatting.DARK_RED)); + new Pair<>(new ItemStack(Items.SKELETON_SKULL), Formatting.DARK_RED)); } public VolcanoWidget() { diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/Widget.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/Widget.java index 3e037256..bca67b70 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/Widget.java +++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/Widget.java @@ -25,13 +25,13 @@ import net.minecraft.util.Formatting; */ public abstract class Widget { - private ArrayList<Component> components = new ArrayList<>(); + private final ArrayList<Component> components = new ArrayList<>(); private int w = 0, h = 0; private int x = 0, y = 0; - private int color; - private Text title; + private final int color; + private final Text title; - private static TextRenderer txtRend = MinecraftClient.getInstance().textRenderer; + private static final TextRenderer txtRend = MinecraftClient.getInstance().textRenderer; static final int BORDER_SZE_N = txtRend.fontHeight + 4; static final int BORDER_SZE_S = 4; diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/component/Component.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/component/Component.java index 57e26ab2..118d3cfe 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/component/Component.java +++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/component/Component.java @@ -13,7 +13,7 @@ public abstract class Component { public static final int PAD_S = 2; public static final int PAD_L = 4; - static TextRenderer txtRend = MinecraftClient.getInstance().textRenderer; + static final TextRenderer txtRend = MinecraftClient.getInstance().textRenderer; // these should always be the content dimensions without any padding. int width, height; diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/component/ProgressComponent.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/component/ProgressComponent.java index a7cc8d12..90e210e9 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/component/ProgressComponent.java +++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/component/ProgressComponent.java @@ -19,25 +19,25 @@ public class ProgressComponent extends Component { private static final int ICO_OFFS = 4; private static final int COL_BG_BAR = 0xf0101010; - private ItemStack ico; - private Text desc, bar; - private float pcnt; - private int color; - private int barW; + private final ItemStack ico; + private final Text desc, bar; + private final float pcnt; + private final int color; + private final int barW; public ProgressComponent(ItemStack ico, Text d, Text b, float pcnt, int color) { - this.ico = (ico == null) ? Ico.BARRIER : ico; - this.desc = d; - this.bar = b; - this.color = 0xff000000 | color; - this.pcnt = pcnt; - if (d == null || b == null) { this.ico = Ico.BARRIER; this.desc = Text.literal("No data").formatted(Formatting.GRAY); this.bar = Text.literal("---").formatted(Formatting.GRAY); this.pcnt = 100f; this.color = 0xff000000 | Formatting.DARK_GRAY.getColorValue(); + } else { + this.ico = (ico == null) ? Ico.BARRIER : ico; + this.desc = d; + this.bar = b; + this.pcnt = pcnt; + this.color = 0xff000000 | color; } this.barW = BAR_WIDTH; diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/component/TableComponent.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/component/TableComponent.java index 30287dc0..850bbb0d 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/component/TableComponent.java +++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/component/TableComponent.java @@ -8,9 +8,9 @@ import net.minecraft.client.gui.DrawContext; */ public class TableComponent extends Component { - private Component[][] comps; - private int color; - private int cols, rows; + private final Component[][] comps; + private final int color; + private final int cols, rows; private int cellW, cellH; public TableComponent(int w, int h, int col) { diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/hud/HudCommsWidget.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/hud/HudCommsWidget.java index ab8546cc..88d40891 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/hud/HudCommsWidget.java +++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/hud/HudCommsWidget.java @@ -29,8 +29,8 @@ public class HudCommsWidget extends Widget { // the ctor eventually tries to get the font's height, which doesn't work // when called before the client window is created (roughly). // the rebdering god 2 from the fabricord explained that detail, thanks! - public static HudCommsWidget INSTANCE = new HudCommsWidget(); - public static HudCommsWidget INSTANCE_CFG = new HudCommsWidget(); + public static final HudCommsWidget INSTANCE = new HudCommsWidget(); + public static final HudCommsWidget INSTANCE_CFG = new HudCommsWidget(); // another repulsive hack to make this widget-like hud element work with the new widget class // DON'T USE WITH THE WIDGET SYSTEM, ONLY USE FOR DWARVENHUD! diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/rift/RiftProgressWidget.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/rift/RiftProgressWidget.java index ea67a309..375a41b9 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/rift/RiftProgressWidget.java +++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/rift/RiftProgressWidget.java @@ -36,7 +36,7 @@ public class RiftProgressWidget extends Widget { boolean hasTimecharms = false; boolean hasEnigmaSouls = false; - int montezumaPos = 0; + int montezumaPos; // Check each position to see what is or isn't there so we don't try adding // invalid components |