Skip to content

Instantly share code, notes, and snippets.

@EastArctica
Last active November 7, 2025 00:03
Show Gist options
  • Select an option

  • Save EastArctica/dc29b589d5c4e03990f611e65d27ffa3 to your computer and use it in GitHub Desktop.

Select an option

Save EastArctica/dc29b589d5c4e03990f611e65d27ffa3 to your computer and use it in GitHub Desktop.
Minecraft Java Scripting Engines

This is a list of every Minecraft scripting engine I could find. Please correct any information you see that's wrong.

I mention "no mixins" in some places, none of them support mixins but it can somewhat be done through ByteBuddy.

Date's last updated 10/2025

  • JSMacros (JS/Python 2.7/Python 3.x/Lua 5.2/Ruby 2.6.x/Groovy 4.0.4/Kotlin 1.7.10/WASM)
    • Engine: GraalJS primarily
    • Latest Release: 1.21.4 (Experimantal, found in discord), or 1.21.1 officially (Last commit April 2025)
    • Platform: Fabric + Forge, Client only
    • Functionality: Java interop, no mixins, lots of APIs
    • Additional Notes: Frequently forks for the latest version, stability/feature parity frequently lacking
  • JSCore (JS)
    • Engine: Rhino currently. However, the dev is moving towards switching to Graal but is waiting until a bug in Graal is resolved (I personally speculate it will not be resolved for a very long time)
    • Latest Release: 1.21.8 (Last commit 3 months ago)
    • Functionality: Java interop, no mixins
    • Platform: Fabric, Client only
  • Moud (JS/TS)
    • Engine: GraalJS with an abstraction layer for typescript support. The typescript support is not done through tsc and is instead type-stripping similar to node.js' --experimental-strip-types flag
    • Latest Release: 1.21.1 (Last commit 3 weeks ago)
    • Functionality: "HTML/CSS-like UI elements" (A better description is "flex-box inspired"), very focused on creating something client+server it seems
    • Platform: Fabric + Custom Server (Using Minestom),
    • Additional Notes: Client+Server data sync for scripts (eg. events between them)
  • KubeJS (JS)
    • Engine: Rhino Fork
    • Latest Release: 1.21.x(?) (Last commit 15 hours ago)
    • Functionality: Java integration, Intended for modpacks/servers
    • Platform: Forge+Fabric, Client+Server
  • ChatTriggers (JS)
    • Engine: Rhino
    • Latest Release: 1.8.9 & 1.12.2 (Last commit July 2024)
    • Functionality: Java integration, Fairly mature ecosystem
    • Platform: Forge, Client only
  • ScriptCraft (JS)
    • Engine: Nashorn
    • Latest Release: Somewhere around 1.15.2 (Last commit February 2020)
    • Functionality: Focuses on Spigot and CanaryMod API access (doesn’t expose the entire JVM by default)
    • Platform: Bukkit Plugin, Server only
  • MagikCraft (JS)
    • Engine: Nashorn
    • Latest Release: Somewhere around 1.15.2? (Last commit December 2021)
    • Functionality: Focuses on Spigot and CanaryMod API access (doesn’t expose the entire JVM by default), npm support, polyfills, unit testing, docker?
    • Platform: Bukkit Plugin, Server only
    • Additional Notes: ScriptCraft fork
  • JMod (JS)
    • Engine: Nashorn
    • Latest Release: 1.7.10 (Last commit October 2017)
    • Functionality: No events(?), Intended for internal use within the owner's modpack.
    • Platform: Forge, Client only(?)
  • CraftTweaker (ZenScript, they aren't consistent and also call this ZenCode???, it's C#-like ish)
    • Engine: Custom I assume
    • Latest Release: 1.21.1 (Last commit 2 months ago)
    • Functionality: Diverse api, no java interop, Primarily for modpack glue
    • Platform: Forge + Fabric + Neoforge, Client + Server required(confirm?)
  • GroovyScript (Groovy lang, Java-like)
    • Engine: Groovy
    • Latest Release: 1.12.2 (Last commit 5 days ago)
    • Functionality: Static compilation, dynamic typing, Sandboxed Java interop, Events, CraftTweaker support
    • Platform: Forge, Client only(?)
  • AdvancedMacros (Lua)
    • Engine: Luaj (Lua 5.2)
    • Latest Release: 1.15.2? 1.20.x? (Last commit May 2024)
    • Functionality: Events, 2d+3d hud, idk. No java interop(?)
    • Platform: Forge + Fabric + Neoforge, Client only
  • Carpet/Scarpet (Scarpet, custom)
    • Engine: Custom
    • Latest Release: Always latest snapshot (Last commit 7 hours ago)
    • Functionality: Honestly idk read docs, lots of deep integration
    • Platform: Fabric, Server only
  • LiquidBounce (JS)
    • Engine: GraalJS
    • Latest Release: 1.21.4 (Last commit 15 hours ago)
    • Functionality: Java interop, various apis, localStorage, js devtools debugging support
    • Platform: Fabric, Client only
  • MQS (My QOL Scripts) (JS)
    • Engine: GraalJS
    • Latest Release: 1.21.4 (Last commit 6 hours ago)
    • Functionality: Java interop, ES2024, Events, Commands, Keybinds, Confugration, Rendering and "more" APIs, in-memory hooking, gui system, "powerful integrated console", per-script setting & keybind system.
    • Platform: Fabric, Client only
  • Minescript (Python-like Pyjinn)
    • Engine: Custom, Pyjinn
    • Latest Release: 1.21.10 (Last commit 2 weeks ago)
    • Features: Python & Pyjinn scripts, deep Java interop, events, no mixins
    • Platform: Fabric + Forge + Neoforge, Client only
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment