Skip to main content

Instance Multi-File Rules

config/mite contains both primary configuration files and the external rule directories for the current game instance. On first launch, MITE copies 71 default rule JSON files into their corresponding subdirectories. Each file can then be added, changed, or removed independently.

config/mite/
|- mite-common.json
|- mite-client.json
|- arrows/
|- bucket_families/
|- butchering/
|- crops/
|- earth_elementals/
|- entity_drops/
|- fishing/
|- livestock/
|- mob_replacements/
|- portals/
|- repair/
|- rune_gates/
|- saplings/
|- silverfish/
|- skeleton_projectiles/
`- village_conversions/

Default-file lifecycle

  • .defaults-installed records default relative paths provided by the current or earlier versions.
  • New defaults introduced by an update are copied in.
  • Old default files that the user deliberately deleted do not return on every launch.
  • Updating MITE never overwrites an existing customized file.

Back up the complete directory before upgrading. To restore a default, remove its file and recorded marker path before restarting, or extract it from mite/defaults in the mod JAR.

Matching and precedence

Selectors accept item, block, or entity IDs and #tag values as either one value or an array. Higher integer priority matches first; equal priorities are ordered by relative file path.

The loader only scans the 16 rule subdirectories listed below. It never treats mite-common.json or mite-client.json in the root as rule files.

This is not a data-pack directory

These files belong to server-instance configuration and do not go in a world's datapacks folder. Modpacks should distribute them under the corresponding config/mite subdirectories.

Directories and fields

DirectoryRequired fieldsCommon optional fields/enums
entity_dropsentities, mode, itemsmode: wight_rare_pool, arachnid_webs
mob_replacementsentities, replacement, profilegiant_vampire_bat, longdead_guardian, infernal_creeper
arrowsitems, recoverysilver_damage, acid_resistant; recovery profiles from flint through adamantium
skeleton_projectilesentities, projectiledamage_profile: default, longdead, longdead_guardian
cropsblocks, young_output, mature_outputimmature_output, blighted_output, mature_base_count, mature_bonus
saplingsblocksrequires_precipitation, biome_tag, temperature: none/oak/birch
livestockentities, food, grazing, meat, raw_meat, cooked_meat, manureproduces_milk, egg_output, feather_output, manure_output, bowl_milk_output
butcheringentities, raw_output, cooked_outputmode: random_extra/single_special, requires_wellness
repairitems, material, tiercosts can override armor slots and tool types
bucket_familiesmaterial, empty, water, lava, milk, stoneMaterials: copper, silver, gold, iron, ancient metal, mithril, adamantium
fishingmode, successtarget_block, fallback; modes deep_ocean/grass_worm
earth_elementalsspawn_blocks, type, tool_block, drop_blockTags can extend valid spawning bases
portalssource_dimension, target_dimension, colorfoundation, rune_gate
rune_gatescorner_blocks, radiusradius: mithril/adamantium
village_conversionsblocks, replacementLiving-to-dead crop mappings
silverfishcondition, resultConditions source_block/dimension/nearby_block with matching source, dimension, or nearby

Every directory supports priority, defaulting to 0.

Example: add a modpack silver arrow

config/mite/arrows/example_silver_arrow.json
{
"items": ["example:silver_arrow", "#example:silver_arrows"],
"recovery": "silver",
"silver_damage": true,
"priority": 20
}

The damage multiplier does not belong in this file; use production.silverArrowUndeadDamageMultiplier.

Example: custom repair material

config/mite/repair/example_mithril.json
{
"items": "#example:mithril_equipment",
"material": "#c:nuggets/mithril",
"tier": "mithril",
"costs": {
"helmet": 10,
"chestplate": 16,
"pickaxe": 6,
"standard_tool": 4
},
"priority": 20
}

Run /reload after editing. Reloading bucket-family rules also refreshes dispenser behavior.