refactor(item): decouple items from block types

The item system now supports an ItemKind and property, allowing item JSON to declare a type instead of assuming every item is a block. BlockManager was moved to its own header, redesigned around concurrent hash maps, and exposes id_from_name(). Texture and UI code now key items by ItemID, while block placement resolves the block type from the item registry.
This commit is contained in:
2026-08-04 16:14:00 +08:00
parent 2358cfd9a4
commit 0259ca71ce
28 changed files with 436 additions and 323 deletions

View File

@@ -105,4 +105,5 @@ target_sources(${PROJECT_NAME}
gameplay/systems/wander_ai_system.cpp
tools/json_utils.cpp
gameplay/item_manager.cpp
gameplay/block_manager.cpp
)