Animatica — Guide
Getting Started
- Install Animatica, then add a resource pack that contains OptiFine-format animations (or make your own - see Creating an Animation).
- Enable the resource pack in Options -> Resource Packs as usual.
- Turn the animations on. Open Options -> Video Settings and make sure the Animatica toggle is enabled (it is on by default). Toggling it reloads your packs so you can compare the animated and static look instantly.
- That is it - any texture the pack targets now plays its animation in-game.
Animatica is client-side only. It does not need to be on a server, and it is safe to add to or remove from any setup at any time.
Which Textures Can Be Animated
Animatica animates textures that the game loads individually through its texture manager, which includes:
- GUI / menu textures - inventory and container backgrounds, HUD elements, title and menu art.
- Entity textures - mob and creature skins.
- Block-entity textures - chests, signs, beds, banners, bells and similar.
- Armor textures - the layers drawn on the player and mobs.
- Paintings, particles and other stand-alone textures.
Note: ordinary block and item textures are stitched into large texture atlases and are animated by Minecraft's own built-in .mcmeta animation system, not by Animatica. Animatica targets the individually-loaded textures listed above - that is exactly where it adds animation that vanilla cannot.
Creating an Animation (the .properties format)
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.
How Frames Work
- The
fromimage is a single tall image made of frames stacked one above another, eachwwide andhtall. Frame 0 is at the top, frame 1 below it, and so on. - Each tick the mod advances the animation and draws the current frame onto the target texture at (
x,y). - With
interpolate=true, the mod blends between the current and next frame based on how far through the frame's duration it is, producing smooth motion instead of a slideshow. - The animation loops continuously. Using
tile.<n>you can make it revisit frames (for example 0, 1, 2, 1 for a back-and-forth pulse).
Because everything is driven by the source strip and the .properties timing, an animation can be as short as two frames (a simple blink) or a long, smoothly-interpolated sequence.