01-11-2021, 10:32 AM
Short-term plans for 2021:
* Refactoring cChunkData to prepare for storing BlockState and reduce memory usage
* Merge 12xx12's PRs
* Fix blocks popping off when placed (refactor block handlers, merge changyongguo's PR)
* Apply 1.13+ diffs all the way to 1.16.4
* Merge bounding box tracer physics PR
* Fix clienthandle's breaking progress and fastbreak checks, which should be based off clock time instead of ticks
Medium-term plans/goals:
* Entity AI: merge peterbell's behaviour trees PR
* Entity physics: try to figure out a system that encompasses entity, player, minecart, boat and arrow physics, presumably building on the bounding box tracer
* Attempt to unify different protocols' WriteEntityMetadata to avoid code duplication
* Replace all BLOCKTYPE & NIBBLETYPE with BlockState (oh no)
* Investigate speeding up MobCensus; it does a lot of work per tick including dynamic allocations, which should be avoided
Long-term:
* Thread pool computations for chunk lighting, generation, serialisation, even pathfinding
* Revive the serverTick branch; do the parsing of incoming protocol data on the network thread, and only queue update actions to the world thread
* Refactoring cChunkData to prepare for storing BlockState and reduce memory usage
* Merge 12xx12's PRs
* Fix blocks popping off when placed (refactor block handlers, merge changyongguo's PR)
* Apply 1.13+ diffs all the way to 1.16.4
* Merge bounding box tracer physics PR
* Fix clienthandle's breaking progress and fastbreak checks, which should be based off clock time instead of ticks
Medium-term plans/goals:
* Entity AI: merge peterbell's behaviour trees PR
* Entity physics: try to figure out a system that encompasses entity, player, minecart, boat and arrow physics, presumably building on the bounding box tracer
* Attempt to unify different protocols' WriteEntityMetadata to avoid code duplication
* Replace all BLOCKTYPE & NIBBLETYPE with BlockState (oh no)
* Investigate speeding up MobCensus; it does a lot of work per tick including dynamic allocations, which should be avoided
Long-term:
* Thread pool computations for chunk lighting, generation, serialisation, even pathfinding
* Revive the serverTick branch; do the parsing of incoming protocol data on the network thread, and only queue update actions to the world thread