e99b5b1e0e
Build / build (push) Has been cancelled
Empty mod that loads cleanly on client + dedicated server. Sets up the
package layout and milestone TODOs for the BNS in-game UI work.
- uk.sijbers.bnstoolkit.{BnsToolkit, BnsToolkitClient} mod entries
- 5 placeholder screens extending a shared BaseBnsScreen
(TierUpgrade, BountyBoard, QuestLog, PlotPurchase, ShopBrowser)
- 3 key bindings (T/B/P) registered, handlers TODO M1+
- SpurHud overlay placeholder for M4
- Network: payload registrar + one smoke-test C2S/S2C pair
(RequestTierState / TierStateUpdate)
- en_us.json for screen + keybind labels
- neoforge.mods.toml pinned to neo_version 21.1.228 (live server match)
Build verified: ./gradlew build -> bnstoolkit-0.1.0.jar (15.6 KB).
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
62 lines
1.9 KiB
Markdown
62 lines
1.9 KiB
Markdown
# 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 |
|