Punchy! Studio for Punchy! packs
Make first person clips, model parts and rules for Punchy! inside Minecraft: animate, bind, try it in your hand, export a resource pack, or rebuild a pack you already have.
-
Punchy! Studio
This page has not been translated into Korean yet, so it is shown in English. Read in English
On this page
Punchy! Studio is a client mod that opens an animation workstation over your game. For Punchy! it makes first person clips (the camera, both arms and both grips), model parts (custom first person item models) and the rules that decide which clip plays for which item and action. Then it writes them as a resource pack.
This page shows what every part of Studio does, then walks you through one clip from an empty timeline to a sword swing playing in your hand. It is for anyone making Punchy! packs, with or without experience in Blender or Blockbench.
Before you start
- Install Punchy! Studio (from Modrinth or CurseForge) and Punchy! (from Modrinth or CurseForge) for the same Minecraft version. On Fabric you also need Fabric API and a current Fabric Loader (0.19.5 or newer works with every Studio build). Punchy! Studio 1.1.1 has 18 builds: Minecraft 26.4 (snapshot 2), 26.3, 26.2, 1.21.11, 1.21.5, 1.21.1 and 1.20.1 on Fabric, the same versions except 26.4 on Forge, and 26.3, 26.2, 1.21.11, 1.21.5 and 1.21.1 on NeoForge.
- This page was checked against Punchy! Studio 1.1.1 and Punchy! 3.0.
- Join a world. A creative flat world is the easiest place to test. Studio is a client mod, so it does not need a server.
- Editing in Studio does not change a resource pack until you export. The only other things that write a pack are Build from Pack, which makes a new one, and Manage in Pack in the Library, which edits a pack Studio exported. Every export backs up the files it replaces.
Open Studio and find your way around
Press F6 in a world to open the editor, and F6 again to close it. The key is Open Animation Editor under Punchy Studio in the game’s key binds. The editor does not pause the world, so Punchy! keeps running underneath it.
If the editor opens in the Third Person perspective, which is for Punchy! Moves, pick First Person with the switch between the menus and the workspace tabs. Studio remembers the last one you used.
You can also open Studio from Punchy!‘s menu (F8). With Punchy! Studio installed, the menu has a Create group with a Punchy Studio tab. It says what Studio is and has an Open Punchy Studio row whose gold Open button shows Studio’s key, and a Workspaces section with Animation, Model, Bindings and Library, each with its own Open button. Studio opens over the menu, and closing it returns you to the menu. Press F6 inside the menu to jump to the tab. The menu draws group names and its gold buttons in capitals, so you will see CREATE and OPEN.
- Top bar. The menus of the current workspace, the workspace tabs, the project you are working on (a dot means unsaved changes), and Save and Export buttons.
- Status bar. Hints for what is under the pointer, messages from your last action, and the current frame, time and frame rate.
- Number fields work like Blender’s. Drag to scrub (hold Ctrl to snap, Shift to be precise), click to type a value or a small sum such as
90/4, hold Ctrl and scroll to nudge, and press Tab for the next field. - Field colors show the key state: green when the channel is animated, yellow when there is a key on the current frame. The diamond beside a field inserts or deletes that key.
Hover any control for a tooltip, unless you turned them off in Preferences. Press F1 in the Animation workspace for the shortcut sheet, which lists the keys of the keymap you use, and use View > Interface Scale to change the size of the whole interface.
Pick a keymap
The first time you open the editor, a window asks which keys you know: Studio’s own, or those of Blender, Maya or Blockbench. Click a card and press Use Blender Keys (the button names the card you picked), or press Keep Punchy Studio Keys to stay with Studio’s own. To change your mind later, choose Help > Keymap… in the First Person perspective, or pick another Keymap in Preferences, which both perspectives have. Studio remembers the choice in config/punchy_studio.json, and the Third Person perspective follows it.
A keymap sets the keys of the Animation workspace’s everyday actions: play, the move, rotate and scale tools, inserting and deleting keys, framing and viewing, stepping and jumping between frames and keys, undo and redo, and select all. It also sets how the mouse orbits, pans and zooms in the 3D views. Everything else has the same keys in every keymap: Ctrl+S, Ctrl+E, Ctrl+N, Ctrl+O, Ctrl+B, Ctrl+C, Ctrl+V, Ctrl+D, T, Ctrl+Tab, Ctrl+T and F1. The steps and tables on this page use the Punchy Studio keymap, the default. The wheel zooms in every keymap. The other three differ like this:
- Blender. G, R and S pick the move, rotate and scale tools. A selects every key and Alt+A clears the selection. Up jumps to the next key and Down to the previous one. Numpad . or F frames the selected bone, and only Ctrl+Shift+Z redoes. The middle button orbits, with Shift it pans, and with Ctrl its drag zooms.
- Maya. S inserts a key. Alt+V or Space plays. Delete or Backspace deletes keys. A takes the place of Home for showing the whole clip, and Home and End jump to the start and end. , and . jump to the previous and next key, and with Alt they step one frame. Shift+Z or Ctrl+Y redoes. With Alt held, the left button orbits, the middle button pans and the right button drags to zoom. Because of that, Alt click no longer picks a face or a color in the Model workspace: double-click picks a face, and the Color Picker tool picks a color.
- Blockbench. V, R and S pick the move, rotate and scale tools. Delete or Backspace deletes keys, and only Ctrl+Y redoes. The right button orbits, with Shift it pans, and the middle button pans too.
On macOS, Command works as Ctrl, and the key caps and menus read Cmd and Option where this page says Ctrl and Alt.
Preferences
Edit > Preferences… holds the settings that belong to the editor rather than to a clip. It is in the Edit menu of the Animation and Model workspaces in the First Person perspective, and of the Animation, Face and Bindings workspaces in the Third Person perspective. A change applies at once, and Studio keeps it in config/punchy_studio.json.
The settings under Viewport are for the 3D views: the rig viewport, the Model workspace’s stage and the Third Person stage. The camera viewport and the Game view show the game itself, so they do not follow them.
| Setting | What it does |
|---|---|
| Invert left and right, beside Orbit | A drag to the right turns the model to the right, as if you held it, instead of moving the camera to the right around it. |
| Invert up and down | A drag down lowers the camera instead of raising it. |
| Orbit Speed | How far the camera turns for each pixel the mouse moves, from 25% to 300% of the editor’s own speed. The default is 100%. |
| Invert zoom, beside Zoom | Scrolling up moves the camera away from the model instead of closer, and a zoom drag goes the other way too. |
| Zoom Speed | How far each wheel step or zoom drag moves the camera, from 25% to 300%. The default is 100%. |
| Show the floor grid | Draws the grid under the model. It is on by default. |
Under Interface, Keymap switches to one of the four keymaps at once, and Show tooltips turns the tooltips off and on. Restore Defaults puts every Viewport setting and the tooltips back the way Studio starts, and keeps your keymap.
What each workspace is for
| Workspace | What you make there | Where it ends up |
|---|---|---|
| Animation | Player clips: keys for the camera, both arms and both grips, with sounds and timeline events | assets/ in your pack |
| Model | Model parts: the definition, geometry, UVs, textures, item clips, particles and physics | assets/ in your pack |
| Bindings | Rules that pick which clip plays for which item and action, and tests of those rules | assets/ in your pack |
| Library | A browser for your projects and every clip in your packs, and Build from Pack | Mostly nothing: it opens things into the other workspaces. Build from Pack writes a new pack in your resourcepacks folder. |
Your first clip, start to finish
You will make a short sword swing, bind it to attacks with swords, try it in your hand and export it. The keys below are the Punchy Studio keymap: if the keymap window opens the first time you press F6, press Keep Punchy Studio Keys.
Start a clip
- Join a world, hold a sword, switch to first person and press F6.
- Choose File > New Animation (Ctrl+N).
- Type a Name such as
my_sword_swingand set the Length to0.6. - Leave Loop off and untick Set up bindings next. You will bind the clip in a later step.
- Press Create.
The rig viewport on the left shows Punchy!‘s first person rig with your skin and sword. The camera viewport on the right is the real game camera, with Punchy! drawing your unsaved clip.

Key the swing
- In the Outliner, select Right Arm.
- Press E for the rotate tool. With the playhead at the start, press I to insert a key.
- Press Right ten times to move ten frames on.
- Click the Rotation X field of the Transform panel, type
-60and press Enter. The arm turns, and Studio keys the new value at the playhead, as it does when you drag the gizmo’s ring. - Press Shift+Right to jump to the end, type
0in Rotation X and press Enter to bring the arm back. - Press Space to play.

The Speed row of the Animation panel says how fast Punchy! plays the clip. New clips play at a Fixed 1x. The In game line under Playback says how long the clip really lasts when Punchy! plays it.
Bind it to sword attacks
- Press Ctrl+B, or click the Bindings tab, to open the Bindings workspace.
- Press Ctrl+N (New Rule for This Clip).
- Keep Target on Held Item to bind the sword in your hand. Or pick Punchy Group and type
SWORDin Group, Item or Tag to bind every sword. - Set Type to Attack and press Add Rule.
- The rule opens in the properties column: its Trigger, the Clips it plays, its Item Filter, Conditions and more. Press Ctrl+Enter (Apply) to keep the draft and go back to the Animation workspace.

The right column of the Bindings workspace (Effective) shows, for the test item and each trigger, which rule Punchy! would really use and why.
Try it in your hand
- In the right column of the Animation workspace, switch from Properties to Test.
- In This Clip, set Plays As to Attack. This is the trigger whose speed and blends the clip gets.
- Keep Hand on Main Hand and press Play in Game.
Punchy! plays your unsaved clip at its real rate in the camera viewport, and the status bar says how it plays.

Save and export
- Press Ctrl+S to save. This writes an editable copy to
punchy-studio/my_sword_swing.ps.jsonand never changes a resource pack. - Press Ctrl+E to open Export to Resource Pack.
- Type a new folder name such as
My sword animationsin the field at the bottom, or pick an editor pack you made before from the list. - Keep Activate the pack and play it now ticked and press Export. The window lists the files it writes, with its Checks and Rules Check, before you press the button.
- Wait for the game to reload. Studio turns the pack on, closes the editor and plays your clip once in your hand, and the chat says
Testing my_sword_swing. - To see it again, swing the sword. Your clip is the first swing of the combo, and the second and third swings keep the clips they had. After about 1.5 seconds without a swing, the combo starts again with yours.

