Download GeckoJS — Minecraft Mods — MetaMods
GeckoJS

GeckoJS

Active

Downloads

5

Last update

1 year ago

Versions

1.20.1
Client and server
Forge
Decor
Weapons and armor
Utils

GeckoJS

GeckoJS is a powerful extension that combines the functionality of the GeckoLib library with the capabilities of KubeJS, allowing you to create animated blocks, items, and armor directly in the game using JavaScript.

Simple Usage Example

Initialization 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.addAnimation(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_time90)180", "Math.cos(query.anim_time90)180", "Math.sin(query.anim_time90)180"]
                    }
                }
            }
        }
    },
    "geckolib_format_version": 2
}

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

example_block.png

Project members
westernat233

westernat233

Developer

Westernat

Westernat

Created: 25 Feb 2024

ID: 15529