65 lines
2.3 KiB
Plaintext
65 lines
2.3 KiB
Plaintext
TODO
|
||
|
||
# General
|
||
|
||
• TODO: Use Faithful 32x for buttons, backgrounds and font (or use Minecraftia for the latter)
|
||
• TODO: Include server code in the client for singleplayer games
|
||
|
||
# Issues
|
||
|
||
◦ TODO: Trees should block light
|
||
• TODO: Shapeless recipe code isn’t working
|
||
• TODO: GUI scale issues
|
||
◦ TODO: `HUD` doesn’t update when GUI scale is changed
|
||
◦ TODO: `SettingsMenuState` should update scaling when the setting is changed
|
||
◦ TODO: All Lua-defined GUI are not scaled correctly with lower GUI scale settings
|
||
◦ TODO: Send client screen size and GUI scale to server
|
||
• 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?)
|
||
• TODO: Sometimes it’s possible to aim between two blocks and right-clicking will replace one
|
||
|
||
# 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`, `ChunkBuilder`
|
||
|
||
# Refactorings
|
||
|
||
• 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
|
||
→ Or maybe it would be better to use a VAO in `GameKit`
|
||
|
||
# GUI
|
||
|
||
• TODO: Implement `FurnaceWidget` completely in Lua
|
||
◦ TODO: Add a `ProgressBarWidget` and find how to make it communicate between client and server
|
||
◦ TODO: Remove `BlockMetadata::get` which is only required by `FurnaceWidget`
|
||
• TODO: Implement `PlayerInventoryWidget` completely in Lua
|
||
|
||
# Menus
|
||
|
||
• TODO: World loading/saving
|
||
• TODO: World selection menu
|
||
|
||
# World
|
||
|
||
• TODO: Day/night cycle
|
||
|
||
# Chunk generation
|
||
|
||
• TODO: Use the seed
|
||
• TODO: Biomes
|
||
|
||
# Graphics
|
||
|
||
• TODO: Add nodebox-like draw type
|
||
|
||
> vim:ft=notes
|