Documentation

Start with the quickstart, then open the guide for the task in front of you. Every plugin has its own page further down.

Start here

Install the framework and build a working pack end to end.

Guides

One task each, in roughly the order you meet them.

Reference

Look-up material: APIs, options and generated output.

More guides are being written.

Available Plugins

Each step of the build is a plugin you can enable, disable or replace.

Legend:Fully dependentPartly dependentIndependent

CategoryPluginDescriptionImageDependency
Core
initializeInitializes the framework and sets up project metadataFully dependent
Resource Pack
resource_pack.soundsProcesses sound files and generates sounds.json automaticallyPartly dependent
Resource Pack
resource_pack.item_modelsAutomatically generates item and block modelsPartly dependent
Resource Pack
resource_pack.check_power_of_2Validates that textures use power-of-2 resolutionsIndependent
Recipes
custom_recipesGenerates vanilla, smithed, furnace, and pulverizer recipesFully dependent
Custom Content
custom_paintingsCreates custom painting variantsFully dependent
Documentation
ingame_manualGenerates an interactive in-game manual with documentationFully dependent
Datapack
datapack.loadingSets up the loading system with versioningPartly dependent
Datapack
datapack.custom_blocksImplements placement, destruction, and interaction for custom blocksFully dependent
Datapack
datapack.loot_tablesGenerates loot tables and give-all functionalityFully dependent
Datapack
datapack.sortersGenerates sorting functions for NBT listsIndependent
Compatibility
compatibilities.simpledrawerAdds SimpleDrawer material compatibility for compacted drawersFully dependent
Compatibility
compatibilities.neo_enchantProvides NeoEnchant veinminer compatibility for custom oresFully dependent
Finalization
finalyze.custom_blocks_tickingConfigures the ticking system for custom blocksFully dependent
Finalization
finalyze.basic_datapack_structureCreates the timing structure (tick, second, minute)Partly dependent
Finalization
finalyze.dependenciesManages external library dependenciesFully dependent
Finalization
finalyze.check_unused_texturesIdentifies unused textures in the resource packIndependent
Automation
auto.lang_fileAutomatically generates language filesIndependent
Automation
auto.text_rendersTurns the `render` key of text components into item imagesIndependent
Automation
auto.headersAdds automatic headers to mcfunction filesIndependent
Automation
auto.scoreboard_constantsDetects scoreboard constant usages and generates initialization commandsIndependent
Build
archiveCreates zip archives of datapacks and resource packsIndependent
Build
merge_smithed_weldMerges datapacks and resource packs with librariesIndependent
Build
copy_to_destinationCopies generated packs to destination foldersIndependent
Build
livereloadAuto in-game /reload on each build via link or copy destinationsIndependent
Build
snifferEmits source maps linking generated commands back to the Python that wrote themPartly dependent
Build
compute_sha1Computes SHA1 hashes for all zip filesIndependent