Mineuniverse
Log in Register
Mods

KubeJS Roots

Adds KubeJS support for the Roots Classic
by Amygdaloideae
Download Claim this project
3,723 downloads
0 likes
Updated Jul 6, 2026
0 hypes
KubeJS Magic Server Utility

KubeJS Roots

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:

  1. Started count down for the progress time (Think it as some kind of CD or process time)
  2. 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)
    })
})
KubeJS Roots-1.0.0.jar
MC NeoForge, 1.21.1, Server
Release 2024-10-10 Get

More from Amygdaloideae

KubeJS ComputerCraft
71,862
ProbeJS
6,826,188
Heat&Climate Tweaker
4,687
VisualJS
3,533
PowerfulJS
2,779,109
JEI Crafting
2,318

You Might Also Like

Theurgy KubeJS
Theurgy KubeJS provides KubeJS integrations for Theurgy.
9,503,452
EntityJS
This mod uses KubeJS to dynamically register entities with full AI/Animation/Spawn Control support!
8,731,173
KubeJS TFC
KubeJS TFC integration
919,127
Forbidden Arcanus JS
Forbidden and Arcanus kubejs Compatibility
97,097
Immersive Engineering JS
kubejs compat for ie
94,624
KubeJS REI Runtime
Allows KubeJS to hide and show items from REI dynamically
89,244