COWMODSКаталог модов

Animorph

Morph into a custom model, play emotes, and configure them to your liking.

Автор: feeldev6,8 тыс.5обновлён 10 окт. 2026 г.
ДекорМеханики игрыМагия

Описание

Animorph

This mod is the client-side companion for the Animorph plugin. It allows you to visualize custom 3D models, advanced animations, and synchronized emotes on players.


What does this mod do?

When you connect to a server running the Animorph plugin, this mod takes care of:

  • Receiving and rendering custom 3D models
  • Playing animations with the Animation Controllers system
  • Synchronizing emotes across all players
  • Displaying the custom model in first person (arms)

Rendering

The mod replaces the vanilla player renderer with one based on GeckoLib, allowing:

  • Blockbench .geo.json models
  • Textures with layer system
  • Support for wide and slim variants
  • Model parts that can be hidden based on player settings (cape, hat, etc.)

Animations

Compatible with Bedrock Edition style animation system:

  • Animation Controllers with states and transitions
  • Molang Queries like query.is_on_ground, query.is_moving, query.yaw, query.pitch
  • Multiple controllers running simultaneously
  • Smooth transitions with configurable blend
  • Head tracking that follows camera direction

Animated camera

It's possible to animate the player's camera using a specific bone in the model. This allows creating camera effects during emotes or special animations.


Emotes

Emotes are automatically synchronized with the server. If a player starts an emote, you'll see it play at the exact moment thanks to the latency compensation system.


Equipment

If the model creator specifies it, armor can adapt to the 3D model. This requires creating the model for each equipment part (helmet, chestplate, leggings, boots, cape, elytra) separately. Hand items are rendered correctly based on model bones.


First Person

The first person arm also uses your custom model, rendered independently so body animations don't interfere.


Important

This mod does nothing on its own. You need to connect to a server running the Animorph plugin to receive models and animations.

Галерея

Custom Models

Последние версии

Все версии →
release

Animorph 1.1.1 Spigot (1.20.1)

1.1.1+1.20.1-spigot
10 окт. 2026 г.50Minecraft: 1.20.1bukkit, spigot
Скачать
Что нового
### Fixes - **forge:** drop the template title screen mixin that crashed production clients without a refmap
release

Animorph 1.1.1 Fabric (1.20.1)

1.1.1+1.20.1-fabric
10 окт. 2026 г.48Minecraft: 1.20.1fabric
Скачать
Что нового
### Fixes - **forge:** drop the template title screen mixin that crashed production clients without a refmap
release

Animorph 1.1.1 Forge (1.20.1)

1.1.1+1.20.1-forge
10 окт. 2026 г.100Minecraft: 1.20.1forge
Скачать
Что нового
### Fixes - **forge:** drop the template title screen mixin that crashed production clients without a refmap
release

Animorph 1.1.0 Spigot (1.20.1)

1.1.0+1.20.1-spigot
9 окт. 2026 г.4Minecraft: 1.20.1bukkit, spigot
Скачать
Что нового
### Features - **config:** make animation LOD an opt-in low-end mode ### Fixes - **gpu:** multiply the cube skinning delta as current times rest inverse - **port:** find tracking players on Spigot 1.20.1, where Entity#getTrackedBy does not exist - **port:** skip missing animations like GeckoLib on 1.21 instead of freezing the controller - **port:** bake no-overlay into mesh vertices so poly meshes are not tinted red - refuse models too large to send instead of failing the command or kicking the client - **gpu:** skip the GPU cube draw for models without cubes - **port:** skip unparsable animation entries like GeckoLib does on 1.21 instead of crashing - **fabric:** declare the access widener so render-type access works outside the dev environment - **molang:** make comparisons inside ternary conditions work - **molang:** make != conditions in animation controllers work - **layers:** use a layer's own controllers and mirror the body for layers without them - **layers:** give every model layer its own animation manager - **neoforge:** let NeoForge clients join Paper/Spigot servers - **animation:** stop players inheriting another player's bone change markers - **animation:** restore a player's own pose when GeckoLib skips a same-frame re-render - **voice:** animate the local player's mouth with Plasmo Voice - **render:** don't abort resource reload when animorph shaders can't compile - **emote:** let emotes replay and fully stop instead of holding the last pose ### Performance - **render:** keep per-bone GPU skinning state on the bone instead of an identity map - **render:** reuse the last nametag text buffer instead of two map lookups per glyph - **animation:** iterate cached bone/queue arrays and drop the per-keyframe location allocation - **animation:** skip the ConcurrentHashMap bin lock on item candidate hits - **animation:** throttle distant players' animation ticks and replay their captured pose - **render:** cache texture size/format instead of querying GL per cube draw call - **animation:** build item animation candidates once per item instead of every frame - **animation:** cache GeckoLib DataTicket hash used by every per-frame getData
release

