KubeJS is a powerful scripting and utility mod that lets players edit recipes, register custom items and blocks, and automate server events using JavaScript for Minecraft Fabric, Forge, NeoForge, and Quilt.
Anyone who has spent time building a Minecraft modpack knows the pain: you install dozens of mods, and suddenly there are duplicate recipes, overpowered crafting paths, and items that clash with your intended progression. Fixing these issues traditionally meant learning Java, setting up a development environment, and compiling a custom mod just to change a single recipe. KubeJS eliminates that entire headache. With over 13 million downloads on Modrinth, it has become one of the most widely adopted modpack development tools in the Minecraft modding community — and for good reason. It turns what used to be hours of Java coding into minutes of JavaScript scripting, right inside your game directory.
Key Features of KubeJS
- JavaScript-Based Scripting — KubeJS uses JavaScript as its scripting language, which means you do not need to learn Java or set up a mod development environment. If you have even basic programming experience, you can start writing scripts immediately. This dramatically lowers the barrier to customizing your Minecraft experience.
- Recipe Management — You can add, remove, or modify any crafting recipe in the game through simple script files. This is particularly valuable for modpack creators who need to balance progression across dozens of mods, remove duplicate recipes, or gate certain items behind specific crafting chains.
- Custom Items and Blocks — KubeJS allows you to register entirely new items and blocks without creating a standalone mod. You define them in startup scripts, and they appear in-game with custom textures and behaviors. This is ideal for modpack-specific resources, currencies, or quest items.
- Tag and Worldgen Editing — The mod gives you direct control over item and block tags, as well as world generation settings. You can unify ore tags across mods, adjust biome generation, or modify loot tables — all from your scripts folder.
- Server Event Handling — Server-side scripts let you hook into game events like player login, block placement, or entity spawning. You can build custom welcome messages, automated cleanup systems, or player tracking without any external plugins.
- Quest Mod Integration — KubeJS supports custom handlers for popular quest mods, letting you define complex quest triggers and rewards through scripting. This makes it a backbone tool for adventure-style and progression-focused modpacks.
- Hot Reloading with /reload — Many scripts can be reloaded on the fly using the
/reloadcommand, so you do not need to restart your game or server for every change. Startup scripts still require a restart, but server and data scripts update instantly, which speeds up development significantly.
Screenshots
How to Install KubeJS
- Install a compatible mod loader for your Minecraft version. For 1.21.1, you need NeoForge. For 1.20.1, you can use Fabric, Forge, NeoForge, or Quilt.
- Download the correct KubeJS file for your Minecraft version and loader from the download section below.
- Place the downloaded
.jarfile into your.minecraft/modsfolder. If you are using a custom launcher or server, place it in the corresponding mods directory. - Launch Minecraft once. KubeJS will automatically generate a
kubejsfolder in your game directory containing example scripts and the correct folder structure. - Open the
kubejsfolder and start editing or adding.jsscript files. Startup scripts go inkubejs/startup_scripts/, while server scripts go inkubejs/server_scripts/.
Requirements & Compatibility
| Minecraft Version | Supported Loaders |
|---|---|
| 1.21.1 | NeoForge |
| 1.21 | NeoForge |
| 1.20.4 | NeoForge |
| 1.20.1 | Forge, Fabric, Quilt, NeoForge |
| 1.19.2 | Forge, Fabric, Quilt |
What's New
- Full support for Minecraft 1.21.1 on NeoForge, keeping the mod current with the latest game version.
- Continued maintenance and updates through November 2025, showing active long-term development.
- NeoForge has become the primary loader for newer Minecraft versions (1.20.4+), reflecting the broader modding ecosystem shift.
- Fabric and Quilt support remains available for 1.20.1 and 1.19.2, ensuring backward compatibility for established modpacks.
- Detailed version changelogs are published on the official KubeJS website for each release.
Pros and Cons
Pros
- Uses JavaScript — far easier to learn than Java modding
- Supports all major mod loaders across multiple Minecraft versions
- Hot reload for server scripts saves enormous development time
- Massive community with extensive wiki documentation and support
- Open source under LGPL-3.0 license with active development since 2022
- Over 13 million downloads — battle-tested in thousands of modpacks
Cons
- Startup scripts require a full game restart, which can slow iteration for item or block registration
- Not all features are reloadable — some changes still need a world or game restart
- Requires basic programming knowledge; complete beginners may face a learning curve
- Newer Minecraft versions (1.21+) only support NeoForge, limiting loader choice
Alternatives to KubeJS
- CraftTweaker — A well-established recipe tweaking mod that uses ZenScript instead of JavaScript, popular among modpack developers who prefer a domain-specific scripting language.
- Polymorph — Solves recipe conflicts specifically by letting players choose between overlapping crafting recipes, a lighter approach if you only need conflict resolution.
- Custom NPCs — Offers scripting capabilities focused on NPC behavior, dialogues, and quests, useful if your customization needs are more story-driven than recipe-driven.
Download KubeJS
| Minecraft Version | Fabric | Forge | NeoForge | Quilt |
|---|---|---|---|---|
| For Minecraft 1.21.1 | — | — | Download | — |
| For Minecraft 1.21 | — | — | Download | — |
| For Minecraft 1.20.4 | — | — | Download | — |
| For Minecraft 1.20.1 | Download | Download | Download | Download |
| For Minecraft 1.19.2 | Download | Download | — | Download |
Always download mods from official sources to stay safe.
Frequently Asked Questions
Is KubeJS safe to install on a multiplayer server?
Yes — KubeJS is widely used on multiplayer servers and has been downloaded over 13 million times. It is open source under the LGPL-3.0 license, and the source code is publicly available on GitHub for review. Scripts run server-side, so players connecting to your server do not need to install KubeJS themselves for recipe and event changes to take effect.
Can I reload KubeJS scripts without restarting the game?
Yes, but only for server and data scripts. You can use the /reload command to apply changes to server scripts instantly. However, startup scripts — which handle item and block registration — require a full game restart because those elements are registered during the loading phase.
Do I need to know JavaScript to use KubeJS?
Basic JavaScript knowledge is recommended, but you do not need to be an expert. The official KubeJS wiki provides extensive examples and pre-made scripts that you can copy and modify. Many modpack creators start by adapting example scripts and gradually learn more as they go.
Does KubeJS work with Fabric on Minecraft 1.21.1?
No — KubeJS for Minecraft 1.21.1 is only available for NeoForge. Fabric and Quilt support is available for older versions including 1.20.1 and 1.19.2. If you need Fabric on newer versions, you will need to use an older Minecraft version or check for future updates.
Does KubeJS affect game performance?
KubeJS appears to be lightweight for most use cases. The mod primarily runs scripts during loading and specific game events, so it does not continuously consume resources during normal gameplay. However, poorly optimized scripts with frequent event hooks could introduce lag on lower-end systems, so it is good practice to keep your scripts efficient.
