Open anabsolutesloth opened 1 year ago
This could be done something like this:
some_random_dynamic_summon_spell_config.json
{
"enabled": {
"book": true,
"scroll": true,
"wands": true,
"npcs": true,
"dispensers": true,
"commands": true,
"treasure": true,
"trades": true,
"looting": true
},
"tier": "advanced",
"element": "earth",
"type": "minion",
"cost": 30,
"chargeup": 0,
"cooldown": 70,
"base_properties": {
"minion_lifetime": 600,
"minion_count": 1,
"summon_radius": 2,
"generic.max_health": -1,
"generic.knockback_resistance": -1
"generic.attack_damage": -1,
"<other default common attribute modifiers>": -1
}
}
If a value is set to -1 (would be the default), then the original mob attribute is used, otherwise, the specified
That seems pretty good, and could also be designed to allow other attributes to be input, though perhaps the attributes could just be its own map within the base_properties
to allow that?
ex:
"base_properties": {
"minion_lifetime": 600,
"minion_count": 1,
"summon_radius": 2,
"attributes": {
"generic.maxHealth": 60,
"generic.knockbackResistance": -1,
"generic.attackDamage": -1,
"mod.someAttribute": 10
}
}
Only strings and numbers are supported as base_properties. Other modifications require a structural change of all spell properties (and wizardry's code). They also cannot be optional, either registered & present or not.
At best, with the current system I can add a config String[] where people can add other modded properties, e.g. ["modA.someAttribute", "modB.someAttribute"] and this will cause these props to be registered and expected for all dyn minion spells. That means all dyn minion spell jsons must be overridden and provided by the pack maker
Description
Enhance Dynamic Minion system by adding a Spell Property to adjust or set certain attributes.
Allows modpack makers to make Dynamic Minions stronger/weaker than the base mob.