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>
This commit is contained in:
@@ -0,0 +1,61 @@
|
||||
# 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 |
|
||||
Reference in New Issue
Block a user