Export again whenever you change something. Studio remembers the pack.
What the export wrote
Your pack is in resourcepacks/My sword animations:
My sword animations/
pack.mcmeta
assets/minecraft/punchy/animations/punchy_studio_<id>.animation.json
assets/minecraft/punchy/compat/punchy_studio.json
.editor-projects/
Studio makes sure the pack has a pack.mcmeta that covers your game version, so it shows in the Resource Packs list. The clip is in the animations folder, its rules are in the compat file, and .editor-projects holds the copies Studio uses to reopen and merge exports. A .editor-backups folder appears next to them once a later export replaces a file, and keeps the old copy.
With Held Item, Studio writes the rule for the id of the sword you hold. The group rule below is a hand-written alternative that covers every sword: for the group SWORD, an attack plays your clip.
{
"item": {
"SWORD": {
"customAnimation": [
{ "type": "attack", "name": "my_sword_swing" }
]
}
}
}
Group names such as SWORD must be upper case, because Punchy! matches them exactly. The compat rules page explains every part of the file, and types and triggers lists the actions a rule can play a clip for.
The Animation workspace
The Animation workspace is laid out like Blender’s: two previews side by side over the timeline, with the Outliner and Properties on the right.
- Rig viewport (left). Punchy!‘s first person rig, posed the way Punchy! poses it, with your skin and held item. Pick a bone and use the move, rotate and scale tools (W, E, R) with Blender style gizmos. The game camera is drawn as a frustum. Arms the clip would not draw or move for the chosen hand are shown translucent.
- Camera viewport (right). The real game camera, with Punchy! rendering your unsaved clip. Special item renderers look exactly as they will in game here.
- Outliner and Properties. The bones of the rig (the camera, both arms and both grips), and the Animation, Transform, Active Keyframe, Bindings and Source panels. Click a panel header to fold it.
- Dope Sheet and Graph Editor. Every key, plus three lanes above the bones: Speed, Events and Sounds. Ctrl+Tab switches to the Graph Editor to shape the curves of the active channel.
| Key | Type | Default | What it does |
|---|---|---|---|
Name | text | Identifies the clip in exported packs. | |
Length | seconds | How long the clip is. Drag the end marker on the ruler to change it. | |
Frame Rate | 20, 24, 30 or 60 fps | Sets the snapping grid. An imported clip keeps its own rate. | |
Loop | Once, Loop or Hold | Once plays the clip and blends back to the idle pose. Loop repeats until another animation or the trigger stops it. Hold stays on the last frame while the trigger lasts. | |
Speed | Fixed or Game setting | Fixed writes the speed into the clip, so it plays the same for everyone. Game setting follows each player's Animation Speed option. | |
Fixed Speed | 0.5x to 5.5x | 1x | The speed a Fixed clip plays at. |
Convention | V2 or Legacy | V2 | How Punchy! reads the clip's numbers. See below. |
Preview Action | Inspect, Triggerable, Attack, Use, Equip or Idle | The trigger the previews imitate, started by the Main Hand or the Off Hand. It decides which arm moves, the speed multiplier, the blends and whether a hold is kept. | |
Playback | Authored or Game | Authored plays one clip second per second from the playhead. Game plays from idle the way the preview action plays it in game, with its speed, blends, holds and loops. |
Speed
Punchy! plays most clips at its Animation Speed setting, which is 5.5 times faster than authored by default, unless the clip sets its own speed. That is why a new Studio clip starts at a Fixed 1x: it plays at the speed you authored it.
To change the speed partway through a clip, double-click the Speed lane and pick a value. The lane’s bars show the real rate for the current preview action. Equip clips (hand_in and hand_out) and the use_eat and use_drink clips run at 1x in Punchy! unless the clip sets its own speed. The In game line, under Playback and in the timeline header, tells you when the clip finishes, when it starts holding, or how long one loop takes. Check the real timing with Play in Game.
Conventions
Punchy! reads clips in two layouts. V2 clips (with use_keyframes_v2) add their rotations to the rig’s rest pose, can split a rotation key into separate pre and post values, and can use the spherical interpolation modes. New clips use V2. Legacy is the older layout. A clip made with the Punchy Blender add-on is a Legacy clip: leave use_keyframes_v2 out of it, because with it a turn about Y or Z plays 9 to 11 degrees off. The Blender tab of how to create custom animations has the steps.
The Convention row (also in the Clip menu) opens a dialog with two choices. Convert Keys rewrites every key so it keeps its pose, and can resample every channel at the frame rate so the motion between keys stays the same too. Switch Only keeps the stored numbers and only changes how Punchy! reads them. Imported clips keep their convention. The dialog’s note that camera keys of a V2 clip move only the arms is out of date for Punchy! 3.0, which shakes the view for them too, as Camera shake says.
Keys and curves
The rotation, position and scale keys of one bone at one time share one interpolation mode, as they do in Punchy!. Press T to choose Linear, Smooth (Catmull-Rom) or, for V2 rotations, Spherical Linear or Spherical Squad. A V2 rotation key can have a Separate Pre Value. Any axis can hold a Molang Expression instead of a number, and Studio warns you when Punchy! would reject it or evaluate part of it to 0. Keys after the clip’s end are kept and shown dimmed, because Punchy! still uses them to shape the last segment.
Select and edit several keys
The Dope Sheet selects keys much as Blender’s does. The Graph Editor has no key selection.
- Select. Click a key to select it, which also moves the playhead there. Shift click or Ctrl click adds a key to the selection, or takes it out. A key on a bone row or on the summary row stands for every key under it at that time.
- Box select. Drag across empty track space to draw a box around keys. Shift adds the keys in the box to the selection and Ctrl takes them out. A click on empty track space clears the selection and moves the playhead there.
- Move. Drag a selected key to move every selected key by the same time. No key goes before the start, and none lands on a key that is not part of the move: the keys wait at the last free place instead. Alt+Left and Alt+Right move the selected keys one frame, or ten with Shift. When they cannot go, the status bar says so.
- Delete, copy and paste. Delete, X or Alt+I deletes the selected keys. Ctrl+C copies them with the time between them, and Ctrl+V pastes them at the playhead, each into the bone and channel it came from, replacing keys at those times. Ctrl+A selects every key in the rows the Dope Sheet shows and Ctrl+Shift+A clears the selection. Moving, deleting and pasting several keys is one undo step.
With no key selected, Delete, X, Alt+I, Ctrl+C and Ctrl+V work on the key at the playhead. Over a field of the Transform panel, Delete, X and Alt+I delete that field’s key at the playhead instead. The item clip timeline of the Model workspace selects and moves keys the same way, and Delete or X over it removes the selected keys; select all, nudging, copy and paste are Animation workspace keys.
Events and sounds
The Events lane holds Punchy!‘s timeline tokens: both hands and off-hand windows, item switches, item mesh timing, arm tuning, rotation order and more. Double-click the lane, or use Key > Insert Event…, to open the token picker. It lists the tokens Punchy! reads in groups, with an argument field where one is needed (an item id for an item switch, for example), and also takes a custom token. Windows such as an off-hand window are drawn as bars, and tokens Punchy! ignores are flagged.
Sounds are placed like keys. Double-click the Sounds lane, or use Key > Insert Sound…, to pick from every animation sound in your active packs and your own sound folder. Click a marker to hear it. To bring in your own sound, drop an .ogg file onto the game window: Studio copies it to punchy-studio/sounds/ and places it at the playhead. When you export, the sound files and their sounds.json events go into the pack with the clip. Only sounds in your sound folder, punchy-studio/sounds/, are written into the pack. A sound that belongs to another pack stays with that pack, so bring it in first (drop its .ogg onto the window) if the export must carry it.
Camera shake
Keys on the camera bone move both arms and shake the player’s view in game, in either convention, so a small rotation key on camera gives a camera shake. In a Legacy clip, and with Punchy! 3.0 installed in a V2 clip too, the rig viewport shows the moved camera as a second, amber frustum.
Checking a clip
- Clip > Check for Problems lists what Punchy! would reject or do unexpectedly: invalid expressions, missing sounds, unknown item ids, tokens Punchy! ignores and more. The same checks run before every export, and errors block it.
- Clip > Compare with Punchy samples your clip with Punchy!‘s own code for every bone and frame and reports any difference from the editor’s previews.
The Model workspace
Model parts are Punchy!‘s custom first person item models: a definition that names the items, a geometry with bones and cubes, textures, item clips, particles and physics. The Model workspace edits them down to single faces, paints their textures and previews them two ways. The left stage draws the model the way Punchy!‘s renderer does. The right view shows Punchy! itself drawing your unsaved model when the live link is on.
A model part is its own project, saved to punchy-studio/<name>.psm.json with its own undo history. File > New Model Part starts one with a single bone and a textured cube for the held item you choose. File > Open Model Part… (Ctrl+O) opens the Model Parts Library, which reads your loaded packs, so it takes a moment to appear. It lists every definition in them in Punchy!‘s order. It says what Punchy! does with each one per item (rendered, shadowed by another definition, blocked by a named one, or never matching) and flags problems. Importing copies the definition and every file it uses into a new project, and the source pack is never changed.
Video coming soon
Modes and views
The stage header switches between five modes with the keys 1 to 5:
- Layout: bones, cubes and the item clip.
- UV: the faces of the selected cube on its texture. The right view becomes the UV editor.
- Particles: emitters and their triggers.
- Physics: pendulums and feedback, tested with a virtual player.
- Paint: the model’s textures and particle images, painted on the stage or in the image editor that takes the right view’s place.
The header also picks the arm (Right or Left), the State model (Default, Using or Fishing Rod Cast) and the view. Isolated shows the item on its own. In Hand shows it in Punchy!‘s first person hand with your skin and the held item’s tuning, at the rig’s rest pose, or posed by your Animation workspace clip with View > Arm Pose from Animation Workspace.
Building the model
- Outliner. The definition, the geometry tree (bones, their cubes and the selected cube’s faces), particle emitters, bones with physics, item clips and animation entries. Drag a bone onto another to reparent it.
- Properties. Tabs for Definition (items, custom name, files, state models, lint), Bone, Cube, Face, Material (textures, texture animation, glow settings), Display (each arm’s transform), Animation (item clips and the entries that play them), Particles, Physics and Environment. Every field’s tooltip names the JSON key and the aliases Punchy! accepts.
- Stage tools. Select (Q), Move (W), Rotate (E) and Size (R), with Ctrl to snap and Shift for precision. Click a face to select its cube. Double-click or Alt+click selects the face itself (with the Maya keymap, only double-click does). The Add menu adds bones, cubes, emitters, clips and entries.
UVs, textures and painting
The UV editor shows the bone’s texture with every face of the selected cube. Drag a face to move it, drag its corner to resize it, and use Rotate 90, Flip U and Flip V. Values snap to whole texture pixels, and faces that leave the texture are marked as clamped.
Drop a PNG onto the game window to use it as a texture: it becomes the selected bone’s texture, or the main texture when no bone is selected. Drop a Bedrock geometry file to replace the model’s geometry.
Paint mode works like Blender’s Texture Paint. Paint straight on the model, where an outline shows the pixels the brush will cover, or in the image editor, which shows the selected bone’s texture over a checkerboard with a pixel grid when you zoom in. Scroll to zoom, drag with the middle or right button to pan, and press Home to fit the image.
| Tool | Key | What it does |
|---|---|---|
| Pencil | B | Paints with the brush. Shift click draws a line from the last point painted. |
| Eraser | E | Makes pixels fully transparent. |
| Color Picker | I | Takes a pixel’s color with its alpha. Alt click picks with any tool, and S takes the color under the pointer. |
| Fill | G | Fills the connected pixels of the clicked color, or with Shift every pixel of that color. |
| Line | L | Draws a straight line as you drag. |
[ and ] change the brush size, and Esc cancels a stroke. The Paint tab sets the brush Size (1 to 64 pixels), its Shape (Round or Square) and its Blend: Mix lays the color over each pixel with its alpha, and Replace writes the color and alpha exactly as they are, which suits glass and other partly transparent pixels. Recent Colors keeps the last 16 colors you painted with. Image > New Image… makes a blank image, and Image > Canvas Size… changes an image’s size without scaling its pixels.
Every stroke is one undo step. A painted image is saved in the project as a PNG with exactly the colors and alpha you painted, and an image you never paint keeps its file byte for byte.
Glow, texture animation and transparency
- Glow. Each bone has a Glow Level from 0 to 100. Levels up to 15 set the brightness of the glowing overlay, and levels above 15 add more glow only while Blur Glow is on. Glow Strength, Blur Glow and Clamp Glow in the Material tab apply to the whole model.
- Texture animation. Frames, frame time and frame height, for the whole model or one bone. Studio warns you when the texture’s height does not fit the frames, because Punchy! then keeps the texture still.
- Camera Transparent. A bone flag that hides the faces turned away from the camera, as Punchy! does for those bones. It helps with glass, or a flame you look at from inside.
Item clips, particles and physics
- Item clips use the same Dope Sheet and Graph Editor as player clips, with a key column for the selected clip where each value takes a number or a Molang expression. Punchy! plays every item clip key linearly, so Catmull-Rom keys carry a ring that says so. Lanes above the bones hold the clip’s Speed, its Tokens, its Sounds and the Particles that fire on this clip. Item clips play at 1x unless they set their own speed.
- Particles. The Particles tab edits an emitter’s keys, with defaults shown greyed out. Emitters can react to walking, sprinting, swimming, falling, jumping, landing, attacking, using, mining, biomes, the mined block and an item clip moment. The Trigger Test panel at the bottom fires them and tells you which emitters would emit now.
- Physics. The Physics tab sets up pendulums (Full or Forward, with limits, force, speed, gravity and sensitivity), creature feedback and slime squash for any bone. Pick a preset (Item Pendulum Default, Charm Chain, Charm Limb, Charm Body, Forward, Rope Link or Fishing Line), or select the first bone of a chain and use Build Rope Chain, Build Fishing Line or Build Charm Chain. The Physics Test Rig drives a virtual player that turns, walks, sprints, jumps and drops, while graphs show each pendulum’s swing.
- Environment. Sets the biome, weather, time of day, water, virtual blocks, freezing and burning that Punchy! sees, without changing your world, and lists which animation entries and emitters would play where you stand now. These overrides end when you leave the workspace.
Read model parts for what each of these files does inside Punchy!.
Live link and lint
View > Live Link with Punchy (Ctrl+L) makes Punchy! draw your unsaved model in the right view, held at the playhead, through Punchy!‘s own loader. Hold one of the model’s items to see it. Everything is put back when you turn the link off or leave the workspace. File > Export Model Part… (Ctrl+E) writes the model into the pack you choose. You can pick the namespace and file name, and put the definition first in Punchy!‘s order so it wins over other packs. An imported model keeps every file at its original path.
The Model workspace also checks everything Punchy! ignores or treats unexpectedly: a definition Punchy! would drop, a folder Punchy! never reads, unknown items, named definitions blocking unnamed ones, missing or broken files, texture animations that stay still, Catmull-Rom keys, Molang that evaluates to 0, particle tokens that never fire and ignored particle keys. Findings appear in the Definition tab’s Lint panel, in the status bar and in the export dialog.
The Bindings workspace
Rules decide which clip Punchy! plays for which item and action. The Bindings workspace edits them the way Punchy! reads them, in three columns.
- Rules outliner. Every rule in every loaded pack, as Pack > File > Section > Target > Rule. Your destination pack comes first and is editable. Other packs follow in Punchy!‘s priority order, read only. Badges show each rule’s item filter, conditions, variations and key, and any problems. Search, filter by type, and right-click for actions such as duplicate, move, convert to an item rule or copy into your pack.
- Properties. Panels for the selected rule: Trigger (type and key), Clips (one picker per clip slot), Item Filter, Conditions (water, weather, time of day, block and biome detection), Variations, Playback flags, Item Side Flags, Movement Mix, Better Combat and Raw JSON. Targets also get Transforms, item Physics, Bone Physics, Runtime Flags and Particles. Every structured field keeps a JSON row below it, for anything the fields do not cover.
- Effective and Test. For the test item and every trigger type, the rule Punchy! would actually use, from which file and pack, which Mix the Packs option won, and the rules that lost and why. Check Against Punchy compares that with Punchy!‘s own result.
Your edits form a draft with its own undo history. Apply (Ctrl+Enter) commits the clip’s rules to the project, and Cancel throws the draft away. A compat file you did not edit is written back byte for byte, and an edited file keeps its unknown keys, aliases, number spellings and key order. X or Delete removes the selected rule at once. A whole target entry or a default_animations list asks first.
The workspace runs a lint over exactly the files an export would write. It catches files Punchy! would ignore entirely (a single wrong value type drops a whole file), two rules that collapse into one, scale-less transforms that draw at size 0, clips that do not exist, clips without a speed token, and triggerable keys that clash. Problems show as outliner badges, in an Issues panel and in the footer.
Testing in the live game
Two parts of Studio run Punchy! itself, so you see what players will see.
- The camera viewport in the Animation workspace is the real game camera, with Punchy! rendering your unsaved clip.
- The Test panel (the Test tab of the Animation workspace, and a tab in the Bindings workspace) fires Punchy!‘s triggers and shows how Punchy! picked the clip.
The Test panel has these parts:
- Mode. Inspect predicts the clip with the editor’s model of Punchy! and plays it on Punchy!‘s arms at its real speed. Live puts your unsaved clip and draft rules into Punchy! in memory and goes through Punchy!‘s own code, then compares what Punchy! played with the prediction.
- Context. The test item (the held item by default), an optional custom name, and the hand. It warns you when a stored Mix the Packs choice or a blacklisted hand changes the result.
- Conditions. Override what Punchy! sees, and only Punchy!: biome, weather, time of day, touching water and eyes in water, virtual blocks around you, and player states such as crouching, sprinting, swimming, riding, burning, health and food. Your world stays untouched.
- Reactions. Punchy!‘s built-in reactions: freezing level, putting out fire, waking up, mud on the arm, wetness and drying out, falling into water, walking on water, swimming, climbing and crawling.
- Triggers. Equip and put away, attack and critical hit, mining, use, use on a block or entity, drop, eat and drink, bow, crossbow, trident (with Loyalty and Riptide throws), spear stages, shield, fishing, inspect, falling, jumping, landing, idle, walking on water, and every triggerable key by its binding id.
- Trace. How Punchy! picked the clip: the candidate rules and their files, each condition and its value, the chosen variation, the clip and pack copy, and the effective speed.
In the Bindings workspace, the panel’s camera view outlines the selected rule’s block and biome detection areas around you. When you leave the workspace, the overrides end, the clip the panel played stops, and Punchy! reloads its own rules and clips after Live mode.
Live sequences
Punchy! notices most actions by watching the player every tick: whether an item is in use and for how long, whether the player is on the ground, how fast they fall. In Live mode the bow, crossbow, trident, spear, shield, eating and drinking, fishing, falling, jumping, landing, idle and walk on water triggers therefore play as timed sequences. Punchy! sees the player draw the bow, hold a loaded crossbow or fall from a height, so Punchy!‘s own state machines decide what to play exactly as they do in game. Your world does not change, apart from the fishing option below: the item is not used, nothing is shot or eaten, and you do not move.
- Live Sequence sets the timing. Use Time is how long the item is used. Hold Time is how long a loaded crossbow is held before the shot, and how long a Loyalty trident stays away. Fall Height is how high a fall starts. Ending finishes the action or cancels it, and With Arrows decides whether a released bow shoots.
- Live uses the item in your chosen hand, so hold a bow to test the bow.
- Swimming, climbing and crawling have no live sequence yet, and walk and sprint clips and riding need real movement or a real mount, so test those in the world.
- Stop Clip stops a sequence at once and puts Punchy!‘s state machines back as they were.
- When a sequence ends, the trace lists what the editor predicted, what Punchy! played on each of its layers and when, and whether each predicted clip played.
- Jump and landing clips belong to Punchy!‘s pack movement, which is off by default. Turn on Resource Pack Movement on the Movement tab of Punchy!‘s menu (F8) to test them. While it is off, the trace says so and expects no jump or landing clip.
- A fishing cast works while no hook is out (with a hook out, Punchy! plays the reel clip). A reel works while a real hook is out, or with Use the World for Fishing, which casts and reels in for real: the game spawns a hook, and reeling in can wear the rod or pull in what it caught.
Video coming soon
The Library
The Library is laid out like Blender’s file browser. On the left are your local projects and every resource pack that contributes animations, including Punchy!‘s built-in clips. The list shows each clip’s length, how many bindings use it and its file. The details say whether Punchy! plays this copy or another pack’s copy, and when Punchy! would skip a clip entirely, why.
Open a clip to edit it, duplicate it as a new animation, or manage an animation you exported earlier: rename it, unbind it (the keyframes stay in the pack) or delete it, with Manage in Pack. Only animations Studio exported can be managed this way. Press F5 to refresh the list after you add a pack.
Video coming soon
Build from Pack
Build from Pack turns any pack made for Punchy! into a pack Studio owns, so you can keep working on it, merge it with your own, or learn how it is made. The pack you start from is only read. Everything goes into a new pack.
- Put the pack in your
resourcepacksfolder. It does not need to be turned on. - Press F6, pick First Person, and open the Library tab (Ctrl+O).
- Press Build from Pack. You can also find it in the Library’s File menu. The menu lists the Packs with Punchy files in your game folder, each marked Active or Not active. Pick one.
- In the Build from Pack window, keep or change the New pack name. It proposes the name of the pack followed by
Studio. - Press Build.
- Read the status bar. It says what was built (clips, compat files, model parts and item models) and that the new pack is being turned on. Anything left out is named there too.

