An animation generator for Minecraft .mcmeta files
Project description
Animated-texture generator for Minecraft
Anitexgen is a generator for ".mcmeta" files that Minecraft uses to animate textures.
It allows you to write texture animations in Python instead of json. Using a proper programming language enables you to create much more complex animations, like this model that uses 3 animated textures to create a moving dog.
Installation
pip install mcanitexgen
Usage
Generate .mcmeta files for all animations in an animation file
$ mcanitexgen generate <animation_file>
-o, --out The output directory of the generated files
-m, --minify Minify generated files
-i, --indent Indentation used when generating files
--dry Dry run. Don't generate any files
Create gifs for all animations in an animation file
$ mcanitexgen gif <animation_file>
-o, --out The output directory of the generated files
Getting started
Create a simple animation
We are going to create this blinking Steve:
First we have to create the different states of the animation.
I created a simple steve.png file:
Top to Bottom: Looking normal, blinking, wink with right eye, wink with left eye.
Now we can create the animation file steve.animation .py that uses these states to create an animation:
from mcanitexgen.animation import animation, TextureAnimation, State, Sequence
@animation("steve.png")
class Steve(TextureAnimation):
NORMAL = State(0) # Look normal
BLINK = State(1)
WINK_RIGHT = State(2) # Wink with right eye
WINK_LEFT = State(3) # Wink with left eye
# Look normal and blink shortly
look_and_blink = Sequence(NORMAL(duration=60), BLINK(duration=2))
# The main Sequence used to create the animation
main = Sequence(
3 * look_and_blink, # Play "look_and_blink" Sequence 3 times
NORMAL(duration=60),
WINK_LEFT(duration=30),
look_and_blink,
NORMAL(duration=60),
WINK_RIGHT(duration=30),
)
Files overview:
resourcepack
⠇
textures
└╴ item
├╴steve.png
└╴steve.animation.py
Passing the animation file to Anitexgen will create a steve.png.mcmeta file:
$ mcanitexgen generate steve.animation.py
steve.png.mcmeta
{
"animation": {
"interpolate": false,
"frametime": 1,
"frames": [
{"index": 0, "time": 60},
{"index": 1, "time": 2},
{"index": 0, "time": 60},
{"index": 1, "time": 2},
{"index": 0, "time": 60},
{"index": 1, "time": 2},
{"index": 0, "time": 60},
{"index": 3, "time": 30},
{"index": 0, "time": 60},
{"index": 1, "time": 2},
{"index": 0, "time": 60},
{"index": 2, "time": 30}
]
}
}
resourcepack
⠇
textures
└╴ item
├╴ steve.png
├╴ steve.animation.py
└╴ steve.png.mcmeta
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for mcanitexgen-1.2.3-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c05c27d0d373a6d5ea239b7d34ebc02e01ea23c8e3f5fe350deaea7d4ac8d27a |
|
MD5 | e77c92dafcb1cf0a46f491e93acc72a1 |
|
BLAKE2b-256 | 8839ba81f1c4e89d00420a3648309e0d0b95907031d8e193fa531569c4806381 |