GeckoJS avatar

GeckoJS [1.20.1]

Gecko JS

Используйте GeckoLib для создания анимируемых блоков/предметов/брони с помощью KubeJS

Простой пример

Стартовый скрипт


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

})

Модель 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]}

                            }

                        }

                    ]

                }

            ]

        }

    ]

}

Анимация 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

}

Текстура assets/geckojs/textures/block/example_block.png

текстура примера блока

Скачать GeckoJS

 
Тип Скачать Версия Загрузчик Обновлено Размер
ReleaseGeckoJS-2001forge-1.5.21.20.1Forge26 марта 2025149,8 КБ
ReleaseGeckoJS-2001forge-1.5.0.jar1.20.1Forge25 февраля 2024150,4 КБ
BetaGeckoJS-2001forge-1.4.0.jar1.20.1Forge24 февраля 2024137,6 КБ
ReleaseGeckoJS-2001forge-1.4.0+hotfix2.jar1.20.1Forge24 февраля 2024137,7 КБ
ReleaseGeckoJS-2001forge-1.4.0+hotfix.jar1.20.1Forge23 февраля 2024137,6 КБ
ReleaseGeckoJS-2001forge-1.3.0.jar1.20.1Forge22 февраля 202438 КБ
Пожалуйста авторизуйтесь, чтобы оставить свой комментарий.