MINECRAFTHUB.IO
Java Mods

KubeJS

Write JavaScript to edit recipes and tags, register custom blocks and items, and script world events. Builds exist for NeoForge, Fabric, Forge and Quilt.

By KubeJS via Modrinth.

MinecraftHub-generated editorial cover for KubeJS, a voxel diorama around the lime MinecraftHub block
Section
Java Mods
Platform
Java
Checked
Updated
Versions
1.18.2, 1.19.2, 1.20.4, 1.21.1, 26.1.2

What KubeJS works with.

PlatformJava Edition
LoadersNeoForge, Fabric, Forge, Quilt
Minecraft versions1.18.2, 1.19.2, 1.20.4, 1.21.1, 26.1.2
EnvironmentClient, Server

KubeJS is a Minecraft Java mod that lets you write JavaScript to change recipes and tags, register new blocks and items, script world events and adjust worldgen. It ships for NeoForge, Fabric, Forge and Quilt, and Modrinth lists both client and server as optional sides. It is a toolkit for pack developers and server admins, not a content mod.

Loaders and versions

  • NeoForge: 1.20.1 to 26.1.2, newest build 26.1.2-8.0.6, published as a beta.
  • Fabric: 1.18.2 to 1.20.1, newest build 2001.6.5-build.26.
  • Forge: 1.18.2 to 1.20.1, same build number.
  • Quilt: 1.18.2 to 1.20.1, using the Fabric build.

Only NeoForge carries KubeJS past 1.20.1. Fabric, Forge and Quilt players are limited to the 1.18.2 to 1.20.1 range.

Required libraries

  • NeoForge, newest 26.1.2 build: Rhino and Better Advanced Tooltips. EMI, REI and JEI are optional; see EMI for one recipe viewer.
  • NeoForge 1.20.1 to 1.20.4: Rhino and Architectury API.
  • Fabric and Quilt: Rhino, Architectury API and Fabric API.
  • Forge: Rhino and Architectury API.

Requirements shift between builds, so read the dependency list on the exact file you download. Every required .jar goes in the mods folder next to KubeJS.

Writing your first script

Launch the game once with the mod installed. It generates a kubejs folder in your Minecraft directory with example scripts. Startup scripts run once when the game loads and suit item registration and setup. Server scripts load when you join a world and suit login messages and player or world logic. Use /reload to reapply scripts, though some changes still need a game or world restart.

KubeJS basics, how to get started

Questions about KubeJS.

4 questions

What can KubeJS do in Minecraft?

KubeJS lets you write JavaScript that changes recipes and tags, adds new blocks and items, scripts events on a server, and alters worldgen. It can also hook into quest mods for custom handlers. Everything you build is defined in scripts you write, not in a fixed feature list.

Which Minecraft versions does KubeJS support?

NeoForge builds run from 1.20.1 to 26.1.2, with the newest marked beta. Fabric, Forge and Quilt builds cover 1.18.2 to 1.20.1. Pick the build that matches both your loader and your exact Minecraft version, since a jar only works with the loader it was made for.

Do I need to know JavaScript to use KubeJS?

You need to be willing to write scripts, since KubeJS does nothing until you do. The KubeJS wiki provides examples and pre-made scripts you can adapt, and there is a support page for questions, feature suggestions and bug reports if the wiki does not answer yours.

Can I reload KubeJS scripts without restarting the game?

Yes, the /reload command reapplies scripts. Not everything is reloadable, though. Some changes need a full game restart, some only need you to reopen the world, and some apply on the fly. Startup scripts, which register items, run only once when the game loads.

More Java Mods like KubeJS.

Guides for Java Mods.

Browse all Minecraft Java mods ↗