Minecolonies Logo

Data Packs - Research


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 NameTypeDescription
branch-nameStringThe 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.<namespace>.research.<path>.name
subtitleStringA subtitle for the branch, displayed on mouseover. May be a Translation Key. Optional.
branch-typeStringAn override for more specialized research branches. For now, "unlockables" disables research level checks. Otherwise, sets to default behavior. Optional.
base-timedoubleA 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.
sortOrderIntegerControls 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.
hiddenBooleanIf 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.
removeBoolean or String or Array of StringsRemoves 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 NameTypeDescription
nameStringThe displayed name of the research, presented to the user. May be a Translation Key. If not present, defaults to com.<namespace>.research.<path>.name
subtitleStringA subtitle for the branch, displayed on mouseover. May be a Translation Key. Optional.
branchStringA Resource Location of the branch for the Research. Used to check for Branch JSONs, and to connect to other research.
subtitleStringA subtitle for the branch, displayed on mouseover. May be a Translation Key. Optional.
parentResearchStringThe 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.
researchLevelIntegerThe 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.
sortOrderIntegerControls 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.
exclusiveChildResearchBooleanIf 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-resetBooleanIf true, prevents undoing the research. Defaults to false, has no effect if the research is already unresettable.
hiddenBooleanIf 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.
autostartBooleanIf 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.
instantBooleanIf true, attempts to instantly (or within 30 seconds) complete the research after it has been begun. Defaults to false.
requirementsArray Of ObjectsContains all of the requirements that must be fulfilled to unlock the recipe.
requirements[].itemStringA 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.
requirements[].quantityIntegerA number of items to be consumed. Pairs with "item", defaults to 1.
requirements[].buildingStringA 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.
requirements[].mandatory-buildingStringA 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.
requirements[].alternate-buildingStringA 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.
requirements[].levelIntegerSpecifies a building level. Pairs with building, mandatory-building, and alternate-building, otherwise has no effect. If not present for those requirements, defaults to 1.
requirements[].researchStringA 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.
effectsArray Of ObjectsContains 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.
effects[].<effect key>IntegerThe 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.
removeBoolean, String or Array of StringsRemoves 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 NameTypeDescription
effectAnyRequired to treat the file as a research effect.
nameStringThe display name of the effect, shown on mouseover. May be a Translation Key. If not present, defaults to com.<namespace>.research.<path>.description
subtitleStringThe subtitle of the effect, shown on mouseover. May be a Translation Key. Optional.
levelsArray Of DoublesThe 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 LocationSuggested RangeDescription
minecolonies:effects/archerdamageaddition-2 to 10Increases damage by Archers .
minecolonies:effects/citizeninvslotsaddition0, 9, 18, and 27Increases the number of inventory slots for colonists.
minecolonies:effects/citizencapaddition-21 to 475Increases the total number of colonists that may be active at a time above 25. Does not override serverconfig maximum.
minecolonies:effects/enhancesgatedurabilityaddition-4 to 20Increases the durability of MineColonies Gates when attacked by raiders.
minecolonies:effects/fleeingspeedaddition0 to 5Applies a Speed potion effect to injuried Guards when they flee for ten ticks, of Speed level equal to strength.
minecolonies:effects/healingsaturationlimitaddition0 to 20Reduces the required saturation before a colonist gets a bonus to regeneration rate.
minecolonies:effects/healthaddition-12 to 20Increases colonist max health.
minecolonies:effects/meleedamageaddition-3 to 10Increases Knight Guard damage.
minecolonies:effects/workingdayhaddition-2 to 2Increases the working day period for Worker Colonists.
minecolonies:effects/archerarmormultiplier-0.8 to 2Increases Archer armor damage reduction.
minecolonies:effects/armordurabilitymultiplier0 to 4Increases effective armor durability of all Guards (and other colonists that can wear armor).
minecolonies:effects/blockattacksmultiplier0 to 1Increases Knight Guard rate of successfully blocking attacks.
minecolonies:effects/blockbreakspeedmultiplier-0.8 to 5Increases the Block Break speed of Miners and Builders.
minecolonies:effects/blockplacespeedmultiplier-0.8 to 5Increases the Block Place speed of Miners and Builders.
minecolonies:effects/doublearrowsmultiplier0 to 1Applies a chance of Multishot effect on Archers .
minecolonies:effects/farmingmultiplier0 to 1Applies a chance to get additional crops from farming.
minecolonies:effects/fleeingdamagemultiplier-3.0 to 3.0Reduces damage suffered by low-health colonists when fleeing from attackers.
minecolonies:effects/growthmultiplier-0.8 to 5Increases rate children mature.
minecolonies:effects/happinessmultiplier-0.5 to 3.0Increases colonist Happiness.
minecolonies:effects/levelingmultiplier-1 to 3.0Increases the rate colonists gain experience.
minecolonies:effects/meleearmormultiplier-0.8 to 2Increases Knight Guard armor damage reduction.
minecolonies:effects/minimumstockmultiplier-0.8 to 5Increases the number of minimum stock a building can have simultaneously.
minecolonies:effects/moreoresmultiplier-0.8 to 5Increases chance of Miners finding additional ores when mining blocks with the "#minecolonies:orechanceblocks" Tag.
minecolonies:effects/podzolchancemultiplier-0.8 to 5Increases chance of a Composter producing Podzol when composting for dirt.
minecolonies:effects/recipesmultiplier-0.8 to 5Increases maximum number of recipes a building can contain.
minecolonies:effects/regenerationmultiplier-0.8 to 3Increases colonist regeneration rate, if not starving.
minecolonies:effects/saturationmultiplier-0.5 to 3Increases colonist Saturation from eating foods.
minecolonies:effects/sleeplessmultiplier-5 to 1Reduces the rate Guards fall asleep when increased.
minecolonies:effects/teachingmultiplier-0.8 to 5Increases student experience when learning from a Teacher as a child.
minecolonies:effects/tooldurabilitymultiplier-5 to 10Increases effective durability of colonist tools, including weapons.
minecolonies:effects/walkingmultiplierIncreases colonist walk speed.
minecolonies:effects/crushing11unlockIf above 0, allows the Crusher to produce one output item for one input.
minecolonies:effects/consumearrowsunlockIf above 0, allows Archers 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/knighttauntmobsunlockIf above 0, allows Knights to Taunt enemies, forcing most to target the Knight.
minecolonies:effects/minerfireresunlockIf above 0, prevents any fire or lava damage to the Miner.
minecolonies:effects/piercingarrowsunlockIf above 0, provides Piercing II to Archers .
minecolonies:effects/plant2unlockIf above 0, allows the Plantation to have two output materials set at once.
minecolonies:effects/platearmorunlockIf above 0, allows the Blacksmith to make plate armor.
minecolonies:effects/railsunlockIf above 0, allows Colonists to magically summon carts and ride railways.
minecolonies:effects/retreatunlockIf above 0, allows Guards to retreat if under 20% HP.
minecolonies:effects/shieldusageunlockIf above 0, allows Knight Guards to use and request Shields.
minecolonies:effects/whirlwindabilityunlockIf above 0, allows Knight Guards to use a Whirlwind Attack.
minecolonies:effects/workinginrainunlockIf 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.

blockhutarcheryblockhutbakerblockhutbarracksblockhutbeekeeperblockhutblacksmith
blockhutbuilderblockhutchickenherderblockhutcitizenblockhutcombatacademyblockhutcomposter
blockhutconcretemixerblockhutcookblockhutcowboyblockhutcrusherblockhutdeliveryman
blockhutdyerblockhutenchanterblockhutfarmerblockhutfishermanblockhutfletcher
blockhutfloristblockhutglassblowerblockhutguardtowerblockhuthospitalblockhutlibrary
blockhutlumberjackblockhutmechanicblockhutminerblockhutmysticalsiteblockhutplantation
blockhutrabbithutchblockhutsawmillblockhutschoolblockhutshepherdblockhutsifter
blockhutsmelteryblockhutstonemasonblockhutstonesmelteryblockhutswineherderblockhuttavern
blockhuttownhallblockhutuniversityblockhutwarehouse

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