OrbitSpell - TheComputerGeek2/MagicSpells GitHub Wiki
spell-class: ".targeted.OrbitSpell"| Value | Supported | 
|---|---|
entity | 
true | 
location | 
true | 
entity_from_location | 
false | 
- 
delayed- Plays the effect at the orbit's location when the orbit ends. - 
special- Plays the effect at the orbit's location as it travels, everytick-interval. - 
projectile- Plays the effect at the orbit's position as it travels, everytick-interval. On this spell, this position only works for EffectLib effects,entityeffects, andarmorstandeffects. 
A targeted spell that creates an orbit rotating around the target.
Since 4.0 Beta 13 some of these options support dynamic values through numeric or string expressions.
| Option | Description | Type | Default | Supports expressions | 
|---|---|---|---|---|
can-hit | 
Target list. | 
Before 4.0 Beta 14: Valid Target List Since 4.0 Beta 14: Valid Target List  | 
false | 
|
max-duration | 
Max duration, in seconds, of the orbit. | Double | 20 | 
true | 
tick-interval | 
Defines how often, in ticks, to play the particle effect and check hitboxes. | Integer | 2 | 
true | 
vert-expand-delay | 
Defines how often, in ticks, to expand the orbit vertically. (requires vert-expand-radius) | 
Integer | 0 | 
true | 
horiz-expand-delay | 
Defines how often to expand the orbit horizontally. (requires horiz-expand-radius) | 
Integer | 0 | 
true | 
y-offset | 
Modifies the start height location. | Float | 0.6 | 
true | 
hit-radius | 
Defines how far from the center of the orbit to look for entities to hit. | Float | 1 | 
true | 
vertical-hit-radius | 
Defines how far vertically from the center of the orbit to look for entities to hit. | Float | 1 | 
true | 
orbit-radius | 
Defines how far from the center of the start location should the orbit be? | Float | 1 | 
true | 
start-horiz-offset | 
Offset in degrees for the start yaw of the orbit. | Float | 0 | 
true | 
start-yaw-offset | 
Since 4.0 Beta 14. Alias for start-horiz-offset. | 
Float | 0 | 
true | 
start-pitch-offset | 
Since 4.0 Beta 14. Offset in degrees for the start pitch of the orbit. | Float | 0 | 
true | 
start-angle-offset | 
Since 4.0 Beta 14. Offset in degrees for the starting angle of the orbit. Positive values follow in the direction of the orbit. | Float | 0 | 
true | 
lock-start-yaw | 
Since 4.0 Beta 14. If true, the starting yaw is locked to 0 before offsets. When false, the start yaw is derived from the starting location. | 
Boolean | false | 
true | 
lock-start-pitch | 
Since 4.0 Beta 14. If true, the starting pitch is locked to 0 before offsets. When false, the start pitch is derived from the starting location. | 
Boolean | true | 
true | 
follow-pitch | 
Since 4.0 Beta 14. If true, the orbit's pitch is changed to following pitch changes from the targeted entity. | 
Boolean | false | 
true | 
follow-yaw | 
Since 4.0 Beta 13. If true, the orbit is adjusted as the target changes yaw. | 
Boolean | false | 
true | 
immune-ticks | 
Since 4.0 Beta 14. If immune-ticks >= 0, entities hit by the orbit are immune from collisions for the amount of ticks specified by the option. | 
Integer | -1 | 
true | 
constant-immune-ticks | 
Since 4.0 Beta 14. If false, immune-ticks is resolved per hit entity, instead of once at the start of the orbit. | 
Boolean | true | 
true | 
vert-expand-radius | 
Defines how much to expand the orbit radius vertically. (requires vert-expand-delay) | 
Float | 0 | 
true | 
horiz-expand-radius | 
Defines how much to expand the orbit radius horizontally. (requires horiz-expand-delay) | 
Float | 0 | 
true | 
seconds-per-revolution | 
Defines how many seconds it takes the orbit to make a full circle. Since 4.0 Beta 14 this may be 0 to create stationary orbits. It is also now rounded to the nearest tick-interval / 20 ticks. For example, with tick-interval: 1, 0.06 is rounded to 0.05; with tick-interval: 10, 5.7 is rounded to 5.5. | 
Float | 3 | 
true | 
stop-on-hit-entity | 
Defines if the orbit should disappear when it hits an entity. | Boolean | false | 
true | 
stop-on-hit-ground | 
Defines if the orbit should disappear when it hits the ground. | Boolean | false | 
true | 
counter-clockwise | 
Defines if the orbit should rotate in a reverse way. | Boolean | false | 
true | 
require-entity-target | 
Defines if the orbit should rotate around an entity target. | Boolean | true | 
true | 
interactions | 
Since 4.0 Beta 14. Interactions define what happens when this orbit collides with another. | Projectile Interaction List | false | 
|
spell | 
Sub-spell to cast at the orbit location. | String | false | 
|
spell-on-hit-ground | 
Sub-spell to cast at the orbit location when it hits the ground. | String | false | 
|
spell-on-hit-entity | 
Sub-spell to cast at the entity target. | String | false | 
Astral-Spheres:
    spell-class: ".MultiSpell"
    name: "Astral Spheres"
    cast-item: bone
    cooldown: 20
    cost:
        - mana 25
    str-cost: "25 Mana"
    permission-name: astral_spheres
    spells:
        - ORBIT_ASTRAL_SPHERES_1
        - ORBIT_ASTRAL_SPHERES_2
        - ORBIT_ASTRAL_SPHERES_3
