Mineuniverse
Log in Register
Mods

GeckoJS

Use Geckolib to create animatable block/item/armor by KubeJS
by Westernat233
Download Claim this project
1,239,777 downloads
0 likes
Updated Jul 6, 2026
0 hypes
Armor, Tools, and Weapons Cosmetic KubeJS

Gecko JS

Use GeckoLib to create animatable block/item/armor by KubeJS

Simple Example

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()

})

Model assets/geckojs/geo/block/example_block.geo.json


{

    "format_version": "1.12.0",

    "minecraft:geometry": [

        {

            "description": {

                "identifier": "geometry.example_block",

                "texture_width": 48,

                "texture_height": 48,

                "visible_bounds_width": 3,

                "visible_bounds_height": 2.5,

                "visible_bounds_offset": [0, 0.75, 0]

            },

            "bones": [

                {

                    "name": "bone",

                    "pivot": [0, 8, 0],

                    "cubes": [

                        {

                            "origin": [-7, 1, -7],

                            "size": [14, 14, 14],

                            "uv": {

                                "north": {"uv": [0, 0], "uv_size": [14, 14]},

                                "east": {"uv": [0, 14], "uv_size": [14, 14]},

                                "south": {"uv": [14, 0], "uv_size": [14, 14]},

                                "west": {"uv": [14, 14], "uv_size": [14, 14]},

                                "up": {"uv": [0, 28], "uv_size": [14, 14]},

                                "down": {"uv": [28, 14], "uv_size": [14, -14]}

                            }

                        }

                    ]

                }

            ]

        }

    ]

}

Animation assets/geckojs/animations/block/example_block.animations.json


{

    "format_version": "1.8.0",

    "animations": {

        "rotating": {

            "loop": true,

            "animation_length": 3,

            "bones": {

                "bone": {

                    "rotation": {

                        "vector": ["Math.sin(query.anim_time*90)*180", "Math.cos(query.anim_time*90)*180", "Math.sin(query.anim_time*90)*180"]

                    }

                }

            }

        }

    },

    "geckolib_format_version": 2

}

Texture assets/geckojs/textures/block/example_block.png

example_block.png
GeckoJS-2101neoforge-1.6.0
MC Client, 1.21.1, NeoForge, Server
Release 2026-06-17 Get
GeckoJS-2001forge-1.6.0
MC Client, 1.20.1, Forge, Server
Release 2026-06-17 Get
GeckoJS-2001forge-1.4.0.jar
MC Client, 1.20.1, Forge, Server
Beta 2024-02-23 Get

More from Westernat233

Create Ponder [Frozen]
92,754
Custom Chest Name
875
FeatureJS
3,807
Terra Entity
354,045
Confluence: Otherworld
343,860
Particle Storm
3,068

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