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"
.
Schema: Research Branch
Example path:
<namespace>/researches/<branch-id>.json
* = Required field
Field Type Default value Description branch-name
String com.<namespace>.research.<path>.name
The displayed name of the branch, presented to the user. May be a translation key.
branch-type
String default
An override for more specialized research branches. For now,
unlockables
disables research level checks. Otherwise, sets to default behavior.subtitle
String A subtitle for the branch, displayed when hovering over the research in the GUI. May be a translation key.
sortOrder
Integer 1
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.
hidden
Boolean false
If true, and if all primary researches on the branch are hidden, prevents access to the branch from the University window.
remove
String, Boolean Removes a research, regardless of the source. May cause data loss if applied to an existing world.
- String: Removes all research with a branch of the Resource Location in that String.
- Boolean (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.
{ "branch-name": "Expansion", "branch-type": "default", "subtitle": "Expanding beyond one city", "sortOrder": 3, "hidden": true, "remove": true }
Research
Researches are the individual components of a branch. Branches must have at least one present research to be displayed to the user.
Schema: Research
Example path:
<namespace>/researches/<branch>/<research-id>.json
* = Required field
Field Type Default value Description name
String com.<namespace>.research.<path>.name
The displayed name of the research, presented to the user. May be a translation key.
subtitle
String A subtitle for the research, displayed on mouse over. May be a translation key.
branch *
String A Resource Location that indicates which branch the research belongs in.
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.
researchLevel
Integer 1
The Research Level of the research. Unless the branch is 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. If above level 1, must have a valid parent one level lower.sortOrder
Integer 0
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. Only applies to research with siblings.
exclusiveChildResearch
Boolean false
If true and the research has more than one descendant research, allows completion of only one of those researches at a time.
no-reset
Boolean false
If true, prevents undoing the research. Has no effect if the research is already unresettable.
hidden
Boolean false
If true, does not display the research until its requirements are fulfilled. Has no effect if the research has no requirements or only has item costs.
autostart
Boolean false
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.
instant
Boolean false
If true, attempts to instantly (or within 30 seconds) complete the research after it has been begun.
requirements[]
Array (Objects) If true, attempts to instantly (or within 30 seconds) complete the research after it has been begun.
item
String A Resource Location of an item consumed to begin the research. Multiple items 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 1
A number of items to be consumed. Pairs with
item
.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
.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
.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
. Acts likebuilding
if only one alternate-building object is present.level
Integer 1
Specifies a building level. Pairs with
building
,mandatory-building
, andalternate-building
, otherwise has no effect.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 (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.
<effect key>
Integer 1
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
String, Boolean Removes a research branch, and all research on that branch, regardless of the source. May cause data loss if applied to an existing world.
- String: Removes any research matching the Resource Location in that String.
- Boolean (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.
{ "name": "Outposts", "subtitle": "Unlock the ability to settle outposts", "branch": "minecolonies:civilian", "parentResearch": "minecolonies:civilian/outposts", "researchLevel": 3, "sortOrder": 2, "exclusiveChildResearch": false, "no-reset": false, "hidden": false, "autostart": false, "instant": false, "requirements": [ { "item": "minecraft:book", "quantity": 16, "building": "library", "mandatory-building": "library", "alternate-building": "library", "level": 1, "research": "minecolonies:civilian/outposts" } ], "effects": [ { "<effect key>": 3 } ], "remove": true }
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.
Schema: Research Effect
Example path:
<namespace>/researches/effects/<effect-id>.json
* = Required field
Field Type Default value Description effect *
Boolean Required to treat the file as a research effect. Can be any value, usually
true
.name
String com.<namespace>.research.<path>.description
The display name of the effect, shown on mouseover. May be a translation key.
subtitle
String com.<namespace>.research.<path>.description
The subtitle of the effect, shown on mouseover. May be a translation key.
levels[]
Array (Doubles) [0, 1]
The effect strengths of the research, by level.
{ "effect": true, "name": "Settle outposts", "subtitle": "Unlocks the ability to settle outposts", "levels": [ 0, 0.25, 0.5, 0.75, 1 ] }
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 Archers . |
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 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 Archers . |
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 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/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 Archers . | |
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.
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