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

@@ -2,5 +2,6 @@
"id": 2,
"name": "dirt",
"description": "",
"texture": "texture/item/block/dirt.png"
}
"texture": "texture/item/block/dirt.png",
"type": "block"
}