hytale-animation
SKILL.md
Hytale Animation
Create animations for characters, mobs, and objects using Blockbench.
Tools Required
- Blockbench - blockbench.net
- Hytale Blockbench Plugin - File → Plugins → Search "hytale"
- (Optional) BlockbenchMCP - For AI-assisted animation (see
blockbench-mcpskill)
Animation Basics
Keyframe Animation
Animations in Hytale use keyframe interpolation:
- Set key poses at specific times
- Engine interpolates between them
- Supports position, rotation, and scale
Animation Timeline
Frame 0 Frame 10 Frame 20 Frame 30
| | | |
▼ ▼ ▼ ▼
[Idle] → [Arm Up] → [Strike] → [Idle]
Creating Animations in Blockbench
Step 1: Open Your Model
- Open Blockbench with Hytale plugin
- Load or create your model
- Ensure bones are properly named (see
hytale-model-creator)
Step 2: Open Animation Panel
- View → Animation Mode (or press
Ctrl+A) - Animation panel appears at bottom
Step 3: Create New Animation
- Click "+" in Animations panel
- Name your animation (e.g.,
walk,attack,idle) - Set animation properties:
- Length: Duration in seconds
- Loop: Whether it repeats
- Override: Priority over other animations
Step 4: Add Keyframes
- Select a bone in the outliner
- Move timeline to desired frame
- Transform the bone (rotate, move, scale)
- Click "+" next to transform type to add keyframe
Step 5: Refine and Preview
- Press Play to preview
- Adjust timing and poses
- Add easing for smoother motion
Animation Types
Idle Animation
- Subtle breathing motion
- Slight swaying
- Loop seamlessly
- Duration: 2-4 seconds
Keyframes:
0s: Base pose
1s: Slight breath in (chest up, arms out slightly)
2s: Base pose (loops back)
Walk Cycle
- Alternating legs
- Arm swing opposite to legs
- Head bob
- Duration: ~1 second per cycle
Keyframes:
0.00s: Right foot forward, left arm forward
0.25s: Passing position (legs together)
0.50s: Left foot forward, right arm forward
0.75s: Passing position
1.00s: Back to start (loops)
Attack Animation
- Wind-up, strike, recovery
- No loop (plays once)
- Duration: 0.5-1 second
Keyframes:
0.00s: Idle pose
0.15s: Wind-up (arm back)
0.25s: Strike (arm forward, maximum extension)
0.40s: Follow-through
0.60s: Return to idle
Jump Animation
- Anticipation, jump, landing
- Triggered by game events
Keyframes:
0.00s: Crouch (anticipation)
0.10s: Launch (extended)
0.30s: Apex (relaxed pose)
0.50s: Landing (crouch)
0.70s: Return to idle
Bone Hierarchy for Animation
Use consistent naming for Hytale's animation system:
root
├── body
│ ├── head
│ │ ├── jaw (for talking)
│ │ └── eyes (for blinking)
│ ├── arm_right
│ │ ├── forearm_right
│ │ └── hand_right
│ ├── arm_left
│ │ ├── forearm_left
│ │ └── hand_left
│ └── waist
│ ├── leg_right
│ │ ├── shin_right
│ │ └── foot_right
│ └── leg_left
│ ├── shin_left
│ └── foot_left
Easing Functions
Control how keyframes interpolate:
| Easing | Effect | Use For |
|---|---|---|
| Linear | Constant speed | Mechanical motion |
| Ease In | Slow start | Beginning actions |
| Ease Out | Slow end | Landing, stopping |
| Ease In-Out | Slow both ends | Natural motion |
| Bounce | Bouncy end | Cartoony effects |
Animation States
Games often use state machines for animations:
┌─────────────┐
│ Idle │◄────────────┐
└──────┬──────┘ │
│ (move input) │ (stop)
▼ │
┌─────────────┐ │
│ Walk │─────────────┘
└──────┬──────┘
│ (attack)
▼
┌─────────────┐
│ Attack │───► (returns to previous)
└─────────────┘
Best Practices
Do
| Practice | Why |
|---|---|
| Start with key poses | Foundation first |
| Use reference videos | Natural motion |
| Exaggerate slightly | Reads better in-game |
| Test in-game early | Catches issues |
| Keep loops seamless | No jarring transitions |
Don't
| Mistake | Why Bad |
|---|---|
| Too many keyframes | Hard to edit |
| Robotic motion | Looks unnatural |
| Forget anticipation | Actions feel sudden |
| Ignore secondary motion | Feels stiff |
Export Settings
When exporting from Blockbench:
- File → Export → Hytale Animation
- Output:
.blockyanimfile - Place in:
Common/Animations/folder in your Pack
Animation in Plugins
Trigger animations from Java plugins:
// Play animation on entity
entity.playAnimation("attack");
// Play with options
entity.playAnimation("walk", AnimationOptions.builder()
.loop(true)
.blendTime(0.2f)
.build());
// Stop animation
entity.stopAnimation("walk");
Quick Reference
| Animation | Duration | Loop | Notes |
|---|---|---|---|
| Idle | 2-4s | Yes | Subtle movement |
| Walk | 0.8-1.2s | Yes | Cycle per step |
| Run | 0.4-0.6s | Yes | Faster cycle |
| Attack | 0.3-0.8s | No | Once per action |
| Jump | 0.5-1s | No | Triggered |
| Death | 1-2s | No | Final pose |
Resources
- Model Creation: See
hytale-model-creatorskill - AI Animation Help: See
blockbench-mcpskill - Official Examples: Hytale Model Examples ZIP
Weekly Installs
4
Repository
z3nlotus/hytale…t-skillsGitHub Stars
3
First Seen
Feb 10, 2026
Security Audits
Installed on
cursor4
claude-code4
github-copilot4
codex4
gemini-cli4
continue3