2888cf18141aec7a97a71e105d987dae5507dfe7
Build / build (push) Has been cancelled
FTB Library's Panel.refreshWidgets runs in this order: 1. clearWidgets 2. addWidgets (parent creates sub-panels, default size 0x0) 3. for each Panel child: refreshWidgets() ← recurses HERE 4. alignWidgets (parent sizes children, but it's too late) Step 3 means sub-panels' own addWidgets/alignWidgets run with width=height=0. Children sized via setSize(width, 12) end up 0 wide, visible content disappears. Fix is mechanical: every screen now sizes its sub-panels in addWidgets() BEFORE the add() call. By the time the recursive refreshWidgets hits the sub-panel, its dimensions are correct. Caught when HubScreen rendered blank (status panel was set up to fill the body but its Row children were 0px wide). Same latent issue in TierUpgrade, CountingHouse, Bounty, Plot, Quest Log — all fixed. 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%