BowSpell - TheComputerGeek2/MagicSpells GitHub Wiki
This spell extends its options from Spell.
spell-class: ".BowSpell"- 
projectile- Plays the effect at the projectile's location. - 
casterprojectile- Plays the effect from the caster towards the projectile's location. 
A spell that fires when a player shoots a bow or crossbow. Options exist for casting a spell on shooting, hitting an entity or hitting a block.
Since 4.0 Beta 13 some of these options support dynamic values through numeric or string expressions.
| Option | Description | Type | Default | Supports expressions | 
|---|---|---|---|---|
bow-names | 
When defined, only bows with names contained in this list can trigger the bow spell. | String List of Formatted Text | false | 
|
bow-name | 
When defined, only bows with names that match this value exactly can trigger the bow spell. | Formatted Text | false | 
|
disallowed-bow-names | 
When defined, any bows with names contained in this list cannot trigger the bow spell. | String List of Formatted Text | false | 
|
can-trigger | 
Target list | "players" | 
false | 
|
bow-items | 
When defined, only bows that match one of the listed items (using the Magic Item String format) can trigger the spell. | String List | false | 
|
ammo-items | 
When defined, only ammo (items used to fire a projectile) that match one of the listed magic items can trigger the spell. | String List | false | 
|
disallowed-bow-items | 
When defined, only bows that do not match one of the list items (using the Magic Item String format) can trigger the spell. This option takes precedence over the option bow-items. | 
String List | false | 
|
disallowed-ammo-items | 
When defined, only ammo (items used to fire a projectile) that do not match one of the list magic items can trigger the spell. This option takes precedence over the option ammo-items. | 
String List | false | 
|
spell | 
Sub-spell casted when the bow is initially shot. | String | false | 
|
spell-on-hit-entity | 
Sub-spell cast when the arrow associated with the bow spell hits an entity. | String | false | 
|
spell-on-hit-ground | 
Sub-spell cast when the arrow associated with the bow spell hits a block. | String | false | 
|
spell-on-hit-entity-location | 
Sub-spell cast when the arrow associated with the bow spell hits an entity, firing at the location the arrow hits the entity. For example, if the arrow hits the head of a zombie, the spell provided will be cast at the zombie's head. Must be a targeted spell that can hit the ground. | String | false | 
|
bindable | 
Defines whether the bow spell can be bound to an item. | Boolean | false | 
false | 
require-bind | 
Requires bow spell to be bound to be cast. | Boolean | false | 
false | 
cancel-shot | 
Cancels the bow's arrow shot if the bow spell is successfully cast. | Boolean | true | 
true | 
deny-offhand | 
If true, the bow spell will not be cast if the arrow is shot from a bow in the offhand. | 
Boolean | false | 
true | 
remove-arrow | 
Removes the arrow associated with a bow spell after casting spells from hitting the ground or an entity. | Boolean | false | 
true | 
use-bow-force | 
Uses the bow's force when shot as the power for the spells being cast. 0 force translates to 0 power; 1 force translates to 1 power. Spells by default have 1 power. | Boolean | true | 
true | 
cancel-shot-on-fail | 
When true, if the bow spell fails to cast, the bow's arrow shot is cancelled. | 
Boolean | true | 
true | 
minimum-force | 
Minimum force (how far the bow is pulled back) for the bow spell to trigger, in the interval [0, 1]. | 
Float | 0 | 
true | 
maximum-force | 
Maximum force (how far the bow is pulled back) for the bow spell to trigger, in the interval [0, 1]. | 
Float | 
Before 4.0 Beta 17: 1Since 4.0 Beta 17: 0
 | 
true | 
frost-shot:
    spell-class: ".BowSpell"
    bindable: true
    cancel-shot: false
    require-bind: true
    remove-arrow: true
    cancel-shot-on-fail: false
    spell-on-hit-entity: frost-shot-slow(mode=full)
    effects:
        trail:
            position: projectile
            effect: effectlibentity
            effectlib:
                class: ParticleEffect
                particle: snowball
                particle_count: 2
                iterations: 50
                period: 2
frost-shot-slow:
    spell-class: ".targeted.PotionEffectSpell"
    helper-spell: true
    type: slowness
    strength: 5
    duration: 100
    targeted: true
    str-cast-self: "Your shot has frozen your enemy!"bow:
    spell-class: ".BowSpell"
    bow-names:
        - "Bow Of Volley"
        - "Bow Of Volley2"
    cooldown: 1
    cancel-shot: false
    use-bow-force: true
    cancel-shot-on-fail: false
    str-modifier-failed: "Modifiers failed!"
    minimum-force: 0.5
    spell: EFF_ARROW
    spell-on-hit-ground: ARROW_GROUND
    spell-on-hit-entity: ARROW_ENTITY
    modifiers:
        - sneaking required
    target-modifiers:
        - entitytype pig required
    location-modifiers:
        - inblock grass_block required
EFF_ARROW:
    spell-class: ".instant.DummySpell"
    effects:
        eff1:
            position: caster
            effect: effectlib
            effectlib:
                class: SphereEffect
                particle: REDSTONE
                particleSize: 0.8
                color: ffff00
                iterations: 20
                period: 3
                radius: 1.25
                particles: 40
                visibleRange: 60
ARROW_ENTITY:
    spell-class: ".targeted.DummySpell"
    effects:
        eff1:
            position: target
            effect: effectlibentity
            effectlib:
                class: SphereEffect
                particle: REDSTONE
                particleSize: 0.8
                color: 00ff00
                iterations: 20
                period: 3
                radius: 1.25
                particles: 40
                visibleRange: 60
ARROW_GROUND:
    spell-class: ".targeted.DummySpell"
    effects:
        eff1:
            position: target
            effect: effectlib
            effectlib:
                class: SphereEffect
                particle: REDSTONE
                particleSize: 0.8
                color: 00ffff
                iterations: 20
                period: 3
                radius: 1.25
                particles: 40
                visibleRange: 60