Implement vote handling systems #17

Manually merged
Nick merged 10 commits from feature/voting into fabric-mod 2025-12-21 16:32:59 +00:00
Owner
No description provided.
Nick added 10 commits 2025-12-21 16:04:05 +00:00
Refactor voting system implementation and block interactions
All checks were successful
/ build (push) Successful in 1m0s
0ed39b9dfe
## Summary:
- Introduced `VoteBlock` and `VoteCoordinatorBlock` with associated entities to manage voting logic.
- Refactored item behavior for `ConfigStick` and `GrimoireItem` to handle interactions with new voting blocks.
- Added `BotbDefaultTranslationProvider` for managing in-game translations and language resources.
- Removed hard-coded asset definitions and transitioned to data-driven assets generation.
- Enhanced player interaction logic using the new attachments and block state properties.
## Summary:
- Introduced `AdhocRequestHandlers` and `AdhocRequest` classes for dynamic request processing.
- Added `PING` request type with a default "pong" response.
- Registered custom payloads for client-server communication.
- Updated `NetAttachmentHandler` with server initialization for handling `AdhocRequest`.
- Applied improvements and cleanup to command definitions in `BotbAttachments`.

Co-authored-by: Nick Guy <nick.guy@hotmail.co.uk>
Reviewed-on: #14
Co-authored-by: Nick Guy <nick.guy@hotmail.co.uk>
Reviewed-on: #15
Co-authored-by: Nick Guy <nick.guy@hotmail.co.uk>
Reviewed-on: #16
## Summary:
- Introduced `Grimoire` classes to centralize player data and interactions.
- Updated `VoteBlock` and `VoteCoordinatorBlockEntity` to utilize `Grimoire` for managing player information and votes.
- Deprecated redundant attachment-based tracking in `BotbAttachments`.
- Enhanced server-client interaction with asynchronous `GrimoireRequest` methods.
- Simplified block and item interaction logic to align with the new `Grimoire` system.
- Removed dead code and streamlined methods for better maintainability.
Introduce vote coordination system and enhance Grimoire functionality
All checks were successful
/ build (push) Successful in 1m28s
0ab64e6e30
## Summary:
- Added `VoteCoordinatorBlockEntity` and related methods for managing vote coordination and block interaction.
- Extended `GrimoireServer` and `GrimoireClient` with vote-related methods (e.g., `openVotes`, `closeVotes`).
Refactor Grimoire and introduce storyteller functionality
All checks were successful
/ build (push) Successful in 1m26s
93a29420cf
## Summary:
- Added StorytellerGrimoireScreen
- Updated item interactions for `GrimoireItem` to open the storyteller interface client-side.
- Introduced `PlayerSelectionList` for improved player selection UI.
## Summary:
- Removed `StorytellerGrimoireScreen` and its related classes in favor of a modular grimoire page system.
- Introduced `GrimoirePage`, `RoleWidget`, and `VoteCoordinatorWidget` for flexible UI composition.
- Added `GridIncrementer` utility and refactored caching logic using the new `CachedValue` class.
- Enhanced `BotbPool` by categorizing roles by faction.
- Extended `GrimoireClient` with vote management methods (`findVoteBlocks`, `cancelVotes`, etc.).
- Deprecated redundant commands in `BotbAttachments`.
Nick manually merged commit 515031b6f4 into fabric-mod 2025-12-21 16:32:59 +00:00
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
Nick/BloodOnTheBlocktower!17
No description provided.