ORBIT_ASTRAL_SPHERES_1: &astralSphere
    spell-class: ".targeted.OrbitSpell"
    helper-spell: true
    permission-name: astral_spheres
    target-self: true
    horiz-expand-delay: 2
    horiz-expand-radius: 0.025
    vert-expand-delay: 2
    vert-expand-radius: 0.01
    start-horiz-offset: 0
    hit-radius: 1.25
    vertical-hit-radius: 1.25
    seconds-per-revolution: 3
    orbit-radius: 2
    tick-interval: 1
    max-duration: 10
    y-offset: 0.25
    stop-on-hit-entity: true
    stop-on-hit-ground: true
    can-hit:
        - players
        - nonplayers
    spell: FORCEBOMB_ASTRAL_SPHERES
    spell-on-hit-entity: DMG_ASTRAL_SPHERES
    spell-on-hit-ground: EFF_ASTRAL_SPHERES_GROUND
    effects:
        eff1:
            position: special
            effect: effectlib
            effectlib:
                class: SphereEffect
                particle: REDSTONE
                color: FF00FF
                iterations: 1
                radius: 0.25
                particles: 15
                period: 0
                visibleRange: 100
        eff2:
            position: special
            effect: effectlib
            effectlib:
                class: SphereEffect
                particle: REDSTONE
                color: 9400D3
                iterations: 1
                radius: 0.5
                particles: 15
                period: 0
                visibleRange: 100
ORBIT_ASTRAL_SPHERES_2:
    <<: *astralSphere
    start-horiz-offset: 120
ORBIT_ASTRAL_SPHERES_3:
    <<: *astralSphere
    start-horiz-offset: 240
FORCEBOMB_ASTRAL_SPHERES:
    spell-class: ".targeted.ForcebombSpell"
    helper-spell: true
    permission-name: astral_spheres
    radius: 3
    pushback-force: -5
    additional-vertical-force: 2
    max-vertical-force: 2
    can-target: players,nonplayers
EFF_ASTRAL_SPHERES_GROUND:
    spell-class: ".targeted.DummySpell"
    helper-spell: true
    permission-name: astral_spheres
    effects:
        eff1:
            position: target
            effect: particles
            particle-name: explosion_large
            horiz-spread: 0.5
            vert-spread: 0.5
            count: 5
            speed: 0
DMG_ASTRAL_SPHERES:
    spell-class: ".targeted.PainSpell"
    helper-spell: true
    permission-name: astral_spheres
    damage: 3
    check-plugins: true
    ignore-armor: false
    can-target: players,nonplayers
    effects:
        eff1:
            position: target
            height-offset: 0.75
            effect: particles
            particle-name: explosion_large
            horiz-spread: 0.3
            vert-spread: 0.3
            count: 2
            speed: 0GrandSaviorOrbit1:
    spell-class: ".targeted.OrbitSpell"
    target-self: true
    hit-radius: 1
    seconds-per-revolution: 5
    orbit-radius: 2
    tick-interval: 1
    max-duration: 10
    y-offset: 0.25
    stop-on-hit-entity: false
    stop-on-hit-ground: false
    start-horiz-offset: 0
    effects:
        eff1:
            position: projectile
            effect: armorstand
            armorstand:
                mainhand: golden_sword
                right-arm-angle: 1.4,-0.2,0
                visible: false
                gravity: false