NeoGeckoJS

NeoGeckoJS

Use GeckoLib to create animatable block/item/armor by KubeJS now on NeoForge!

16 211 downloads 2 followers

Gecko JS

Use GeckoLib to create animatable block/item/armor by simply using KubeJS!

This mod was originally made for Forge 1.20.1 and had no Modrinth Version, however this both ports and updates the mod for NeoForge 1.21.1 with just about perfect 1:1 replication so any original scripts and assets work almost the same!

What're some examples?

Any of the original examples should work pretty much the exact same, again it's just about 1:1.

Startup Script:

StartupEvents.registry("block", event => {

    const rotating = RawAnimation.begin().thenLoop("rotating");

    event.create("geckojs:example_block", "animatable")

        .box(1, 1, 1, 15, 15, 15, true)

        .animatableBlockEntity(blockEntity => {

            blockEntity.addController(state => state.setAndContinue(rotating))

        })

        .defaultGeoModel()

})

Item Example:

StartupEvents.registry('item', event => {
    event.create('cool_sword', 'anim_sword')
        .tier('diamond')
        .defaultGeoModel()
        .addController(controller => {
            controller.addAnimation(state => {
                if (state.isMoving()) {
                    return state.setAndContinue(RawAnimation.begin().thenLoop("walk"))
                }
                return state.setAndContinue(RawAnimation.begin().thenLoop("idle"))
            })
        })
})

Armor Example:

event.create('fancy_helmet', 'anim_helmet')
    .material('iron')
    .defaultGeoModel()
    .armorItemUseGeoModel() // Makes the item icon use the 3D model
    .boneVisibility((renderer, slot) => {
        // Hide a specific bone on the armor model
        renderer.hideBone("extra_antenna") 
    })

Blocks Example:

StartupEvents.registry('block', event => {
    event.create('animated_pillar', 'animatable')
        .defaultGeoModel()
        .addController(controller => {
            controller.addAnimation(state => {
                return state.setAndContinue(RawAnimation.begin().thenLoop("spin"))
            })
        })
})

Version Minecraft Loader Download

NeoGeckoJS v1.0.1 - NeoForge 2.1.228

1.0.1

1.21.1
neoforge
Download

NeoGeckoJS v1.0.1 - NeoForge 2.1.233

1.0.0

1.21.1
neoforge
Download