promotional bannermobile promotional banner
header
Rhizo avatar

Rhizo

Install

Rhizo

is an updated fork of Rhino, with new features and bugfixes implemented for originally EOL Rhino for 1.16.5.

What's new

  • Remapper support!
    • This allows accessing Java methods and fields using their recognizable MCP name instead of SRG name like func_12345_ab_
    • E.g.in KubeJS script, accessing getOpPermissionLevel() method from MinecraftServer class will require calling func_110455_j() instead, but with Rhizo, you can call getOpPermissionLevel() directly.
    • ProbeJS Legacy provides special support for remapped name in ProbeJS Legacy 3.2.0, so remapped name can be dumped to provide typing support.
    • Note that the original SRG name is intentionally hiddened for exposing remapped MCP name, so you might need to edit your script if you used SRG name(like func_12345_ab_) in your script.
  • Extended enum support
    • enum name and enum indexes can now replace enum itself in someMethodCall(enum) and someObj.someAttr = enum, allowing you to use enum without having to import it
    • special equality check for enum, for example enum == "some_enum_name" or enum == 1(enum index)
  • Better Java Generics support
    • this allows type wrapper to be functional in more cases
  • Function Rest Parameter support
    • declare function like this: function a(arg1, arg2, ...restParamHere) {} works now
  • you can iterate through Java Iterables (List for example) using JavaScript for..of loop
  • Optional Chaining operator (a ?. b)
  • Nullish Coalescing operator (a ?? b)
  • Rhizo now supports Object.entries(some_obj) and Object.values(some_obj).
  • Rhizo will retain its param name when compiling, so that you can see more than just type of parameters when working with Rhizo related types, if you have doc dumped by ProbeJS Legacy.
  • Fixed JSON generating for Iterable, so that when using JSON.stringfy() on an array or other iterable objects, all elements can be stringfied (instead of only the first one when using Rhino).

Rhizo is licensed under MPL-2.0.