aboutsummaryrefslogtreecommitdiff
path: root/src/main/java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java')
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/SkyblockerMod.java1
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/screenbuilder/ScreenBuilder.java46
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/screenbuilder/ScreenMaster.java137
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/screenbuilder/pipeline/AlignStage.java16
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/screenbuilder/pipeline/PlaceStage.java12
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/screens/EmptyScreen.java16
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/screens/Screen.java230
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/screens/genericInfo/GardenInfoScreen.java51
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/screens/genericInfo/GenericInfoScreen.java48
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/screens/genericInfo/GenericRiftInfoScreen.java38
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/screens/main/CrimsonIsleScreen.java32
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/screens/main/DungeonHubScreen.java25
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/screens/main/DungeonScreen.java40
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/screens/main/FarmingServerScreen.java26
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/screens/main/GardenScreen.java23
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/screens/main/GenericServerScreen.java21
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/screens/main/GuestServerScreen.java22
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/screens/main/HomeServerScreen.java26
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/screens/main/HubServerScreen.java26
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/screens/main/MineServerScreen.java30
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/screens/main/ParkServerScreen.java19
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/screens/main/RiftScreen.java28
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/screens/playerList/DungeonPlayerScreen.java29
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/screens/playerList/GuestPlayerScreen.java26
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/screens/playerList/HomePlayerScreen.java25
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/screens/playerList/PlayerListScreen.java20
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/util/PlayerLocator.java48
27 files changed, 173 insertions, 888 deletions
diff --git a/src/main/java/me/xmrvizzy/skyblocker/SkyblockerMod.java b/src/main/java/me/xmrvizzy/skyblocker/SkyblockerMod.java
index b6f11790..91ae3740 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/SkyblockerMod.java
+++ b/src/main/java/me/xmrvizzy/skyblocker/SkyblockerMod.java
@@ -84,6 +84,7 @@ public class SkyblockerMod implements ClientModInitializer {
DungeonMap.init();
TheRift.init();
TitleContainer.init();
+ ScreenMaster.init();
containerSolverManager.init();
scheduler.scheduleCyclic(Utils::update, 20);
scheduler.scheduleCyclic(DiscordRPCManager::updateDataAndPresence, 100);
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 1197ca2d..4c317a57 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
@@ -5,9 +5,10 @@ import java.io.IOException;
import java.lang.reflect.Constructor;
import java.lang.reflect.InvocationTargetException;
import java.util.ArrayList;
-import java.util.Arrays;
import java.util.HashMap;
-import java.util.List;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import com.google.gson.JsonArray;
import com.google.gson.JsonElement;
@@ -20,6 +21,7 @@ import me.xmrvizzy.skyblocker.skyblock.tabhud.screenbuilder.pipeline.CollideStag
import me.xmrvizzy.skyblocker.skyblock.tabhud.screenbuilder.pipeline.PipelineStage;
import me.xmrvizzy.skyblocker.skyblock.tabhud.screenbuilder.pipeline.PlaceStage;
import me.xmrvizzy.skyblocker.skyblock.tabhud.screenbuilder.pipeline.StackStage;
+import me.xmrvizzy.skyblocker.skyblock.tabhud.widget.DungeonPlayerWidget;
import me.xmrvizzy.skyblocker.skyblock.tabhud.widget.EmptyWidget;
import me.xmrvizzy.skyblocker.skyblock.tabhud.widget.EventWidget;
import me.xmrvizzy.skyblocker.skyblock.tabhud.widget.Widget;
@@ -29,6 +31,9 @@ import net.minecraft.util.Identifier;
public class ScreenBuilder {
+ // TODO: Let EmptyWidget contain an error message
+
+ private static final Logger LOGGER = LoggerFactory.getLogger("skyblocker");
// layout pipeline
private ArrayList<PipelineStage> layoutPipeline = new ArrayList<>();
@@ -37,12 +42,15 @@ public class ScreenBuilder {
// maps alias -> widget instance
private HashMap<String, Widget> objectMap = new HashMap<>();
+ private String builderName;
+
/**
* Create a ScreenBuilder from a json.
*/
- public ScreenBuilder(String jsonfile) throws IOException {
+ public ScreenBuilder(Identifier ident) throws IOException {
+
+ this.builderName = ident.getPath();
- Identifier ident = new Identifier(SkyblockerMod.NAMESPACE, "tabhud/" + jsonfile + ".json");
BufferedReader reader = MinecraftClient.getInstance().getResourceManager().openAsReader(ident);
JsonObject json = JsonParser.parseReader(reader).getAsJsonObject();
reader.close();
@@ -61,7 +69,10 @@ public class ScreenBuilder {
}
for (JsonElement l : layout) {
- layoutPipeline.add(createStage(l.getAsJsonObject()));
+ PipelineStage ps = createStage(l.getAsJsonObject());
+ if (ps != null) {
+ layoutPipeline.add(ps);
+ }
}
}
@@ -76,8 +87,11 @@ public class ScreenBuilder {
switch (name) {
case "EventWidget":
return new EventWidget(widget.get("inGarden").getAsBoolean());
+ case "DungeonPlayerWidget":
+ return new DungeonPlayerWidget(widget.get("player").getAsInt());
case "Widget":
// clown case sanity check. don't instantiate the superclass >:|
+ LOGGER.error("Couldn't find class \"{}\"!", name);
return new EmptyWidget();
}
@@ -85,13 +99,14 @@ public class ScreenBuilder {
// TODO don't get package list for every widget; do it once and cache.
// fine for now, as this would only shorten the load time anyways
- // find all packages that might contain widget classes
- Package[] packs = Package.getPackages();
-
- List<String> packnames = Arrays.stream(packs)
- .map(pack -> pack.getName())
- .filter(s -> s.startsWith("me.xmrvizzy.skyblocker.skyblock.tabhud.widget"))
- .toList();
+ // list all packages that might contain widget classes
+ // using Package isn't reliable, as some classes might not be loaded yet,
+ // causing the packages not to show.
+ String packbase = "me.xmrvizzy.skyblocker.skyblock.tabhud.widget";
+ String[] packnames = {
+ packbase,
+ packbase + ".rift"
+ };
// construct the full class name and try to load.
Class<?> clazz = null;
@@ -105,6 +120,7 @@ public class ScreenBuilder {
// load failed.
if (clazz == null) {
+ LOGGER.error("Couldn't find class \"{}\"!", name);
return new EmptyWidget();
}
@@ -114,6 +130,7 @@ public class ScreenBuilder {
return (Widget) ctor.newInstance();
} catch (NoSuchMethodException | InstantiationException | IllegalAccessException
| IllegalArgumentException | InvocationTargetException | SecurityException ex) {
+ LOGGER.error("Failed to create instance of class {}!", clazz.getSimpleName());
return new EmptyWidget();
}
}
@@ -134,14 +151,17 @@ public class ScreenBuilder {
return new AlignStage(this, descr);
case "collideAgainst":
return new CollideStage(this, descr);
+ default:
+ LOGGER.error("No such op \"{}\" as requested by {}", op, this.builderName);
+ return null;
}
- return null;
}
/**
* Lookup Widget instance from alias name
*/
public Widget getInstance(String name) {
+ // TODO: filter null here or in stage classes
return this.objectMap.get(name);
}
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 97969503..997bd5a9 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
@@ -1,51 +1,56 @@
package me.xmrvizzy.skyblocker.skyblock.tabhud.screenbuilder;
-import java.io.BufferedReader;
import java.io.IOException;
import java.util.HashMap;
-import java.util.Map.Entry;
+import java.util.Map;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import com.google.gson.JsonElement;
-import com.google.gson.JsonObject;
-import com.google.gson.JsonParser;
-
-import me.xmrvizzy.skyblocker.SkyblockerMod;
-import net.minecraft.client.MinecraftClient;
+import me.xmrvizzy.skyblocker.skyblock.tabhud.TabHud;
+import me.xmrvizzy.skyblocker.skyblock.tabhud.util.PlayerLocator;
+import net.fabricmc.fabric.api.resource.ResourceManagerHelper;
+import net.fabricmc.fabric.api.resource.ResourcePackActivationType;
+import net.fabricmc.fabric.api.resource.SimpleSynchronousResourceReloadListener;
+import net.fabricmc.loader.api.FabricLoader;
import net.minecraft.client.gui.DrawContext;
+import net.minecraft.resource.Resource;
+import net.minecraft.resource.ResourceManager;
+import net.minecraft.resource.ResourceType;
import net.minecraft.util.Identifier;
public class ScreenMaster {
- private static final Identifier ASSIGNMENT_JSON = new Identifier(SkyblockerMod.NAMESPACE, "tabhud/assignment.json");
private static final Logger LOGGER = LoggerFactory.getLogger("skyblocker");
private static HashMap<String, ScreenBuilder> standardMap = new HashMap<>();
- // private static HashMap<String, ScreenBuilder> screenAMap = new HashMap<>();
- // private static HashMap<String, ScreenBuilder> screenBMap = new HashMap<>();
-
- static {
- init();
- }
+ private static HashMap<String, ScreenBuilder> screenAMap = new HashMap<>();
+ private static HashMap<String, ScreenBuilder> screenBMap = new HashMap<>();
/**
- * Load the assignment json and construct the screen mapping
+ * Load a screen mapping from
*/
- public static void init() {
- try (BufferedReader reader = MinecraftClient.getInstance().getResourceManager().openAsReader(ASSIGNMENT_JSON)) {
-
- JsonObject json = JsonParser.parseReader(reader).getAsJsonObject();
- JsonObject standard = json.getAsJsonObject("standard");
- for (Entry<String, JsonElement> entry : standard.entrySet()) {
- standardMap.put(entry.getKey(), new ScreenBuilder(entry.getValue().getAsString()));
+ public static void load(Identifier ident) {
+
+ String path = ident.getPath();
+ String[] parts = path.split("/");
+ String screenType = parts[parts.length - 2];
+ String location = parts[parts.length - 1];
+ location = location.replace(".json", "");
+
+ try {
+
+ if (screenType.equals("standard")) {
+ standardMap.put(location, new ScreenBuilder(ident));
+ } else if (screenType.equals("screenA")) {
+ screenAMap.put(location, new ScreenBuilder(ident));
+ } else if (screenType.equals("screenB")) {
+ screenBMap.put(location, new ScreenBuilder(ident));
}
-
} catch (IOException ioex) {
- LOGGER.info("[Skyblocker] Couldn't load tabhud config!");
- ioex.printStackTrace();
+ LOGGER.error("Can't load screen definition from {}", path);
}
+
}
/**
@@ -53,30 +58,60 @@ public class ScreenMaster {
* Calls the appropriate ScreenBuilder with the screen's dimensions
*/
public static void render(DrawContext context, int w, int h) {
- standardMap.get("default").run(context, w, h);
+ String location = PlayerLocator.getPlayerLocation().internal;
+ HashMap<String, ScreenBuilder> lookup;
+ if (TabHud.toggleA.isPressed()) {
+ lookup = screenAMap;
+ } else if (TabHud.toggleB.isPressed()) {
+ lookup = screenBMap;
+ } else {
+ lookup = standardMap;
+ }
+
+ ScreenBuilder sb = lookup.get(location);
+ // seems suboptimal, maybe load the default first into all possible values
+ // and then override?
+ if (sb == null) {
+ sb = lookup.get("default");
+ }
+
+ sb.run(context, w, h);
+
}
-}
-/*
- *
- * stackWidgetsH
-stackWidgetsW
---> stack (direction?) horiz/vert (align?) center/top/bottom/left/right
-
-centerH
-centerW
-center
---> center (center/horiz/vert)
-----> place (one) (where?) center/top/bot/left/right/[corners]
-
-offCenterL
-offCenterR
---> offCenter left/right/top/bot
-----> offsetPlace (where?) center/left/right/top/bot (offset to where?) left/right/top/bot
-
-----> align (any) (reference?) left, leftOfCenter, horizontalCenter, rightOfCenter, right, top, topOfCenter, verticalCenter, botOfCenter, bot
-
-collideAgainstL
-collideAgainstR
---> collideAgainst (from where?) left/right/top/bot
- */ \ No newline at end of file
+ public static void init() {
+
+ // WHY MUST IT ALWAYS BE SUCH NESTED GARBAGE MINECRAFT KEEP THAT IN DFU FFS
+
+ FabricLoader.getInstance()
+ .getModContainer("skyblocker")
+ .ifPresent(container -> ResourceManagerHelper.registerBuiltinResourcePack(
+ new Identifier("skyblocker", "default_top"),
+ container,
+ ResourcePackActivationType.NORMAL));
+
+ ResourceManagerHelper.get(ResourceType.CLIENT_RESOURCES).registerReloadListener(
+ // ...why are we instantiating an interface again?
+ new SimpleSynchronousResourceReloadListener() {
+ @Override
+ public Identifier getFabricId() {
+ return new Identifier("skyblocker", "tabhud");
+ }
+
+ @Override
+ public void reload(ResourceManager manager) {
+
+ standardMap.clear();
+ screenAMap.clear();
+ screenBMap.clear();
+
+ for (Map.Entry<Identifier, Resource> entry : manager
+ .findResources("tabhud", path -> path.getPath().endsWith(".json"))
+ .entrySet()) {
+ load(entry.getKey());
+ }
+ }
+ });
+ }
+
+}
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 87638c33..4d5a90be 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
@@ -1,5 +1,6 @@
package me.xmrvizzy.skyblocker.skyblock.tabhud.screenbuilder.pipeline;
+import java.security.InvalidParameterException;
import java.util.ArrayList;
import com.google.gson.JsonObject;
@@ -12,6 +13,9 @@ public class AlignStage extends PipelineStage {
private String reference;
public AlignStage(ScreenBuilder builder, JsonObject descr) {
+ if (!descr.has("reference")) {
+ throw new InvalidParameterException("no reference in " + descr);
+ }
this.reference = descr.get("reference").getAsString();
this.primary = new ArrayList<Widget>(descr.getAsJsonArray("apply_to")
.asList()
@@ -46,6 +50,18 @@ public class AlignStage extends PipelineStage {
hHalf = screenH / 2;
wid.setY(hHalf + 3);
break;
+ case "top":
+ wid.setY(5);
+ break;
+ case "bot":
+ wid.setY(screenH - wid.getHeight() - 5);
+ break;
+ case "left":
+ wid.setX(5);
+ break;
+ case "right":
+ wid.setX(screenW - wid.getWidth() - 5);
+ break;
}
}
}
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 3ed89fda..c6b72999 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
@@ -23,9 +23,15 @@ public class PlaceStage extends PipelineStage {
public void run(int screenW, int screenH) {
Widget wid = primary.get(0);
- if (where.equals("center")) {
- wid.setY((screenH - wid.getHeight()) / 2);
- wid.setX((screenW - wid.getWidth()) / 2);
+ switch (where) {
+ case "center":
+ wid.setY((screenH - wid.getHeight()) / 2);
+ wid.setX((screenW - wid.getWidth()) / 2);
+ break;
+ case "centerTop":
+ wid.setX((screenW - wid.getWidth()) / 2);
+ wid.setY(5);
+ break;
}
}
} \ No newline at end of file
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/screens/EmptyScreen.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/screens/EmptyScreen.java
deleted file mode 100644
index 5c302eb3..00000000
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/screens/EmptyScreen.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package me.xmrvizzy.skyblocker.skyblock.tabhud.screens;
-
-import me.xmrvizzy.skyblocker.skyblock.tabhud.widget.EmptyWidget;
-
-import net.minecraft.text.Text;
-
-public class EmptyScreen extends Screen {
-
- public EmptyScreen(int w, int h, Text footer) {
- super(w, h);
- EmptyWidget ew = new EmptyWidget();
- this.center(ew);
- this.addWidget(ew);
- }
-
-}
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/screens/Screen.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/screens/Screen.java
deleted file mode 100644
index 3d6ce64d..00000000
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/screens/Screen.java
+++ /dev/null
@@ -1,230 +0,0 @@
-package me.xmrvizzy.skyblocker.skyblock.tabhud.screens;
-
-import java.util.ArrayList;
-
-import me.xmrvizzy.skyblocker.config.SkyblockerConfig;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.TabHud;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.screens.genericInfo.GardenInfoScreen;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.screens.genericInfo.GenericInfoScreen;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.screens.genericInfo.GenericRiftInfoScreen;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.screens.main.CrimsonIsleScreen;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.screens.main.DungeonHubScreen;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.screens.main.DungeonScreen;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.screens.main.FarmingServerScreen;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.screens.main.GardenScreen;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.screens.main.GenericServerScreen;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.screens.main.GuestServerScreen;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.screens.main.HomeServerScreen;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.screens.main.HubServerScreen;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.screens.main.MineServerScreen;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.screens.main.ParkServerScreen;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.screens.main.RiftScreen;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.screens.playerList.DungeonPlayerScreen;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.screens.playerList.GuestPlayerScreen;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.screens.playerList.HomePlayerScreen;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.screens.playerList.PlayerListScreen;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.util.PlayerLocator;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.widget.Widget;
-import net.minecraft.client.gui.DrawContext;
-import net.minecraft.text.Text;
-
-public class Screen {
-
- private ArrayList<Widget> widgets = new ArrayList<>();
- public int w, h;
-
- public Screen(int w, int h) {
- float scale = SkyblockerConfig.get().general.tabHud.tabHudScale / 100f;
- this.w = (int) (w / scale);
- this.h = (int) (h / scale);
- }
-
- public static Screen getCorrect(int w, int h, Text footer) {
-
- if (TabHud.toggleA.isPressed()) {
- return Screen.correctGenericScrn(w, h, footer);
- } else if (TabHud.toggleB.isPressed()) {
- return Screen.correctPlayerScrn(w, h, footer);
- } else {
- return Screen.correctMainScrn(w, h, footer);
- }
- }
-
- private static Screen correctGenericScrn(int w, int h, Text footer) {
- return switch (PlayerLocator.getPlayerLocation()) {
- case GARDEN -> new GardenInfoScreen(w, h, footer); // ok
- case THE_RIFT -> new GenericRiftInfoScreen(w, h, footer);
- case UNKNOWN -> new EmptyScreen(w, h, footer); // ok
- default -> new GenericInfoScreen(w, h, footer); // ok
- };
- }
-
- private static Screen correctPlayerScrn(int w, int h, Text footer) {
- return switch (PlayerLocator.getPlayerLocation()) {
- case GUEST_ISLAND -> new GuestPlayerScreen(w, h, footer); // ok
- case HOME_ISLAND, GARDEN -> new HomePlayerScreen(w, h, footer); // ok for 1 player
- case DUNGEON -> new DungeonPlayerScreen(w, h, footer);
- case UNKNOWN -> new EmptyScreen(w, h, footer); // ok
- default -> new PlayerListScreen(w, h, footer); // ok
- };
- }
-
- private static Screen correctMainScrn(int w, int h, Text footer) {
- return switch (PlayerLocator.getPlayerLocation()) {
- case PARK -> new ParkServerScreen(w, h, footer); // ok
- case HUB -> new HubServerScreen(w, h, footer); // ok when fire sale incoming
- case HOME_ISLAND -> new HomeServerScreen(w, h, footer); // ok
- case GUEST_ISLAND -> new GuestServerScreen(w, h, footer); // ok
- case CRYSTAL_HOLLOWS, DWARVEN_MINES -> new MineServerScreen(w, h, footer); // ok, TODO active forge
- case FARMING_ISLAND -> new FarmingServerScreen(w, h, footer);
- case DUNGEON_HUB -> new DungeonHubScreen(w, h, footer); // ok
- case DUNGEON -> new DungeonScreen(w, h, footer); // ok
- case CRIMSON_ISLE -> new CrimsonIsleScreen(w, h, footer);
- case GARDEN -> new GardenScreen(w, h, footer); // ok
- case THE_RIFT -> new RiftScreen(w, h, footer);
- case UNKNOWN -> new EmptyScreen(w, h, footer); // ok
- default -> new GenericServerScreen(w, h, footer); // ok
- };
- }
-
- /**
- * Add a widget to this screen
- */
- public void addWidget(Widget w) {
- widgets.add(w);
- }
-
- /**
- * Add many widgets to this screen
- */
- public void addWidgets(Widget... ws) {
- for (Widget w : ws) {
- widgets.add(w);
- }
- }
-
- public void render(DrawContext context) {
- for (Widget w : widgets) {
- w.render(context);
- }
- }
-
- /**
- * Stack these widgets on top of each other as determined by the lists's order
- */
- public void stackWidgetsH(Widget... list) {
- int compHeight = -5;
- for (Widget wid : list) {
- compHeight += wid.getHeight() + 5;
- }
-
- int y = (h - compHeight) / 2;
- for (Widget wid : list) {
- wid.setY(y);
- y += wid.getHeight() + 5;
- }
- }
-
- /**
- * Arrange these widgets next to each other as determined by the lists's order
- */
- public void stackWidgetsW(Widget... list) {
- // TODO not centered
- int compWidth = -5;
- for (Widget wid : list) {
- compWidth += wid.getWidth() + 5;
- }
-
- int x = (w - compWidth) / 2;
- for (Widget wid : list) {
- wid.setX(x);
- x += wid.getWidth() + 5;
- }
- }
-
- /**
- * Center a widget vertically, keeping X pos
- */
- public void centerH(Widget wid) {
- wid.setY((h - wid.getHeight()) / 2);
- }
-
- /**
- * Center a widget horizontally, keeping Y pos
- */
- public void centerW(Widget wid) {
- wid.setX((w - wid.getWidth()) / 2);
- }
-
- /**
- * Center a widget vertically and horizontally
- */
- public void center(Widget wid) {
- this.centerH(wid);
- this.centerW(wid);
- }
-
- /**
- * Let a widget's left border be on the screen's center, keeping Y pos
- */
- public void offCenterL(Widget wid) {
- int wHalf = this.w / 2;
- wid.setX(wHalf - 3 - wid.getWidth());
- }
-
- /**
- * Let a widget's right border be on the screen's center, keeping Y pos
- */
- public void offCenterR(Widget wid) {
- int wHalf = this.w / 2;
- wid.setX(wHalf + 3);
- }
-
- public void collideAgainstL(Widget w, Widget... others) {
- int yMin = w.getY();
- int yMax = w.getY() + w.getHeight();
-
- int xCor = this.w / 2;
-
- // assume others to be sorted top-bottom.
- for (Widget other : others) {
- if (other.getY() + other.getHeight() + 5 < yMin) {
- // too high, next one
- continue;
- }
-
- if (other.getY() - 5 > yMax) {
- // too low, no more collisions possible
- break;
- }
-
- int xPos = other.getX() - 5 - w.getWidth();
- xCor = Math.min(xCor, xPos);
- }
- w.setX(xCor);
- }
-
- public void collideAgainstR(Widget w, Widget... others) {
- int yMin = w.getY();
- int yMax = w.getY() + w.getHeight();
-
- int xCor = this.w / 2;
-
- // assume others to be sorted top-bottom.
- for (Widget other : others) {
- if (other.getY() + other.getHeight() + 5 < yMin) {
- // too high, next one
- continue;
- }
-
- if (other.getY() - 5 > yMax) {
- // too low, no more collisions possible
- break;
- }
-
- int xPos = other.getX() + other.getWidth() + 5;
- xCor = Math.max(xCor, xPos);
- }
- w.setX(xCor);
- }
-}
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/screens/genericInfo/GardenInfoScreen.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/screens/genericInfo/GardenInfoScreen.java
deleted file mode 100644
index 587c2274..00000000
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/screens/genericInfo/GardenInfoScreen.java
+++ /dev/null
@@ -1,51 +0,0 @@
-package me.xmrvizzy.skyblocker.skyblock.tabhud.screens.genericInfo;
-
-
-
-import me.xmrvizzy.skyblocker.skyblock.tabhud.screens.Screen;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.widget.CookieWidget;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.widget.EffectWidget;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.widget.EventWidget;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.widget.GardenSkillsWidget;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.widget.JacobsContestWidget;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.widget.ProfileWidget;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.widget.UpgradeWidget;
-
-import net.minecraft.text.Text;
-
-public class GardenInfoScreen extends Screen {
-
- public GardenInfoScreen(int w, int h, Text footer) {
- super(w, h);
-
- String f = footer.getString();
-
- // GardenSkillsWidget gsw = new GardenSkillsWidget();
- // EventWidget evw = new EventWidget(true);
- // // UpgradeWidget uw = new UpgradeWidget(f);
-
- // ProfileWidget pw = new ProfileWidget();
- // EffectWidget efw = new EffectWidget(f);
-
- // JacobsContestWidget jcw = new JacobsContestWidget();
- // CookieWidget cw = new CookieWidget(f);
-
- // // layout code incoming
- // this.stackWidgetsH(gsw, evw, uw);
- // this.stackWidgetsH(pw, efw);
- // this.stackWidgetsH(jcw, cw);
-
- // this.centerW(gsw);
- // this.centerW(evw);
- // this.centerW(uw);
-
- // this.collideAgainstL(pw, gsw, evw, uw);
- // this.collideAgainstL(efw, gsw, evw, uw);
-
- // this.collideAgainstR(jcw, gsw, evw, uw);
- // this.collideAgainstR(cw, gsw, evw, uw);
-
- // this.addWidgets(gsw, evw, uw, pw, efw, jcw, cw);
- }
-
-}
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/screens/genericInfo/GenericInfoScreen.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/screens/genericInfo/GenericInfoScreen.java
deleted file mode 100644
index 15c3b0e5..00000000
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/screens/genericInfo/GenericInfoScreen.java
+++ /dev/null
@@ -1,48 +0,0 @@
-package me.xmrvizzy.skyblocker.skyblock.tabhud.screens.genericInfo;
-
-import me.xmrvizzy.skyblocker.skyblock.tabhud.screens.Screen;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.widget.CookieWidget;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.widget.EffectWidget;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.widget.ElectionWidget;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.widget.EventWidget;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.widget.ProfileWidget;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.widget.SkillsWidget;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.widget.UpgradeWidget;
-
-import net.minecraft.text.Text;
-
-public class GenericInfoScreen extends Screen {
-
- public GenericInfoScreen(int w, int h, Text footer) {
- super(w, h);
-
- // String f = footer.getString();
-
- // SkillsWidget sw = new SkillsWidget();
- // EventWidget evw = new EventWidget(false);
- // UpgradeWidget uw = new UpgradeWidget(f);
-
- // ProfileWidget pw = new ProfileWidget();
- // EffectWidget efw = new EffectWidget(f);
-
- // ElectionWidget elw = new ElectionWidget();
- // CookieWidget cw = new CookieWidget(f);
-
- // this.stackWidgetsH(sw, evw, uw);
- // this.stackWidgetsH(pw, efw);
- // this.stackWidgetsH(elw, cw);
-
- // this.centerW(sw);
- // this.centerW(evw);
- // this.centerW(uw);
-
- // this.collideAgainstL(pw, sw, evw, uw);
- // this.collideAgainstL(efw, sw, evw, uw);
-
- // this.collideAgainstR(elw, sw, evw, uw);
- // this.collideAgainstR(cw, sw, evw, uw);
-
- // this.addWidgets(sw, evw, uw, pw, efw, elw, cw);
- }
-
-}
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/screens/genericInfo/GenericRiftInfoScreen.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/screens/genericInfo/GenericRiftInfoScreen.java
deleted file mode 100644
index cf6ee77a..00000000
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/screens/genericInfo/GenericRiftInfoScreen.java
+++ /dev/null
@@ -1,38 +0,0 @@
-package me.xmrvizzy.skyblocker.skyblock.tabhud.screens.genericInfo;
-
-import me.xmrvizzy.skyblocker.skyblock.tabhud.screens.Screen;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.widget.rift.RiftProfileWidget;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.widget.rift.RiftStatsWidget;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.widget.rift.ShenWidget;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.widget.CookieWidget;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.widget.rift.AdvertisementWidget;
-import net.minecraft.text.Text;
-
-public class GenericRiftInfoScreen extends Screen {
-
- public GenericRiftInfoScreen(int w, int h, Text footer) {
- super(w, h);
-
- // String f = footer.getString();
-
- // RiftProfileWidget profile = new RiftProfileWidget();
- // RiftStatsWidget stats = new RiftStatsWidget();
- // ShenWidget shen = new ShenWidget();
-
- // // CookieWidget cookie = new CookieWidget(f);
- // AdvertisementWidget advertisement = new AdvertisementWidget();
-
- // this.stackWidgetsH(stats, advertisement);
- // // this.stackWidgetsH(profile, shen, cookie);
-
- // this.offCenterL(stats);
- // this.offCenterL(advertisement);
-
- // this.offCenterR(profile);
- // this.offCenterR(shen);
- // // this.offCenterR(cookie);
-
- // // this.addWidgets(profile, stats, shen, cookie, advertisement);
- }
-
-}
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/screens/main/CrimsonIsleScreen.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/screens/main/CrimsonIsleScreen.java
deleted file mode 100644
index 6e6f563b..00000000
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/screens/main/CrimsonIsleScreen.java
+++ /dev/null
@@ -1,32 +0,0 @@
-package me.xmrvizzy.skyblocker.skyblock.tabhud.screens.main;
-
-
-
-import me.xmrvizzy.skyblocker.skyblock.tabhud.screens.Screen;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.widget.QuestWidget;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.widget.ReputationWidget;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.widget.ServerWidget;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.widget.VolcanoWidget;
-
-import net.minecraft.text.Text;
-
-public class CrimsonIsleScreen extends Screen {
-
- public CrimsonIsleScreen(int w, int h, Text footer) {
- super(w, h);
-
- ServerWidget sw = new ServerWidget();
- ReputationWidget rw = new ReputationWidget();
- QuestWidget qw = new QuestWidget();
- VolcanoWidget vw = new VolcanoWidget();
-
- this.stackWidgetsH(sw, rw);
- this.stackWidgetsH(qw, vw);
- this.offCenterL(sw);
- this.offCenterL(rw);
- this.offCenterR(vw);
- this.offCenterR(qw);
- this.addWidgets(sw, rw, qw, vw);
- }
-
-}
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/screens/main/DungeonHubScreen.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/screens/main/DungeonHubScreen.java
deleted file mode 100644
index 5db461af..00000000
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/screens/main/DungeonHubScreen.java
+++ /dev/null
@@ -1,25 +0,0 @@
-package me.xmrvizzy.skyblocker.skyblock.tabhud.screens.main;
-
-
-import me.xmrvizzy.skyblocker.skyblock.tabhud.screens.Screen;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.widget.EssenceWidget;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.widget.ServerWidget;
-
-import net.minecraft.text.Text;
-
-public class DungeonHubScreen extends Screen{
-
- public DungeonHubScreen(int w, int h, Text footer) {
- super(w, h);
-
- ServerWidget sw = new ServerWidget();
- EssenceWidget ew = new EssenceWidget();
-
- this.centerW(sw);
- this.centerW(ew);
- this.stackWidgetsH(sw, ew);
- this.addWidget(ew);
- this.addWidget(sw);
- }
-
-}
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/screens/main/DungeonScreen.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/screens/main/DungeonScreen.java
deleted file mode 100644
index 852ee876..00000000
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/screens/main/DungeonScreen.java
+++ /dev/null
@@ -1,40 +0,0 @@
-package me.xmrvizzy.skyblocker.skyblock.tabhud.screens.main;
-
-import me.xmrvizzy.skyblocker.skyblock.tabhud.screens.Screen;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.widget.DungeonBuffWidget;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.widget.DungeonDeathWidget;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.widget.DungeonDownedWidget;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.widget.DungeonPuzzleWidget;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.widget.DungeonSecretWidget;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.widget.DungeonServerWidget;
-import net.minecraft.text.Text;
-
-public class DungeonScreen extends Screen {
-
- public DungeonScreen(int w, int h, Text footer) {
- super(w, h);
-
- String f = footer.getString();
-
- DungeonDownedWidget ddow = new DungeonDownedWidget();
- DungeonDeathWidget ddew = new DungeonDeathWidget();
- DungeonSecretWidget dscw = new DungeonSecretWidget();
- DungeonServerWidget dsrw = new DungeonServerWidget();
- DungeonPuzzleWidget dpuw = new DungeonPuzzleWidget();
- DungeonBuffWidget dbw = new DungeonBuffWidget(f);
-
- this.offCenterL(ddow);
- this.offCenterL(ddew);
- this.offCenterL(dbw);
- this.offCenterR(dsrw);
- this.offCenterR(dpuw);
- this.offCenterR(dscw);
-
- this.stackWidgetsH(ddow, ddew, dbw);
- this.stackWidgetsH(dsrw, dpuw, dscw);
-
- this.addWidgets(ddow, ddew, dscw, dsrw, dpuw, dbw);
-
- }
-
-}
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/screens/main/FarmingServerScreen.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/screens/main/FarmingServerScreen.java
deleted file mode 100644
index 02c81f23..00000000
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/screens/main/FarmingServerScreen.java
+++ /dev/null
@@ -1,26 +0,0 @@
-package me.xmrvizzy.skyblocker.skyblock.tabhud.screens.main;
-
-
-
-import me.xmrvizzy.skyblocker.skyblock.tabhud.screens.Screen;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.widget.ServerWidget;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.widget.TrapperWidget;
-
-
-import net.minecraft.text.Text;
-
-public class FarmingServerScreen extends Screen{
-
- public FarmingServerScreen(int w, int h, Text footer) {
- super(w, h);
-
- ServerWidget sw = new ServerWidget();
- TrapperWidget tw = new TrapperWidget();
-
- this.centerW(sw);
- this.centerW(tw);
- this.stackWidgetsH(sw, tw);
- this.addWidgets(tw, sw);
- }
-
-}
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/screens/main/GardenScreen.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/screens/main/GardenScreen.java
deleted file mode 100644
index ae5b642f..00000000
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/screens/main/GardenScreen.java
+++ /dev/null
@@ -1,23 +0,0 @@
-package me.xmrvizzy.skyblocker.skyblock.tabhud.screens.main;
-
-
-import me.xmrvizzy.skyblocker.skyblock.tabhud.screens.Screen;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.widget.ComposterWidget;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.widget.GardenServerWidget;
-import net.minecraft.text.Text;
-
-public class GardenScreen extends Screen{
-
- public GardenScreen(int w, int h, Text footer) {
- super(w, h);
-
- GardenServerWidget gsw = new GardenServerWidget();
- ComposterWidget cw = new ComposterWidget();
-
- this.stackWidgetsH(gsw, cw);
- this.centerW(gsw);
- this.centerW(cw);
- this.addWidgets(gsw, cw);
- }
-
-}
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/screens/main/GenericServerScreen.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/screens/main/GenericServerScreen.java
deleted file mode 100644
index a89563db..00000000
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/screens/main/GenericServerScreen.java
+++ /dev/null
@@ -1,21 +0,0 @@
-package me.xmrvizzy.skyblocker.skyblock.tabhud.screens.main;
-
-
-
-import me.xmrvizzy.skyblocker.skyblock.tabhud.screens.Screen;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.widget.ServerWidget;
-
-import net.minecraft.text.Text;
-
-public class GenericServerScreen extends Screen {
-
- public GenericServerScreen(int w, int h, Text footer) {
- super(w, h);
-
- ServerWidget sw = new ServerWidget();
-
- this.center(sw);
- this.addWidget(sw);
- }
-
-}
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/screens/main/GuestServerScreen.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/screens/main/GuestServerScreen.java
deleted file mode 100644
index 57d7a199..00000000
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/screens/main/GuestServerScreen.java
+++ /dev/null
@@ -1,22 +0,0 @@
-package me.xmrvizzy.skyblocker.skyblock.tabhud.screens.main;
-
-
-
-import me.xmrvizzy.skyblocker.skyblock.tabhud.screens.Screen;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.widget.GuestServerWidget;
-
-
-import net.minecraft.text.Text;
-
-public class GuestServerScreen extends Screen{
-
- public GuestServerScreen(int w, int h, Text footer) {
- super(w, h);
-
- GuestServerWidget gsw = new GuestServerWidget();
-
- this.center(gsw);
- this.addWidget(gsw);
- }
-
-}
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/screens/main/HomeServerScreen.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/screens/main/HomeServerScreen.java
deleted file mode 100644
index e61ba4b0..00000000
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/screens/main/HomeServerScreen.java
+++ /dev/null
@@ -1,26 +0,0 @@
-package me.xmrvizzy.skyblocker.skyblock.tabhud.screens.main;
-
-
-
-import me.xmrvizzy.skyblocker.skyblock.tabhud.screens.Screen;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.widget.IslandServerWidget;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.widget.MinionWidget;
-
-
-import net.minecraft.text.Text;
-
-public class HomeServerScreen extends Screen {
-
- public HomeServerScreen(int w, int h, Text footer) {
- super(w, h);
-
- IslandServerWidget isw = new IslandServerWidget();
- MinionWidget mw = new MinionWidget();
-
- this.centerH(isw);
- this.centerH(mw);
- this.stackWidgetsW(isw, mw);
- this.addWidgets(isw, mw);
- }
-
-}
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/screens/main/HubServerScreen.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/screens/main/HubServerScreen.java
deleted file mode 100644
index e2857f7e..00000000
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/screens/main/HubServerScreen.java
+++ /dev/null
@@ -1,26 +0,0 @@
-package me.xmrvizzy.skyblocker.skyblock.tabhud.screens.main;
-
-
-
-import me.xmrvizzy.skyblocker.skyblock.tabhud.screens.Screen;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.widget.FireSaleWidget;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.widget.ServerWidget;
-
-
-import net.minecraft.text.Text;
-
-public class HubServerScreen extends Screen {
-
- public HubServerScreen(int w, int h, Text footer) {
- super(w, h);
-
- ServerWidget sw = new ServerWidget();
- FireSaleWidget fsw = new FireSaleWidget();
-
- this.centerW(sw);
- this.centerW(fsw);
- this.stackWidgetsH(sw, fsw);
- this.addWidgets(sw, fsw);
- }
-
-}
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/screens/main/MineServerScreen.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/screens/main/MineServerScreen.java
deleted file mode 100644
index 616c3e82..00000000
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/screens/main/MineServerScreen.java
+++ /dev/null
@@ -1,30 +0,0 @@
-package me.xmrvizzy.skyblocker.skyblock.tabhud.screens.main;
-
-import me.xmrvizzy.skyblocker.skyblock.tabhud.screens.Screen;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.widget.CommsWidget;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.widget.ForgeWidget;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.widget.PowderWidget;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.widget.ServerWidget;
-
-import net.minecraft.text.Text;
-
-public class MineServerScreen extends Screen {
-
- public MineServerScreen(int w, int h, Text footer) {
- super(w, h);
-
- ServerWidget sw = new ServerWidget();
- PowderWidget pw = new PowderWidget();
- CommsWidget cw = new CommsWidget();
- ForgeWidget fw = new ForgeWidget();
-
- this.stackWidgetsH(sw, cw);
- this.stackWidgetsH(fw, pw);
- this.offCenterL(sw);
- this.offCenterL(cw);
- this.offCenterR(pw);
- this.offCenterR(fw);
- this.addWidgets(fw, cw, pw, sw);
- }
-
-}
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/screens/main/ParkServerScreen.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/screens/main/ParkServerScreen.java
deleted file mode 100644
index aa65d946..00000000
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/screens/main/ParkServerScreen.java
+++ /dev/null
@@ -1,19 +0,0 @@
-package me.xmrvizzy.skyblocker.skyblock.tabhud.screens.main;
-
-import me.xmrvizzy.skyblocker.skyblock.tabhud.screens.Screen;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.widget.ParkServerWidget;
-
-import net.minecraft.text.Text;
-
-public class ParkServerScreen extends Screen{
-
- public ParkServerScreen(int w, int h, Text footer) {
- super(w, h);
-
- ParkServerWidget sw = new ParkServerWidget();
-
- this.center(sw);
- this.addWidget(sw);
- }
-
-}
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/screens/main/RiftScreen.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/screens/main/RiftScreen.java
deleted file mode 100644
index d63bcf62..00000000
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/screens/main/RiftScreen.java
+++ /dev/null
@@ -1,28 +0,0 @@
-package me.xmrvizzy.skyblocker.skyblock.tabhud.screens.main;
-
-import me.xmrvizzy.skyblocker.skyblock.tabhud.screens.Screen;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.widget.rift.RiftProgressWidget;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.widget.rift.GoodToKnowWidget;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.widget.rift.RiftServerInfoWidget;
-
-
-import net.minecraft.text.Text;
-
-public class RiftScreen extends Screen {
-
- public RiftScreen(int w, int h, Text footer) {
- super(w, h);
-
- RiftProgressWidget rftProg = new RiftProgressWidget();
- GoodToKnowWidget gtk = new GoodToKnowWidget();
- RiftServerInfoWidget si = new RiftServerInfoWidget();
-
- this.stackWidgetsH(si, gtk);
- this.stackWidgetsH(rftProg);
- this.offCenterL(si);
- this.offCenterL(gtk);
- this.offCenterR(rftProg);
- this.addWidgets(si, gtk, rftProg);
- }
-
-}
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/screens/playerList/DungeonPlayerScreen.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/screens/playerList/DungeonPlayerScreen.java
deleted file mode 100644
index 2567da13..00000000
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/screens/playerList/DungeonPlayerScreen.java
+++ /dev/null
@@ -1,29 +0,0 @@
-package me.xmrvizzy.skyblocker.skyblock.tabhud.screens.playerList;
-
-import me.xmrvizzy.skyblocker.skyblock.tabhud.screens.Screen;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.widget.DungeonPlayerWidget;
-import net.minecraft.text.Text;
-
-public class DungeonPlayerScreen extends Screen {
-
- public DungeonPlayerScreen(int w, int h, Text footer) {
-
- super(w, h);
-
- DungeonPlayerWidget dpw1 = new DungeonPlayerWidget(1);
- DungeonPlayerWidget dpw2 = new DungeonPlayerWidget(2);
- DungeonPlayerWidget dpw3 = new DungeonPlayerWidget(3);
- DungeonPlayerWidget dpw4 = new DungeonPlayerWidget(4);
- DungeonPlayerWidget dpw5 = new DungeonPlayerWidget(5);
-
- this.offCenterL(dpw1);
- this.offCenterL(dpw2);
- this.offCenterL(dpw3);
- this.offCenterR(dpw4);
- this.offCenterR(dpw5);
- this.stackWidgetsH(dpw1, dpw2, dpw3);
- this.stackWidgetsH(dpw4, dpw5);
- this.addWidgets(dpw1, dpw2, dpw3, dpw4, dpw5);
- }
-
-}
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/screens/playerList/GuestPlayerScreen.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/screens/playerList/GuestPlayerScreen.java
deleted file mode 100644
index 5a9733cc..00000000
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/screens/playerList/GuestPlayerScreen.java
+++ /dev/null
@@ -1,26 +0,0 @@
-package me.xmrvizzy.skyblocker.skyblock.tabhud.screens.playerList;
-
-
-
-import me.xmrvizzy.skyblocker.skyblock.tabhud.screens.Screen;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.widget.IslandGuestsWidget;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.widget.IslandOwnersWidget;
-
-
-import net.minecraft.text.Text;
-
-public class GuestPlayerScreen extends Screen{
-
- public GuestPlayerScreen(int w, int h, Text footer) {
- super(w, h);
-
- IslandGuestsWidget igw = new IslandGuestsWidget();
- IslandOwnersWidget iow = new IslandOwnersWidget();
-
- this.centerH(iow);
- this.centerH(igw);
- this.stackWidgetsW(igw, iow);
- this.addWidgets(iow, igw);
- }
-
-}
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/screens/playerList/HomePlayerScreen.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/screens/playerList/HomePlayerScreen.java
deleted file mode 100644
index 2a159ecc..00000000
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/screens/playerList/HomePlayerScreen.java
+++ /dev/null
@@ -1,25 +0,0 @@
-package me.xmrvizzy.skyblocker.skyblock.tabhud.screens.playerList;
-
-
-
-import me.xmrvizzy.skyblocker.skyblock.tabhud.screens.Screen;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.widget.IslandGuestsWidget;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.widget.IslandSelfWidget;
-
-
-import net.minecraft.text.Text;
-
-public class HomePlayerScreen extends Screen {
-
- public HomePlayerScreen(int w, int h, Text footer) {
- super(w, h);
-
- IslandSelfWidget isw = new IslandSelfWidget();
- IslandGuestsWidget igw = new IslandGuestsWidget();
-
- this.centerH(isw);
- this.centerH(igw);
- this.stackWidgetsW(isw, igw);
- this.addWidgets(isw, igw);
- }
-}
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/screens/playerList/PlayerListScreen.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/screens/playerList/PlayerListScreen.java
deleted file mode 100644
index 5db01512..00000000
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/screens/playerList/PlayerListScreen.java
+++ /dev/null
@@ -1,20 +0,0 @@
-package me.xmrvizzy.skyblocker.skyblock.tabhud.screens.playerList;
-
-
-import me.xmrvizzy.skyblocker.skyblock.tabhud.screens.Screen;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.widget.PlayerListWidget;
-
-import net.minecraft.text.Text;
-
-public class PlayerListScreen extends Screen {
-
- public PlayerListScreen(int w, int h, Text footer) {
- super(w, h);
-
- PlayerListWidget plw = new PlayerListWidget();
-
- this.center(plw);
- this.addWidget(plw);
- }
-
-}
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 c2f14d3c..9b24171a 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
@@ -8,25 +8,33 @@ import me.xmrvizzy.skyblocker.utils.Utils;
public class PlayerLocator {
public static enum Location {
- DUNGEON,
- GUEST_ISLAND,
- HOME_ISLAND,
- CRIMSON_ISLE,
- DUNGEON_HUB,
- FARMING_ISLAND,
- PARK,
- DWARVEN_MINES,
- CRYSTAL_HOLLOWS,
- END,
- GOLD_MINE,
- DEEP_CAVERNS,
- HUB,
- SPIDER_DEN,
- JERRY,
- GARDEN,
- INSTANCED,
- THE_RIFT,
- UNKNOWN
+ DUNGEON("dungeon"),
+ GUEST_ISLAND("guest_island"),
+ HOME_ISLAND("home_island"),
+ CRIMSON_ISLE("crimson_isle"),
+ DUNGEON_HUB("dungeon_hub"),
+ FARMING_ISLAND("farming_island"),
+ PARK("park"),
+ DWARVEN_MINES("dwarven_mines"),
+ CRYSTAL_HOLLOWS("crystal_hollows"),
+ END("end"),
+ GOLD_MINE("gold_mine"),
+ DEEP_CAVERNS("deep_caverns"),
+ HUB("hub"),
+ SPIDER_DEN("spider_den"),
+ JERRY("jerry_workshop"),
+ GARDEN("garden"),
+ INSTANCED("kuudra"),
+ THE_RIFT("rift"),
+ UNKNOWN("unknown");
+
+ public String internal;
+
+ private Location(String i) {
+ // as used internally by the mod, e.g. in the json
+ this.internal = i;
+ }
+
}
public static Location getPlayerLocation() {
@@ -84,7 +92,7 @@ public class PlayerLocator {
case "Instanced":
return Location.INSTANCED;
case "The Rift":
- return Location.THE_RIFT;
+ return Location.THE_RIFT;
default:
return Location.UNKNOWN;
}