List of Actions - Jackiecrazy/CombatCircle GitHub Wiki
All actions naturally have a condition
that determines whether they can trigger and a repeatable
condition that determines whether the action can trigger multiple times in a single moveset execution.
Unless otherwise stated, all arguments are mandatory, and all action lists are optional.
Timer Actions
All timer actions have a max_time
attribute that determines how many ticks the timer action will run for.
combatcircle:wait
Do nothing for the specified number of ticks.
Accepts a list of actions under waiting
that is checked and executed every tick, in order from top to bottom.
combatcircle:add_velocity
Add a velocity vector to the entity.
Accepts a direction
vector that determines the direction and force.
Accepts lists of actions
- under
on_launch
that is checked and executed once at the moment of launch. - under
tick
that is checked and executed on every tick of action, regardless of whether the entity is airborne. - under
on_land
that is checked and executed once if the mob touches the ground at any time before the timer action elapses.
combatcircle:move_to
Makes the entity walk towards a position.
Accepts
- a
position
vector to determine where it should walk to. - a
speed_modifier
number argument that multiplies the mob's walk speed for this action. Defaults to 1. 1.3 is the approximate sprinting speed.
Accepts lists of actions
- under
on_start
that is checked and executed once at the moment of launch. - under
tick
that is checked and executed on every tick.
combatcircle:project_hitbox
Repeatedly scans for mobs nearby that fulfill particular criteria, operating on these mobs with a customizable cooldown.
Accepts
- a list of actions
actions
to execute onto found entities. - a
hit_cooldown
integer that limits how often the effects inactions
apply to entities. For example, setting this to 3 means a given entity can be affected once per 3 ticks. Defaults to 0 (once only). - a
range
number argument that determines how far the mob should look. - a
width
number argument that determines how wide the mob should look. - a
filter
filter argument that determines how the scanned mobs are filtered out. - a
position
vector that determines where the search starts. - a
vector
vector that determines where the projected hitbox should extend. - a
selector
argument to find mobs.
A selector argument takes the following parameters:
- a sweep type enum
shape
. Supports the following shapes: NONE, CONE, CLEAVE, LINE, CIRCLE. - NONE only checks the current target with conditions.
- CONE searches in a conical area with horizontal angle of
width
(in degrees) and vertical angle of 40 degrees. - CLEAVE searches in a conical area with vertical angle of
width
(in degrees) and horizontal angle of 40 degrees. - LINE searches in a cylinder from
position
and extending in the direction ofvector
, reaching up torange
and with a width ofwidth
. - CIRCLE searches around the
position
in a sphere of radiuswidth
.range
is ignored.
Instant Actions
combatcircle:store_number
Stores a number into the moveset user's persistent data.
Accepts
- a
value
parameter that will be written. - an
into
parameter that can be used to retrieve the number later.
combatcircle:store_vector
Stores a vector into the moveset user's persistent data.
Accepts
- a
value
parameter that will be written. - an
into
parameter that can be used to retrieve the vector later.
combatcircle:store_entity
Stores an entity into the moveset user's persistent data.
Accepts
- a
value
parameter that will be written. - an
into
parameter that can be used to retrieve the entity later.
combatcircle:debug
Prints the current performer and target into the console. Useful for debugging certain actions that change ownership.
combatcircle:deal_damage
Deals damage to the target.
Accepts
- an
amount
number argument that determines the amount of damage dealt. - a
damage_source
.
Accepts lists of actions
- under
on_hit
that is checked and run once regardless of whether the entity took any damage. - under
on_damage
that is checked and run once if the entity takes damage from the attack. - under
on_kill
that is checked and run once if the entity has less than 0 health or is otherwise dead after taking damage.
The damage_source
accepts the following parameters:
- a
source
, defaults to the moveset owner. - a
proxy
, used to denote indirect damage such as through arrows. Defaults to the moveset owner. - a
typing
. Can be PHYSICAL, MAGICAL, or TRUE. Physical bypasses damage cooldown, magical additionally bypasses guardian thorns, shields, and armor, and true bypasses resistance, potions, enchantments, and doesn't sync velocity. - a
crit
condition. The damage will be treated as a critical hit if this resolves to true. - a
crit_damage
number argument, defaults to 1.5, and is applied to both health and posture damage on crit. - an
equip
item argument. Defaults to the main hand item. - a
posture_damage
number argument for use with Project: War Dance. This value overrides the weapon's value, if provided. Defaults to -1 (use item posture damage, or mob posture damage if neither exist)