diff --git a/gradle.properties b/gradle.properties index 8fd389d..83a6274 100644 --- a/gradle.properties +++ b/gradle.properties @@ -19,5 +19,5 @@ loader_version_range=[1,) mod_id=bnstoolkit mod_name=Brass and Sigil Toolkit mod_license=All Rights Reserved -mod_version=0.5.0 +mod_version=0.5.1 mod_group_id=uk.sijbers.bnstoolkit diff --git a/src/main/java/uk/sijbers/bnstoolkit/client/screens/BaseBnsScreen.java b/src/main/java/uk/sijbers/bnstoolkit/client/screens/BaseBnsScreen.java index 1f04066..87e47d2 100644 --- a/src/main/java/uk/sijbers/bnstoolkit/client/screens/BaseBnsScreen.java +++ b/src/main/java/uk/sijbers/bnstoolkit/client/screens/BaseBnsScreen.java @@ -45,13 +45,18 @@ public abstract class BaseBnsScreen extends BaseScreen { theme.drawString(graphics, screenTitle, x + 8, y + 6, Color4I.WHITE, Theme.SHADOW); } - /** Top y of the content area (below title bar). */ + /** + * Top y of the content area (below title bar), relative to the panel's + * top-left. FTB Library's Panel/Widget setPos uses parent-relative + * coordinates, so all alignWidgets impls reference these as plain offsets + * (not getY() + offset). + */ protected int contentTop() { - return getY() + 20; + return 20; } - /** Bottom y of the content area (above action row). */ + /** Bottom y of the content area (above action row), relative to the panel. */ protected int contentBottom() { - return getY() + getHeight() - 24; + return getHeight() - 24; } } diff --git a/src/main/java/uk/sijbers/bnstoolkit/client/screens/BountyBoardScreen.java b/src/main/java/uk/sijbers/bnstoolkit/client/screens/BountyBoardScreen.java index 8fd907d..ade38ea 100644 --- a/src/main/java/uk/sijbers/bnstoolkit/client/screens/BountyBoardScreen.java +++ b/src/main/java/uk/sijbers/bnstoolkit/client/screens/BountyBoardScreen.java @@ -44,13 +44,13 @@ public final class BountyBoardScreen extends BaseBnsScreen { @Override public void alignWidgets() { - getWidgets().get(0).setPos(getX() + 8, contentTop()); + getWidgets().get(0).setPos(8, contentTop()); getWidgets().get(0).setSize(170, getHeight() - 30); - getWidgets().get(1).setPos(getX() + 186, contentTop()); + getWidgets().get(1).setPos(186, contentTop()); getWidgets().get(1).setSize(getWidth() - 194, getHeight() - 30); Widget rf = getWidgets().get(2); rf.setSize(60, 16); - rf.setPos(getX() + getWidth() - 68, getY() + getHeight() - 22); + rf.setPos(getWidth() - 68, getHeight() - 22); } private static final class BountyList extends Panel { diff --git a/src/main/java/uk/sijbers/bnstoolkit/client/screens/HubScreen.java b/src/main/java/uk/sijbers/bnstoolkit/client/screens/HubScreen.java index 8475af6..1f16726 100644 --- a/src/main/java/uk/sijbers/bnstoolkit/client/screens/HubScreen.java +++ b/src/main/java/uk/sijbers/bnstoolkit/client/screens/HubScreen.java @@ -45,12 +45,12 @@ public final class HubScreen extends BaseBnsScreen { @Override public void alignWidgets() { - // Header across the top + // All coordinates here are RELATIVE to the panel's top-left — FTB + // Library's renderer adds the panel's own (getX(), getY()) for us. Widget header = getWidgets().get(0); - header.setPos(getX() + 8, contentTop()); + header.setPos(8, contentTop()); header.setSize(getWidth() - 16, 20); - // 5 routing buttons stacked vertically in two columns int cols = 2; int btnW = (getWidth() - 24) / cols; int btnH = 22; @@ -61,13 +61,12 @@ public final class HubScreen extends BaseBnsScreen { int col = i % cols; Widget w = getWidgets().get(1 + i); w.setSize(btnW, btnH); - w.setPos(getX() + 8 + col * (btnW + gap), top + row * (btnH + gap)); + w.setPos(8 + col * (btnW + gap), top + row * (btnH + gap)); } - // Close button bottom-right Widget close = getWidgets().get(6); close.setSize(64, 16); - close.setPos(getX() + getWidth() - 72, getY() + getHeight() - 22); + close.setPos(getWidth() - 72, getHeight() - 22); } private SimpleTextButton makeButton(String label, Icon icon, String snapshot, diff --git a/src/main/java/uk/sijbers/bnstoolkit/client/screens/PlotPurchaseScreen.java b/src/main/java/uk/sijbers/bnstoolkit/client/screens/PlotPurchaseScreen.java index 0cd883e..d788d74 100644 --- a/src/main/java/uk/sijbers/bnstoolkit/client/screens/PlotPurchaseScreen.java +++ b/src/main/java/uk/sijbers/bnstoolkit/client/screens/PlotPurchaseScreen.java @@ -43,13 +43,13 @@ public final class PlotPurchaseScreen extends BaseBnsScreen { @Override public void alignWidgets() { - getWidgets().get(0).setPos(getX() + 8, contentTop()); + getWidgets().get(0).setPos(8, contentTop()); getWidgets().get(0).setSize(170, getHeight() - 30); - getWidgets().get(1).setPos(getX() + 186, contentTop()); + getWidgets().get(1).setPos(186, contentTop()); getWidgets().get(1).setSize(getWidth() - 194, getHeight() - 30); Widget rf = getWidgets().get(2); rf.setSize(60, 16); - rf.setPos(getX() + getWidth() - 68, getY() + getHeight() - 22); + rf.setPos(getWidth() - 68, getHeight() - 22); } private static final class PlotList extends Panel { diff --git a/src/main/java/uk/sijbers/bnstoolkit/client/screens/QuestLogScreen.java b/src/main/java/uk/sijbers/bnstoolkit/client/screens/QuestLogScreen.java index a609c89..f2045b8 100644 --- a/src/main/java/uk/sijbers/bnstoolkit/client/screens/QuestLogScreen.java +++ b/src/main/java/uk/sijbers/bnstoolkit/client/screens/QuestLogScreen.java @@ -39,11 +39,11 @@ public final class QuestLogScreen extends BaseBnsScreen { @Override public void alignWidgets() { - getWidgets().get(0).setPos(getX() + 8, contentTop()); + getWidgets().get(0).setPos(8, contentTop()); getWidgets().get(0).setSize(getWidth() - 16, getHeight() - 30); Widget rf = getWidgets().get(1); rf.setSize(60, 16); - rf.setPos(getX() + getWidth() - 68, getY() + getHeight() - 22); + rf.setPos(getWidth() - 68, getHeight() - 22); } private static final class SummaryPanel extends Panel { diff --git a/src/main/java/uk/sijbers/bnstoolkit/client/screens/ShopBrowserScreen.java b/src/main/java/uk/sijbers/bnstoolkit/client/screens/ShopBrowserScreen.java index d5f0ef6..2dd9e41 100644 --- a/src/main/java/uk/sijbers/bnstoolkit/client/screens/ShopBrowserScreen.java +++ b/src/main/java/uk/sijbers/bnstoolkit/client/screens/ShopBrowserScreen.java @@ -53,13 +53,13 @@ public final class ShopBrowserScreen extends BaseBnsScreen { @Override public void alignWidgets() { - getWidgets().get(0).setPos(getX() + 8, contentTop()); + getWidgets().get(0).setPos(8, contentTop()); getWidgets().get(0).setSize(170, getHeight() - 30); - getWidgets().get(1).setPos(getX() + 186, contentTop()); + getWidgets().get(1).setPos(186, contentTop()); getWidgets().get(1).setSize(getWidth() - 194, getHeight() - 30); Widget rf = getWidgets().get(2); rf.setSize(60, 16); - rf.setPos(getX() + getWidth() - 68, getY() + getHeight() - 22); + rf.setPos(getWidth() - 68, getHeight() - 22); } // ─── Item grid ─────────────────────────────────────────────────── diff --git a/src/main/java/uk/sijbers/bnstoolkit/client/screens/TierUpgradeScreen.java b/src/main/java/uk/sijbers/bnstoolkit/client/screens/TierUpgradeScreen.java index d656353..341c2c1 100644 --- a/src/main/java/uk/sijbers/bnstoolkit/client/screens/TierUpgradeScreen.java +++ b/src/main/java/uk/sijbers/bnstoolkit/client/screens/TierUpgradeScreen.java @@ -47,16 +47,14 @@ public final class TierUpgradeScreen extends BaseBnsScreen { @Override public void alignWidgets() { - // ladder panel - getWidgets().get(0).setPos(getX() + 8, contentTop()); + // FTB Library setPos uses parent-relative coords. + getWidgets().get(0).setPos(8, contentTop()); getWidgets().get(0).setSize(180, getHeight() - 28); - // detail panel - getWidgets().get(1).setPos(getX() + 196, contentTop()); + getWidgets().get(1).setPos(196, contentTop()); getWidgets().get(1).setSize(getWidth() - 204, getHeight() - 50); - // refresh button bottom-right Widget rf = getWidgets().get(2); rf.setSize(60, 16); - rf.setPos(getX() + getWidth() - 68, getY() + getHeight() - 22); + rf.setPos(getWidth() - 68, getHeight() - 22); } // ─── Sub-panels ──────────────────────────────────────────────────