Effect Reference
Use this for reference when creating/editing effects inside actives and passives
## Contents > - [General Information](#general) > - [Data Types](#data) > - [Special Nodes](#special) > - [Effects](#effects) > - [apply-buff](#apply-buff) > - [attack](#attack) _(not yet implemented)_ > - [boost](#boost) > - [change-blocks](#change-blocks) > - [damage-reduction](#damage-reduction) _(not yet implemented)_ > - [direct-damage](#direct-damage) > - [drop-change](#drop-change) > - [impulse](#impulse) > - [lightning](#lightning) > - [manipulate-item](#manipulate-item) > - [set-combat-state](#set-combat-state) > - [teleport](#teleport) _(not yet implemented)_ > - [transmute-item](#transmute-item) > - [trigger-active](#trigger-active) > - [Examples](#examples)Effects are specified by a YML node named like the effect, and optionally postfixed with anything for uniqueness inside a single parent node. There are a variety of subnodes you can specify inside the effect definition, some are common to all effects, many more are specific to the effect. In this section the data types will be elaborated upon, after that all common nodes will be given with its data type and an example. Omitted nodes will use their default value.
-
float
can be any decimal number -
int
can be any signed integer -
string
can be any string -
boolean
can betrue
orfalse
-
string list
orint list
uses a yml list (opened and closed with[
and]
respectively) containing the given data type -
material
can be either of- material IDs (
1
for stone,262
for arrow) - bukkit material names, any capitalization (
STONE
for stone,IRON_SWORD
oriron_sword
for an iron sword)
- material IDs (
-
material list
is a list that can containmaterial
entries, as well as the following material group shortcutsswords
[WOOD_SWORD,STONE_SWORD,IRON_SWORD,DIAMOND_SWORD]
axes[WOOD_AXE,STONE_AXE,IRON_AXE,DIAMOND_AXE]
pickaxes,picks[WOOD_PICKAXE,STONE_PICKAXE,IRON_PICKAXE,DIAMOND_PICKAXE]
shovels,spades[WOOD_SPADE,STONE_SPADE,IRON_SPADE,DIAMOND_SPADE]
hoes[WOOD_HOE,STONE_HOE,IRON_HOE,DIAMOND_HOE]
empty,fists,unarmed,barehanded[AIR]
examples:
[1,17,262,272]
or[STONE,LOG,arrow,IRON_sword]
or[1,LOg,ARROW,272]
to refer to stone, log, arrow and iron sword[swords,picks]
to refer to all swords and pickaxes
[stone,17,ARROW,SWords]
to refer to stone, log, arrow and all swords
value
type: float
or int
default: 0
notes: converted to proper type depending on the effect, affected by potency
chance
type: float
between 0.0 and 1.0
default: 0
notes: probability of the effect activating
tools
type: material list
default: []
notes: If the list is not empty, the effect only works if the player has one of the specified items in his hand.
versus
type: material list
default: []
notes: If the list is not empty, the effect only works if the effect is either used on a block of one of the specified types, or if it is used on another player that holds one of the specified items in his hand
delay
type: int
default: 0
notes: delay until effect is activated, in serverticks (20 ticks = 1 second)
level-based
type: string list
default: []
notes: The specified subnodes in the effect are scaled depending on the joblevel of the one using it. The original subnode value is treated as the value at maximum level. So for example with level-based: [chance]
and chance: 0.4
and a the effect would have a maximum chance of 0.4 (or 40%) at maxlevel, which would translate into 0.04 (or 4%) per level for use in a job with a maxlevel of 10, or 0.02 (or 2%) per level for a job with a maxlevel of 20.
conditions
type: string list
default: []
notes: Only activates the effect if one of the conditions specified is met. Possible conditions include:
-
attacking
triggers in combat if you are attacking someone -
defending
triggers in combat if you are attacked -
backstab-offensive
triggers in combat if you attack someone from behind -
backstab-defensive
triggers in combat if you are attacked from behind -
highground-offensive
triggers in combat if you are attacking from at least 3 blocks higher than your target -
highground-defensive
triggers in combat if you are attacked from at least 3 blocks lower than your position -
day
triggers if the sun is up -
night
triggers if the sun is down -
rain
triggers when it is raining (not in desert or winter biomes) -
snow
triggers when it is snowing (not in desert or non-winter biomes) -
clear
triggers when it is not raining (or in desert biomes)
self
type: boolean
default: depends on the effect
notes: specifies if the effect acts on the user
target
type: boolean
default: depends on the effect
notes: specifies if the effect acts on the target (block or entity)
offset
type: int list
default: [0,0,0]
notes: if set and targeting a block, uses the block with the relative coordinates specified as the target block instead
format is [x,y,z]
+x direction is south or right (relative)
+z direction is east or back (relative)
+y direction is up
relative
type: boolean
default: false
notes: if true
offsets, directions and other things are taken relative to player direction and not as absolute world coordinates
attributes
type: string list
default: []
notes: not used yet, will specify the damage attribute of some damage cause (elemental damage, magic damage, physical damage,...)
inherited
type: boolean
default: false
notes: If true
the effect can be inherited (for more information see the inheritance section in the jobs page)
note that level-based,chance, conditions, tools and versus are available for every effect
The defaults for certain subnodes are enclosed in ()
name
type:string
notes: refers to any defined passiveduration
type:int
notes: the duration of the effect in seconds, affected by potency
required: name, duration
optional: delay, self (true), target (false)
name
type:string
notes: stat name can be prefixed byanti-
to work against the corresponding stat ( for exampleanti-crit-chance
reduces the opponents crit chance). Possible stats include:
crit-chance
,crit-multiplier
,damage-modifier
,evade-chance
,evade-efficiency
,parry-chance
,parry-efficiency
,roll-chance
,roll-manual-window
,roll-damage-reduction
,fall-damage-modifier
,durability-recovery-chance
required: name, value
optional: tools, versus, inherited, level-based
change-to
type:material
default:AIR
whitelist
type:material-list
notes: if set, only changes the specified block typesblacklist
type:material-list
notes: if set, does not change the specified blocks, but whitelist has priority, not used yettemporary
type:boolean
default:false
notes: iftrue
the block reverts back to its original stateduration
type:int
default:0
notes: the duration in serverticks (20 ticks = 1 second) after which each block reverts to its original staterevert-mode
type:string
default:fifo
notes: the way in which the total structure reverts if a shape is selected
fifo
reverts in the same order as the blocks were changed
lifo
reverts in reverse order
lifo+
reverts in reverse order, faster thanlifo
random
reverts in reverse order with random speed
instant
reverts all blocks at once after the set durationprotect
type:boolean
default:false
notes: iftrue
the changed blocks cannot be destroyed/filled until they revert to their original stateshape
type:string
notes: if set, changes multiple blocks using the specified shape. Available shapes:
line
,cross2D
,cross3D
,circle
,sphere
event
type:boolean
default:false
notes: iftrue
and used by a player, triggers either aBlockBreakEvent
if change-to is set toAIR
or aBlockPlaceEvent
, therefore the changes are sent to other plugins as if the player had directly tried to break/place the given block, in this way WorldGuard for example can prevent the changes if used in a protected zone. Recommended for non-temporary changes.cascade-blocks
type:boolean
default:false
notes: iftrue
and a shape is selected, does not change all blocks at once, but one-by-oneblock-delay
type:int
notes: if used in conjunction with cascade-blocks, this is the delay between each block change in servertickscascade-parts
type:boolean
default:false
notes: iftrue
and a shape with multiple parts is selected, does not change all parts at once, but one after anotherpart-delay
type:int
notes: if used in conjunction with cascade-parts, this is the delay between each part change in serverticks
required:
optional: delay, change-to, whitelist, blacklist, temporary, duration, revert-mode, protect, shape, event, cascade-blocks, block-delay, cascade-parts, part-delay
see here for additional subnodes specific to shapes
factor
type:float
default:1
notes: meaning varies withmode
, affected by potencyitems
type:material list
default:[]
notes: specifies the materials to dropamounts
type:int list
default:[]
notes: specifies the amount of eachmaterial
entry initems
mode
type:string
default:multiply
notes: sets the mode in which the effect works
multiply
multiplies the dropped amounts by factor (rounded)
add
drops a stack of one or all ofitems
in addition to normal drops
replace
drops a stack of one or all of items instead of normal drops
the amount per stack foradd
andreplace
is taken from amounts (which needs to be the same length as items)
_the corresponding entry gets multiplied by factorall
type:boolean
default:true
notes: iftrue
drops allitems
, iffalse
only drop one of them by random choice
required:
optional: mode, factor, items, amounts, all
damaging
type:boolean
default:false
notes: iftrue
the lightning strike causes damage and fire
required:
optional: delay, offset, relative, damaging
action
type:string
notes: how to handle the item, can be:
drop
,destroy
,steal
location
type:string list
notes: where to manipulate items, can be:
hand
,quickbar
(includeshand
),inventory
,armor
(all armor parts),boots
,leggings
,chestplate
,helmet
all
type:boolean
default:false
notes: iffalse
, one stack is chosen at random from all stacks inside the specified locationsamount
type:int
default: the whole stack
notes: how much of each stack is affected, if bigger than the stack size, the whole stack is affectedprotected-for
type:int
default:0
notes: how many seconds the item cannot be picked up by players if action is set todrop
whitelist
type:material list
default:[]
notes: if a whitelist is specified, only stacks of the given materials are taken into accountblacklist
type:material list
default:[]
notes: if a blacklist is specified, given materials are ignored. No effect if whitelist is specified.
required: action, location
optional: all, amount, protected-for, self (false
), target (true
)
from
type:material list
default:[]
from-amounts
type:int list
default:[]
notes: each entry corresponds to one entry of fromto
type:material list
default:[]
to-amounts
type:int list
default:[]
notes: each entry corresponds to one entry of toconsume-all
type:boolean
default:false
notes: iffalse
, not all items in from are consumed, only the one held in hand, or if not applicable one chosen at randomrandom-result
type:boolean
default:false
notes: iftrue
not all items in to are created, only one chosen at random
required: from, from-amounts, to, to-amounts
optional: consume-all, random-result
action
type:string
notes: can be the name of any active definedon-movement
type:boolean
default:false
notes: iftrue
, can trigger on a player moving from one block to anotherfrom
type:material list
default:[]
notes: for on-movement, specifies upon leaving which blocks the effect triggers, works like tools. To make the effect trigger upon arrival onto specific blocks, use versus
required: action
optional: on-movement, from, delay