Appearance
Animated Walls
Mosaikin can display animated GIFs, videos, and other multi-frame media as animated in-world walls. Each frame of the animation is encoded as a separate set of player head textures, so animated walls generate significantly more skins than still images.
Preparing an Animated Source
The plugin can decode GIF and static WebP images directly from a URL, but video files and animated PNGs/WebPs must be converted first. Use the Mosaikin Converter at mosaikin.eu to export them as a ZIP archive, then load that archive in-game.
Animated walls take significantly longer to generate
Each unique player head texture across all frames must be submitted to MineSkin separately. An animation with many frames, or with lots of variation between frames, will generate a very large number of heads — and generation is gated by MineSkin's per-request rate limits, so more heads means more wall-clock time.
A paid MineSkin subscription is strongly recommended for animated walls — higher tiers raise the concurrency limit, which directly reduces total generation time. On the free tier, even a short animation may take many hours; a complex animation with thousands of unique heads could take a day or more.
Supported Animated Formats
| Format | How to load |
|---|---|
| Animated GIF | Direct URL in-game (/mosaikin <name> image <url>) |
| WebP (animated) | Must use the converter — direct URLs load the first frame only |
| APNG | Must use the converter |
| MP4, WebM, MOV | Must use the converter |
Keeping Animations Manageable
Animated walls can generate a very large number of heads. A few tips to keep things fast and performant:
- Shorter is better. Trim your animation to the essential loop before exporting. Use the converter's trim controls.
- Smaller dimensions help a lot. A 64×64 animation generates far fewer heads than a 128×128 one.
- Lower frame rates reduce head count. The plugin caps playback at 20 FPS regardless of source rate. Use the converter to pre-trim frame rate if your source is higher than needed.
- Solid backgrounds are free. The plugin's region merging optimization automatically handles uniform areas (see How It Works). Animations with large solid backgrounds generate far fewer unique heads than those with full-frame motion.
Loading an Animated Archive
Export your animation from the converter website, then host the ZIP file somewhere accessible and load it:
/mosaikin create my-animation
/mosaikin my-animation image https://example.com/animation.zip
/mosaikin my-animation confirm
/mosaikin my-animation generateconfirm packs the animation locally so you can review the unique-head count; generate then submits those heads to MineSkin. The converter's export includes your density and playback speed settings, which the plugin reads automatically.
Playback Controls
Once the wall is spawned, use these commands to control playback:
| Command | Description |
|---|---|
/mosaikin <name> play | Resume playback |
/mosaikin <name> pause | Pause playback |
/mosaikin <name> speed <factor> | Set playback speed (e.g. 0.5 for half speed, 2 for double) |
/mosaikin <name> frame <n> | Jump to a specific frame (0-based). Pauses playback. |
Animation Performance
In-world performance
Animated walls cycle through frames on every server tick, updating player head entities as they go. An animated wall with many frames and a large grid size requires substantial server-side work per tick and many client-side entities.
Large animated walls can cause significant frame rate drops for players viewing them, particularly on lower-end hardware. Keep animated walls small and avoid high entity counts in busy areas.
You can check how many heads and frames your wall has with:
/mosaikin <name> infoIf needed, you can pause playback for walls in areas with many players to reduce server load:
/mosaikin <name> pauseThe server automatically skips animation updates for walls with no players nearby (configurable via playback.pauseWhenNoNearbyPlayers in config.yml).