Matt afe7d38827
Build / build (push) Has been cancelled
0.2.0: feature-complete UI — 5 FTB-Library screens + HUD overlay
All five screens implemented with FTB Library widgets (Panel/Widget/
SimpleTextButton). Layout matches FTB Quests/Chunks for visual
consistency with the rest of the pack.

Screens:
- TierUpgradeScreen   — 13-row ladder, current tier highlighted,
                        Upgrade button to next tier with cost/affordability check
- ShopBrowserScreen   — 9-cell item grid + detail pane, quick-sell
                        buttons (1/16/64) with live DR-aware price preview
- BountyBoardScreen   — daily pool + active set, accept/cancel/turn-in
                        per state, slot-cap indicator
- PlotPurchaseScreen  — plot list + detail pane, buy/release with
                        ownership colour-coding and tier-gated buy
- QuestLogScreen      — at-a-glance tier+balance summary, active
                        bounties with progress bars, owned plots

HUD overlay: top-left tier name + spurs balance, registered as a
NeoForge GUI layer above the experience bar. 1Hz server push keeps
the balance current without polling client-side inventory.

Network: replaces single smoke-test packet with 7-packet contract:
- C2S: RequestEconomySnapshot, RunBnsCommand (whitelisted)
- S2C: TierStateUpdate, SellSnapshot, BountySnapshot, PlotSnapshot, Toast

Server-side bridge (ServerEconomyBridge) reads player NBT and
Numismatics-by-item-id-string for balance, routes write verbs
through the existing KubeJS /bns chat commands so KubeJS remains the
source of truth for economy logic.

Key bindings (rebindable in vanilla controls menu):
- K  Civic tier ladder
- J  Bounty board
- N  Plot office
- H  Bazaar shop
- M  Quest log

FTB Library + Architectury maven repos wired in build.gradle as
compileOnly; the jar stays small since FTB Library is already in pack.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-06-07 02:33:53 +00:00

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
S
Description
Brass and Sigil companion mod — economy UI, FTB Chunks plot integration, tier upgrade screens.
Readme 332 KiB
Languages
Java 100%