Every clip Punchy! plays from that pack becomes an animation of the new pack, with the rules that play it and the sounds it plays. Its compat files, model parts and item models come along. When the new pack is on, the Library lists its clips as yours: open one, edit it and export it again to the same pack.
What comes along, and what does not
- A model part brings its definition, geometry, textures with their
.png.mcmetafiles, item clips, and what its particles draw with. It also brings the item model files Minecraft draws its items with where the model part does not show (the inventory, the other hand, third person). - A clip or model part copies the sounds it plays into
punchy-studio/sounds/, so the export carries them even when the source pack is no longer active. - A copied compat file brings the particle files its emitters use.
- Block models and textures that only placed blocks use, the textures that shields, banners, heads and similar special models pick themselves, shaders, language files and content for other mods do not come along, because Punchy! does not read them.
- Punchy! animates the creature inside a creature bucket only when a resource pack provides that bucket’s item definition. That comes along with a model part that covers the bucket, or through the Item Models list of the Model Parts Library.
The same thing by hand
Build from Pack takes these steps for you. To take them yourself, turn the pack on and use one destination pack name for every step:
- Model parts. In the Model workspace, open the Model Parts Library (Ctrl+O; it takes a moment to read your packs), import each definition the pack provides, and export it (Ctrl+E) with the import’s options, which keep every file at its original path.
- First clip. In the Library, open one clip of the pack and export it to the destination. This also tells the Bindings workspace which pack the rules are for. For a pack without clips, start a new animation and export it with Rules only instead.
- Item models. In the Model Parts Library, switch to Item Models. It lists every item the pack gives an item definition, or whose model or texture it replaces. Import the items no model part covers: search for the pack’s name and use Import All Listed, or pick them one by one.
- Rules. Open the Bindings workspace, use Copy File from a Pack for each compat file of the pack, and press Apply.
- Every clip. Export the open clip again, then open each other clip of the pack from the Library and export it to the same destination. The order does not matter. A pack without clips exports with Rules only once more.
Copy the compat files before you export more than one clip. Until the destination manages them, each clip’s rules go into Studio’s own file, and rules that two clips share can show up as conflicts.
Export
Ctrl+E opens Export to Resource Pack. It lists your editor packs. Type a new folder name to create one: a project that was never exported proposes My Punchy Animations (in your game’s language).
The window shows, before you press Export:
- the main files the export writes;
- the Checks of the clip (errors block the export);
- a Rules Check of the rules the export writes. Errors ask before you press Export Anyway;
- any rules another animation in the pack already claims. Nothing is replaced until you choose Replace Rules and Export.
Two options sit at the top:
| Option | What it does |
|---|---|
| Activate the pack and play it now | Reloads resources and plays the animation as its preview action once the reload has settled. |
| Rules only (leave this clip out) | Writes the pack’s compat files and the rules of the animations already in it without exporting the open clip. Use it for a pack whose rules belong to no clip of its own. |
When rules must go into a compat file whose text can no longer take them, the export stops before writing anything and says which file to fix.
| Path in the pack | Contents |
|---|---|
assets/ | The animation, in the Bedrock format Punchy! reads |
assets/ | The rules of every animation exported to this pack |
Other files under assets/.../ | Compat files you copied or edited in the Bindings workspace, each at its own path |
assets/ and assets/ | Sounds you brought into Studio, with their events |
assets/ | Model parts: definitions, geometry, textures and item clips |
Item model files at their own paths, such as assets/ and models/ | Item models a model part carried for its items, or the Item Models list brought into the pack’s rules |
Particle files at their own paths, such as assets/ | Particle textures, their frames and particle definitions that a model part or a compat file draws with |
. | Editable copies Studio uses to reopen and merge exports |
. | Files Studio replaced or retired, so nothing is lost. It appears once an export replaces a file. |
- Exporting another animation merges its rules with the animations already in the pack. Animations that fill the same rule share it, each in its own clip slot.
- An imported clip is exported change by change. Anything you did not edit, including Molang, separate pre and post values, clip-wide effects, unusual number spellings and keys after the end, comes back out exactly as it was. An imported clip exported without edits is identical to its source.
- Tags and custom groups keep the item list captured when the rule was created. Update the rule if you want to include new items later.
How Studio saves
Saving and exporting are separate. Save keeps your project and never touches a resource pack. Export writes into the pack you name, and only there. Two Library actions also write packs: Build from Pack makes a new one, and Manage in Pack edits a pack Studio exported.
| Path in the game folder | What it holds |
|---|---|
punchy-studio/ | A first person animation project. Ctrl+S writes it. |
punchy-studio/ | A model part project |
punchy-studio/ | Rule edits for a pack, kept until an export writes them |
punchy-studio/ | Sounds you brought in, and sounds an import copied |
resourcepacks/ | What you export, with ., and . once an export replaces a file |
config/ | Interface preferences: the interface scale, your keymap and the settings of Edit > Preferences… |
Every project has its own undo history: Ctrl+Z undoes, and in the Punchy Studio keymap Ctrl+Shift+Z or Ctrl+Y redoes. Source packs stay untouched, and so does anything in the destination pack that Studio does not manage. A file an export replaces is moved to .editor-backups first.
When to use Studio or Blockbench
Punchy! reads clips as Bedrock animation files, so a clip exported in that format from Blockbench works the same as one made in Studio. Studio is the one that also plays clips in the real game while you work, binds them to items and writes the rules. See how to create custom animations for both paths.
| You want to | Use |
|---|---|
| Pose the arms and camera and see the result in your own hand straight away | Studio |
| Choose which items and actions play a clip, and see which rule wins | Studio (Bindings) |
| Test a bow draw, a fall, rain or a biome without setting it up in your world | Studio (Test panel) |
| Keep working on a pack you already have, or merge two packs | Studio (Build from Pack) |
| Make a simple model part: a few cubes, UVs and a pixel texture | Studio (Model) |
| Model a detailed 3D item with many cubes and a careful texture | Blockbench, then drop the Bedrock geometry file onto Studio’s window to use it |
| Animate in a tool you already know that exports the Bedrock animation format | Blockbench, then put the clip in a pack and open it from Studio’s Library to bind, test and export |
Model parts cannot be imported from .bbmodel files or Java block models yet. Export the geometry from your modeling tool and drop it onto the game window, as described in the Model workspace section above.
Keys
These are the defaults, the Punchy Studio keymap. F1 shows the Animation workspace’s sheet for the keymap you use.
| Key | Action |
|---|---|
| F6 | Open or close the editor |
| Esc | Close a menu or dialog, cancel a transform or stop playback, then return to the Animation workspace (or close the editor from there) |
| Ctrl+S / Ctrl+E | Save the project / export to a resource pack |
| Ctrl+N / Ctrl+O | New animation / open the Library |
| Ctrl+B | Open the Bindings workspace |
| Ctrl+Z | Undo |
| Ctrl+Shift+Z or Ctrl+Y | Redo |
| Space | Play or pause. While a held clip plays, release the hold. |
| Left / Right | Previous or next frame |
| Shift+Left / Shift+Right | Jump to the start or end |
| End | Jump to the end |
| Up / Down | Previous or next key |
| I | Insert a key on the channel of the field under the pointer, otherwise on the active channel |
| Alt+I, X or Delete | Delete the selected marker when the pointer is over the timeline. Over a field, delete that field’s key at the playhead. Otherwise delete the selected keys, or with none selected the key at the playhead on the active channel. |
| T | Choose the key’s interpolation |
| Ctrl+C / Ctrl+V | Copy or paste the selected keys with their timing, or the key at the playhead when none is selected |
| Ctrl+D | Duplicate the key at the next frame |
| Ctrl+A / Ctrl+Shift+A | Select every key in the Dope Sheet / clear the selection |
| Alt+Left / Alt+Right | Move the selected keys one frame earlier or later, ten with Shift |
| W / E / R | Move, rotate or scale tool |
| F | Frame the selected bone |
| Home | Reset the rig view with the pointer over it, otherwise show the whole clip on the timeline |
| Ctrl+Tab | Switch between the Dope Sheet and the Graph Editor |
| Ctrl+T | Show seconds or frames |
| Ctrl+Enter | Apply the Bindings draft and return |
| Ctrl+L | Turn the Model workspace’s live link on or off |
On the timeline, click or drag the ruler to move the playhead (hold Shift to ignore snapping), click a key to select it, drag a selected key to move it in time (every selected key moves with it), drag across empty track space to box-select keys, double-click a channel row to insert a key where you click, and right-click a marker to edit or delete it. Select and edit several keys has the rest. Scroll to zoom around the pointer, and hold Ctrl while scrolling to move along the timeline. Moving a key keeps the other keys it passes, and dropping it on an existing key does not overwrite that key. With the Punchy Studio keymap, the middle or right mouse button orbits a stage and Shift with it pans; the other keymaps navigate as Pick a keymap says, and Preferences sets which way and how fast a stage orbits and zooms.
Things to know
- Check against your game. Studio 1.1.1’s previews follow Punchy! 2.8g, so Punchy! 3.0 can differ in small ways. With Punchy! 3.0 installed, Studio follows its camera: the rig viewport shows the moved camera of a V2 clip too, on every Minecraft version, and shows none while 3.0’s Enable Camera Animations setting is off. The camera viewport and Play in Game always use the real game, and Clip > Compare with Punchy and the Check Against Punchy button in the Bindings workspace show where the editor and your game differ.
- The rig viewport is a guide, the camera viewport is the truth. The rig viewport has no arm tuning fades, pendulum physics, walk sway, swim or riding overlays or equip transitions, and special item renderers may look simpler there. The camera viewport always shows the real game.
- Game playback starts from idle. It does not blend in from a clip that is already playing.
- Rules typed for one pack name are left out when you export to another. The Export window warns you.
- The narrator. Minecraft’s narrator also listens for Ctrl+B. If it starts talking, open the Bindings workspace with its tab instead and switch the narrator off in the game’s Accessibility settings.
- Clips go in the pack’s own Mix the Packs option. Studio exports every clip under
assets/minecraft/punchy/animations. Clips a pack ships underassets/punchy/animationsbelong to Punchy!‘s built-in option. See mix the packs. - One wrong value type drops a whole compat file. Studio’s Rules Check catches it before export. If you edit the JSON by hand, read compat rules first.
Related pages
- How to create custom animations: the Blockbench and Studio paths.
- Animation reference and types and triggers: the clip format and every action a rule can play a clip for.
- Compat rules: the file Studio’s Bindings workspace edits.
- Model parts, item clips and particles: what the Model workspace builds.
- Mix the packs: how Punchy! chooses between packs that hold the same clip.
- The player rig: the bones you key.
- Troubleshooting if a clip does not play.
- Studio also makes Punchy! Moves packs: see the Studio page of the Punchy! Moves wiki.
Last checked against the mod on 30 October 2026.