diff options
author | msg-programs <msgdoesstuff@gmail.com> | 2023-07-27 22:14:54 +0200 |
---|---|---|
committer | msg-programs <msgdoesstuff@gmail.com> | 2023-07-27 22:15:42 +0200 |
commit | 393ec5f59d16296248fe1994d02ced699a725fcb (patch) | |
tree | 65647782e6ca80cc36838058500c5aa77812fa50 | |
parent | c2f5155391482368425b61517848f4a11080dcf7 (diff) | |
download | Skyblocker-393ec5f59d16296248fe1994d02ced699a725fcb.tar.gz Skyblocker-393ec5f59d16296248fe1994d02ced699a725fcb.tar.bz2 Skyblocker-393ec5f59d16296248fe1994d02ced699a725fcb.zip |
Load layout from resoure packs, see details.
Use resource pack logic to load the layouts.
Finally delete the old screen defs, replace with builtin layout JSON files.
Include a top-aligned layout as a builtin resource pack.
Implement more possibilites for the layout to support said pack.
79 files changed, 1600 insertions, 1030 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; } diff --git a/src/main/resources/assets/skyblocker/tabhud/assignment.json b/src/main/resources/assets/skyblocker/tabhud/assignment.json deleted file mode 100644 index 85c8f938..00000000 --- a/src/main/resources/assets/skyblocker/tabhud/assignment.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "standard" : { - "default": "generic_info_screen" - }, - "screenA": { - "default": "empty_screen" - }, - "screenB": { - "default": "empty_screen" - } -}
\ No newline at end of file diff --git a/src/main/resources/assets/skyblocker/tabhud/readme.md b/src/main/resources/assets/skyblocker/tabhud/readme.md index 7167f561..52cf5778 100644 --- a/src/main/resources/assets/skyblocker/tabhud/readme.md +++ b/src/main/resources/assets/skyblocker/tabhud/readme.md @@ -1,9 +1,19 @@ -# assignment.json -Assigns the screens to a type (standard, screenA, screenB). standard is shown when just pressing tab, A and B are shown when using other keys/the modifiers. -For every type, the concrete screens are mapped to the areas they are supposed to be shown in. See Appendix A for a list of valid areas. -To find the screen definition, ".json" is appended to the screen key, so specifying `"foo": "generic_info_screen"` will try to find `generic_info_screen.json` and assign this definition to the "foo" area. +# Directory layout +The resource pack should look like this: +``` +my_pack +├───pack.mcmeta +└───assets + └───skyblocker + └───tabhud + ├───screenA + ├───screenB + └───standard +``` +The three dirs `screenA`, `screenB` and `standard` contain the screen definition JSON files as described below. `standard` describes the screens shown when just the TAB key is pressed, while `screenA/B` describe the screens shown when using the modifier keys A and B (default binds: N and B). +The file names are used to describe where a screen is shown. They are case sensitive. For a full list of possible names see Appendix A. While this necessitates duplicate file contents and results in similar file names in different directories, it also allows for much control both when creating a complete layout or when only overriding specific screens. -# Screen definition JSON +# Screen definition JSONs This file consists of one widgets section and one layout section. ## Widget section @@ -16,7 +26,7 @@ The layout section defines how the widgets are arranged on the screen. This is d # Appendices ## Appendix A: Area identifiers -- default: Any area not explicitly listed in the type. +- default: Any area not explicitly listed. ## Appendix B: Widget identifiers and arguments @@ -28,12 +38,13 @@ The layout section defines how the widgets are arranged on the screen. This is d - EffectWidget: Currently active effects - ElectionWidget: Info about the current mayor election - CookieWidget: Info about your super cookie +- TODO: finish. see widgets package for possible values. ## Appendix C: Pipeline stages #### Align - op: `align` -- reference: One of `horizontalCenter`, `verticalCenter`, `leftOfCenter`, `rightOfCenter`, `topOfCenter`, `botOfCenter` +- reference: One of `horizontalCenter`, `verticalCenter`, `leftOfCenter`, `rightOfCenter`, `topOfCenter`, `botOfCenter`, `top`, `bot`, `left`, `right` - apply_to: List of widgets to individually apply this operation to. - Moves a widget in *one* direction (up/down OR left/right) until it's positioned in the way described by `reference`. This reference may be thought of as a straight line, with some describing the screen's borders and others referring to it's two center axis. @@ -86,7 +97,7 @@ Example: Stack A, B, C vertically/center-aligned, then align with leftOfCenter #### Place - op: `place` -- where: One of `center` +- where: One of `center`, `centerTop` - apply_to: Widget to place an the indicated position. - Places a widget at some position, moving it in any direction as needed. Only makes sense to use on one widget at a time, as applying the same Place op to multiple widgtes causes them to be on top of each other. diff --git a/src/main/resources/assets/skyblocker/tabhud/info/generic_info_screen.json b/src/main/resources/assets/skyblocker/tabhud/screenA/default.json index dcfa5138..dcfa5138 100644 --- a/src/main/resources/assets/skyblocker/tabhud/info/generic_info_screen.json +++ b/src/main/resources/assets/skyblocker/tabhud/screenA/default.json diff --git a/src/main/resources/assets/skyblocker/tabhud/info/garden_info_screen.json b/src/main/resources/assets/skyblocker/tabhud/screenA/garden.json index 3e1556ef..3e1556ef 100644 --- a/src/main/resources/assets/skyblocker/tabhud/info/garden_info_screen.json +++ b/src/main/resources/assets/skyblocker/tabhud/screenA/garden.json diff --git a/src/main/resources/assets/skyblocker/tabhud/info/rift_info_screen.json b/src/main/resources/assets/skyblocker/tabhud/screenA/rift.json index 3eda517d..8d1d4c5f 100644 --- a/src/main/resources/assets/skyblocker/tabhud/info/rift_info_screen.json +++ b/src/main/resources/assets/skyblocker/tabhud/screenA/rift.json @@ -41,7 +41,7 @@ }, { "op": "align", - "direction": "rightOfCenter", + "reference": "rightOfCenter", "apply_to": ["profile", "shen", "cookie"] } ] diff --git a/src/main/resources/assets/skyblocker/tabhud/empty_screen.json b/src/main/resources/assets/skyblocker/tabhud/screenA/unknown.json index 0252940a..0252940a 100644 --- a/src/main/resources/assets/skyblocker/tabhud/empty_screen.json +++ b/src/main/resources/assets/skyblocker/tabhud/screenA/unknown.json diff --git a/src/main/resources/assets/skyblocker/tabhud/screenB/default.json b/src/main/resources/assets/skyblocker/tabhud/screenB/default.json new file mode 100644 index 00000000..a1f52ad5 --- /dev/null +++ b/src/main/resources/assets/skyblocker/tabhud/screenB/default.json @@ -0,0 +1,17 @@ +{ + "widgets": [ + { + "name": "PlayerListWidget", + "alias": "plw" + } + ], + "layout": [ + { + "op": "place", + "where": "center", + "apply_to": [ + "plw" + ] + } + ] +}
\ No newline at end of file diff --git a/src/main/resources/assets/skyblocker/tabhud/screenB/dungeon.json b/src/main/resources/assets/skyblocker/tabhud/screenB/dungeon.json new file mode 100644 index 00000000..075e3d4c --- /dev/null +++ b/src/main/resources/assets/skyblocker/tabhud/screenB/dungeon.json @@ -0,0 +1,53 @@ +{ + "widgets":[ + { + "name": "DungeonPlayerWidget", + "alias": "dpw1", + "player": 1 + }, + { + "name": "DungeonPlayerWidget", + "alias": "dpw2", + "player": 2 + }, + { + "name": "DungeonPlayerWidget", + "alias": "dpw3", + "player": 3 + }, + { + "name": "DungeonPlayerWidget", + "alias": "dpw4", + "player": 4 + }, + { + "name": "DungeonPlayerWidget", + "alias": "dpw5", + "player": 5 + } + ], + "layout": [ + { + "op": "stack", + "direction": "vertical", + "align": "center", + "apply_to": ["dpw1", "dpw2", "dpw3"] + }, + { + "op": "stack", + "direction": "vertical", + "align": "center", + "apply_to": ["dpw4", "dpw5"] + }, + { + "op": "align", + "reference": "leftOfCenter", + "apply_to": ["dpw1", "dpw2", "dpw3"] + }, + { + "op": "align", + "reference": "rightOfCenter", + "apply_to": ["dpw4", "dpw5"] + } + ] +}
\ No newline at end of file diff --git a/src/main/resources/assets/skyblocker/tabhud/screenB/garden.json b/src/main/resources/assets/skyblocker/tabhud/screenB/garden.json new file mode 100644 index 00000000..772e0594 --- /dev/null +++ b/src/main/resources/assets/skyblocker/tabhud/screenB/garden.json @@ -0,0 +1,29 @@ +{ + "widgets":[ + { + "name": "IslandGuestsWidget", + "alias": "igw" + }, + { + "name": "IslandSelfWidget", + "alias": "isw" + } + ], + "layout": [ + { + "op": "align", + "reference": "rightOfCenter", + "apply_to": ["igw"] + }, + { + "op": "align", + "reference": "leftOfCenter", + "apply_to": ["isw"] + }, + { + "op": "align", + "reference": "verticalCenter", + "apply_to": ["igw", "isw"] + } + ] +}
\ No newline at end of file diff --git a/src/main/resources/assets/skyblocker/tabhud/screenB/guest_island.json b/src/main/resources/assets/skyblocker/tabhud/screenB/guest_island.json new file mode 100644 index 00000000..54a4039d --- /dev/null +++ b/src/main/resources/assets/skyblocker/tabhud/screenB/guest_island.json @@ -0,0 +1,29 @@ +{ + "widgets":[ + { + "name": "IslandGuestsWidget", + "alias": "igw" + }, + { + "name": "IslandOwnersWidget", + "alias": "iow" + } + ], + "layout": [ + { + "op": "align", + "reference": "leftOfCenter", + "apply_to": ["igw"] + }, + { + "op": "align", + "reference": "rightOfCenter", + "apply_to": ["iow"] + }, + { + "op": "align", + "reference": "verticalCenter", + "apply_to": ["igw", "iow"] + } + ] +}
\ No newline at end of file diff --git a/src/main/resources/assets/skyblocker/tabhud/screenB/home_island.json b/src/main/resources/assets/skyblocker/tabhud/screenB/home_island.json new file mode 100644 index 00000000..772e0594 --- /dev/null +++ b/src/main/resources/assets/skyblocker/tabhud/screenB/home_island.json @@ -0,0 +1,29 @@ +{ + "widgets":[ + { + "name": "IslandGuestsWidget", + "alias": "igw" + }, + { + "name": "IslandSelfWidget", + "alias": "isw" + } + ], + "layout": [ + { + "op": "align", + "reference": "rightOfCenter", + "apply_to": ["igw"] + }, + { + "op": "align", + "reference": "leftOfCenter", + "apply_to": ["isw"] + }, + { + "op": "align", + "reference": "verticalCenter", + "apply_to": ["igw", "isw"] + } + ] +}
\ No newline at end of file diff --git a/src/main/resources/assets/skyblocker/tabhud/screenB/unknown.json b/src/main/resources/assets/skyblocker/tabhud/screenB/unknown.json new file mode 100644 index 00000000..0252940a --- /dev/null +++ b/src/main/resources/assets/skyblocker/tabhud/screenB/unknown.json @@ -0,0 +1,17 @@ +{ + "widgets": [ + { + "name": "EmptyWidget", + "alias": "ew" + } + ], + "layout": [ + { + "op": "place", + "where": "center", + "apply_to": [ + "ew" + ] + } + ] +}
\ No newline at end of file diff --git a/src/main/resources/assets/skyblocker/tabhud/standard/crimson_isle.json b/src/main/resources/assets/skyblocker/tabhud/standard/crimson_isle.json new file mode 100644 index 00000000..7584c423 --- /dev/null +++ b/src/main/resources/assets/skyblocker/tabhud/standard/crimson_isle.json @@ -0,0 +1,44 @@ +{ + "widgets":[ + { + "name": "ServerWidget", + "alias": "sw" + }, + { + "name": "ReputationWidget", + "alias": "rw" + }, + { + "name": "QuestWidget", + "alias": "qw" + }, + { + "name": "VolcanoWidget", + "alias": "vw" + } + ], + "layout": [ + { + "op": "stack", + "direction": "vertical", + "align": "center", + "apply_to": ["sw", "rw"] + }, + { + "op": "stack", + "direction": "vertical", + "align": "center", + "apply_to": ["qw", "vw"] + }, + { + "op": "align", + "reference": "leftOfCenter", + "apply_to": ["sw", "rw"] + }, + { + "op": "align", + "reference": "rightOfCenter", + "apply_to": ["qw", "vw"] + } + ] +}
\ No newline at end of file diff --git a/src/main/resources/assets/skyblocker/tabhud/standard/crystal_hollows.json b/src/main/resources/assets/skyblocker/tabhud/standard/crystal_hollows.json new file mode 100644 index 00000000..7a9db97d --- /dev/null +++ b/src/main/resources/assets/skyblocker/tabhud/standard/crystal_hollows.json @@ -0,0 +1,44 @@ +{ + "widgets":[ + { + "name": "ServerWidget", + "alias": "sw" + }, + { + "name": "PowderWidget", + "alias": "pw" + }, + { + "name": "CommsWidget", + "alias": "cw" + }, + { + "name": "ForgeWidget", + "alias": "fw" + } + ], + "layout": [ + { + "op": "stack", + "direction": "vertical", + "align": "center", + "apply_to": ["sw", "cw"] + }, + { + "op": "stack", + "direction": "vertical", + "align": "center", + "apply_to": ["fw", "pw"] + }, + { + "op": "align", + "reference": "leftOfCenter", + "apply_to": ["sw", "cw"] + }, + { + "op": "align", + "reference": "rightOfCenter", + "apply_to": ["pw", "fw"] + } + ] +}
\ No newline at end of file diff --git a/src/main/resources/assets/skyblocker/tabhud/standard/default.json b/src/main/resources/assets/skyblocker/tabhud/standard/default.json new file mode 100644 index 00000000..99ca3323 --- /dev/null +++ b/src/main/resources/assets/skyblocker/tabhud/standard/default.json @@ -0,0 +1,17 @@ +{ + "widgets": [ + { + "name": "ServerWidget", + "alias": "sw" + } + ], + "layout": [ + { + "op": "place", + "where": "center", + "apply_to": [ + "sw" + ] + } + ] +}
\ No newline at end of file diff --git a/src/main/resources/assets/skyblocker/tabhud/standard/dungeon.json b/src/main/resources/assets/skyblocker/tabhud/standard/dungeon.json new file mode 100644 index 00000000..f0fce5c6 --- /dev/null +++ b/src/main/resources/assets/skyblocker/tabhud/standard/dungeon.json @@ -0,0 +1,52 @@ +{ + "widgets":[ + { + "name": "DungeonDownedWidget", + "alias": "ddow" + }, + { + "name": "DungeonDeathWidget", + "alias": "ddew" + }, + { + "name": "DungeonSecretWidget", + "alias": "dscw" + }, + { + "name": "DungeonServerWidget", + "alias": "dsrw" + }, + { + "name": "DungeonPuzzleWidget", + "alias": "dpuw" + }, + { + "name": "DungeonBuffWidget", + "alias": "dbw" + } + ], + "layout": [ + { + "op": "stack", + "direction": "vertical", + "align": "center", + "apply_to": ["ddow", "ddew", "dbw"] + }, + { + "op": "stack", + "direction": "vertical", + "align": "center", + "apply_to": ["dsrw", "dpuw", "dscw"] + }, + { + "op": "align", + "reference": "leftOfCenter", + "apply_to": ["ddow", "ddew", "dbw"] + }, + { + "op": "align", + "reference": "rightOfCenter", + "apply_to": ["dsrw", "dpuw", "dscw"] + } + ] +}
\ No newline at end of file diff --git a/src/main/resources/assets/skyblocker/tabhud/standard/dungeon_hub.json b/src/main/resources/assets/skyblocker/tabhud/standard/dungeon_hub.json new file mode 100644 index 00000000..09b39296 --- /dev/null +++ b/src/main/resources/assets/skyblocker/tabhud/standard/dungeon_hub.json @@ -0,0 +1,25 @@ +{ + "widgets":[ + { + "name": "ServerWidget", + "alias": "sw" + }, + { + "name": "EssenceWidget", + "alias": "ew" + } + ], + "layout": [ + { + "op": "stack", + "direction": "vertical", + "align": "center", + "apply_to": ["sw", "ew"] + }, + { + "op": "align", + "reference": "horizontalCenter", + "apply_to": ["sw", "ew"] + } + ] +}
\ No newline at end of file diff --git a/src/main/resources/assets/skyblocker/tabhud/standard/dwarven_mines.json b/src/main/resources/assets/skyblocker/tabhud/standard/dwarven_mines.json new file mode 100644 index 00000000..7a9db97d --- /dev/null +++ b/src/main/resources/assets/skyblocker/tabhud/standard/dwarven_mines.json @@ -0,0 +1,44 @@ +{ + "widgets":[ + { + "name": "ServerWidget", + "alias": "sw" + }, + { + "name": "PowderWidget", + "alias": "pw" + }, + { + "name": "CommsWidget", + "alias": "cw" + }, + { + "name": "ForgeWidget", + "alias": "fw" + } + ], + "layout": [ + { + "op": "stack", + "direction": "vertical", + "align": "center", + "apply_to": ["sw", "cw"] + }, + { + "op": "stack", + "direction": "vertical", + "align": "center", + "apply_to": ["fw", "pw"] + }, + { + "op": "align", + "reference": "leftOfCenter", + "apply_to": ["sw", "cw"] + }, + { + "op": "align", + "reference": "rightOfCenter", + "apply_to": ["pw", "fw"] + } + ] +}
\ No newline at end of file diff --git a/src/main/resources/assets/skyblocker/tabhud/standard/farming_island.json b/src/main/resources/assets/skyblocker/tabhud/standard/farming_island.json new file mode 100644 index 00000000..16e0c0c0 --- /dev/null +++ b/src/main/resources/assets/skyblocker/tabhud/standard/farming_island.json @@ -0,0 +1,25 @@ +{ + "widgets":[ + { + "name": "ServerWidget", + "alias": "sw" + }, + { + "name": "TrapperWidget", + "alias": "tw" + } + ], + "layout": [ + { + "op": "stack", + "direction": "vertical", + "align": "center", + "apply_to": ["sw", "tw"] + }, + { + "op": "align", + "reference": "horizontalCenter", + "apply_to": ["sw", "tw"] + } + ] +}
\ No newline at end of file diff --git a/src/main/resources/assets/skyblocker/tabhud/standard/garden.json b/src/main/resources/assets/skyblocker/tabhud/standard/garden.json new file mode 100644 index 00000000..69d854eb --- /dev/null +++ b/src/main/resources/assets/skyblocker/tabhud/standard/garden.json @@ -0,0 +1,25 @@ +{ + "widgets":[ + { + "name": "GardenServerWidget", + "alias": "gsw" + }, + { + "name": "ComposterWidget", + "alias": "cw" + } + ], + "layout": [ + { + "op": "stack", + "direction": "vertical", + "align": "center", + "apply_to": ["gsw", "cw"] + }, + { + "op": "align", + "reference": "horizontalCenter", + "apply_to": ["gsw", "cw"] + } + ] +}
\ No newline at end of file diff --git a/src/main/resources/assets/skyblocker/tabhud/standard/guest_island.json b/src/main/resources/assets/skyblocker/tabhud/standard/guest_island.json new file mode 100644 index 00000000..cc1be77f --- /dev/null +++ b/src/main/resources/assets/skyblocker/tabhud/standard/guest_island.json @@ -0,0 +1,17 @@ +{ + "widgets": [ + { + "name": "GuestServerWidget", + "alias": "gsw" + } + ], + "layout": [ + { + "op": "place", + "where": "center", + "apply_to": [ + "gsw" + ] + } + ] +}
\ No newline at end of file diff --git a/src/main/resources/assets/skyblocker/tabhud/standard/home_island.json b/src/main/resources/assets/skyblocker/tabhud/standard/home_island.json new file mode 100644 index 00000000..6fe3c32d --- /dev/null +++ b/src/main/resources/assets/skyblocker/tabhud/standard/home_island.json @@ -0,0 +1,29 @@ +{ + "widgets":[ + { + "name": "IslandServerWidget", + "alias": "isw" + }, + { + "name": "MinionWidget", + "alias": "mw" + } + ], + "layout": [ + { + "op": "align", + "reference": "leftOfCenter", + "apply_to": ["isw"] + }, + { + "op": "align", + "reference": "rightOfCenter", + "apply_to": ["mw"] + }, + { + "op": "align", + "reference": "verticalCenter", + "apply_to": ["isw", "mw"] + } + ] +}
\ No newline at end of file diff --git a/src/main/resources/assets/skyblocker/tabhud/standard/hub.json b/src/main/resources/assets/skyblocker/tabhud/standard/hub.json new file mode 100644 index 00000000..cbe5aab4 --- /dev/null +++ b/src/main/resources/assets/skyblocker/tabhud/standard/hub.json @@ -0,0 +1,29 @@ +{ + "widgets":[ + { + "name": "ServerWidget", + "alias": "sw" + }, + { + "name": "FireSaleWidget", + "alias": "fsw" + } + ], + "layout": [ + { + "op": "align", + "reference": "leftOfCenter", + "apply_to": ["sw"] + }, + { + "op": "align", + "reference": "rightOfCenter", + "apply_to": ["fsw"] + }, + { + "op": "align", + "reference": "verticalCenter", + "apply_to": ["sw", "fsw"] + } + ] +}
\ No newline at end of file diff --git a/src/main/resources/assets/skyblocker/tabhud/standard/park.json b/src/main/resources/assets/skyblocker/tabhud/standard/park.json new file mode 100644 index 00000000..2c8a96cc --- /dev/null +++ b/src/main/resources/assets/skyblocker/tabhud/standard/park.json @@ -0,0 +1,17 @@ +{ + "widgets": [ + { + "name": "ParkServerWidget", + "alias": "psw" + } + ], + "layout": [ + { + "op": "place", + "where": "center", + "apply_to": [ + "psw" + ] + } + ] +}
\ No newline at end of file diff --git a/src/main/resources/assets/skyblocker/tabhud/standard/rift.json b/src/main/resources/assets/skyblocker/tabhud/standard/rift.json new file mode 100644 index 00000000..2f5a48b2 --- /dev/null +++ b/src/main/resources/assets/skyblocker/tabhud/standard/rift.json @@ -0,0 +1,39 @@ +{ + "widgets":[ + { + "name": "RiftProgressWidget", + "alias": "rft" + }, + { + "name": "GoodToKnowWidget", + "alias": "gtk" + }, + { + "name": "RiftServerInfoWidget", + "alias": "si" + } + ], + "layout": [ + { + "op": "stack", + "direction": "vertical", + "align": "center", + "apply_to": ["si", "gtk"] + }, + { + "op": "align", + "reference": "verticalCenter", + "apply_to": ["rft"] + }, + { + "op": "align", + "reference": "leftOfCenter", + "apply_to": ["si", "gtk"] + }, + { + "op": "align", + "reference": "rightOfCenter", + "apply_to": ["rft"] + } + ] +}
\ No newline at end of file diff --git a/src/main/resources/assets/skyblocker/tabhud/standard/unknown.json b/src/main/resources/assets/skyblocker/tabhud/standard/unknown.json new file mode 100644 index 00000000..0252940a --- /dev/null +++ b/src/main/resources/assets/skyblocker/tabhud/standard/unknown.json @@ -0,0 +1,17 @@ +{ + "widgets": [ + { + "name": "EmptyWidget", + "alias": "ew" + } + ], + "layout": [ + { + "op": "place", + "where": "center", + "apply_to": [ + "ew" + ] + } + ] +}
\ No newline at end of file diff --git a/src/main/resources/assets/skyblocker/tabhud/test_screen.json b/src/main/resources/assets/skyblocker/tabhud/test_screen.json deleted file mode 100644 index 2ffa802d..00000000 --- a/src/main/resources/assets/skyblocker/tabhud/test_screen.json +++ /dev/null @@ -1,122 +0,0 @@ -{ - "widgets": [ - { - "name": "EmptyWidget", - "alias": "ew1" - }, - { - "name": "EmptyWidget", - "alias": "ew2" - }, - { - "name": "EffectWidget", - "alias": "ew3" - }, - { - "name": "EffectWidget", - "alias": "ew4" - }, - { - "name": "CookieWidget", - "alias": "ew5" - }, - { - "name": "CookieWidget", - "alias": "ew6" - }, - { - "name": "UpgradeWidget", - "alias": "ew7" - }, - { - "name": "UpgradeWidget", - "alias": "ew8" - }, - { - "name": "FireSaleWidget", - "alias": "ew9" - }, - { - "name": "FireSaleWidget", - "alias": "ew10" - }, - { - "name": "EventWidget", - "alias": "ew11", - "inGarden": true - }, - { - "name": "EventWidget", - "alias": "ew12", - "inGarden": true - } - ], - "layout": [ - { - "op": "stack", - "direction": "vertical", - "align": "top", - "apply_to": ["ew1", "ew2"] - }, - { - "op": "align", - "reference": "leftOfCenter", - "apply_to": ["ew1", "ew2"] - }, - { - "op": "stack", - "direction": "vertical", - "align": "center", - "apply_to": ["ew3", "ew4"] - }, - { - "op": "align", - "reference": "horizontalCenter", - "apply_to": ["ew3", "ew4"] - }, - { - "op": "stack", - "direction": "vertical", - "align": "bot", - "apply_to": ["ew5", "ew6"] - }, - { - "op": "align", - "reference": "rightOfCenter", - "apply_to": ["ew5", "ew6"] - }, - { - "op": "stack", - "direction": "horizontal", - "align": "left", - "apply_to": ["ew7", "ew8"] - }, - { - "op": "align", - "reference": "topOfCenter", - "apply_to": ["ew7", "ew8"] - }, - { - "op": "stack", - "direction": "horizontal", - "align": "center", - "apply_to": ["ew9", "ew10"] - }, - { - "op": "align", - "reference": "verticalCenter", - "apply_to": ["ew9", "ew10"] - }, - { - "op": "stack", - "direction": "horizontal", - "align": "right", - "apply_to": ["ew11", "ew12"] - }, - { - "op": "align", - "reference": "botOfCenter", - "apply_to": ["ew11", "ew12"] - } - ] -}
\ No newline at end of file diff --git a/src/main/resources/resourcepacks/default_top/assets/skyblocker/tabhud/screenA/default.json b/src/main/resources/resourcepacks/default_top/assets/skyblocker/tabhud/screenA/default.json new file mode 100644 index 00000000..2002591f --- /dev/null +++ b/src/main/resources/resourcepacks/default_top/assets/skyblocker/tabhud/screenA/default.json @@ -0,0 +1,70 @@ +{ + "widgets":[ + { + "name": "SkillsWidget", + "alias": "sw" + }, + { + "name": "EventWidget", + "alias": "evw", + "inGarden": false + }, + { + "name": "UpgradeWidget", + "alias": "uw" + }, + { + "name": "ProfileWidget", + "alias": "pw" + }, + { + "name": "EffectWidget", + "alias": "efw" + }, + { + "name": "ElectionWidget", + "alias": "elw" + }, + { + "name": "CookieWidget", + "alias": "cw" + } + ], + "layout": [ + { + "op": "stack", + "direction": "vertical", + "align": "top", + "apply_to": ["sw", "evw", "uw"] + }, + { + "op": "stack", + "direction": "vertical", + "align": "top", + "apply_to": ["pw", "efw"] + }, + { + "op": "stack", + "direction": "vertical", + "align": "top", + "apply_to": ["elw", "cw"] + }, + { + "op": "align", + "reference": "horizontalCenter", + "apply_to": ["sw", "evw", "uw"] + }, + { + "op": "collideAgainst", + "direction": "left", + "widgets": ["pw", "efw"], + "colliders": ["sw", "evw", "uw"] + }, + { + "op": "collideAgainst", + "direction": "right", + "widgets": ["elw", "cw"], + "colliders": ["sw", "evw", "uw"] + } + ] +}
\ No newline at end of file diff --git a/src/main/resources/resourcepacks/default_top/assets/skyblocker/tabhud/screenA/garden.json b/src/main/resources/resourcepacks/default_top/assets/skyblocker/tabhud/screenA/garden.json new file mode 100644 index 00000000..39ee5b98 --- /dev/null +++ b/src/main/resources/resourcepacks/default_top/assets/skyblocker/tabhud/screenA/garden.json @@ -0,0 +1,70 @@ +{ + "widgets":[ + { + "name": "GardenSkillsWidget", + "alias": "gsw" + }, + { + "name": "EventWidget", + "alias": "evw", + "inGarden": true + }, + { + "name": "UpgradeWidget", + "alias": "uw" + }, + { + "name": "ProfileWidget", + "alias": "pw" + }, + { + "name": "EffectWidget", + "alias": "efw" + }, + { + "name": "JacobsContestWidget", + "alias": "jcw" + }, + { + "name": "CookieWidget", + "alias": "cw" + } + ], + "layout": [ + { + "op": "stack", + "direction": "vertical", + "align": "top", + "apply_to": ["gsw", "evw", "uw"] + }, + { + "op": "stack", + "direction": "vertical", + "align": "top", + "apply_to": ["pw", "efw"] + }, + { + "op": "stack", + "direction": "vertical", + "align": "top", + "apply_to": ["jcw", "cw"] + }, + { + "op": "align", + "reference": "horizontalCenter", + "apply_to": ["gsw", "evw", "uw"] + }, + { + "op": "collideAgainst", + "direction": "left", + "widgets": ["pw", "efw"], + "colliders": ["gsw", "evw", "uw"] + }, + { + "op": "collideAgainst", + "direction": "right", + "widgets": ["jcw", "cw"], + "colliders": ["gsw", "evw", "uw"] + } + ] +}
\ No newline at end of file diff --git a/src/main/resources/resourcepacks/default_top/assets/skyblocker/tabhud/screenA/rift.json b/src/main/resources/resourcepacks/default_top/assets/skyblocker/tabhud/screenA/rift.json new file mode 100644 index 00000000..d18efca8 --- /dev/null +++ b/src/main/resources/resourcepacks/default_top/assets/skyblocker/tabhud/screenA/rift.json @@ -0,0 +1,48 @@ +{ + "widgets":[ + { + "name": "RiftProfileWidget", + "alias": "profile" + }, + { + "name": "RiftStatsWidget", + "alias": "stats" + }, + { + "name": "ShenWidget", + "alias": "shen" + }, + { + "name": "CookieWidget", + "alias": "cookie" + }, + { + "name": "AdvertisementWidget", + "alias": "ad" + } + ], + "layout": [ + { + "op": "stack", + "direction": "vertical", + "align": "top", + "apply_to": ["stats", "ad"] + }, + { + "op": "stack", + "direction": "vertical", + "align": "top", + "apply_to": ["profile", "shen", "cookie"] + }, + { + "op": "align", + "reference": "leftOfCenter", + "apply_to": ["stats", "ad"] + }, + { + "op": "align", + "reference": "rightOfCenter", + "apply_to": ["profile", "shen", "cookie"] + } + ] +}
\ No newline at end of file diff --git a/src/main/resources/resourcepacks/default_top/assets/skyblocker/tabhud/screenA/unknown.json b/src/main/resources/resourcepacks/default_top/assets/skyblocker/tabhud/screenA/unknown.json new file mode 100644 index 00000000..1b204adf --- /dev/null +++ b/src/main/resources/resourcepacks/default_top/assets/skyblocker/tabhud/screenA/unknown.json @@ -0,0 +1,17 @@ +{ + "widgets": [ + { + "name": "EmptyWidget", + "alias": "ew" + } + ], + "layout": [ + { + "op": "place", + "where": "centerTop", + "apply_to": [ + "ew" + ] + } + ] +}
\ No newline at end of file diff --git a/src/main/resources/resourcepacks/default_top/assets/skyblocker/tabhud/screenB/default.json b/src/main/resources/resourcepacks/default_top/assets/skyblocker/tabhud/screenB/default.json new file mode 100644 index 00000000..e857ee6f --- /dev/null +++ b/src/main/resources/resourcepacks/default_top/assets/skyblocker/tabhud/screenB/default.json @@ -0,0 +1,17 @@ +{ + "widgets": [ + { + "name": "PlayerListWidget", + "alias": "plw" + } + ], + "layout": [ + { + "op": "place", + "where": "centerTop", + "apply_to": [ + "plw" + ] + } + ] +}
\ No newline at end of file diff --git a/src/main/resources/resourcepacks/default_top/assets/skyblocker/tabhud/screenB/dungeon.json b/src/main/resources/resourcepacks/default_top/assets/skyblocker/tabhud/screenB/dungeon.json new file mode 100644 index 00000000..8bb6181b --- /dev/null +++ b/src/main/resources/resourcepacks/default_top/assets/skyblocker/tabhud/screenB/dungeon.json @@ -0,0 +1,53 @@ +{ + "widgets":[ + { + "name": "DungeonPlayerWidget", + "alias": "dpw1", + "player": 1 + }, + { + "name": "DungeonPlayerWidget", + "alias": "dpw2", + "player": 2 + }, + { + "name": "DungeonPlayerWidget", + "alias": "dpw3", + "player": 3 + }, + { + "name": "DungeonPlayerWidget", + "alias": "dpw4", + "player": 4 + }, + { + "name": "DungeonPlayerWidget", + "alias": "dpw5", + "player": 5 + } + ], + "layout": [ + { + "op": "stack", + "direction": "vertical", + "align": "top", + "apply_to": ["dpw1", "dpw2", "dpw3"] + }, + { + "op": "stack", + "direction": "vertical", + "align": "top", + "apply_to": ["dpw4", "dpw5"] + }, + { + "op": "align", + "reference": "leftOfCenter", + "apply_to": ["dpw1", "dpw2", "dpw3"] + }, + { + "op": "align", + "reference": "rightOfCenter", + "apply_to": ["dpw4", "dpw5"] + } + ] +}
\ No newline at end of file diff --git a/src/main/resources/resourcepacks/default_top/assets/skyblocker/tabhud/screenB/garden.json b/src/main/resources/resourcepacks/default_top/assets/skyblocker/tabhud/screenB/garden.json new file mode 100644 index 00000000..64fe8de4 --- /dev/null +++ b/src/main/resources/resourcepacks/default_top/assets/skyblocker/tabhud/screenB/garden.json @@ -0,0 +1,29 @@ +{ + "widgets":[ + { + "name": "IslandGuestsWidget", + "alias": "igw" + }, + { + "name": "IslandSelfWidget", + "alias": "isw" + } + ], + "layout": [ + { + "op": "align", + "reference": "rightOfCenter", + "apply_to": ["igw"] + }, + { + "op": "align", + "reference": "leftOfCenter", + "apply_to": ["isw"] + }, + { + "op": "align", + "reference": "top", + "apply_to": ["igw", "isw"] + } + ] +}
\ No newline at end of file diff --git a/src/main/resources/resourcepacks/default_top/assets/skyblocker/tabhud/screenB/guest_island.json b/src/main/resources/resourcepacks/default_top/assets/skyblocker/tabhud/screenB/guest_island.json new file mode 100644 index 00000000..98d9bd9e --- /dev/null +++ b/src/main/resources/resourcepacks/default_top/assets/skyblocker/tabhud/screenB/guest_island.json @@ -0,0 +1,29 @@ +{ + "widgets":[ + { + "name": "IslandGuestsWidget", + "alias": "igw" + }, + { + "name": "IslandOwnersWidget", + "alias": "iow" + } + ], + "layout": [ + { + "op": "align", + "reference": "leftOfCenter", + "apply_to": ["igw"] + }, + { + "op": "align", + "reference": "rightOfCenter", + "apply_to": ["iow"] + }, + { + "op": "align", + "reference": "top", + "apply_to": ["igw", "iow"] + } + ] +}
\ No newline at end of file diff --git a/src/main/resources/resourcepacks/default_top/assets/skyblocker/tabhud/screenB/home_island.json b/src/main/resources/resourcepacks/default_top/assets/skyblocker/tabhud/screenB/home_island.json new file mode 100644 index 00000000..64fe8de4 --- /dev/null +++ b/src/main/resources/resourcepacks/default_top/assets/skyblocker/tabhud/screenB/home_island.json @@ -0,0 +1,29 @@ +{ + "widgets":[ + { + "name": "IslandGuestsWidget", + "alias": "igw" + }, + { + "name": "IslandSelfWidget", + "alias": "isw" + } + ], + "layout": [ + { + "op": "align", + "reference": "rightOfCenter", + "apply_to": ["igw"] + }, + { + "op": "align", + "reference": "leftOfCenter", + "apply_to": ["isw"] + }, + { + "op": "align", + "reference": "top", + "apply_to": ["igw", "isw"] + } + ] +}
\ No newline at end of file diff --git a/src/main/resources/resourcepacks/default_top/assets/skyblocker/tabhud/screenB/unknown.json b/src/main/resources/resourcepacks/default_top/assets/skyblocker/tabhud/screenB/unknown.json new file mode 100644 index 00000000..1b204adf --- /dev/null +++ b/src/main/resources/resourcepacks/default_top/assets/skyblocker/tabhud/screenB/unknown.json @@ -0,0 +1,17 @@ +{ + "widgets": [ + { + "name": "EmptyWidget", + "alias": "ew" + } + ], + "layout": [ + { + "op": "place", + "where": "centerTop", + "apply_to": [ + "ew" + ] + } + ] +}
\ No newline at end of file diff --git a/src/main/resources/resourcepacks/default_top/assets/skyblocker/tabhud/standard/crimson_isle.json b/src/main/resources/resourcepacks/default_top/assets/skyblocker/tabhud/standard/crimson_isle.json new file mode 100644 index 00000000..07e00d5f --- /dev/null +++ b/src/main/resources/resourcepacks/default_top/assets/skyblocker/tabhud/standard/crimson_isle.json @@ -0,0 +1,44 @@ +{ + "widgets":[ + { + "name": "ServerWidget", + "alias": "sw" + }, + { + "name": "ReputationWidget", + "alias": "rw" + }, + { + "name": "QuestWidget", + "alias": "qw" + }, + { + "name": "VolcanoWidget", + "alias": "vw" + } + ], + "layout": [ + { + "op": "stack", + "direction": "vertical", + "align": "top", + "apply_to": ["sw", "rw"] + }, + { + "op": "stack", + "direction": "vertical", + "align": "top", + "apply_to": ["qw", "vw"] + }, + { + "op": "align", + "reference": "leftOfCenter", + "apply_to": ["sw", "rw"] + }, + { + "op": "align", + "reference": "rightOfCenter", + "apply_to": ["qw", "vw"] + } + ] +}
\ No newline at end of file diff --git a/src/main/resources/resourcepacks/default_top/assets/skyblocker/tabhud/standard/crystal_hollows.json b/src/main/resources/resourcepacks/default_top/assets/skyblocker/tabhud/standard/crystal_hollows.json new file mode 100644 index 00000000..45d3c188 --- /dev/null +++ b/src/main/resources/resourcepacks/default_top/assets/skyblocker/tabhud/standard/crystal_hollows.json @@ -0,0 +1,44 @@ +{ + "widgets":[ + { + "name": "ServerWidget", + "alias": "sw" + }, + { + "name": "PowderWidget", + "alias": "pw" + }, + { + "name": "CommsWidget", + "alias": "cw" + }, + { + "name": "ForgeWidget", + "alias": "fw" + } + ], + "layout": [ + { + "op": "stack", + "direction": "vertical", + "align": "top", + "apply_to": ["sw", "cw"] + }, + { + "op": "stack", + "direction": "vertical", + "align": "top", + "apply_to": ["fw", "pw"] + }, + { + "op": "align", + "reference": "leftOfCenter", + "apply_to": ["sw", "cw"] + }, + { + "op": "align", + "reference": "rightOfCenter", + "apply_to": ["pw", "fw"] + } + ] +}
\ No newline at end of file diff --git a/src/main/resources/resourcepacks/default_top/assets/skyblocker/tabhud/standard/default.json b/src/main/resources/resourcepacks/default_top/assets/skyblocker/tabhud/standard/default.json new file mode 100644 index 00000000..c56e2bc2 --- /dev/null +++ b/src/main/resources/resourcepacks/default_top/assets/skyblocker/tabhud/standard/default.json @@ -0,0 +1,17 @@ +{ + "widgets": [ + { + "name": "ServerWidget", + "alias": "sw" + } + ], + "layout": [ + { + "op": "place", + "where": "centerTop", + "apply_to": [ + "sw" + ] + } + ] +}
\ No newline at end of file diff --git a/src/main/resources/resourcepacks/default_top/assets/skyblocker/tabhud/standard/dungeon.json b/src/main/resources/resourcepacks/default_top/assets/skyblocker/tabhud/standard/dungeon.json new file mode 100644 index 00000000..c2c9ce60 --- /dev/null +++ b/src/main/resources/resourcepacks/default_top/assets/skyblocker/tabhud/standard/dungeon.json @@ -0,0 +1,52 @@ +{ + "widgets":[ + { + "name": "DungeonDownedWidget", + "alias": "ddow" + }, + { + "name": "DungeonDeathWidget", + "alias": "ddew" + }, + { + "name": "DungeonSecretWidget", + "alias": "dscw" + }, + { + "name": "DungeonServerWidget", + "alias": "dsrw" + }, + { + "name": "DungeonPuzzleWidget", + "alias": "dpuw" + }, + { + "name": "DungeonBuffWidget", + "alias": "dbw" + } + ], + "layout": [ + { + "op": "stack", + "direction": "vertical", + "align": "top", + "apply_to": ["ddow", "ddew", "dbw"] + }, + { + "op": "stack", + "direction": "vertical", + "align": "top", + "apply_to": ["dsrw", "dpuw", "dscw"] + }, + { + "op": "align", + "reference": "leftOfCenter", + "apply_to": ["ddow", "ddew", "dbw"] + }, + { + "op": "align", + "reference": "rightOfCenter", + "apply_to": ["dsrw", "dpuw", "dscw"] + } + ] +}
\ No newline at end of file diff --git a/src/main/resources/resourcepacks/default_top/assets/skyblocker/tabhud/standard/dungeon_hub.json b/src/main/resources/resourcepacks/default_top/assets/skyblocker/tabhud/standard/dungeon_hub.json new file mode 100644 index 00000000..68c0d9bb --- /dev/null +++ b/src/main/resources/resourcepacks/default_top/assets/skyblocker/tabhud/standard/dungeon_hub.json @@ -0,0 +1,25 @@ +{ + "widgets":[ + { + "name": "ServerWidget", + "alias": "sw" + }, + { + "name": "EssenceWidget", + "alias": "ew" + } + ], + "layout": [ + { + "op": "stack", + "direction": "vertical", + "align": "top", + "apply_to": ["sw", "ew"] + }, + { + "op": "align", + "reference": "horizontalCenter", + "apply_to": ["sw", "ew"] + } + ] +}
\ No newline at end of file diff --git a/src/main/resources/resourcepacks/default_top/assets/skyblocker/tabhud/standard/dwarven_mines.json b/src/main/resources/resourcepacks/default_top/assets/skyblocker/tabhud/standard/dwarven_mines.json new file mode 100644 index 00000000..45d3c188 --- /dev/null +++ b/src/main/resources/resourcepacks/default_top/assets/skyblocker/tabhud/standard/dwarven_mines.json @@ -0,0 +1,44 @@ +{ + "widgets":[ + { + "name": "ServerWidget", + "alias": "sw" + }, + { + "name": "PowderWidget", + "alias": "pw" + }, + { + "name": "CommsWidget", + "alias": "cw" + }, + { + "name": "ForgeWidget", + "alias": "fw" + } + ], + "layout": [ + { + "op": "stack", + "direction": "vertical", + "align": "top", + "apply_to": ["sw", "cw"] + }, + { + "op": "stack", + "direction": "vertical", + "align": "top", + "apply_to": ["fw", "pw"] + }, + { + "op": "align", + "reference": "leftOfCenter", + "apply_to": ["sw", "cw"] + }, + { + "op": "align", + "reference": "rightOfCenter", + "apply_to": ["pw", "fw"] + } + ] +}
\ No newline at end of file diff --git a/src/main/resources/resourcepacks/default_top/assets/skyblocker/tabhud/standard/farming_island.json b/src/main/resources/resourcepacks/default_top/assets/skyblocker/tabhud/standard/farming_island.json new file mode 100644 index 00000000..5d2cc2f8 --- /dev/null +++ b/src/main/resources/resourcepacks/default_top/assets/skyblocker/tabhud/standard/farming_island.json @@ -0,0 +1,25 @@ +{ + "widgets":[ + { + "name": "ServerWidget", + "alias": "sw" + }, + { + "name": "TrapperWidget", + "alias": "tw" + } + ], + "layout": [ + { + "op": "stack", + "direction": "vertical", + "align": "top", + "apply_to": ["sw", "tw"] + }, + { + "op": "align", + "reference": "horizontalCenter", + "apply_to": ["sw", "tw"] + } + ] +}
\ No newline at end of file diff --git a/src/main/resources/resourcepacks/default_top/assets/skyblocker/tabhud/standard/garden.json b/src/main/resources/resourcepacks/default_top/assets/skyblocker/tabhud/standard/garden.json new file mode 100644 index 00000000..c3b082c4 --- /dev/null +++ b/src/main/resources/resourcepacks/default_top/assets/skyblocker/tabhud/standard/garden.json @@ -0,0 +1,25 @@ +{ + "widgets":[ + { + "name": "GardenServerWidget", + "alias": "gsw" + }, + { + "name": "ComposterWidget", + "alias": "cw" + } + ], + "layout": [ + { + "op": "stack", + "direction": "vertical", + "align": "top", + "apply_to": ["gsw", "cw"] + }, + { + "op": "align", + "reference": "horizontalCenter", + "apply_to": ["gsw", "cw"] + } + ] +}
\ No newline at end of file diff --git a/src/main/resources/resourcepacks/default_top/assets/skyblocker/tabhud/standard/guest_island.json b/src/main/resources/resourcepacks/default_top/assets/skyblocker/tabhud/standard/guest_island.json new file mode 100644 index 00000000..9c8cff77 --- /dev/null +++ b/src/main/resources/resourcepacks/default_top/assets/skyblocker/tabhud/standard/guest_island.json @@ -0,0 +1,17 @@ +{ + "widgets": [ + { + "name": "GuestServerWidget", + "alias": "gsw" + } + ], + "layout": [ + { + "op": "place", + "where": "centerTop", + "apply_to": [ + "gsw" + ] + } + ] +}
\ No newline at end of file diff --git a/src/main/resources/resourcepacks/default_top/assets/skyblocker/tabhud/standard/home_island.json b/src/main/resources/resourcepacks/default_top/assets/skyblocker/tabhud/standard/home_island.json new file mode 100644 index 00000000..e775d216 --- /dev/null +++ b/src/main/resources/resourcepacks/default_top/assets/skyblocker/tabhud/standard/home_island.json @@ -0,0 +1,29 @@ +{ + "widgets":[ + { + "name": "IslandServerWidget", + "alias": "isw" + }, + { + "name": "MinionWidget", + "alias": "mw" + } + ], + "layout": [ + { + "op": "align", + "reference": "leftOfCenter", + "apply_to": ["isw"] + }, + { + "op": "align", + "reference": "rightOfCenter", + "apply_to": ["mw"] + }, + { + "op": "align", + "reference": "top", + "apply_to": ["isw", "mw"] + } + ] +}
\ No newline at end of file diff --git a/src/main/resources/resourcepacks/default_top/assets/skyblocker/tabhud/standard/hub.json b/src/main/resources/resourcepacks/default_top/assets/skyblocker/tabhud/standard/hub.json new file mode 100644 index 00000000..37d77e98 --- /dev/null +++ b/src/main/resources/resourcepacks/default_top/assets/skyblocker/tabhud/standard/hub.json @@ -0,0 +1,29 @@ +{ + "widgets":[ + { + "name": "ServerWidget", + "alias": "sw" + }, + { + "name": "FireSaleWidget", + "alias": "fsw" + } + ], + "layout": [ + { + "op": "align", + "reference": "leftOfCenter", + "apply_to": ["sw"] + }, + { + "op": "align", + "reference": "rightOfCenter", + "apply_to": ["fsw"] + }, + { + "op": "align", + "reference": "top", + "apply_to": ["sw", "fsw"] + } + ] +}
\ No newline at end of file diff --git a/src/main/resources/resourcepacks/default_top/assets/skyblocker/tabhud/standard/park.json b/src/main/resources/resourcepacks/default_top/assets/skyblocker/tabhud/standard/park.json new file mode 100644 index 00000000..c8151af9 --- /dev/null +++ b/src/main/resources/resourcepacks/default_top/assets/skyblocker/tabhud/standard/park.json @@ -0,0 +1,17 @@ +{ + "widgets": [ + { + "name": "ParkServerWidget", + "alias": "psw" + } + ], + "layout": [ + { + "op": "place", + "where": "centerTop", + "apply_to": [ + "psw" + ] + } + ] +}
\ No newline at end of file diff --git a/src/main/resources/resourcepacks/default_top/assets/skyblocker/tabhud/standard/rift.json b/src/main/resources/resourcepacks/default_top/assets/skyblocker/tabhud/standard/rift.json new file mode 100644 index 00000000..87414cbb --- /dev/null +++ b/src/main/resources/resourcepacks/default_top/assets/skyblocker/tabhud/standard/rift.json @@ -0,0 +1,39 @@ +{ + "widgets":[ + { + "name": "RiftProgressWidget", + "alias": "rft" + }, + { + "name": "GoodToKnowWidget", + "alias": "gtk" + }, + { + "name": "RiftServerInfoWidget", + "alias": "si" + } + ], + "layout": [ + { + "op": "stack", + "direction": "vertical", + "align": "top", + "apply_to": ["si", "gtk"] + }, + { + "op": "align", + "reference": "top", + "apply_to": ["rft"] + }, + { + "op": "align", + "reference": "leftOfCenter", + "apply_to": ["si", "gtk"] + }, + { + "op": "align", + "reference": "rightOfCenter", + "apply_to": ["rft"] + } + ] +}
\ No newline at end of file diff --git a/src/main/resources/resourcepacks/default_top/assets/skyblocker/tabhud/standard/unknown.json b/src/main/resources/resourcepacks/default_top/assets/skyblocker/tabhud/standard/unknown.json new file mode 100644 index 00000000..1b204adf --- /dev/null +++ b/src/main/resources/resourcepacks/default_top/assets/skyblocker/tabhud/standard/unknown.json @@ -0,0 +1,17 @@ +{ + "widgets": [ + { + "name": "EmptyWidget", + "alias": "ew" + } + ], + "layout": [ + { + "op": "place", + "where": "centerTop", + "apply_to": [ + "ew" + ] + } + ] +}
\ No newline at end of file diff --git a/src/main/resources/resourcepacks/default_top/pack.mcmeta b/src/main/resources/resourcepacks/default_top/pack.mcmeta new file mode 100644 index 00000000..bfbd1df3 --- /dev/null +++ b/src/main/resources/resourcepacks/default_top/pack.mcmeta @@ -0,0 +1,6 @@ +{ + "pack": { + "pack_format": 15, + "description": "Tutorial Resource Pack" + } +}
\ No newline at end of file |