Data Pack

MineColonies allows modifications of many features using data packs, including player and worker recipes, loot tables, and mob drops. This allows broad expansion by players or modpack makers to support other mods, design choices, forms of progression, or styles of play. For general information on Minecraft data packs, see the Minecraft wiki.

Data packs exist as part of a world, and they must be installed on each world.

Concepts

Data packs are one or more files in the JSON format, stored within a folder or a zip file. Despite their names, these are text files, and can be opened with text editors. Note that Windows will, by default, hide the extension of known files, and this should be changed to avoid accidentally appending .txt to the file name. Avoid using a rich text editor like WordPad or Microsoft Word, which may insert additional formatting into the file. On Windows, simple text editors like Notepad, NotePad++, or WattPad are more useful for making small numbers of these files, and development environments like IntelliJ may be worth installing if creating many JSONs.

The JSON format is both generous and fastidious. It does not particularly care if you add extra fields, but it will choke on a missing comma or brace. Minecraft will report the file and location of a JSON error in the error log, but it may also be useful to check files in a JSON validator tool, colloqually known as a linter, as you create them. The JSON format will accept most characters, though the double-quotes (") and backslash (\) characters must first be ‘escaped’ by prefixing them with a backslash (such that " becomes \" and \\ becomes \\).

For most users, looking at other similar JSONs will be the fastest way to get started. For those interested in the specific rules of the format, see here.

The data pack folder or zip file can be any valid file name, and will be used to determine the name of the data pack. This folder or zip file must contain in its root level a file named pack.mcmeta, with a specific format. It is strongly encouraged to provide a distinct name and description for your data pack: this will show up as a tooltip from the in-game interfaces and /datapack list command. To act as a data pack, this should also contain a “data” directory.

Each folder within that “data” directory acts as a different namespace. Most mods have their own namespaces; for MineColonies, this is “minecolonies”. As a rule, all folders and files within a datapack, including the namespace folders, must have names consisting solely of lowercase alphanumeric characters, underscores (_), dashes (-), and/or dots (.). Any other characters, including uppercase letters, will cause Minecraft to fail to load the data pack, and give a largely unhelpful error. Completely empty names are considered legal and read, but not all mods will support them.

Data packs are very picky. A single misplaced comma, missing quotation mark, or invalid file name will give an error. If a file doesn't seem to be applying, or a datapack is giving errors on world load, check your file's formatting first.

Files that exactly match the namespace, directory, and name of a file from vanilla Minecraft, a mod, or another data pack will either completely override or merge with that other JSON, depending on the file’s type. A data pack can have multiple namespace directories, and the most common approach is to use a mod’s namespace when directly overriding an existing JSON from vanilla or a mod, and a unique namespace when adding or modifying content or modifying another data pack. It’s encouraged to add to the forge and minecraft namespaces only when adding to or modifying vanilla or forge defaults, to use the minecolonies namespace when modifying existing MineColonies files, and to use your own namespace when adding new types, or completely removing a crafter recipe or research.

Terminology

Keyword Explanation
Resource Location The common word for Mojang’s Namespaced IDs. A string of format namespace:path, with strict limitations on allowed characters, all lower-case, and only one colon (:). Used heavily in newer versions of Minecraft to uniquely identify nearly everything.
Namespace The first half of a Resource Location, before the colon (:). In minecraft:cobblestone, “minecraft” is the namespace. Commonly used namespaces are “minecraft”, “forge”, and “minecolonies”. Modpack makers may want to select their own namespace to avoid potential conflicts. In data packs, namespaces are derived from the names of the folders at the top level within the “data” directory.
Data Location The internal location within namespaces that Minecraft and mods examine for specific uses, such as tags/blocks for Block Tags, or crafterrecipes for Crafter Recipes. Only JSONs within a known data location are applied by Minecraft or Minecraft mods, and Data Locations control how these JSONs apply and what format is expected. Relevant Data Locations are described in more detail throughout this document.
Path The second half of a Resource Location, after the colon (:). In minecraft:cobblestone, “cobblestone” is the path. In data packs, Paths are derived from the folders and filenames within a specific Data Location. data/minecraft/tags/items/cobblestone.json will have a namespace of “minecraft”, a Data Location of “tag/items”, a path of “cobblestone”.
Type The supported format for a specific context. Includes Objects, Arrays, Strings, Booleans, Integers, and Doubles.
Object In the context of the JSON standard, a group of key-value pairs held together by a pair of curly brackets ({ }). All JSON files must be a JSON Object, and name-value pairs may use an Object as a value.
Array In the context of the JSON standard, a group of value types held together by a pair of square brackets([ ]). JSON Arrays may contain multiple Values, or multiple Objects, but not name-value pairs directly.
String A set of characters. In JSON, strings must always be within quotation marks (" ").
Boolean The values true or false, not contained within quotation marks.
Integer A whole number. For this document, between positive and negative two billion, not contained within quotation marks. You generally won’t use numbers that high.
Double A number, including decimal numbers, not contained within quotation marks.
Name-Value Pair In the context of the JSON standard, a string key and an matching value, usually in the format "name": value. Name-value pairs that are not the last name-value pair in an Object must be separated by a comma (,).
Name In the context of the JSON standard, the left half of a name-value pair. Must be a String. Only one occurance of a name will be read in a single object’s top level, usually the first, though sibling in an array or descendants in objects may hold the same Name.
Value In the context of the JSON standard, the right half of a name-value pair. May be any type that matches the context. Values within quotation marks (" ") are treated as Strings.
Translation Key A specially formatted string, which will attempt to be processed through the Minecraft translation file. If the client language file contains a matching Name, substitutes the corresponding Value, otherwise, presents the key to the user directly.

Example Folder Layout

A complex data pack can have many files across many types in many namespaces, as shown below. Smaller data packs consisting of tweaks or settings changes may only have two or three files.

Example Complex Data Pack Layout

The pack.mcmeta file is mandatory, and Minecraft will not load a data pack without one, or with an improperly formatted one.

For Minecraft 1.16, a typical pack.mcmeta file looks like this:

1
2
3
4
5
6
{
  "pack": {
    "pack_format": 6,
    "description": "Rename To Your Preferences"
  }
}

The "description"’s value is displayed to the user as an in-game title for the data pack, so it’s best to make it descriptive and unique.

Tags

Tags are a vanilla Minecraft feature, used to give properties to specific items (if within the tags\items directory) or blocks (if within tags\blocks directory). Item tags also used for Ore Dictionary behaviors. Tags apply a property based on the file name: \data\minecolonies\tags\blocks\concrete.json applies a #minecolonies:concrete tag to all blocks matching the Resource Locations contained within it or within Block Tags matching that Resource Location, and that #minecolonies:concrete block tag determines what materials a Concrete Mixer can mine.

All Tag JSONs operate in merge mode by default. They can instead override, removing any other blocks or items from JSONs matching that name that were loaded first. To use override mode, you must explicitly set "replace" : true in addition to the "values" : name-value pair. This "replace" name is not mandatory for merge mode, but for ease of readability, it’s strongly encouraged to use "replace" : false if intentionally adding to existing Tags.

The only other supported name-value pair for a Tag JSON is the "value": Name. This accepts an Array of identifiers or tags as individual Resource Location strings. These string must contain the namespace and an item identifier in resource location format, matching either a single object of that tag’s type, or another Tag prefixed by the # symbol. Missing or mistyped targets may cause the file to be ignored, or for Minecraft to throw an error on world load. Use the Advanced Tooltip functionality (F3 + H) in Minecraft to turn on display of Resource Locations in item tooltips for help finding specific strings.

A typical tag file to add cobblestone and every type of vanilla anvil to a Tag would thus look like:

1
2
3
4
5
6
7
{
    "replace": false,
    "values": [
      "minecraft:cobblestone",
      "#minecraft:anvil"
    ]
}

While this example works for both Blocks and Items, it’s a rare exception. Block Tags and Item Tags are entirely different things, and while some Block Tags have Item Tag equivalents, many do not. Some mods will only use Item Tags or Block Tags; some items, even vanilla items, have different Resource Locations when in Item form than in Block form.

Block Tags

Block Tags are loaded in the tags/blocks directory. MineColonies reads the following Block Tags:

Namespace Block Tag Effect
minecolonies concrete Blocks that a Concrete Mixer can mine.
minecolonies decoblocks Blocks that are not replaced by builders during construction phases.
minecolonies indestructable Blocks that can’t be destroyed. Prevents these blocks from being overwritten by Survival Build Tools, and has special considerations for colonist pathfinding.
minecolonies orechanceblocks Blocks that which will have a low chance of dropping extra ores when mined by a Miner.
minecolonies pathblocks Colonists walk faster on and preferentially follow roads made of these blocks.
minecolonies protectionexception Blocks that can be used, or alt-clicked, within a colony’s protection range, even by neutral or enemy players.
forge dirt Blocks that can be used as farmland by Farmer.
minecraft beds Blocks that can be used by colonists to rest, if included in a schematic.
minecraft doors Used for pathfinding.
minecraft leaves Used to determine eligible trees for the Forester.
minecraft logs Used to determine eligible trees for the Forester.
minecraft shroomlight Used to determine eligible trees for the Forester.
minecraft wart_blocks Used to determine eligible trees for the Forester.

Item Tags

Item Tags are loaded in the tags\items directory. MineColonies reads the following Item Tags:

Namespace tags\items Effect
minecolonies breakable_ore (1.18+ only) Items with this tag are processed by the smelter using fortune
minecolonies compostables Items that can be placed into a Composter, and give moderate compost.
minecolonies compostables_poor Items that can be placed into a Composter, and give little compost.
minecolonies compostables_rich Items that can be placed into a Composter, and give a lot of compost.
minecolonies concrete_powder Crafted and placed by a Concrete Mixer
minecolonies florist_flowers Grown by the Florist, if they have a valid block form, at building level 3 or higher.
minecolonies fungi Items that can be grown by a Forester on Warped Nylium or Crimson Nylium.
minecolonies meshes Items that can be held as meshes by a Sifter. This only allows the Sifter to use the tool, it does not add benefits to doing so. See CrafterRecipes for more details.
minecolonies raw_ore (1.18+ only) Items with this tag, if processable in a furnace, can be processed at the smeltery
minecolonies reducible_ingredient Items that may be reduced in cost by one, to a minimum of one, when in a colonist recipe that originally required more than one of the item.
minecolonies reducible_product_excluded Output items that can never have their crafter recipe efficiency improved. Most storage blocks or reversable recipes should be in this tag, to avoid possible infinite item loops.
forge crops_wheat The Baker can cook any recipe including an in this tag, if the output is a food item.
forge glass All items with this tag, if produces in a furnace from an item tagged with #forge:glass, can be made at the Glassblower.
forge ores All items with this tag are treated as ores by the miner, and in 1.16.5, if processable in a furnace, can be processed in the smeltery.
forge sand All items with this tag, if smeltable into an item tagged with #forge:glass, can be made at the Glassblower.
forge seeds Only items with this tag are valid to set in a Scarecrow, and are planted by a Farmer.
minecraft flowers Used by the Beekeeper to breed bees.
minecraft fishes Used by the Fisher to render fish on bandolier.
minecraft leaves Items that Builders will place ‘for free’, without having in their inventory.
minecraft logs Recipes consisting of 75% or more this tag and #minecraft:planks can be taught to the Sawmill.
minecraft planks Recipes consisting of 75% or more this tag and #minecraft:logs can be taught to the Sawmill. A stack is stored by the Miner.
minecraft saplings Used by the Forester to grow trees.
minecraft slabs A stack is stored by the Miner.
minecraft small_flowers Grown by a building level 1 or 2 Florist, if they have a valid block form, and are in #minecolonies:florist_flowers.
minecraft wool Used to by the Dyer to produce white wool, if not already White Wool.

Some Vanilla and Forge Item Tags are very expansive, or are used by some mods in ways that might surprise you. See list of tags for Minecraft behaviors.

Crafter Item Tags

Additionally, some Item Tags are used to control what recipes can be taught to a worker by a player in-game. Each worker has a different set of tags. For a full list, see here.

Item Tag Effect
x_product_excluded Items that cannot be made by this worker. Overrides all other crafter Tags.
x_product Items that can be made by this worker.
x_ingredient_excluded Items that cannot be used to craft by this worker, unless the recipe product is in x_product.
x_ingredient Items that can be used to craft by this worker, unless the ingredient is in x_ingredient_excluded, or the recipe output is in x_product.json.

A few colonists have other hard-coded rules that are not dependent on tags. The Blacksmith can make all tools, swords, armor, hoes, and shields. Cook will always accept recipes for items that have valid foods as results.

Crafter Recipes

While Item Tags determine the recipes that workers can be taught, colonists can also automatically learn special Crafter Recipes. These recipes can be different than those available to the player or even reflect items that can’t be made in any other way. Unlike Tags, Crafter Recipes can and must hold a large number of properties, some containing arrays or objects of properties themselves. Supported properties include:

Crafter Recipe Key Name Object Name Type Description
"type"   string "recipe" to add a recipe, and "remove" to disable one.
"crafter"   string The name of the worker who will learn the recipe. Mandatory.
"inputs"   Array Of Objects The "item"s and "count"s of the required input items that will be consumed for the recipe.
  "item" string The Resource Location identifier of an item consumed by the recipe.
  "count" integer The number of that item consumed by default. If not present, defaults to 1.
"result"   string The Resource Location identifier of the item the recipe produces.
"count"   integer The count of "result" items that should be returned. If not present, defaults to 1.
"loot-table"   string The Resource Location of a loot table, used for outputs that require some randomization.
"additional-output"   Object The "item" and "count" of a single additional output item.
  "item" string The Resource Location identifier of an item consumed by the recipe.
  "count" integer The number of that item consumed by default. If not present, defaults to 1.
"alternative-output"   Array Of Objects Contains the "item" and "count" of alternative output items. These consume the same inputs, share the same “loot-table”, and return the same “additional-output” as the main recipe, but produce a different result on demand through the Request System.
  "item" string The Resource Location identifier of an item consumed by the recipe.
  "count" integer The number of that item consumed by default. If not present, defaults to 1.
"intermediate"   string The Resource Location identifier of a block required to craft the item, typically a furnace.
"research-id"   string The Resource Location identifier of a research that is automatically learned after the colony has a research completed, if all other requirements are met.
"not-research-id"   string The Resource Location identifier of a research that automatically causes the recipe to be unlearned. Most commonly used to replace a default recipe.
"min-building-level"   integer The minimum building level, inclusive, at which the recipe may be automatically learned, if all other requirements are complete.
"max-building-level"   integer The building level where the recipe will be automatically unlearned, if the building meets or exceeds it.
"must-exist"   boolean A special requirement. If a recipe matching the output exists, automatically adds all "alternative-output" as recipes.
"show-tooltip"   boolean If true, displays the building that can craft the recipe, as well as any requirements to unlock the recipe, as a tooltip for the item.
"recipe-id-to-remove"   string A Resource Location of a different crafter recipe to remove, preventing buildings from learning it. Requires "type":"remove". All other properties are ignored. Example: "recipe-id-to-remove": "minecolonies:blacksmith/platearmorchestplate".

On existing worlds, removing a Crafter Recipe through data packs will automatically remove it from existed constructed buildings that have learned it.

For example crafter recipes, and their canonical names, see GitHub here and here.

Player Recipes

Player Recipes can be added by data packs using vanilla features, by adding to the recipes Data Location. See the Minecraft wiki for details, and the GitHub for MineColonies default recipes.

Loot Tables

Loot Tables control a variety of item drop behaviors, and can be used to add randomized chance to Crafter Recipes. They are loaded from loot_tables. See the Minecraft wiki for technical details, and the GitHub for some MineColonies default loot tables here and here.

Research Customization

The Research System used by the University can be lightly tweaked or heavily modified through the use of data packs in MineColonies versions 0.14.0 or higher. For the default research data and example files, see the GitHub. Researches consist of three components: the branch that contains the research, the research itself, and the research effect.

Branches

Branches are the groups of research, such as “Civilian” or “Combat”. Branch files must contain one of "branch-name" or "base-time".

Branch Key Name Type Description
"branch-name" string The displayed name of the branch, presented to the user. May be a Translation Key. If not present, defaults to a Translation Key of the format com..research..name</code>
"subtitle" string A subtitle for the branch, displayed on mouseover. May be a Translation Key. Optional.
"branch-type" string An override for more specialized research branches. For now, "unlockables" disables research level checks. Otherwise, sets to default behavior. Optional.
"base-time" double A numeric multiplier applied to research time for all researches on the branch. Larger numbers take more time; lower numbers take less time. Very low values may make time estimates in-accurate. Defaults to 1.0; numbers below 0.0 or above 10 may behave poorly.
"sortOrder" integer Controls the vertical position of the branch on the University GUI. Lower numbers are placed first on the list, while higher numbers are placed closer to the bottom of the list. Optional.
"hidden" boolean If true, and if all primary researches on the branch are hidden, prevents access to the branch from the University window. If "branch-type" is set to "unlockables", also prevents display of the branch; otherwise, provides a tooltip describing how unlock the branch’s primary researches. Optional, defaults to false.
"remove" boolean or string or Array of Strings Removes a research branch, and all research on that branch, regardless of the source. May cause data loss if applied to an existing world. If a string, removes all research with a branch of the Resource Location in that string. If an array of strings, removes all researches for all researches with branches matching any of the Resource Locations. If boolean and true, removes all Researches with branches matching the Resource Location of the JSON itself; this form is discouraged for cases where other data packs may apply, as it may be conflicted by those other data packs.

Research

Researches are the individual components of a branch. Branches must have at least one present research to be displayed to the user.

Research Key Name Object Key Name Type Description
"name"   string The displayed name of the research, presented to the user. May be a Translation Key. If not present, defaults to com..research..name</code>
"subtitle"   string A subtitle for the branch, displayed on mouseover. May be a Translation Key. Optional.
"branch"   string A Resource Location of the branch for the Research. Used to check for Branch JSONs, and to connect to other research.
"subtitle"   string A subtitle for the branch, displayed on mouseover. May be a Translation Key. Optional.
"parentResearch"   string The Resource Location for a parent Research, which must be completed before this research may be unlocked. Required for Research of a level greater than 1. Must be on the same Branch as this research.
"researchLevel"   integer The Research Level of the research. Unless set to "branch-type":"unlockables", requires a University of equal or greater level to begin researches of levels 1 through 5, and only allows one level 6 research to be completed at a time. Defaults to 1 if not present. If above level 1, must have a valid parent one level lower.
"sortOrder"   integer Controls the vertical position of the branch on the Research Tree GUI. Lowers numbers are placed higher up, while higer numbers are placed closer to the bottom. Optional, only applies to research with siblings.
"exclusiveChildResearch"   boolean If true and the research has more than one descendant research, allows completion of only one of those researches at a time. Optional, defaults to false.
"no-reset"   boolean If true, prevents undoing the research. Defaults to false, has no effect if the research is already unresettable.
"hidden"   boolean If true, does not display the research until its requirements are fulfilled. Defaults to false, has no effect if the research has no requirements or only has item costs.
"autostart"   boolean If true, and the research has no item costs, begins the research automatically once its requirements are fulfilled. If the research has item costs, notifies logged-in players that it is available to begin. Defaults to false.
"instant"   boolean If true, attempts to instantly (or within 30 seconds) complete the research after it has been begun. Defaults to false.
"requirements"   Array Of Objects Contains all of the requirements that must be fulfilled to unlock the recipe.
  "item" string A Resource Location of an item consumed to begin the research. Multiple Item Objects are supported, though having more than 5 may display poorly on some monitors. Optionally pairs with “quantity”. Items without NBT data match any NBT variant, but do require the item to be undamaged.
  "quantity" integer A number of items to be consumed. Pairs with “item”, defaults to 1.
  "building" string A specific building that must be present in the colony. Normal “building” requirements combine the levels from multiple of the same building type. Optionally pairs with “level”, otherwise defaults to level 1.
  "mandatory-building" string A specific building that must be present in the colony, with at least one occurence at least at the specifed level. Optionally pairs with “level”, otherwise defaults to level 1.
  "alternate-building" string A specific building to be added to the list of alternate-buildings. At least one of the alternate-buildings must be present in the colony to begin research. Optionally pairs with “level”, otherwise defaults to level 1. Acts like “building” if only one alternate-building object is present.
  "level" integer Specifies a building level. Pairs with building, mandatory-building, and alternate-building, otherwise has no effect. If not present for those requirements, defaults to 1.
  "research" string A specific Research by Resource Location that must be completed to unlock this research. Unlike, parentResearch, can be on another branch, or of any research level.
"effects"   Array Of Objects Contains all of the effects of the research. Can be empty, either for research with no effects or for research that only unlocks crafterrecipes, or contain one or more Objects.
  "string": integer Name-Value Pair The Research Effect Identifier as a Resource Location, followed by the level of the effect as an integer. If the level exceeds the maximum level of the effect, defaults to the maximum level. If no matching effect is found, applies a default strength of 6, enough to unlock a building completely.
"remove" boolean or string or Array of Strings Removes a research, regardless of the source. May cause data loss if applied to an existing world. If a string, removes any research matching the Resource Location in that string. If an array of strings, removes all researches matching any of the Resource Locations. If boolean and true, removes Research matching the Resource Location of the JSON itself; this form is discouraged for cases where other data packs may apply, as it may be conflicted by those other data packs.  

Research Effects

Research Effects describe the actual impact and strength of that impact on the colony, players, or colonists. All Research Effects have an automatically generated effect strength 0 at level 0. If no other levels are defined, defaults to level one having a strength of 5, enough to unlock all levels of a building.

Effect Key Name Type Description
"effect" any Required to treat the file as a research effect.
"name" string The display name of the effect, shown on mouseover. May be a Translation Key. If not present, defaults to com..research..description</code>
"subtitle" string The subtitle of the effect, shown on mouseover. May be a Translation Key. Optional.
"levels" Array Of Doubles The effect strengths of the research, by level. If not present, defaults to one level of strength 5.

MineColonies Research Effects

For now, Research Effects must have a corresponding code effect, as listed below. Suggested ranges give guidelines assuming a modpack includes no significant balance reworks.

Effect Resource Location Suggested Range Description
“minecolonies:effects/archerdamageaddition” -2 to 10 Increases damage by Archer Guards.
“minecolonies:effects/citizeninvslotsaddition” 0, 9, 18, and 27 Increases the number of inventory slots for colonists.
“minecolonies:effects/citizencapaddition” -21 to 475 Increases the total number of colonists that may be active at a time above 25. Does not override serverconfig maximum.
“minecolonies:effects/enhancesgatedurabilityaddition” -4 to 20 Increases the durability of MineColonies Gates when attacked by raiders.
“minecolonies:effects/fleeingspeedaddition” 0 to 5 Applies a Speed potion effect to injuried Guards when they flee for ten ticks, of Speed level equal to strength.
“minecolonies:effects/healingsaturationlimitaddition” 0 to 20 Reduces the required saturation before a colonist gets a bonus to regeneration rate.
“minecolonies:effects/healthaddition” -12 to 20 Increases colonist max health.
“minecolonies:effects/meleedamageaddition” -3 to 10 Increases Knight Guard damage.
“minecolonies:effects/workingdayhaddition” -2 to 2 Increases the working day period for Worker Colonists.
“minecolonies:effects/archerarmormultiplier” -0.8 to 2 Increases Archer Guard armor damage reduction.
“minecolonies:effects/armordurabilitymultiplier” 0 to 4 Increases effective armor durability of all Guards (and other colonists that can wear armor).
“minecolonies:effects/blockattacksmultiplier” 0 to 1 Increases Knight Guard rate of successfully blocking attacks.
“minecolonies:effects/blockbreakspeedmultiplier” -0.8 to 5 Increases the Block Break speed of Miners and Builders.
“minecolonies:effects/blockplacespeedmultiplier” -0.8 to 5 Increases the Block Place speed of Miners and Builders.
“minecolonies:effects/doublearrowsmultiplier” 0 to 1 Applies a chance of Multishot effect on Archer Guards.
“minecolonies:effects/farmingmultiplier” 0 to 1 Applies a chance to get additional crops from farming.
“minecolonies:effects/fleeingdamagemultiplier” -3.0 to 3.0 Reduces damage suffered by low-health colonists when fleeing from attackers.
“minecolonies:effects/growthmultiplier” -0.8 to 5 Increases rate children mature.
“minecolonies:effects/happinessmultiplier” -0.5 to 3.0 Increases colonist Happiness.
“minecolonies:effects/levelingmultiplier” -1 to 3.0 Increases the rate colonists gain experience.
“minecolonies:effects/meleearmormultiplier” -0.8 to 2 Increases Knight Guard armor damage reduction.
“minecolonies:effects/minimumstockmultiplier” -0.8 to 5 Increases the number of minimum stock a building can have simultaneously.
“minecolonies:effects/moreoresmultiplier” -0.8 to 5 Increases chance of Miners finding additional ores when mining blocks with the "#minecolonies:orechanceblocks" Tag.
“minecolonies:effects/podzolchancemultiplier” -0.8 to 5 Increases chance of a Composter producing Podzol when composting for dirt.
“minecolonies:effects/recipesmultiplier” -0.8 to 5 Increases maximum number of recipes a building can contain.
“minecolonies:effects/regenerationmultiplier” -0.8 to 3 Increases colonist regeneration rate, if not starving.
“minecolonies:effects/saturationmultiplier” -0.5 to 3 Increases colonist Saturation from eating foods.
“minecolonies:effects/sleeplessmultiplier” -5 to 1 Reduces the rate Guards fall asleep when increased.
“minecolonies:effects/teachingmultiplier” -0.8 to 5 Increases student experience when learning from a Teacher as a child.
“minecolonies:effects/tooldurabilitymultiplier” -5 to 10 Increases effective durability of colonist tools, including weapons.
“minecolonies:effects/walkingmultiplier”   Increases colonist walk speed.
“minecolonies:effects/crushing11unlock”   If above 0, allows the Crusher to produce one output item for one input.
“minecolonies:effects/consumearrowsunlock”   If above 0, allows Archer Guards to use arrows to increase damage. If they run out of arrows, they’ll still fire, just for less damage. Don’t think about it.
“minecolonies:effects/knighttauntmobsunlock”   If above 0, allows Knights to Taunt enemies, forcing most to target the Knight.
“minecolonies:effects/minerfireresunlock”   If above 0, prevents any fire or lava damage to the Miner.
“minecolonies:effects/piercingarrowsunlock”   If above 0, provides Piercing II to Archer Guards.
“minecolonies:effects/plant2unlock”   If above 0, allows the Plantation to have two output materials set at once.
“minecolonies:effects/platearmorunlock”   If above 0, allows the Blacksmith to make plate armor.
“minecolonies:effects/railsunlock”   If above 0, allows Colonists to magically summon carts and ride railways.
“minecolonies:effects/retreatunlock”   If above 0, allows Guards to retreat if under 20% HP.
“minecolonies:effects/shieldusageunlock”   If above 0, allows Knight Guards to use and request Shields.
“minecolonies:effects/whirlwindabilityunlock”   If above 0, allows Knight Guards to use a Whirlwind Attack.
“minecolonies:effects/workinginrainunlock”   If above 0, allows all workers and guards to work in rain. Has no effect if the server is set to do that anyway.

MineColonies Building Unlocks

Research Effects may also optionally unlock a building. These reserved Resource Locations will limit, and a research using the effect is loaded. The strength of the effect determines the maximum level of upgrade that can be requested for the building: an effect of strength 1 would allow only level 1 buildings, while strength 2 would allow upgrades to level 2, and so forth. They do not validate that these unlocks are reasonable, or even that they do not require the building that they unlock.

blockhutarchery blockhutbaker blockhutbarracks blockhutbeekeeper blockhutblacksmith
blockhutbuilder blockhutchickenherder blockhutcitizen blockhutcombatacademy blockhutcomposter
blockhutconcretemixer blockhutcook blockhutcowboy blockhutcrusher blockhutdeliveryman
blockhutdyer blockhutenchanter blockhutfarmer blockhutfisherman blockhutfletcher
blockhutflorist blockhutglassblower blockhutguardtower blockhuthospital blockhutlibrary
blockhutlumberjack blockhutmechanic blockhutminer blockhutmysticalsite blockhutplantation
blockhutrabbithutch blockhutsawmill blockhutschool blockhutshepherd blockhutsifter
blockhutsmeltery blockhutstonemason blockhutstonesmeltery blockhutswineherder blockhuttavern
blockhuttownhall blockhutuniversity blockhutwarehouse    

Citizen names

Citizen names can be changed via a datapack. For the ones already in the mod, you can look it Github The default.json file is loaded by default, patreons have a button in the town hall to change to any of the other ones in data packs in the citizennames data location.

There are also sample data packs on the citizen names page

The citizen name files have the following components:

Key Name Type Description
"parts" integer 2 or 3. This determines whether a middle letter is used in the name (if it is 3)
"order" string "WESTERN" or "EASTERN". In case of EASTERN, the surname is shown first
"male_firstname" Array of Strings A list of the male first names
"female_firstname" Array of Strings A list of the female first names
"surnames" Array of Strings A list of the surnames for the citizens

If changes are needed or you think there is content missing, feel free to edit this page (the button at the top right) or submit an issue for us to make edits. - MineColonies Wiki Team