OpenMiner/TODO
2019-12-30 20:18:52 +09:00

84 lines
2.9 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

TODO
# General
• TODO: Use Faithful 32x for buttons, backgrounds and font (or use Minecraftia for the latter)
• TODO: Add a texture pack system
◦ TODO: It should be able to accept any type of texture resolution
# Issues
• DONE: Crafting doesnt always work
• DONE: A mix of pickaxe + axe recipes gives a pickaxe?!
• DONE: Lighting doesnt propagate between chunks
• TODO: Shapeless recipe code isnt working
• TODO: `Workbench` and `Furnace` are not scaled correctly with lower GUI scale settings
◦ TODO: Send client screen size and GUI scale to server
• TODO: `Hotbar` doesnt update when GUI scale is changed
• TODO: `SettingsMenuState` should update scaling when the setting is changed
• TODO: Pressing `Esc` key in `SettingsMenuState` should just quit the category, not the state
• 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 wont be replicated anymore
→ DONE: Packages musnt 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 shouldnt 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