Skip to content

Releases: ZZZank/Rhizo

3.2: `??` and `?.` operator

06 Jul 06:15
Compare
Choose a tag to compare

Rhizo 3.1 -> 3.2

?? and ?. operator

  • optional chaining operator (a ?. b)
  • nullish coalescing operator (a ?? b)
    • note that this operator does not support compile mode yet
  • better remapper performance, by caching annotation values, and using a simplified version of remapper sequence
  • NBT converting now supports JSON types
  • (internal) JavaMembers is rewritten, to guard against broken classes, and expose more useful information
  • a new RemapPrefixForJSRep annotation that enables remapping based on multiple prefixes
  • an unmodifiable view of rhizo remapper internal is now exposed
    • will be used by ProbeJS Legacy soon, stay tuned for that
  • default remapper now includes Rhizo one and annotation-based one
    • this can fix KubeJS having broken startup script remapping

Full Changelog: 3.1...3.2

3.1: API update

17 Jun 09:14
Compare
Choose a tag to compare

Rhizo 3.0 -> 3.1(beta)

API update

  • more internal members are exposed now
  • typing annotations like JSInfo are accessible at runtime now
  • a new annotation RemapPrefixForJS is added for class level prefix-based remapping
  • devs can now attach custom properties to a Context

Full Changelog: 3.0...3.1

3.0: Enum++ & Full Remapper

01 Jun 16:57
Compare
Choose a tag to compare

Rhizo 2.2 -> 3.0

Enum++ & Full Remapper

  • Enum Type Wrapper
    • now you can access enum values by their names or indexes.
    • E.g. Direction.EAST can be accessed via "east"
    • Note: name should be in lower case
  • Full Remapper
    • Remapper is now rewritten, providing more complete and accurate remapping for methods and fields.
    • Because of this, remapping on Forge no longer fully relies on an unusual uniqueness, and remapping for Fabric is now actually working.
    • Note: the remapping file now uses a new storage format, that will make Rhizo jar bigger.
    • It has been 4 months since the first attempt of bringing remapper to 1.16, and it turns out the first 3 months are completely useless, because writing a new Remapper solution from the ground up is actually faster.
  • Rhizo will now provide a dummy mod with modid rhizo
  • Rhizo now includes a mod icon

Full Changelog: 2.2...3.0

2.2: Early Remapper

20 May 10:46
8a389d2
Compare
Choose a tag to compare
  • Remapper is now enabled before KubeJS startup script is loaded, so that names used in startup scripts can also be remapped.

Full Changelog: 2.1...2.2

2.1: Compiler!

23 Apr 02:19
Compare
Choose a tag to compare

Rhizo 2.0 -> 2.1

Compile Mode

  • Compile Mode
    • you can enable Compiler Mode via rhino.local.properties file in the root of your game folder.
    • Under Compiler Mode, Rhizo will compile JS codes into native codes, providing performance improvement.
    • You can also change optimization level in rhino.local.properties. Higher optimization level can usually provide better performance, at the cost of compile time(which is usually already consumed during startup/reload)
    • NOTE: enabling Compiler Mode will make error reporting less useful, since the line number will be wrong, and file name will always be "SourceFile"
  • you can also toggle mapping generation in rhino.local.properties, but the output file is useless currently
    • generated mapping file is designed for a more complex remapper implementation, and is scheduled to be available in the next release
  • mapping file used by our temporary remapper solution is now driven by .csv file, for readablility.

Full Changelog: 2.0...2.1

2.0: Rhino to Rhizo

15 Apr 03:11
Compare
Choose a tag to compare

Latest Rhino is 1605.1.9, aka 1.9 for 1.16.5. So this version should be 2.0.