This repository was archived by the owner on May 2, 2025. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 2
Base Upgrades
LukeGrahamLandry edited this page Mar 7, 2023
·
4 revisions
As you collect materials, you can level up your base to unlock new crafting recipes.
Each tier of base has its own json file in the basetiers folder of data packs.
The name of the json file determines how you refer to it in the config when you set its position in the progression.
Object Structure:
-
cost: a MaterialCollection for the price to upgrade to this tier. -
rfPerTick: optional. defaults to 0. -
unlockedCraftableItems: a list of resource locations of items (likeminecraft:stick) that are unlocked for crafting at this tier. Any items unlocked at a tier above a player's current tier may not be crafted (the result just won't show in the table as though the recipe did not exist). -
attacks: a list of lists of resource locations for AttackWaves. See how these are used on Base Attacks page. TODO: move to being based on how many days spent in world instead. -
anyMonsterModifiers: a list of AttributeModifierDef. These will be applied to any monsters spawned during an attack. -
monsterModifiers: a map of resource locations to a list of AttributeModifierDef. TODO: Each resource location is an entity type. TODO: When an entity of that type is spawned during an attack, the modifiers will be applied. -
preventBlockBreakRadius: players on other teams will not be able to break blocks within x blocks of the base block. Optional, defaults to 0.
AttributeModifierDef: describes an attribute modifier to apply to an entity.
-
attribute: the id of the attribute to modify. ex. "generic.max_health". A resource location to a modded attribute will work as well. -
amount: a float representing how much to modify the attribute. -
operation: "ADDITION" or "MULTIPLY_BASE" or "MULTIPLY_TOTAL"
Edit the world/serverconfig/basedefense-synced.json5 file.
The order to progress through tiers is defined by the baseTierOrder field. It's a list of resource locations to base tier definitions. Ex. "baseTierOrder": ["basedefense:one", "basedefense:two"],.