Animorph 1.1.0 Forge (1.20.1)

1.1.0+1.20.1-forge
9 окт. 2026 г.18Minecraft: 1.20.1forge
Скачать
Что нового
### Features - **config:** make animation LOD an opt-in low-end mode ### Fixes - **gpu:** multiply the cube skinning delta as current times rest inverse - **port:** find tracking players on Spigot 1.20.1, where Entity#getTrackedBy does not exist - **port:** skip missing animations like GeckoLib on 1.21 instead of freezing the controller - **port:** bake no-overlay into mesh vertices so poly meshes are not tinted red - refuse models too large to send instead of failing the command or kicking the client - **gpu:** skip the GPU cube draw for models without cubes - **port:** skip unparsable animation entries like GeckoLib does on 1.21 instead of crashing - **fabric:** declare the access widener so render-type access works outside the dev environment - **molang:** make comparisons inside ternary conditions work - **molang:** make != conditions in animation controllers work - **layers:** use a layer's own controllers and mirror the body for layers without them - **layers:** give every model layer its own animation manager - **neoforge:** let NeoForge clients join Paper/Spigot servers - **animation:** stop players inheriting another player's bone change markers - **animation:** restore a player's own pose when GeckoLib skips a same-frame re-render - **voice:** animate the local player's mouth with Plasmo Voice - **render:** don't abort resource reload when animorph shaders can't compile - **emote:** let emotes replay and fully stop instead of holding the last pose ### Performance - **render:** keep per-bone GPU skinning state on the bone instead of an identity map - **render:** reuse the last nametag text buffer instead of two map lookups per glyph - **animation:** iterate cached bone/queue arrays and drop the per-keyframe location allocation - **animation:** skip the ConcurrentHashMap bin lock on item candidate hits - **animation:** throttle distant players' animation ticks and replay their captured pose - **render:** cache texture size/format instead of querying GL per cube draw call - **animation:** build item animation candidates once per item instead of every frame - **animation:** cache GeckoLib DataTicket hash used by every per-frame getData
release

Animorph 1.1.0 Fabric (1.20.1)

1.1.0+1.20.1-fabric
9 окт. 2026 г.10Minecraft: 1.20.1fabric
Скачать
Что нового
### Features - **config:** make animation LOD an opt-in low-end mode ### Fixes - **gpu:** multiply the cube skinning delta as current times rest inverse - **port:** find tracking players on Spigot 1.20.1, where Entity#getTrackedBy does not exist - **port:** skip missing animations like GeckoLib on 1.21 instead of freezing the controller - **port:** bake no-overlay into mesh vertices so poly meshes are not tinted red - refuse models too large to send instead of failing the command or kicking the client - **gpu:** skip the GPU cube draw for models without cubes - **port:** skip unparsable animation entries like GeckoLib does on 1.21 instead of crashing - **fabric:** declare the access widener so render-type access works outside the dev environment - **molang:** make comparisons inside ternary conditions work - **molang:** make != conditions in animation controllers work - **layers:** use a layer's own controllers and mirror the body for layers without them - **layers:** give every model layer its own animation manager - **neoforge:** let NeoForge clients join Paper/Spigot servers - **animation:** stop players inheriting another player's bone change markers - **animation:** restore a player's own pose when GeckoLib skips a same-frame re-render - **voice:** animate the local player's mouth with Plasmo Voice - **render:** don't abort resource reload when animorph shaders can't compile - **emote:** let emotes replay and fully stop instead of holding the last pose ### Performance - **render:** keep per-bone GPU skinning state on the bone instead of an identity map - **render:** reuse the last nametag text buffer instead of two map lookups per glyph - **animation:** iterate cached bone/queue arrays and drop the per-keyframe location allocation - **animation:** skip the ConcurrentHashMap bin lock on item candidate hits - **animation:** throttle distant players' animation ticks and replay their captured pose - **render:** cache texture size/format instead of querying GL per cube draw call - **animation:** build item animation candidates once per item instead of every frame - **animation:** cache GeckoLib DataTicket hash used by every per-frame getData
release

