Skip to main content

An animation generator for Minecraft .mcmeta files

Project description

Code style: black

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mcanitexgen-1.2.3.tar.gz (22.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mcanitexgen-1.2.3-py3-none-any.whl (24.3 kB view details)

Uploaded Python 3

File details

Details for the file mcanitexgen-1.2.3.tar.gz.

File metadata

  • Download URL: mcanitexgen-1.2.3.tar.gz
  • Upload date:
  • Size: 22.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/3.7.3 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.9.2

File hashes

Hashes for mcanitexgen-1.2.3.tar.gz
Algorithm Hash digest
SHA256 c6fa6282569300f6b7ff48792b2d3abd5cd23b32db3df55d7700d3248ed58cbb
MD5 e6038324d7ab1c8434a483f33ebd713f
BLAKE2b-256 adba32ab38dc172dc76d924b3fff72c53864540c5dc46a098f2d25559d7773bf

See more details on using hashes here.

File details

Details for the file mcanitexgen-1.2.3-py3-none-any.whl.

File metadata

  • Download URL: mcanitexgen-1.2.3-py3-none-any.whl
  • Upload date:
  • Size: 24.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/3.7.3 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.9.2

File hashes

Hashes for mcanitexgen-1.2.3-py3-none-any.whl
Algorithm Hash digest
SHA256 c05c27d0d373a6d5ea239b7d34ebc02e01ea23c8e3f5fe350deaea7d4ac8d27a
MD5 e77c92dafcb1cf0a46f491e93acc72a1
BLAKE2b-256 8839ba81f1c4e89d00420a3648309e0d0b95907031d8e193fa531569c4806381

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page