Get the files on 9Minecraft
An animation is defined by a small text file with a .properties extension placed inside the resource pack under assets/minecraft/optifine/anim/ (the legacy mcpatcher/anim/ folder is also read).
Each file describes one animation:
# assets/minecraft/optifine/anim/my_menu.properties
from=./frames.png # the source strip of frames (this folder)
to=minecraft:textures/gui/title/background/panorama_0.png # texture to animate
x=0 # left of the region to replace, in the target
y=0 # top of the region to replace
w=16 # width of the animated region
h=16 # height of one frame in the source strip
duration=2 # default ticks each frame is shown
interpolate=true # smoothly blend one frame into the next
Key fields:
| Field | Meaning |
|---|---|
from |
Source image holding all frames stacked vertically. ./name.png is relative to the .properties file; ~/ points at the pack's optifine root. |
to |
The target texture (namespace:path) that gets animated. |
x, y |
Top-left corner inside the target texture where the animation is drawn. |
w, h |
Width and height of one frame / the animated region. |
duration |
Default number of ticks each frame stays on screen (20 ticks = 1 second). |
interpolate |
If true, frames cross-fade smoothly instead of hard-cutting. |
Custom frame order and per-frame timing
By default frames play top-to-bottom and loop. You can override both the order and the timing:
tile.0=0
tile.1=1
tile.2=2
tile.3=1 # play frame 1 again -> ping-pong effect
duration.0=4 # first frame lingers longer
duration.2=1 # third frame is quick
tile.<n> sets which source frame is shown at animation step n; duration.<n> overrides that step's length. This lets a pack build ping-pong loops, holds and uneven rhythms from a single strip.