Animorph 1.1.0 Spigot (1.21.1)

1.1.0+1.21.1-spigot
9 окт. 2026 г.14Minecraft: 1.21.1bukkit, spigot
Скачать
Что нового
### Features - **config:** make animation LOD an opt-in low-end mode ### Fixes - **gpu:** multiply the cube skinning delta as current times rest inverse - **render:** bake no-overlay into mesh vertices so poly meshes are not tinted red - refuse models too large to send instead of failing the command or kicking the client - **gpu:** skip the GPU cube draw for models without cubes - **fabric:** declare the access widener so render-type access works outside the dev environment - **molang:** make comparisons inside ternary conditions work - **molang:** make != conditions in animation controllers work - **layers:** use a layer's own controllers and mirror the body for layers without them - **layers:** give every model layer its own animation manager - **neoforge:** let NeoForge clients join Paper/Spigot servers - **animation:** stop players inheriting another player's bone change markers - **animation:** restore a player's own pose when GeckoLib skips a same-frame re-render - **voice:** animate the local player's mouth with Plasmo Voice - **render:** don't abort resource reload when animorph shaders can't compile - **emote:** let emotes replay and fully stop instead of holding the last pose ### Performance - **render:** keep per-bone GPU skinning state on the bone instead of an identity map - **render:** reuse the last nametag text buffer instead of two map lookups per glyph - **animation:** iterate cached bone/queue arrays and drop the per-keyframe location allocation - **animation:** skip the ConcurrentHashMap bin lock on item candidate hits - **animation:** throttle distant players' animation ticks and replay their captured pose - **render:** cache texture size/format instead of querying GL per cube draw call - **animation:** build item animation candidates once per item instead of every frame - **animation:** cache GeckoLib DataTicket hash used by every per-frame getData
release

Animorph 1.1.0 Paper (1.21.1)

1.1.0+1.21.1-paper
9 окт. 2026 г.14Minecraft: 1.21.1paper
Скачать
Что нового
### Features - **config:** make animation LOD an opt-in low-end mode ### Fixes - **gpu:** multiply the cube skinning delta as current times rest inverse - **render:** bake no-overlay into mesh vertices so poly meshes are not tinted red - refuse models too large to send instead of failing the command or kicking the client - **gpu:** skip the GPU cube draw for models without cubes - **fabric:** declare the access widener so render-type access works outside the dev environment - **molang:** make comparisons inside ternary conditions work - **molang:** make != conditions in animation controllers work - **layers:** use a layer's own controllers and mirror the body for layers without them - **layers:** give every model layer its own animation manager - **neoforge:** let NeoForge clients join Paper/Spigot servers - **animation:** stop players inheriting another player's bone change markers - **animation:** restore a player's own pose when GeckoLib skips a same-frame re-render - **voice:** animate the local player's mouth with Plasmo Voice - **render:** don't abort resource reload when animorph shaders can't compile - **emote:** let emotes replay and fully stop instead of holding the last pose ### Performance - **render:** keep per-bone GPU skinning state on the bone instead of an identity map - **render:** reuse the last nametag text buffer instead of two map lookups per glyph - **animation:** iterate cached bone/queue arrays and drop the per-keyframe location allocation - **animation:** skip the ConcurrentHashMap bin lock on item candidate hits - **animation:** throttle distant players' animation ticks and replay their captured pose - **render:** cache texture size/format instead of querying GL per cube draw call - **animation:** build item animation candidates once per item instead of every frame - **animation:** cache GeckoLib DataTicket hash used by every per-frame getData
release

