fix(contracts): wire home-page clear action and hide completed one-time contracts
This commit is contained in:
+19
-2
@@ -86,7 +86,11 @@ Behavior:
|
||||
- Hunting contracts track kills against a configured entity id.
|
||||
- The selected contract and its progress appear in the HUD sidebar.
|
||||
- Completing a contract pays souls automatically.
|
||||
- One-time contracts disappear from the browser after completion and cannot be selected again.
|
||||
- The contract browser uses `catalog.yml`, where the YAML key is the internal contract id and `name` is the player-facing label.
|
||||
- Contract entries are organized under `contracts: mining:` and `contracts: hunting:` sections for readability, while still using per-entry ids.
|
||||
- The contract browser uses a bottom control row like the shop, including page navigation anchored to the bottom of the inventory.
|
||||
- The contract browser includes a clear-selection action on the home page and inside contract categories so players can remove their active contract from the GUI.
|
||||
|
||||
Implemented by:
|
||||
|
||||
@@ -122,6 +126,9 @@ The HUD layer is optional and configurable per player.
|
||||
Behavior:
|
||||
|
||||
- Scoreboard sidebar can be enabled globally and toggled per player.
|
||||
- The sidebar title uses the same dark aqua styling as the mod's chat prefix.
|
||||
- Contract and bounty rows only appear while the player has an active selected contract or active bounties.
|
||||
- Balance, contract, and bounty rows use color to make the sidebar easier to scan.
|
||||
- Leaderboard pages are built from stored player names and balance values.
|
||||
- Wanted-player bossbars show bounty value and remaining time.
|
||||
|
||||
@@ -231,8 +238,8 @@ The catalog is loaded through [`ConfigBundle`](../src/main/java/com/g2806/soulst
|
||||
|
||||
Contract catalog definition. It controls:
|
||||
|
||||
- Contract categories by type
|
||||
- Internal contract ids from the YAML keys
|
||||
- Grouped contract lists under `mining` and `hunting`
|
||||
- Internal contract ids from each entry `id`
|
||||
- Player-facing contract names
|
||||
- Icon item ids
|
||||
- Target block or mob ids
|
||||
@@ -268,6 +275,16 @@ When a player joins:
|
||||
2. Their HUD state is refreshed.
|
||||
3. Any configured scoreboard or bossbar state is pushed to them.
|
||||
|
||||
### HUD Sidebar
|
||||
|
||||
When the sidebar is visible:
|
||||
|
||||
1. The title is rendered in dark aqua.
|
||||
2. The soul balance row is always shown.
|
||||
3. Contract rows are only shown if the player has an active selected contract.
|
||||
4. Bounty rows are only shown if the player currently has active bounties.
|
||||
5. The visible rows use color to distinguish balance, contract, and bounty information.
|
||||
|
||||
### Player Kill
|
||||
|
||||
When one player kills another player:
|
||||
|
||||
Reference in New Issue
Block a user