Releases: mega12345mega/Minecraft-JVM
Releases · mega12345mega/Minecraft-JVM
v0.3.0
- Added inheritance and polymorphism
- Added static field support
- Added
<clinit>support - Added
instanceofsupport (doesn't yet support arrays) - Added
-sysoutflag to view compilation progress and total time - Added
mcj:shutdown, which runsmcj:setupand then removesrunning(instead usemcj:terminate, which already exists, to view the current state of the heap, stack, etc.) - Made
mcj:setupclear out extra data used for old macro calls - Fixed
namespace:mainincorrectly setting up the entrypoint formaxCommandChainLengthdetection, which also prevented it from calling other entrypoints - Moved the examples into their own namespaces
- Renamed
constructor_toinit_when using-expandedPaths - Fixed handling of null
Strings - Improved
Stringsupport forints andbooleans - Moved fields on the heap into a
fieldscompound - Added
storage mcj:data classes, which includes values for static fields and vtables (and more) - Added
field~<name>and included fields inclass~ - Added
const~<name>, where<name>can be:- global/namespace
- global/main_class
- global/expanded_paths
- class/path
- class/name
- class/is_main
- method/path
- method/param_count
- method/is_main
- method/is_static
- method/is_native
- method/is_void
v0.2.0
- Changed
$(~METHOD_PATH~)/<path>into$(~<path>), with additional$(method~<name><descriptor>[/<path>])and$(class~package/Class$Nested~<name><descriptor>[/path])path generators to accommodate path hashing - Added path hashing, which greatly shortens function names (use
-expandedPathsfor full file paths or@MCJExpandPathfor a specific class) - Made
@MCJImplForapply to all references, even outside the class - The API now generates into the
mcjnamespace rather than your namespace - Added
@MCJEntrypoint, which allows more entrypoints than justnamespace:main - Added an
EventManageralong with atickevent - Added detection for when
maxCommandChainLengthis hit, which terminates Minecraft JVM - Made the terminate function display what entrypoint was called
- When the Minecraft JVM is forcefully terminated (including
maxCommandChainLimit), all entrypoints (including thetickevent) will not run unless they callmcj:setupto prevent a corrupted state causing problems - Other misc additions to the API
- Refactored code into
PathProviders - Example code
v0.1.1
Fixed StringBuilder missing append(int) and append(boolean)
v0.1.0
Added integer +-*/%, added to the API, fixed lots of bugs
v0.0.1
Proof of concept