An animation generator for Minecraft .mcmeta files
Project description
Minecraft animated texture generator
Mcanitexgen is a generator for ".mcmeta" files that Minecraft uses to animate textures.
The full power of Python
Mcanitexgen allows you to write texture animations in Python instead of json. Using a programming language allows you to create much more complex animations, like this dog that has 3 textures that are synchronised with each other.
Install
pip install mcanitexgen
Usage
python -m mcanitexgen generate <animation_file> [out_dir]
generates .mcmeta files for all animations in an animation filepython -m mcanitexgen gif <animation_file> [out_dir]
creates gifs for all animations in an animation file
Example
We are going to create this animation.
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 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),
)
Now run python -m mcanitexgen steve.animation.py
and Mcanitexgen will create a "steve.png.mcmeta" file:
{
"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}
]
}
}
More complex examples can be found in [examples](https://github.com/OrangeUtan/mcanitexgen/tree/master/examples).
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-0.1.2-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1414dd9d771b05065e9ec2ebd3bb5ebf2a9bf8cf2294906b02a82336e775bc75 |
|
MD5 | 68006de5d2d2ecf695379b1873242d0b |
|
BLAKE2b-256 | 7086a2fb6c593ef1bf4219ee398ba0f2197f26fe94fd5f58265f1c1283cc37f8 |