As part of the development in the 15 month of developmet of this new alpha (where a lot of time was nothing happening, COVID-19 was a thing), we are now ready to release the next alpha release.
There is too much to cover here, the changelog.md and version.info for a detailed list of changes.
The new mc version target is 1.17, so a lot more features are pending implentation.
Changes to the launch configuration
- Requiring now python 3.9 or 3.10
- Renamed --rebuild to --invalidate-cache
- launching is now moved to LaunchWrapper
Development tool changes
- added build pipe system
Refactoring (not full list)
- moved globals.py to mcpython/shared.py
- moved logger.py to mcpython/engine/logger.py
- moved common code to mcpython/common, rendering & client related to mcpython/client
Client and server
We now support client and server bindings, with dedicated servers only, using above new LaunchWrapper system to remove duplicate
launch code. Dedicated servers work not the best, and are still in early development.
States
States can now define a state renderer instead of mixing rendering & handling
Factories
Implemented FactoryBuilder system for creating arbitrary factories
Blocks
Most of the blocks in the real game are now arrival, the more complex ones do not render correctly & behaviour might not work.
In total, 1155 blocks are arrival.
Modding (advanced)
Added system to manipulate bytecode at runtime
JVM
Added a library mod introducing a java forge mod loader for versions >= 1.12.2