Перейти к содержимому
Mineforgian

Graal

High performance JavaScript runtime, tweaked for Minecraft usage

Загрузки
840
Подписчики
3
Обновлён
18 июля 2026 г.
Лицензия
LGPL-3.0-only

Опубликован 4 апреля 2026 г.

Graal

is a customized version of GraalJS, a high performance JavaScript implementation. It is ECMAScript-compliant, provides interoperability with Java and other Graal languages.

On top of regular GraalJS features, Graal made these improvements:

  • MemberRemapper support, allowing developers to customize the JavaScript side name of a Java member, like Method and Field
  • Trimmed bundled libraries, making the total mod size ~50% smaller than regular GraalJS

GraalJS Documentation: https://www.graalvm.org/reference-manual/js/

Attention

  1. This is NOT GraalJS or GraalVM. If you encounter issues that are not related to JavaScript itself, send issues to GraalMC GitHub repo before contacting GraalJS or GraalVM
  2. (Fixed in 25.0.2.0) If you are running the game with GraalVM, the game will crash early

Ченджлог

25.1.3.6Релиз26.1, 26.1.1, 26.1.2 · 18 июля 2026 г.

GraalMC 25.1.3.5 -> 25.1.3.6

Using GraalJS 25.1.3

If you are using GraalVM, update your GraalVM JDK to 25.1 or newer..

  • Add proper error message when running Graal on GraalVM 25.0

GraalMC 25.1.3.4 -> 25.1.3.5

Using GraalJS 25.1.3

  • A new class parameter is added to MemberRemapper methods, allowing implementations to receive owner class of the member, aka the class where the specified member is found.
  • Breaking change: MemberRemapper API has been changed.

GraalMC 25.0.2.3 -> 25.1.3.4

Using GraalJS 25.1.3

  • New: TypeMappingProvider and TypeMappingProviderRegistry, allowing you to dynamically provide type mapping based on target type. For example string -> enum type mapping for every enum class without having to register for all enum classes manually.
  • New: MemberRemapper.GLOBAL replaced by MemberRemapper.CHAIN, allowing multiple mods to register their own remappers without conflicts.
25.1.3.6Релиз26.1.1, 26.1.2, 26.2 · 18 июля 2026 г.

GraalMC 25.1.3.5 -> 25.1.3.6

Using GraalJS 25.1.3

If you are using GraalVM, update your GraalVM JDK to 25.1 or newer..

  • Add proper error message when running Graal on GraalVM 25.0

GraalMC 25.1.3.4 -> 25.1.3.5

Using GraalJS 25.1.3

  • A new class parameter is added to MemberRemapper methods, allowing implementations to receive owner class of the member, aka the class where the specified member is found.
  • Breaking change: MemberRemapper API has been changed.

GraalMC 25.0.2.3 -> 25.1.3.4

Using GraalJS 25.1.3

  • New: TypeMappingProvider and TypeMappingProviderRegistry, allowing you to dynamically provide type mapping based on target type. For example string -> enum type mapping for every enum class without having to register for all enum classes manually.
  • New: MemberRemapper.GLOBAL replaced by MemberRemapper.CHAIN, allowing multiple mods to register their own remappers without conflicts.
25.1.3.6Релиз26.1.1, 26.1.2, 26.2 · 18 июля 2026 г.

GraalMC 25.1.3.5 -> 25.1.3.6

Using GraalJS 25.1.3

If you are using GraalVM, update your GraalVM JDK to 25.1 or newer..

  • Add proper error message when running Graal on GraalVM 25.0

GraalMC 25.1.3.4 -> 25.1.3.5

Using GraalJS 25.1.3

  • A new class parameter is added to MemberRemapper methods, allowing implementations to receive owner class of the member, aka the class where the specified member is found.
  • Breaking change: MemberRemapper API has been changed.

GraalMC 25.0.2.3 -> 25.1.3.4

Using GraalJS 25.1.3

  • New: TypeMappingProvider and TypeMappingProviderRegistry, allowing you to dynamically provide type mapping based on target type. For example string -> enum type mapping for every enum class without having to register for all enum classes manually.
  • New: MemberRemapper.GLOBAL replaced by MemberRemapper.CHAIN, allowing multiple mods to register their own remappers without conflicts.
25.0.2.3Релиз26.1, 26.1.1, 26.1.2 · 25 апреля 2026 г.

GraalMC 25.0.2.1 -> 25.0.2.2

Using GraalJS 25.0.2

  • Fix: crash when running on Java 17

GraalMC 25.0.2.1 -> 25.0.2.2

Using GraalJS 25.0.2

  • MemberRemapper now allows null return value, which indicates that such member should be hidden and not accessible in JS
  • fields with shadowing can now be remapped more completely
25.0.2.3Релиз26.1, 26.1.1, 26.1.2 · 25 апреля 2026 г.

GraalMC 25.0.2.1 -> 25.0.2.2

Using GraalJS 25.0.2

  • Fix: crash when running on Java 17

GraalMC 25.0.2.1 -> 25.0.2.2

Using GraalJS 25.0.2

  • MemberRemapper now allows null return value, which indicates that such member should be hidden and not accessible in JS
  • fields with shadowing can now be remapped more completely
25.0.2.3Релиз26.1, 26.1.1, 26.1.2 · 25 апреля 2026 г.

GraalMC 25.0.2.1 -> 25.0.2.2

Using GraalJS 25.0.2

  • Fix: crash when running on Java 17

GraalMC 25.0.2.1 -> 25.0.2.2

Using GraalJS 25.0.2

  • MemberRemapper now allows null return value, which indicates that such member should be hidden and not accessible in JS
  • fields with shadowing can now be remapped more completely
25.0.2.2Релиз1.21.11, 26.1, 26.1.1 · 19 апреля 2026 г.

GraalMC 25.0.2.1 -> 25.0.2.2

Using GraalJS 25.0.2

  • MemberRemapper now allows null return value, which indicates that such member should be hidden and not accessible in JS
  • fields with shadowing can now be remapped more completely
25.0.2.2Релиз1.21.11, 26.1, 26.1.1 · 19 апреля 2026 г.

GraalMC 25.0.2.1 -> 25.0.2.2

Using GraalJS 25.0.2

  • MemberRemapper now allows null return value, which indicates that such member should be hidden and not accessible in JS
  • fields with shadowing can now be remapped more completely

Комментарии

Загружаем…