/pymcutil

An expressive Minecraft utility library revolving around data manipulation and generation. Superseded by pyckaxe: https://github.com/Arcensoth/pyckaxe

Primary LanguagePythonMIT LicenseMIT

pymcutil

build-badge-master quality-badge-master coverage-badge-master package-badge version-badge

An expressive Minecraft utility library revolving around data manipulation and generation.

The goal of this project is to provide a flexible suite of development tools for technical Minecraft players:

  • No special syntax, keywords, or anything of the sort. This is just a Python library. You're free to do whatever you'd normally do in Python, importing only the modules you need to import.
  • A complete, hierarchical set of commands and their subcommands, as well as frequently used selectors and positions to go along with them.
  • A thorough collection of game object and data tags (NBT) representations, for things like blocks, items, and entities.
  • Auto-completion, argument suggestion, and type validation for all representations - especially if you're using a capable IDE like PyCharm. No need to pull up the wiki just to make sure you've got the right NBT tag.
  • Data file manipulation and generation, including deep reference searching and automatic dependency resolution.
    • Map several Minecraft functions and parameters to Python methods that spit out a name and a series of commands dependent on the parameters. All involved functions will be searched for dependencies and generated automatically.
    • This goes for any data file in general: loot tables to loot tables, advancements to advancements, advancements to loot tables, advancements to functions, and so on.

Requirements