14b845e9a88b9c4e9b2aa53784c8c2eeefcbb426
Build / build (push) Has been cancelled
Rename
------
Counting House → Exchange everywhere. "Exchange" reads as intuitive
("an exchange where I trade items for spurs") where Counting House
was historically accurate but obscure. /bns open counthouse →
/bns open exchange. Class CountingHouseScreen → ExchangeScreen.
Lang key counting_house → exchange. NPC name suggestion in docs:
"Exchange Clerk".
Click-doesn't-refresh bug
-------------------------
ItemCell/BountyRow/PlotRow's mousePressed updated the static
`selected` field, but the detail sub-panel was already built with
the old value at refreshWidgets time. Result: clicking a different
item updated the highlight but the right-side detail pane never
changed.
Fix: call getGui().refreshWidgets() after updating selection. FTB
Library's recursive refresh re-runs SellDetail.addWidgets/
BountyDetail.addWidgets/PlotDetail.addWidgets with the new selected
value. Standard FTB Library pattern for "selection changed → redraw".
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%