Animorph 1.1.0 NeoForge (1.21.1)

1.1.0+1.21.1-neoforge
9 окт. 2026 г.42Minecraft: 1.21.1neoforge
Скачать
Что нового
### Features - **config:** make animation LOD an opt-in low-end mode ### Fixes - **gpu:** multiply the cube skinning delta as current times rest inverse - **render:** bake no-overlay into mesh vertices so poly meshes are not tinted red - refuse models too large to send instead of failing the command or kicking the client - **gpu:** skip the GPU cube draw for models without cubes - **fabric:** declare the access widener so render-type access works outside the dev environment - **molang:** make comparisons inside ternary conditions work - **molang:** make != conditions in animation controllers work - **layers:** use a layer's own controllers and mirror the body for layers without them - **layers:** give every model layer its own animation manager - **neoforge:** let NeoForge clients join Paper/Spigot servers - **animation:** stop players inheriting another player's bone change markers - **animation:** restore a player's own pose when GeckoLib skips a same-frame re-render - **voice:** animate the local player's mouth with Plasmo Voice - **render:** don't abort resource reload when animorph shaders can't compile - **emote:** let emotes replay and fully stop instead of holding the last pose ### Performance - **render:** keep per-bone GPU skinning state on the bone instead of an identity map - **render:** reuse the last nametag text buffer instead of two map lookups per glyph - **animation:** iterate cached bone/queue arrays and drop the per-keyframe location allocation - **animation:** skip the ConcurrentHashMap bin lock on item candidate hits - **animation:** throttle distant players' animation ticks and replay their captured pose - **render:** cache texture size/format instead of querying GL per cube draw call - **animation:** build item animation candidates once per item instead of every frame - **animation:** cache GeckoLib DataTicket hash used by every per-frame getData
release

Animorph 1.1.0 Fabric (1.21.1)

1.1.0+1.21.1-fabric
9 окт. 2026 г.569Minecraft: 1.21.1fabric
Скачать
Что нового
### Features - **config:** make animation LOD an opt-in low-end mode ### Fixes - **gpu:** multiply the cube skinning delta as current times rest inverse - **render:** bake no-overlay into mesh vertices so poly meshes are not tinted red - refuse models too large to send instead of failing the command or kicking the client - **gpu:** skip the GPU cube draw for models without cubes - **fabric:** declare the access widener so render-type access works outside the dev environment - **molang:** make comparisons inside ternary conditions work - **molang:** make != conditions in animation controllers work - **layers:** use a layer's own controllers and mirror the body for layers without them - **layers:** give every model layer its own animation manager - **neoforge:** let NeoForge clients join Paper/Spigot servers - **animation:** stop players inheriting another player's bone change markers - **animation:** restore a player's own pose when GeckoLib skips a same-frame re-render - **voice:** animate the local player's mouth with Plasmo Voice - **render:** don't abort resource reload when animorph shaders can't compile - **emote:** let emotes replay and fully stop instead of holding the last pose ### Performance - **render:** keep per-bone GPU skinning state on the bone instead of an identity map - **render:** reuse the last nametag text buffer instead of two map lookups per glyph - **animation:** iterate cached bone/queue arrays and drop the per-keyframe location allocation - **animation:** skip the ConcurrentHashMap bin lock on item candidate hits - **animation:** throttle distant players' animation ticks and replay their captured pose - **render:** cache texture size/format instead of querying GL per cube draw call - **animation:** build item animation candidates once per item instead of every frame - **animation:** cache GeckoLib DataTicket hash used by every per-frame getData