Declaration kinds
Every declaration starts with its kind: LootTable gems { ... } or ItemTag gems = [...]. There are 94 of them.
MMS kinds
These are MMS's own, for functions, text and other things the game has no single file for.
| Kind | Does |
|---|---|
Function | A function: commands, variables and control flow, compiled to .mcfunction files. |
Global | A value for the whole pack, set when the pack first loads. |
JigsawHole | A name for jigsaw blocks, used only by the editor: JigsawHole road_end lists <namespace>:road_end in the Jigsaw view's Name and Target lists, so pieces built in the game join by names spelled the same way. It writes no file. |
Namespace | Sets the namespace for the declarations after it in the file. |
Objective | A scoreboard objective, created by the generated load function. |
OnAdvancement | Code that runs as and at a player each time they meet a trigger: OnAdvancement name = Trigger(...) { ... } writes the advancement, its reward function and the revoke. |
OnFirstJoin | Code that runs once for each player, the first time they are in the world with the pack, as and at that player. |
OnLoad | Code that runs when the pack loads, from #minecraft:load. |
OnRespawn | Code that runs as and at a player right after they respawn. |
OnTick | Code that runs every tick, from #minecraft:tick. |
Storage | A record kept in command storage: Storage game: GameState keeps a Type GameState { wave: int = 0 } at <namespace>:mms game. Functions read and write its fields as game.wave; the pack sets each missing field to its default when it loads. |
Test | A test of the pack's functions, run by mms test and the editor: a setup { } block, then run f() and expect condition lines. Tests run in a fresh world after the pack loads and are never written to the pack. |
Blueprint kinds
These are written in MMS, in the prelude. Each one writes several resources from one declaration, and has a page of its own.
| Kind | Does |
|---|---|
Book | A written book with pages in book markup:
Book guide { title = "Guide", author = "The Garrison", text = ["# Welcome", "Plant the **banner** on gold."] }.
Its name stands for the book in item stacks, loot entries and ${...}
in commands. |
CustomItem | A vanilla item with its own look and name. It writes the model drawn
from its texture, the item model that its item_model component names
and its name in the lang files. Its name then stands for the base item
with those components wherever an item stack goes: recipe results,
loot entries and ${...} in commands. |
JigsawStructure | A structure grown from jigsaw pieces, with how often it appears:
JigsawStructure dungeon { biomes = #minecraft:is_overworld, step = underground_structures, spacing = 32, separation = 12, height = AboveBottom(20), start = start, pools = { start = [Piece("start")] } }.
It writes the structure set, the structure and one template pool per
entry of pools. Its name stands for the structure, as in
/locate structure ${dungeon}. |
Resource kinds
Each of these makes one resource in the folder shown: in the data pack, or for assets/ folders in the resource pack. Tags of
other registries follow the same pattern, such as DamageTypeTag.
| Kind | Folder |
|---|---|
Advancement | data/<namespace>/advancement/ |
Atlas | assets/<namespace>/atlases/ |
BannerPattern | data/<namespace>/banner_pattern/ |
Biome | data/<namespace>/worldgen/biome/ |
BiomeTag | data/<namespace>/tags/worldgen/biome/A tag of worldgen/biome entries. Other tags of the same registry follow Tag the same way. |
BlockState | assets/<namespace>/blockstates/ |
BlockStateProvider | data/<namespace>/worldgen/block_state_provider/ |
BlockTag | data/<namespace>/tags/block/A tag of block entries. Other tags of the same registry follow Tag the same way. |
BlockTransformer | data/<namespace>/block_transformer/ |
Carver | data/<namespace>/worldgen/carver/ |
CatSoundVariant | data/<namespace>/cat_sound_variant/ |
CatVariant | data/<namespace>/cat_variant/ |
ChatType | data/<namespace>/chat_type/ |
ChickenSoundVariant | data/<namespace>/chicken_sound_variant/ |
ChickenVariant | data/<namespace>/chicken_variant/ |
ContextFloatProvider | data/<namespace>/context_float_provider/ |
ContextIntProvider | data/<namespace>/context_int_provider/ |
CowSoundVariant | data/<namespace>/cow_sound_variant/ |
CowVariant | data/<namespace>/cow_variant/ |
DamageType | data/<namespace>/damage_type/ |
DamageTypeTag | data/<namespace>/tags/damage_type/A tag of damage_type entries. Other tags of the same registry follow Tag the same way. |
DecoratedPotPattern | data/<namespace>/decorated_pot_pattern/ |
DensityFunction | data/<namespace>/worldgen/density_function/ |
Dialog | data/<namespace>/dialog/ |
Dimension | data/<namespace>/dimension/ |
DimensionType | data/<namespace>/dimension_type/ |
Enchantment | data/<namespace>/enchantment/ |
EnchantmentProvider | data/<namespace>/enchantment_provider/ |
EntityTypeTag | data/<namespace>/tags/entity_type/A tag of entity_type entries. Other tags of the same registry follow Tag the same way. |
Equipment | assets/<namespace>/equipment/ |
Feature | data/<namespace>/worldgen/feature/ |
FlatLevelGeneratorPreset | data/<namespace>/worldgen/flat_level_generator_preset/ |
FluidTag | data/<namespace>/tags/fluid/A tag of fluid entries. Other tags of the same registry follow Tag the same way. |
Font | assets/<namespace>/font/ |
FrogVariant | data/<namespace>/frog_variant/ |
FunctionTag | data/<namespace>/tags/function/A tag of function entries. Other tags of the same registry follow Tag the same way. |
Instrument | data/<namespace>/instrument/ |
ItemModel | assets/<namespace>/items/ |
ItemModifier | data/<namespace>/item_modifier/ |
ItemTag | data/<namespace>/tags/item/A tag of item entries. Other tags of the same registry follow Tag the same way. |
JukeboxSong | data/<namespace>/jukebox_song/ |
Lang | assets/<namespace>/lang/ |
LootTable | data/<namespace>/loot_table/ |
MaterialCondition | data/<namespace>/worldgen/material_condition/ |
MaterialRule | data/<namespace>/worldgen/material_rule/ |
Model | assets/<namespace>/models/ |
MultiNoiseBiomeSourceParameterList | data/<namespace>/worldgen/multi_noise_biome_source_parameter_list/ |
Noise | data/<namespace>/worldgen/noise/ |
NoiseSettings | data/<namespace>/worldgen/noise_settings/ |
PaintingVariant | data/<namespace>/painting_variant/ |
Particle | assets/<namespace>/particles/ |
PigSoundVariant | data/<namespace>/pig_sound_variant/ |
PigVariant | data/<namespace>/pig_variant/ |
PlacedFeature | data/<namespace>/worldgen/placed_feature/ |
PostEffect | assets/<namespace>/post_effect/ |
Predicate | data/<namespace>/predicate/ |
ProcessorList | data/<namespace>/worldgen/processor_list/ |
Recipe | data/<namespace>/recipe/ |
SlotSource | data/<namespace>/slot_source/ |
Structure | data/<namespace>/worldgen/structure/ |
StructureSet | data/<namespace>/worldgen/structure_set/ |
SulfurCubeArchetype | data/<namespace>/sulfur_cube_archetype/ |
SurfaceCondition | data/<namespace>/worldgen/material_condition/ |
SurfaceRule | data/<namespace>/worldgen/material_rule/ |
TemplatePool | data/<namespace>/worldgen/template_pool/ |
TestEnvironment | data/<namespace>/test_environment/ |
TestInstance | data/<namespace>/test_instance/ |
Timeline | data/<namespace>/timeline/ |
TradeSet | data/<namespace>/trade_set/ |
TrialSpawner | data/<namespace>/trial_spawner/ |
TrimMaterial | data/<namespace>/trim_material/ |
TrimPattern | data/<namespace>/trim_pattern/ |
VillagerTrade | data/<namespace>/villager_trade/ |
WaypointStyle | assets/<namespace>/waypoint_style/ |
WolfSoundVariant | data/<namespace>/wolf_sound_variant/ |
WolfVariant | data/<namespace>/wolf_variant/ |
WorldClock | data/<namespace>/world_clock/ |
WorldPreset | data/<namespace>/worldgen/world_preset/ |
ZombieNautilusVariant | data/<namespace>/zombie_nautilus_variant/ |