TODO # General • TODO: Use Faithful 32x for buttons, backgrounds and font (or use Minecraftia for the latter) # Issues • DONE: Crafting doesn’t always work • TODO: A mix of pickaxe + axe recipes gives a pickaxe?! • TODO: Shapeless recipe code isn’t working • TODO: `Workbench` and `Furnace` are not scaled correctly with lower GUI scale settings • TODO: Blocks can be accessed from outside the world (will need a refactoring) • TODO: Collisions are fucked up with blocks placed at `x = -1` from `x = 0` • TODO: Blocks can be placed inside the player (check for AABB?) # Code improvements • DONE: Pass `ClientCommandHandler` instead of `Client` in the game (for example in `BlockCursor`) → DONE: This will allow to send network commands via a single function → DONE: The code won’t be replicated anymore → DONE: Packages musn’t be send from another place than `ClientCommandHandler` • TODO: Use `ServerCommandHandler` instead of `Server` (cf. above) • TODO: If possible, `Cube` should inherit from `ItemWidget` or `Widget` • TODO: Rename `Cube` to either `InventoryCube`, `CubeItemWidget` or `CubeWidget` • TODO: Unify cube coords in `BlockCursor`, `Cube`, `Chunk` • TODO: License headers # Refactorings • DONE: In `SettingsMenuState`, the “Done” button shouldn’t be part of the `Menu` • TODO: Remove the ability of `Chunk` and `ChunkLightmap` to access surrounding chunk blocks • TODO: `Chunk::setBlock` does way too much things, fix this • TODO: Add a mesh system, either here or in `GameKit` → Maybe this is the way to add custom vertex attributes while having default ones? Check 3dee # Lua API • TODO: New texture system to make things easier for Lua ◦ TODO: Use a separate texture for each block ◦ TODO: Since this may lower the perfs, optimize it ◦ TODO: Load textures from Lua ◦ TODO: Use names instead of ids in Lua # GUI • DONE: Add a LuaGUI class to handle GUI from Lua • DONE: Add more GUI elements ◦ DONE: `InventoryWidget` ◦ DONE: `CraftingWidget` ◦ DONE: `Image` • WIP: Implement GUI elements requested by `Furnace` ◦ DONE: `FurnaceWidget` first ◦ TODO: Then its components # Menus • DONE: Main menu • TODO: World loading/saving • TODO: World selection menu # World • TODO: Block metadata • TODO: Day/night cycle # Chunk generation • TODO: Use the seed • TODO: Biomes # Graphics • TODO: Add nodebox-like draw type > vim:ft=notes