Compatibility
Minecraft: Java Edition
1.21.1
Platforms
Supported environments
Client and server
Links
Tags
Creators
Details
Licensed LGPL 3.0 only
Published 2 days ago
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"))
})
})
})


