Skip to content
JasperLorelai edited this page Jul 18, 2023 · 18 revisions

Source Code

Targeted spell that creates an orbit rotating around the target.

Configuration:

Option Description Default Value
can-hit Target list. null
max-duration Max duration of the orbit (in seconds). 20
tick-interval How often to play the particle effect and check hitboxes (in ticks) 2
vert-expand-delay How often to expand the orbit vertically. (in ticks) (requires vert-expand-radius) 0
horiz-expand-delay How often to expand the orbit horizontally. (in ticks) (requires horiz-expand-radius) 0
y-offset Modifies the start height location. 0.6
hit-radius How far from the center of the orbit to look for entities to hit. 1
vertical-hit-radius How far vertically from the center of the orbit to look for entities to hit. 1
orbit-radius How far from the center of the start location should the orbit be? 1
start-horiz-offset Modifies the start location by rotating it around the defined angle. 0
vert-expand-radius How much to expand the orbit radius vertically?. (requires vert-expand-delay) 0
horiz-expand-radius How much to expand the orbit radius horizontally?. (requires horiz-expand-delay) 0
seconds-per-revolution How many seconds does the orbit need to make a full circle? 3
stop-on-hit-entity Should the orbit disappear when it hits an entity? false
stop-on-hit-ground Should the orbit disappear when it hits the ground? false
counter-clockwise Should the orbit rotate in a reverse way? false
require-entity-target Should the orbit rotate around an entity target? true
spell Sub-spell to cast at the orbit location. ""
spell-on-hit-ground Sub-spell to cast at the orbit location when it hits the ground. ""
spell-on-hit-entity Sub-spell to cast at the entity target. ""

Examples:

Example 1:

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
    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_3:
    <<: *astralSphere
    start-horiz-offset: 240
    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
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: 0

Example 2:

GrandSaviorOrbit1:
    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
Clone this wiki locally