Files
PupaMLupa/config/spell_engine/server.json5
T

101 lines
5.3 KiB
JSON

{
// Applied as multiplier on top of spell.cast.movement_speed. Default value of 1.0 means no change.
"movement_multiplier_speed_while_casting": 1.0,
// Allow spells to bypass invulnerability frames. This is required in order for high attack frequency spells (such as beams) to work.
"bypass_iframes": true,
// Spell haste reduces the cooldown time of abilities
"haste_affects_cooldown": true,
// Spell costs exhausts (hunger) will be multiplied with this value. Set `0` for no exhaust.
"spell_cost_exhaust_multiplier": 1.0,
// Spells should levelCost items. Set `false` to remove rune (or other item) levelCost from all spells.
"spell_cost_item_allowed": true,
// Spells should damage items on use. Set `false` to disable.
"spell_cost_durability_allowed": true,
// The time in ticks of global cooldown to apply to all instant cast spells when casted.
"spell_instant_cast_global_cooldown": 0,
// Players cannot unequip a spell book, if one of the spells in it is on cooldown.
"spell_item_cooldown_lock": true,
// Additional cooldown in seconds applied to equipped spell book item, after casting a spell from them, to prevent quick swapping and casting.
"spell_book_additional_cooldown": 10.0,
// Players can use the Spell Binding Table to create spell books.
"spell_book_creation_enabled": true,
// Spell book creation level levelCost
"spell_book_creation_cost": 1,
// Spell book creation level requirement
"spell_book_creation_requirement": 1,
// Spell binding level levelCost multiplier
"spell_binding_level_cost_multiplier": 1,
// Spell binding level levelCost offset (added after multiplier)
"spell_binding_level_cost_offset": 0,
// Spell binding level levelCost minimum levelCost after applying multiplier and offset
"spell_binding_level_cost_min": 1,
// Spell binding level requirement multiplier
"spell_binding_level_requirement_multiplier": 1,
// Spell binding level requirement offset (added after multiplier)
"spell_binding_level_requirement_offset": 0,
// Spell binding level requirement minimum level requirement after applying multiplier and offset
"spell_binding_level_requirement_min": 1,
// Spell binding lapis lazuli levelCost multiplier
"spell_binding_lapis_cost_multiplier": 1,
// Spell binding allow unbinding spells
"spell_binding_allow_unbinding": true,
"spell_scroll_level_cost_per_tier": 0,
"spell_scroll_apply_cost_base": 1,
// Allow spell containers be cached for faster improved server performance. Might be buggy.
"spell_container_caching": true,
// Allow any spell containers to be resolved from the offhand not just offhand specific ones.
"spell_container_from_offhand_any": false,
// If set true, a Fireball doesn't collide with an ally, a healing projectile doesn't collide with an enemy
"projectiles_pass_thru_irrelevant_targets": true,
// Auto swap Bow & Spear cooldown ticks to apply for attack and itemUse
"auto_swap_cooldown": 5,
/* Evasion to work within certain angle of attack
Example values:
- `0` - any attack can be evaded
- `90` (default) - no attack from behind can be evaded
*/
"attribute_evasion_angle": 120.0,
// Allow evasion to work while the player is casting a spell
"attribute_evasion_allowed_while_spell_casting": false,
// Allow evasion to work while the player is using an item (e.g. eating, drawing a bow)
"attribute_evasion_allowed_while_item_usage": false,
// Determines the focus mode (AREA vs DIRECT) for melee skills.
"melee_skills_area_focus_mode": true,
/* Relations determine which cases the effect of a player casted spell can effect a target.
+----------------+-------+----------+----------+----------+--------+
| | ALLY | FRIENDLY | NEUTRAL | HOSTILE | MIXED |
+----------------+-------+----------+----------+----------+--------+
| DIRECT DAMAGE | 🚫 | | | | |
| AREA DAMAGE | 🚫 | 🚫 | 🚫 | | |
| DIRECT HEALING | | | | 🚫 | |
| AREA HEALING | | | 🚫 | 🚫 | |
+----------------+-------+----------+----------+----------+--------+
The various relation related configs are being checked in the following order:
- `player_relations`
- `player_relation_to_passives`
- `player_relation_to_hostiles`
- `player_relation_to_other`
(The first relation to be found for the target will be applied.)
*/
"player_relations": {
"minecraft:player": "FRIENDLY",
"minecraft:villager": "FRIENDLY",
"minecraft:allay": "FRIENDLY",
"minecraft:iron_golem": "FRIENDLY",
"guardvillagers:guard": "FRIENDLY",
"minecraft:cat": "FRIENDLY",
"minecraft:minecart": "FRIENDLY"
},
"player_relation_tags": { },
// Relation to self, and self owned pets (tamed entities), changing this to `FRIENDLY` will make it impossible to hit pets with weapons
"player_relation_to_owned_pets": "FRIENDLY",
// Relation to teammates (entities in the same team), changing this to `FRIENDLY` will automatically disable friendly fire for all teams
"player_relation_to_teammates": "FRIENDLY",
// Relation to unspecified entities those are instance of PassiveEntity(Yarn)
"player_relation_to_passives": "HOSTILE",
// Relation to unspecified entities those are instance of HostileEntity(Yarn)
"player_relation_to_hostiles": "HOSTILE",
// Fallback relation
"player_relation_to_other": "HOSTILE"
}