CurseForge · Minecraft mod
KubeJS Roots Compatibility Fork
A functional fork of KubeJS Roots
Quick answer
Which KubeJS Roots Compatibility Fork release should I use?
KubeJS Roots Compatibility Fork KubeJS-Roots-1.0.0-unofficial-.jar targets 1.21.1 with NeoForge. The project page does not say whether this file belongs on the client, dedicated server, or both. No extra mods listed for this file.
Where it goes
Is KubeJS Roots Compatibility Fork required on the client, server, or both?
The project page does not say whether this file belongs on the client, dedicated server, or both.
The source does not explicitly classify this release as client-only or server-only.
What else does KubeJS Roots Compatibility Fork KubeJS-Roots-1.0.0-unofficial-.jar need?
KubeJS-Roots-1.0.0-unofficial-.jar. Change the file and its required mods may change too.
This file does not list any required mods. Do not add a library just because a different file uses it.
This file does not list any required or optional mods.
Before you install it
Add KubeJS Roots Compatibility Fork without breaking your instance.
Built for KubeJS Roots Compatibility Fork KubeJS-Roots-1.0.0-unofficial-.jar. Pick another file and the loader, install side or required mods may change.
- 01
Stick to this file
Use KubeJS-Roots-1.0.0-unofficial-.jar. It targets 1.21.1 with NeoForge; another release may have different loader, side or dependency requirements.
- 02
Bring the mods it needs
This file does not list any required mods. Do not add a library just because a different file uses it.
- 03
Put it on the correct side
The project page does not say whether this file belongs on the client, dedicated server, or both.
- 04
Pick the file you checked
Use the “Get this file” button beside KubeJS-Roots-1.0.0-unofficial-.jar. It opens that exact file at the source.
About this project
What does KubeJS Roots Compatibility Fork add?
Unofficial KubeJS Roots compatibility fork for Minecraft 1.21.1 / NeoForge and KubeJS
Based on KubeJS Roots by Prunoideae. This fork adapts recipe-component registration and related API/schema calls for the target KubeJS version. It retains the original mod ID as a drop-in replacement. Do not install it alongside the original mod.
Original project and source:
KubeJS Roots Curseforge
KubeJS Roots Github
Unofficial fork, not endorsed by the original author.
I wanted to do this fork to use it in the development of my modpack Cap's Create RPG 2: Divine Redemption.
If you want to see all the legal documents and stuff, enter the discord and go to the channel related to this.
How to use it (All the text in this category is copied from the original mod's description):
Adds support for Roots Classic in 1.21 including recipes, and custom rituals, spells, and mutations.
Recipes
ServerEvents.recipes(event => {
let { rootsclassic } = event.recipes
// Creates a ritual recipe for the grow ritual
rootsclassic.ritual('rootsclassic:grow',
['bone_meal', 'apple'], // Input ingredients
['bone', 'porkchop'], // Incense items to burn
0, '#aabbcc' // Altar level and color
)
// Creates a mortar recipe
rootsclassic.component(
'minecraft:tnt', // Output item
['gunpowder', 'gunpowder',
'gunpowder', 'gunpowder'],// Input ingredients
)
// and a spell powder recipe
rootsclassic.component(
'rootsclassic:spell_powder', // Spell powder item to record effect data
["oak_button", "oak_button",
"oak_button", "oak_button"],// Input ingredients
'kubejs:boom', // The spell to apply to the powder
true // Needs to be true for spell recipes
)
})
Custom Ritual
StartupEvents.registry('rootsclassic:ritual', event => {
event.create('big_boom')
// The effect that will be run when the ritual is completed
.ritualEffect(context => {
let { level, pos } = context;
level.createExplosion(pos.x, pos.y, pos.z)
.strength(8)
.explosionMode('tnt')
.causesFire(true)
.explode()
})
})
When you perform a ritual in the altar, it runs with the following steps:
- Started count down for the progress time (Think it as some kind of CD or process time)
- Run the ritual effect
Custom Spell
StartupEvents.registry('rootsclassic:component', event => {
event.create('boom')
.sourceItem('acacia_boat')
.manaCost(8) // 2 leaves in the bar
.spellEffect(context => { // The effect that will be run when the spell is cast
let { caster, level } = context
level.createExplosion(caster.x, caster.y, caster.z)
.strength(4)
.causesFire(true)
.explode()
})
})
Custom Mutation
RootsEvents.mutagen(event => {
// Mutating a dandelion into a TNT block
event.add('kubejs:test', "minecraft:tnt", "minecraft:dandelion", builder => {
// Extra items to be thrown near the dandelion
builder.inputs('acacia_button')
// The effect that will be run if the mutation is successful
builder.onCrafted((block, player) => player.potionEffects.add('regeneration', 1000, 0))
// Additional conditions to be met for the mutation to be successful
builder.matches((items, block, player) => player.xpLevel > 10)
})
})
Project description from CurseForge.
Pick your setup
KubeJS Roots Compatibility Fork by Minecraft version and loader
Choose the version and loader you play, then open the matching release.
Check the dependencies, then try the file in a copied instance before changing a world you care about.
Recent files
KubeJS Roots Compatibility Fork versions and loaders
KubeJS-Roots-1.0.0-unofficial-.jar
18 Oct 2026
Looking for an older file? The official CurseForge project page is in Resources.