{ // Default `0.2` matches the same as movement speed during vanilla item usage (such as bow) "movement_speed_while_casting_spell": 0.20000000298023224, // 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 cost items. Set `false` to remove rune (or other item) cost from all spells. "spell_cost_item_allowed": true, // Spells should damage items on use. Set `false` to disable. "spell_cost_durability_allowed": true, // 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, // Spell book creation level requirement "spell_book_binding_level_requirement": 3, // Spell book creation level cost "spell_book_binding_level_cost": 1, // Apply `Spell Casting from Spell Book` capability to anything that subclasses Sword "add_spell_casting_to_swords": true, // Apply `Spell Casting from Spell Book` capability to any item matching this regex. (Not applied of empty) "add_spell_casting_regex": "", // Do not apply `Spell Casting from Spell Book` capability to any item matching this regex. (Not applied of empty) "blacklist_spell_casting_regex": "simplyswords:storms_edge|simplyswords:stormbringer|simplyswords:emberblade|simplyswords:hearthflame|simplyswords:soulkeeper|simplyswords:twisted_blade|simplyswords:soulstealer|simplyswords:soulrender|simplyswords:soul_pyre|simplyswords:frostfall|simplyswords:molten_edge|simplyswords:livyatan|simplyswords:icewhisper|simplyswords:arcanethyst|simplyswords:thunderbrand|simplyswords:mjolnir|simplyswords:waking_lichblade|simplyswords:awakened_lichblade|simplyswords:shadowsting", /* Relations determine which cases the effect of a player casted spell can effect a target. +----------------+-----------+---------------+----------+----------+--------+ | | FRIENDLY | SEMI_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": "SEMI_FRIENDLY", "minecraft:villager": "SEMI_FRIENDLY", "minecraft:iron_golem": "NEUTRAL", "guardvillagers:guard": "SEMI_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" }