1630a8370f5bcc861de3a21b9b3ca833b766bdd0
Build / build (push) Has been cancelled
FTB Library's Widget.setPos(x, y) takes coords RELATIVE to the parent panel. My code passed (getX() + offset, getY() + offset), so widgets ended up at panel-pos * 2 + offset, far off-screen to the bottom-right. Fix: drop getX()/getY() everywhere in alignWidgets. Refresh button, close button, header bar, sub-panels — all relative now. Plus BaseBnsScreen.contentTop()/contentBottom() are now plain offsets (20 and getHeight() - 24) instead of getY()-prefixed. Visual bug surfaced with user screenshot of HubScreen showing all buttons stacked on the right edge of the screen with empty dark panel on the left. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
bnstoolkit
Companion mod for the Brass and Sigil modpack. NeoForge 1.21.1.
Provides the in-game UI surface for the KubeJS-driven civic tier, bounty, plot, and shop systems. Pure client visuals + a thin C2S/S2C network bridge over the existing server-side state — no server-side gameplay logic lives here, just transport and presentation.
Status
M0 — scaffold only. Loads cleanly on client and dedicated server. No screens are open-able yet (key bindings register but their handlers are TODO). One network round-trip pair is wired as a smoke test.
See docs/bnstoolkit-architecture.md in the brass-and-sigil repo for
the full spec.
Building
./gradlew build
The output jar lands in build/libs/bnstoolkit-<version>.jar. Drop it
into the modpack's pack/overrides/mods/ directory.
Package layout
uk.sijbers.bnstoolkit
├── BnsToolkit # common mod entry
├── BnsToolkitClient # client mod entry
├── client
│ ├── BnsKeyBindings # T / B / P defaults
│ ├── hud
│ │ └── SpurHud # spurs + tier overlay
│ └── screens
│ ├── BaseBnsScreen # shared parent (will swap to FTB Library)
│ ├── TierUpgradeScreen
│ ├── BountyBoardScreen
│ ├── QuestLogScreen
│ ├── PlotPurchaseScreen
│ └── ShopBrowserScreen
└── network
├── BnsNetwork # payload registrar
├── c2s
│ └── RequestTierStatePacket
└── s2c
└── TierStateUpdatePacket
Milestones
| Milestone | Scope |
|---|---|
| M0 (now) | Scaffold, keybinds, network smoke-test packet pair |
| M1 | Tier upgrade screen + KubeJS bridge for tier/balance |
| M2 | Quest log + shop browser screens |
| M3 | Bounty board + plot purchase screens |
| M4 | HUD overlay, mod settings screen, FTB Library swap |
Description
Brass and Sigil companion mod — economy UI, FTB Chunks plot integration, tier upgrade screens.
Languages
Java
100%