-
Notifications
You must be signed in to change notification settings - Fork 0
5. Spell Actions JSON Formats
AI Actions
Attribute Actions
Control Flow Actions
Delayed Spell Actions
Effect Actions
FX Actions
Item Actions
Level (World) Actions (WIP)
Mana Actions
Target Actions
Variable Actions (WIP)
Variable / Mapped Unary Functions Actions (WIP)
Variable / Mapped Binary Functions Actions (WIP)
Variable / Mapped Ternary Functions Actions (WIP)
Make a mob forget their current target they are attacking or following.
JSON Format:
Elements:
-
ts/mobs: All living entity targets (must be mobs) that should forget their current attack target.
Get the current target a mob is attacking or following.
JSON Format:
{
"type": "spells_and_shields:get_mob_target",
"activation": String,
"t/source": String,
"td/target": String,
"var/has_target": String
}Elements:
-
t/source: The living entity target (mob) to get the target from. -
td/target: The target group to put the mob's target into (if such a target exists). -
var/has_target: The boolean variable to storetruein if such a target exists, orfalseif it does not exist.
Set the attack target of mobs to a specific living entity.
JSON Format:
{
"type": "spells_and_shields:set_mob_target",
"activation": String,
"t/target": String,
"ts/mobs": String
}Elements:
-
t/target: The living entity target all mobs should attack. -
ts/mobs: All living entity targets (mobs) that should attack the set target.
Check whether an object of a set type is tagged with a specific tag.
JSON Format:
{
"type": "spells_and_shields:check_tag",
"activation": String,
"string/registry_id": String,
"d/string/tag": String,
"d/string/entry_id": String
}Elements:
-
string/registry_id: The registry ID the object belongs to. -
d/string/tag: The tag to check for. -
d/string/entry_id: The ID of this object in the registry.
Get the value of an attribute of a living entity. See https://minecraft.fandom.com/wiki/Attribute
JSON Format:
{
"type": "spells_and_shields:get_attribute_value",
"activation": String,
"t/target": String,
"d/string/attribute": String,
"var/amount": String,
"var/default_amount": String
}Elements:
-
t/target: The living entity target to get the attribute value from. -
d/string/attribute: The ID of the attribute to get the value from. -
var/amount: The variable to store the current value in. -
var/default_amount: The variable to store the default value in (attribute modifiers are ignored).
Get the extra tag of an entity. The extra tag is a way to permanently store information.
JSON Format:
{
"type": "spells_and_shields:get_entity_extra_tag",
"activation": String,
"t/source": String,
"var/compound_tag": String
}Elements:
-
t/source: The entity to get the extra tag from. -
var/compound_tag: The variable to store the extra tag in.
Get the eye position of an entity. The actual position of eg. the player is at the bottom of the feet while the eye position is usually at the center of the head (higher).
JSON Format:
{
"type": "spells_and_shields:get_entity_eye_position",
"activation": String,
"t/source": String,
"td/eye_position": String
}Elements:
-
t/source: The entity target to get the eye position from. -
td/eye_position: The target group to store the eye position in (stored as position).
Get the position, look direction, and motion (per tick) of an entity.
JSON Format:
{
"type": "spells_and_shields:get_entity_position_direction",
"activation": String,
"t/source": String,
"td/position": String,
"var/direction": String,
"var/motion": String
}Elements:
-
t/source: The entity to get these attributes from. -
td/position: The target group to store the position in (position target). -
var/direction: The variable to store the look vector in. -
var/motion: The variable to store the motion in.
Save the entity to an NBT Compound Tag to get information otherwise not accessible via spell actions.
JSON Format:
{
"type": "spells_and_shields:get_entity_tag",
"activation": String,
"t/source": String,
"var/compound_tag": String
}Elements:
-
t/source: The entity to get information from. -
var/compound_tag: The variable to store the NBT Compound Tag in the entity has been saved to.
Get the ID of an entity and whether or not it is a player and/or a living entity.
JSON Format:
{
"type": "spells_and_shields:get_entity_type",
"activation": String,
"t/source": String,
"var/entity_type": String,
"var/is_living": String,
"var/is_player": String
}Elements:
-
t/source: The entity to get information from. -
var/entity_type: The variable to store the ID of the entity in. -
var/is_living: The variable to storetruein if the entity is a living entity (it has health),falseif it is not a living entity (eg. a painting). -
var/is_player: The variable to storetruein if the entity is a player,falseotherwise.
Get the UUID of an entity.
JSON Format:
{
"type": "spells_and_shields:get_entity_uuid",
"activation": String,
"t/source": String,
"var/uuid": String
}Elements:
-
t/source: The entity to get the UUID from. -
var/uuid: The variable to store the UUID in (as a String).
Get whether or not the player is in creative mode.
JSON Format:
{
"type": "spells_and_shields:get_is_creative",
"activation": String,
"t/source": String,
"var/is_creative": String
}Elements:
-
t/source: The player target. -
var/is_creative: The variable to store the result in,trueif the player is in creative mode,falseotherwise.
Get (copy) the position of a target. If said target is moved the new target will not change and will still point to the original position.
JSON Format:
{
"type": "spells_and_shields:get_position",
"activation": String,
"t/source": String,
"var/position": String
}Elements:
-
t/source: The target to get the position from. -
var/position: The target group to store the position in.
Enable another activation.
JSON Format:
{
"type": "spells_and_shields:activate",
"activation": String,
"a/to_activate": String
}Elements:
-
a/to_activate: The other activation to enable.
Enable and/or disable an activation based on the given boolean value.
JSON Format:
{
"type": "spells_and_shields:boolean_activation",
"activation": String,
"a/to_activate": String,
"d/boolean/input": Boolean,
"d/boolean/activate_if_true": Boolean,
"d/boolean/deactivate_if_false": Boolean
}Elements:
-
a/to_activate: The activation to enable and/or disable. -
d/boolean/input: The boolean input influencing whether or not theto_activateactivation is enabled/disabled. -
d/boolean/activate_if_true: If this istrueandinputistruethento_activategets enabled, otherwise nothing happens. -
d/boolean/deactivate_if_false: If this istrueandinputisfalsethento_activategets disabled, otherwise nothing happens.
Jumps to a set label if a given conditional is true.
JSON Format:
{
"type": "spells_and_shields:branch",
"activation": String,
"label": String,
"d/boolean/conditional": Boolean
}Elements:
-
label: The name of the label. -
d/boolean/conditional: If this istruethe next action executed is the one after the given label, otherwise the next action executed is the one following this one.
Enable an activation based on the given boolean value.
JSON Format:
{
"type": "spells_and_shields:conditional_activation",
"activation": String,
"a/to_activate": String,
"d/boolean/condition": Boolean
}Elements:
-
a/to_activate: The activation to enable. -
d/boolean/condition: If this istruethen the given activation is enabled, otherwise nothing happens.
Enable disable the activation based on the given boolean value.
JSON Format:
{
"type": "spells_and_shields:conditional_deactivation",
"activation": String,
"d/boolean/condition": Boolean
}Elements:
-
d/boolean/condition: If this istruethen the activation this action is based on is disabled.
Disable an activation.
JSON Format:
{
"type": "spells_and_shields:deactivate",
"activation": String,
"a/to_deactivate": String
}Elements:
-
a/to_deactivate: The activation to disable.
Jump to a set label. The next action executed will be the one right after the label action.
JSON Format:
{
"type": "spells_and_shields:jump",
"activation": String,
"label": String
}Elements:
-
label: The name of the label.
Set a label at the position of this action.
JSON Format:
{
"type": "spells_and_shields:label",
"activation": String,
"label": String
}Elements:
-
label: The name of the label to set.
End the execution of this spell. No more actions will be executed after this.
JSON Format:
{
"type": "spells_and_shields:terminate"
"activation": String
}Add a delayed spell instance to targets. It will execute the spell again for each target with a set activation after a set period of time. It also allows you to hook into events of targets that do not have the spell equipped.
JSON Format:
{
"type": "spells_and_shields:add_delayed_spell",
"activation": String,
"ts/targets": String,
"ad/on_remove": String,
"d/int/tick_time": Integer,
"d/string/uuid": String,
"d/compound_tag/extra_data": NBT Compound Tag,
"events_map": Optional Events Map
}Elements:
-
ts/targets: The targets to apply this delayed spell instance to (applied to each target). -
ad/on_remove: The activation to fire when this delayed spell is removed (when the time ran out). -
d/int/tick_time: The time in ticks after which to remove this delayed spell. -
d/string/uuid: The UUID for this delayed spell instance used for identification. This value may be left empty but it may not be left out entirely. If an invalid UUID is specified a random one will be generated insteadfor each delayed spell instance attached. -
d/compound_tag/extra_data: An NBT Compound Tag to supply extra data for future use. This value may be left empty but it may not be left out entirely. -
events_map: A JSON Object with keys and values being strings. Every key/value pair represents an event (key) that is executed under a differently named activation (value) from the perspective of the target the delayed spell is attached to. Eg.{"living_hurt_victim": "target_hurt_victim"}results in the activationtarget_hurt_victimbeing fired when a target would fire aliving_hurt_victimevent. This way you can differentiate between the owner of the spell and any delayed spell target firing this event (every target that would reference the owner instead references said target).
Check whether or not a target entity has a delayed spell instance with a certain UUID attached.
JSON Format:
{
"type": "spells_and_shields:check_has_delayed_spell",
"activation": String,
"t/target": String,
"d/string/uuid": String
}Elements:
-
t/target: The entity target to check. -
d/string/uuid: The UUID to look for.
Remove a delayed spell instance based on a UUID from a target entity.
JSON Format:
{
"type": "spells_and_shields:remove_delayed_spell",
"activation": String,
"ts/targets": String,
"d/string/uuid": String,
"d/boolean/force_activate": Boolean
}Elements:
-
ts/targets: The targets to remove the delayed spell instance from. -
d/string/uuid: The UUID of the delayed spell instance to remove. -
d/boolean/force_activate: Set totrueto fire the on-removal event of the delayed spell instance,falseto just remove it without any activations.
Apply attribute modifiers to entities permanently. See https://minecraft.fandom.com/wiki/Attribute#Modifiers
JSON Format:
{
"type": "spells_and_shields:add_attribute_modifier",
"activation": String,
"ts/targets": String,
"d/string/attribute": String,
"d/string/uuid": Optional String,
"d/string/name": String,
"d/double/amount": Double,
"d/string/operation": String
}Elements:
-
ts/targets: The living entity targets to apply the modifier on. -
d/string/attribute: The attribute ID. -
d/string/uuid: The UUID of the modifier used for identification (eg. to remove it again). This may be left out which results in a randomly generated UUID being used instead. -
d/string/name: The name of this modifier. -
d/double/amount: The amount changed. -
d/string/operation: How the amount impacts the total amount. The allowed values areadd,multiply_base, andmultiply_total(referenced asmultiplyin the wiki).
Override the extra tag of an entity. The extra tag is a way to permanently store information. Since other spells use this as well, you should override this by first getting the current extra tag of the entity (instead of making a new empty one), then adding your data to that, then overriding it. This way you do not wipe data of other spells.
JSON Format:
{
"type": "spells_and_shields:apply_entity_extra_tag",
"activation": String,
"ts/targets": String,
"d/compound_tag/tag": NBT Compound Tag
}Elements:
-
ts/targets: The entity targets to apply this extra tag to. -
d/compound_tag/tag: The extra tag to apply.
This actions is used to apply entity specific attributes to an entity. Basically the entity is stored to an NBT tag, this tag is then merged with the tag supplied by this action with any key-value pair of this action overriding the ones of the tag the entity was saved to, then the entity is loaded again from this new merged tag. See https://minecraft.fandom.com/wiki/Entity_format
JSON Format:
{
"type": "spells_and_shields:apply_entity_tag",
"activation": String,
"ts/targets": String,
"d/compound_tag/tag": NBT Compound Tag
}Elements:
-
ts/targets: The entity targets to apply the tag to. -
d/compound_tag/tag: The NBT tag containing the values to apply to the entity.
Apply a mob effect to entities (eg. Haste, Poison, ...). See https://minecraft.fandom.com/wiki/Effect#Effect_list
JSON Format:
{
"type": "spells_and_shields:apply_mob_effect",
"activation": String,
"ts/targets": String,
"d/string/mob_effect": String,
"d/int/duration": Integer,
"d/int/amplifier": Integer,
"d/boolean/ambient": Boolean,
"d/boolean/visible": Boolean,
"d/boolean/showIcon": Boolean
}Elements:
-
ts/targets: The living entity targets to apply the mob effect on. -
d/string/mob_effect: The ID of the mob effect. -
d/int/duration: The duration in ticks. -
d/int/amplifier: The amplifier starting at0. -
d/boolean/ambient:trueif this effect has come from an ambient source (eg. Beacon, Conduit, ...),falseotherwise. -
d/boolean/visible:trueto make this effect spawn ambient particles around the entity,falseto not spawn any. -
d/boolean/showIcon:trueto show this icon show on the client in the inventory,falseto not show it.
Apply a potion effect to entities. See https://minecraft.fandom.com/wiki/Potion#Data_values
JSON Format:
{
"type": "spells_and_shields:apply_potion_effect",
"activation": String,
"ts/targets": String,
"d/string/potion": String
}Elements:
-
ts/targets: The living entity targets to give the potion to. -
d/string/potion: The ID of the potion.
Deal magic damage to entities without a specified source.
JSON Format:
{
"type": "spells_and_shields:damage",
"activation": String,
"ts/targets": String,
"d/double/damage": Double
}Elements:
-
ts/targets: The living entity targets to deal damage to. -
d/double/damage: The amount of damage.
Heal entities.
JSON Format:
{
"type": "spells_and_shields:heal",
"activation": String,
"ts/targets": String,
"d/double/healing_amount": Double
}Elements:
-
ts/targets: The living entity targets to heal. -
d/double/healing_amount: The amount to heal.
Knock back target entities in a given direction.
JSON Format:
{
"type": "spells_and_shields:knockback",
"activation": String,
"ts/targets": String,
"d/double/strength": Double,
"d/double/dx": Double,
"d/double/dz": Double
}Elements:
-
ts/targets: The living entity targets to knock back. -
d/double/strength: How strongly to knock them back. -
d/double/dx: The force along the x-axis (may be negative). -
d/double/dz: The force along the z-axis (may be negative).
Remove an attribute modifier from entities based on the attribute and the UUID.
JSON Format:
{
"type": "spells_and_shields:remove_attribute_modifier",
"activation": String,
"ts/targets": String,
"d/string/attribute": String,
"d/string/uuid": String
}Elements:
-
ts/targets: The living entity targets to remove the attribute modifier from. -
d/string/attribute: The ID of the attribute. -
d/string/uuid: The UUID of the attribute modifier to remove.
Reset the fall distance of a living entity which results in less damage taken when hitting the ground. This does not stop the falling motion itself, but rather restarts the counter of the fall distance.
JSON Format:
{
"type": "spells_and_shields:reset_fall_distance",
"activation": String,
"ts/targets": String
}Elements:
-
ts/targets: The living entity targets to reset the fall distance for.
Set the motion of target entities.
JSON Format:
{
"type": "spells_and_shields:set_motion",
"activation": String,
"ts/targets": String,
"d/vec3/motion": Vector
}Elements:
-
ts/targets: The entity targets to set the motion for. -
d/vec3/motion: The motion vector.
Set living entities on fire for a specific amount of time.
JSON Format:
{
"type": "spells_and_shields:set_on_fire",
"activation": String,
"ts/targets": String,
"d/int/fire_seconds": Integer
}Elements:
-
ts/targets: The living entity targets to set on fire. -
d/int/fire_seconds: The time (in seconds) they burn.
Deal magic damage with a specified source.
JSON Format:
{
"type": "spells_and_shields:sourced_damage",
"activation": String,
"ts/targets": String,
"d/double/damage": Double,
"t/source": String
}Elements:
-
ts/targets: The living entity targets to deal damage to. -
d/double/damage: The amount of damage dealt. -
t/source: The source entity which is responsible for the damage.
Apply knockback to target entities coming from a specified source position.
JSON Format:
{
"type": "spells_and_shields:sourced_knockback",
"activation": String,
"ts/targets": String,
"d/double/strength": Double,
"t/source": String
}Elements:
-
ts/targets: The living entity targets to apply knockback to. -
d/double/strength: The amount of knockback. -
t/source: The source position the knockback came from.
Spawn an entity with all kinds of attributes. See https://minecraft.fandom.com/wiki/Entity_format
JSON Format:
{
"type": "spells_and_shields:spawn_entity",
"activation": String,
"td/entity": String,
"d/string/entity_type": String,
"t/position": String,
"d/vec3/direction": Vector,
"d/vec3/motion": Vector,
"d/compound_tag/tag": Optional NBT Compound Tag
}Elements:
-
td/entity: The target group to put the newly spawned entity in. -
d/string/entity_type: The ID of the entity type. -
t/position: The position target where to spawn the entity at. -
d/vec3/direction: The vector that represents the view vector of the spawned entity (the direction it looks). -
d/vec3/motion: The initial motion of the entity. -
d/compound_tag/tag: The nbt tag that the entity will be loaded from before spawning it in.
Teleport entities to a position.
JSON Format:
{
"type": "spells_and_shields:teleport_to",
"activation": String,
"ts/targets": String,
"t/position": String
}Elements:
-
ts/targets: The entity targets to teleport. -
t/position: The position target to teleport the entities to.
Attach a particle emitter to targets. See: https://minecraft.fandom.com/wiki/Particles
JSON Format:
{
"type": "spells_and_shields:particle_emitter",
"activation": String,
"ts/targets": String,
"d/int/duration": Integer,
"d/int/delay": Integer,
"d/int/amount": Integer,
"d/double/spread": Double,
"d/boolean/motion_spread": Boolean,
"d/vec3/offset": Vector,
"particle": Particle
}Elements:
-
ts/targets: The targets to apply the particle emitter to. -
d/int/duration: The time (in ticks) the emitter stays on the targets. -
d/int/delay: The delay between each emition of particles. Set to1to emit particles every tick, set to2to only emit particles every second tick, etc.. -
d/int/amount: The amount of times the particle is emitted on emition. -
d/double/spread: The diameter around the original position the particle may spawn in. -
d/boolean/motion_spread: Set totrueto spread out the particles along the motion-axis of the target this emitter is attached to (you usually want to do this, especially for projectiles),falseto have them all originate at the exact position of the source. -
d/vec3/offset: The position offset to apply. -
particle: The particle to emit.
Play a sound with set volume and pitch at specific positions. See: https://minecraft.fandom.com/wiki/Sounds.json#Sound_events
JSON Format:
{
"type": "spells_and_shields:play_sound",
"activation": String,
"ts/targets": String,
"d/string/sound_event": Sound Event,
"d/double/volume": Double,
"d/double/pitch": Double
}Elements:
-
ts/targets: Position targets to play the sound at. -
d/string/sound_event: What sound to play. -
d/double/volume: The volume. -
d/double/pitch: The pitch. Use1.0as default. If the sound is played a lot you might want some slight alterations, eg."<< 0.9 + 0.2 * random_double() >>"produces a valuexwith0.9 <= x < 1.1.
Spawn particles at a certain location.
JSON Format:
{
"type": "spells_and_shields:spawn_particles",
"activation": String,
"ts/targets": String,
"particle": Particle,
"d/int/count": Integer,
"d/double/spread": Double
}Elements:
-
ts/targets: Where to spawn the particles. -
particle: The particle to spawn. -
d/int/count: The amount of times it is spawned at every position. -
d/double/spread: The diameter around the positions the particles may spawn in.
Reduce the stack size of an item target by a certain amount. If the stack size is less than the set amount to reduce it by, it will be reduced to 0.
JSON Format:
{
"type": "spells_and_shields:consume_item",
"activation": String,
"ts/targets": String,
"d/int/amount": Integer
}Elements:
-
ts/targets: The item targets to reduce the stack size of. -
d/int/amount: The amount to reduce the stack size by.
Consume a certain item in a player's inventory and/or hands. The amount to consume can be set and you can also make the items have a certain NBT tag to be considered for consumption.
JSON Format:
{
"type": "spells_and_shields:consume_player_items",
"activation": String,
"t/source": String,
"d/string/item": String,
"d/int/amount": Integer,
"d/compound_tag/tag": Optional NBT Compound Tag,
"d/boolean/must_be_in_hand": Boolean
}Elements:
-
t/source: The target player to consume the item(s) of. -
d/string/item: The item ID. -
d/int/amount: The amount to consume. -
d/compound_tag/tag: The NBT compound tag to further filter items by. If this is left out the NBT tag of possible item stacks will be ignored and they will simply be consumed based on item ID. -
d/boolean/must_be_in_hand: Set totrueto only consider items in the player's hands,falseto consider the entire player inventory.
Apply damage to an item target.
JSON Format:
{
"type": "spells_and_shields:damage_item",
"activation": String,
"ts/targets": String,
"d/int/damage": Integer
}Elements:
-
ts/targets: The item targets to damage. -
d/int/damage: The amount of damage to apply.
Find specific items in a players' inventories and store them as targets.
JSON Format:
{
"type": "spells_and_shields:find_item",
"activation": String,
"ts/targets": String,
"d/boolean/must_be_in_hand": Boolean,
"item": Item Stack,
"td/found_items": String
}Elements:
-
ts/targets: The player targets to scan their inventories for items. -
d/boolean/must_be_in_hand: Set totrueto only check items in players' hands,falseto check entire inventories. -
item: The item to look for. -
td/found_items: The target group to store the matching items in as item targets.
Get the attributes (item ID, stack size, damage, tag) of an item target.
JSON Format:
{
"type": "spells_and_shields:get_item_attributes",
"activation": String,
"t/source": String,
"var/item": String,
"var/amount": String,
"var/damage": String,
"var/compound_tag": String
}Elements:
-
t/source: The item target to get the attributes from. -
var/item: The variable to store the item ID in. -
var/amount: The variable to store the item amount (stack size) in. -
var/damage: The variable to store the item damage in. -
var/compound_tag: The variable to store the item's NBT Compound Tag in.
Get the item tag of an item target.
JSON Format:
{
"type": "spells_and_shields:get_item_tag",
"activation": String,
"t/source": String,
"var/compound_tag": String
}Elements:
-
t/source: The item target to get the tag from. -
var/compound_tag: The variable to store the NBT Compound Tag in.
Give players items.
JSON Format:
{
"type": "spells_and_shields:give_item",
"activation": String,
"ts/targets": String,
"d/int/amount": Integer,
"d/int/damage": Integer,
"d/compound_tag/tag": Optional NBT Compound Tag,
"d/string/item": String
}Elements:
-
ts/targets: The player targets to give items to. -
d/int/amount: The amount every player gets (stack size). -
d/int/damage: The damage applied to every item. -
d/compound_tag/tag: The tag applied to every item. -
d/string/item: The item ID. IMPORTANT: The correct attribute key would be"d/string/item"but all implications of this key are already true (i.e. something like"item": "<<my_variable>>would work - dynamic values are permitted). This attribute will be fixed in the future.
Checks if a player has a specific item with a minimum stack size. If they do consume the required amount, otherwise disable the activation.
JSON Format:
{
"type": "spells_and_shields:item_check",
"activation": String,
"t/target": String,
"d/boolean/must_be_in_hand": Boolean,
"item": Item Stack
}Elements:
-
t/target: The player to check for the item. -
d/boolean/must_be_in_hand: Set totrueto only check items in hands, set tofalseto check the entire inventory. -
item: The item to look for and consume. Count (stack size) matters.
Check if a target item equals a set item. If they are not equal the current activation is disabled.
JSON Format:
{
"type": "spells_and_shields:item_equals",
"activation": String,
"t/target": String,
"item": Item Stack,
"d/boolean/ignore_tag": Boolean,
"d/int/minimum_count": Integer,
"d/int/minimum_durability": Integer
}Elements:
-
t/target: The target item to check. -
item: The item to compare it to. Durability and count (stack size) are ignored. Tag may be ignored depending on the next attribute. -
d/boolean/ignore_tag: Set totrueto ignore the items' NBT tags, set tofalseto include them in comparison (they have to be exactly equal). -
d/int/minimum_count: The minimum required count. Set to-1to ignore count. -
d/int/minimum_durability: The minimum required durability. Set to-1to ignore durability.
Check whether or not a player has an item which is tagged with a specific tag and then consume said item. If no matching item was found the current activation is disabled. See: https://minecraft.fandom.com/wiki/Tag
JSON Format:
{
"type": "spells_and_shields:item_tag_check",
"activation": String,
"t/target": String,
"d/boolean/must_be_in_hand": Boolean,
"item_tag": Item Tag,
"d/boolean/count": Boolean
}Elements:
-
t/target: The target player. -
d/boolean/must_be_in_hand: Set totrueto only check items in hands, set tofalseto check the entire inventory. -
item_tag: The tag to check for. -
d/boolean/count: The minimum required amount for matching items. This is also the amount that is consumed.
Check whether or not a target item is tagged with a specific item tag among other attributes. If not the current activation is disabled. See: https://minecraft.fandom.com/wiki/Tag
JSON Format:
{
"type": "spells_and_shields:item_tag_equals",
"activation": String,
"t/target": String,
"item_tag": Item Tag,
"d/int/minimum_count": Integer,
"d/int/minimum_durability": Integer
}Elements:
-
t/target: The item target to check. -
item_tag: The item tag said item must be tagged with. -
d/int/minimum_count: The minimum required count (stack size). Set to-1to ignore. -
d/int/minimum_durability: The minimum required durability. Set to-1to ignore.
Get the item in the main hand of a target player as an item target.
JSON Format:
{
"type": "spells_and_shields:mainhand_item_target",
"activation": String,
"t/source": String,
"td/item": String
}Elements:
-
t/source: The target player to get the item from their main hand. -
td/item: The target group to put the item target in.
Override certain attributes of a target item. A weaker alternative than the override_item action.
JSON Format:
{
"type": "spells_and_shields:modify_item",
"activation": String,
"t/target": String,
"d/int/amount": Integer,
"d/int/damage": Integer,
"d/compound_tag/tag": NBT Compound Tag
}Elements:
-
t/target: The item target to modify. -
d/int/amount: The new amount to set. Set to-1to keep the current amount. -
d/int/damage: The new damage to set (not durability). Set to-1to keep the current damage. -
d/compound_tag/tag: The new item tag to set.
Get the item in the offhand of a target player as an item target.
JSON Format:
{
"type": "spells_and_shields:offhand_item_target",
"activation": String,
"t/source": String,
"td/item": String
}Elements:
-
t/source: The target player to get the item from their offhand. -
td/item: The target group to put the item target in.
Override a target item. A stronger alternative than the modify_item action.
JSON Format:
{
"type": "spells_and_shields:override_item",
"activation": String,
"t/target": String,
"d/int/amount": Integer,
"d/int/damage": Integer,
"d/compound_tag/tag": NBT Compound Tag,
"d/string/item": String
}Elements:
-
t/target: The item target to override. -
d/int/amount: The new amount to set. Set to-1to keep the current amount. -
d/int/damage: The new damage to set (not durability). Set to-1to keep the current damage. -
d/compound_tag/tag: The new item tag to set. -
d/string/item: The new item ID.
Check if a player has a certain amount of items. If not the current activation is disabled.
JSON Format:
{
"type": "spells_and_shields:player_has_items",
"activation": String,
"t/source": String,
"d/string/item": String,
"d/int/amount": Integer,
"d/compound_tag/tag": Optional NBT Compound Tag,
"d/boolean/must_be_in_hand": Boolean,
"d/boolean/creative_bypass": Boolean
}Elements:
-
t/source: The target player. -
d/string/item: The item ID the player must have. -
d/int/amount: The minimum amount required. -
d/compound_tag/tag: The NBT Compound Tag required on the item. If this is left out the NBT tag of possible item stacks will be ignored and they will simply be compared based on item ID. -
d/boolean/must_be_in_hand: Set totrueto only check items in the player's hands, set tofalseto check the entire inventory. -
d/boolean/creative_bypass: Set totrueto always have this check pass if the player is in creative mode, set tofalseto still do this check even if the player is in creative mode.
Turn the entire inventory of a player into item targets.
JSON Format:
{
"type": "spells_and_shields:player_item_targets",
"activation": String,
"t/source": String,
"td/items": String,
"d/boolean/include_hands": Boolean,
"d/boolean/include_inventory": Boolean,
"d/boolean/include_armor": Boolean
}Elements:
-
t/source: The target player. -
td/items: The target group to deposit all new item targets in. -
d/boolean/include_hands: Set totrueto create item targets out of both items in the player's hands, set tofalseto ignore items in the player's hands. -
d/boolean/include_inventory: Set totrueto create item targets out of all items in the player's inventory (excluding both hands and all armor slots), set tofalseto ignore items in the player's inventory. -
d/boolean/include_armor: Set totrueto create item targets out of all items in the player's armor slots, set tofalseto ignore items in the player's armor slots.
Try to reduce the stack size of a target item by a certain amount if the quantity of the item is enough. If the quantity is not enough the current activation is disabled.
JSON Format:
{
"type": "spells_and_shields:try_consume_item",
"activation": String,
"t/target": String,
"d/int/amount": Integer
}Elements:
-
t/target: The target item. -
d/int/amount: The amount to try and reduce it by.
Try to damage a target item by a certain amount if the DURABILITY of the item is enough. If the durability is not enough the current activation is disabled.
JSON Format:
{
"type": "spells_and_shields:try_damage_item",
"activation": String,
"t/target": String,
"d/int/damage": Integer
}Elements:
-
t/target: The target item. -
d/int/damage: The amount to try and damage it by.
This action simulates a player holding an item and right-clicking it. The player is artificially set to creative mode only for the duration of this single action to mitigate any side effects (this is essentially invisible for the player, they do not get a message or anything like that).
JSON Format:
{
"type": "spells_and_shields:use_item",
"activation": String,
"t/source": String,
"item": Item,
"boolean/offhand": Boolean
}Elements:
-
t/source: The player. -
item: The item to activate. -
boolean/offhand: Set totrueto activate the item in the player's main hand, set tofalseto activate it in the offhand.
This action simulates a player holding an item and right-clicking a block (or multiple blocks) with it. The player is artificially set to creative mode only for the duration of this single action to mitigate any side effects (this is essentially invisible for the player, they do not get a message or anything like that).
JSON Format:
{
"type": "spells_and_shields:use_item_on_block",
"activation": String,
"t/source": String,
"ts/blocks": String,
"item": Item,
"boolean/offhand": Boolean,
"direction": Direction
}Elements:
-
t/source: The player. -
ts/blocks: The block(s) to use the item on. -
item: The item to activate. -
boolean/offhand: Set totrueto activate the item in the player's main hand, set tofalseto activate it in the offhand. -
direction: The face of the block the player clicks.
ABCDE Text WIP
JSON Format:
{
"type": "spells_and_shields:cube_block_targets",
"activation": String,
"t/source": String,
"td/targets": String,
"corner1": ABCDE,
"corner2": ABCDE
}Elements:
-
t/source: ABCDE. -
td/targets: ABCDE. -
corner1: ABCDE. -
corner2: ABCDE.
ABCDE Text WIP
JSON Format:
{
"type": "spells_and_shields:get_block",
"activation": String,
"t/target": String,
"var/block": String,
"var/block_state": String,
"var/is_air": String
}Elements:
-
t/target: ABCDE. -
var/block: ABCDE. -
var/block_state: ABCDE. -
var/is_air: ABCDE.
ABCDE Text WIP
JSON Format:
{
"type": "spells_and_shields:get_block_attributes",
"activation": String,
"t/target": String,
"var/is_air": String,
"var/is_fluid": String,
"var/has_collider": String
}Elements:
-
t/target: ABCDE. -
var/is_air: ABCDE. -
var/is_fluid: ABCDE. -
var/has_collider: ABCDE.
ABCDE Text WIP
JSON Format:
{
"type": "spells_and_shields:get_fluid",
"activation": String,
"t/target": String,
"var/fluid": String,
"var/fluid_state": String,
"var/is_fluid": String,
"var/is_source": String
}Elements:
-
t/target: ABCDE. -
var/fluid: ABCDE. -
var/fluid_state: ABCDE. -
var/is_fluid: ABCDE. -
var/is_source: ABCDE.
ABCDE Text WIP
JSON Format:
{
"type": "spells_and_shields:offset_block",
"activation": String,
"ts/targets": String,
"td/result": String,
"d/vec3/offset": Vector
}Elements:
-
ts/targets: ABCDE. -
td/result: ABCDE. -
d/vec3/offset: ABCDE.
ABCDE Text WIP
JSON Format:
{
"type": "spells_and_shields:player_harvest_block",
"activation": String,
"t/source": String,
"ts/blocks": String,
"direction": ABCDE
}Elements:
-
t/source: ABCDE. -
ts/blocks: ABCDE. -
direction: ABCDE.
ABCDE Text WIP
JSON Format:
{
"type": "spells_and_shields:position_to_target",
"activation": String,
"td/result": String,
"d/vec3/position": Vector
}Elements:
-
td/result: ABCDE. -
d/vec3/position: ABCDE.
ABCDE Text WIP
JSON Format:
{
"type": "spells_and_shields:remove_block",
"activation": String,
"ts/targets": String
}Elements:
-
ts/targets: ABCDE.
ABCDE Text WIP
JSON Format:
{
"type": "spells_and_shields:set_block",
"activation": String,
"ts/targets": String,
"d/string/block": String,
"d/compound_tag/block_state": NBT Compound Tag
}Elements:
-
ts/targets: ABCDE. -
d/string/block: ABCDE. -
d/compound_tag/block_state: ABCDE.
ABCDE Text WIP
JSON Format:
{
"type": "spells_and_shields:tick_block",
"activation": String,
"ts/targets": String,
"d/int/duration": Integer
}Elements:
-
ts/targets: ABCDE. -
d/int/duration: ABCDE.
Burn (= reduce) mana of target entities. If they have less mana than the set amount their mana is set to 0.
JSON Format:
{
"type": "spells_and_shields:burn_mana",
"activation": String,
"ts/targets": String,
"d/double/mana_amount": Double
}Elements:
-
ts/targets: The target living entities that get mana burn. -
d/double/mana_amount: The amount of mana burnt.
Get the mana of a target and store it as variable.
JSON Format:
{
"type": "spells_and_shields:get_mana",
"activation": String,
"t/target": String,
"var/result": String
}Elements:
-
t/target: The target living entity to get the current mana value from. -
var/result: The variable to store the mana value in.
Check if a target has a set minimum amount of mana. If their mana is currently less than the set amount the current activation is disabled.
JSON Format:
{
"type": "spells_and_shields:has_mana",
"activation": String,
"t/target": String,
"d/double/amount": Double
}Elements:
-
t/target: The target living entity to check the mana of. -
d/double/amount: The minimum required mana.
Check if a target has a set minimum amount of mana and burn it. If their mana is currently less than the set amount the current activation is disabled.
JSON Format:
{
"type": "spells_and_shields:mana_check",
"activation": String,
"t/target": String,
"d/double/amount": Double
}Elements:
-
t/target: The target living entity to check the mana of. -
d/double/amount: The mana required and burnt.
Restore mana for living entities. The result can not exceed their maximum mana value and is capped there.
JSON Format:
{
"type": "spells_and_shields:replenish_mana",
"activation": String,
"ts/targets": String,
"d/double/mana_amount": Double
}Elements:
-
ts/targets: The living entity targets to restore mana for. -
d/double/mana_amount: The amount of mana restored.
Check if the owner target (i.e. the player who activated the spell) has the amount of mana set in the spell file and burn it. If their mana is currently less than said amount the current activation is disabled.
JSON Format:
{
"type": "spells_and_shields:simple_mana_check"
"activation": String
}Clear a target group (remove all targets from it).
JSON Format:
{
"type": "spells_and_shields:clear_targets",
"activation": String,
"td/destination": String
}Elements:
-
td/destination: The target group to clear.
Copy all targets from one target group to another.
JSON Format:
{
"type": "spells_and_shields:copy_targets",
"activation": String,
"td/destination": String,
"ts/source": String
}Elements:
-
td/destination: The target group to copy the targets to. -
ts/source: The target group where the targets are copied from.
Find an entity target based on UUID.
JSON Format:
{
"type": "spells_and_shields:entity_uuid_target",
"activation": String,
"td/destination": String,
"d/string/uuid": String
}Elements:
-
td/destination: The target group to put the entity in if such an entity was found. -
d/string/uuid: The UUID of the entity to find and target.
Get the size of a target group as variable.
JSON Format:
{
"type": "spells_and_shields:get_target_group_size",
"activation": String,
"td/source": String,
"var/result": String
}Elements:
-
td/source: The target group to get the size of. -
var/result: The variable that then represents this value.
Shoot homing projectiles from a position at targets.
JSON Format:
{
"type": "spells_and_shields:home",
"activation": String,
"t/source": String,
"ts/targets": String,
"d/double/velocity": Double,
"d/int/timeout": Integer,
"ad/block_hit_activation": String,
"ad/entity_hit_activation": String,
"ad/timeout_activation": String,
"td/projectile": String
}Elements:
-
t/source: The source position where the projectiles are shot from. -
ts/targets: The entity targets to shoot at. One homing projectile will be spawned for each of these targets. -
d/double/velocity: The velocity (speed) of the projectiles. -
d/int/timeout: The timeout (in ticks) of the projectiles. -
ad/block_hit_activation: The event for when a projectile hits a block. -
ad/entity_hit_activation: The event for when a projectile hits an entity. -
ad/timeout_activation: The event for when a projectile times out. -
td/projectile: The target group the projectiles are put in directly after they are fired.
Notes:
- When a projectile triggers an event, the following applies:
- The
projectiletarget group contains the projectile entity itself. - The
block_hittarget group contains the block position, if a block was hit (i.e. The activation set inblock_hit_activationis run as event). - The
entity_hittarget group contains the entity, if an entity was hit (i.e. The activation set inentity_hit_activationis run as event). - The
hit_positiontarget group contains the exact position of the projectile when it hit something or when it times out.
Get a target an entity is looking at.
JSON Format:
{
"type": "spells_and_shields:look_at_target",
"activation": String,
"t/source": String,
"d/double/range": Double,
"double/bb_inflation": Optional Double,
"block_clip_context": Optional String,
"fluid_clip_context": Optional String,
"a/block_hit_activation": String,
"a/entity_hit_activation": String,
"a/miss_activation": String
}Elements:
-
t/source: The source entity which looks at whatever target we are looking for. -
d/double/range: The maximum range how far the target may be away. -
double/bb_inflation: The absolute amount the bounding boxes (AABBs) of all entities are inflated in each direction (eg.0.5makes the possible target entity half a block bigger in each direction, so a total block bigger on each axis) to make them easier to look at. -
block_clip_context: The block clip context (i.e. what property of a block decides whethere or not you are looking at it or if it is considered). The following values are accepted:-
collider(default) visualoutlinefalldamage_resetting
-
-
fluid_clip_context: The fluid clip context (i.e. what property of a fluid block decides whether or not you are looking at it or if it is considered). The following values are accepted:-
none(default) source_onlyanywater
-
-
a/block_hit_activation: The activation enabled if the source is looking at a block within range. -
a/entity_hit_activation: The activation enabled if the source is looking at an entity within range. -
a/miss_activation: The activation enabled if the source is not looking at anything within range.
Notes:
- After executing this action, the following applies:
- The
block_hittarget group contains the block position, if a block was looked at (i.e. The activation set inblock_hit_activationis enabled). - The
entity_hittarget group contains the entity, if an entity was looked at (i.e. The activation set inentity_hit_activationis enabled). - The
hit_positiontarget group contains the exact position the source was looking at or the max range air block if nothing was within range.
Move all targets that are players from one target group to another.
JSON Format:
{
"type": "spells_and_shields:move_player_targets",
"activation": String,
"td/destination": String,
"ts/source": String
}Elements:
-
td/destination: The target group to move the player targets to. -
ts/source: The target group to remove the player targets from.
Pick a single target out of a target group.
JSON Format:
{
"type": "spells_and_shields:pick_target",
"activation": String,
"td/destination": String,
"ts/source": String,
"boolean/remove": Boolean,
"boolean/random": Boolean
}Elements:
-
td/destination: The target group to put the picked target into. -
ts/source: The target group to pick a target from. -
boolean/remove: If this istruethe picked target is removed from the source target group, otherwise it stays in it. -
boolean/random: If this istruethe picked target is randomly selected from the source target group, otherwise the first one in the list is picked.
Target all entities in range of a specified position.
JSON Format:
{
"type": "spells_and_shields:ranged_entity_targets",
"activation": String,
"td/destination": String,
"ts/source": String,
"d/double/range": Double
}Elements:
-
td/destination: The target group to put the entities in. -
ts/source: The source position the entities have to be in range of to be targeted. If this is an entity it is also added to the target group. -
d/double/range: The range the entities have to be within to be targeted.
Make an entity shoot a projectile forward.
JSON Format:
{
"type": "spells_and_shields:shoot",
"activation": String,
"t/source": String,
"d/double/velocity": Double,
"d/double/inaccuracy": Double,
"d/int/timeout": Integer,
"ad/block_hit_activation": String,
"ad/entity_hit_activation": String,
"ad/timeout_activation": String,
"td/projectile": String
}Elements:
-
t/source: The source entity that shoots the projectile. -
d/double/velocity: The velocity (speed) of the projectile. -
d/double/inaccuracy: The inaccuracy when shooting,0is perfect accuracy. -
d/int/timeout: The timeout (in ticks) of the projectile. -
ad/block_hit_activation: The event for when the projectile hits a block. -
ad/entity_hit_activation: The event for when the projectile hits an entity. -
ad/timeout_activation: The event for when the projectile times out. -
td/projectile: The target group the projectile is put in directly after it is fired.
Notes:
- When the projectile triggers an event, the following applies:
- The
projectiletarget group contains the projectile entity itself. - The
block_hittarget group contains the block position, if a block was hit (i.e. The activation set inblock_hit_activationis run as event). - The
entity_hittarget group contains the entity, if an entity was hit (i.e. The activation set inentity_hit_activationis run as event). - The
hit_positiontarget group contains the exact position of the projectile when it hit something or when it times out.
Shoot projectiles from target positions in a set direction.
JSON Format:
{
"type": "spells_and_shields:shoot_alt",
"activation": String,
"t/source": String,
"d/double/velocity": Double,
"d/double/inaccuracy": Double,
"d/int/timeout": Integer,
"ad/block_hit_activation": String,
"ad/entity_hit_activation": String,
"ad/timeout_activation": String,
"td/projectile": String,
"t/shooter": Optional String
}Elements:
-
t/source: The source position the projectile is shot from. -
d/vec3/velocity: The velocity vector (direction and speed) of the projectile. -
d/double/inaccuracy: The inaccuracy when shooting,0is perfect accuracy. -
d/int/timeout: The timeout (in ticks) of the projectile. -
ad/block_hit_activation: The event for when the projectile hits a block. -
ad/entity_hit_activation: The event for when the projectile hits an entity. -
ad/timeout_activation: The event for when the projectile times out. -
td/projectile: The target group the projectile is put in directly after it is fired. -
t/shooter: The entity responsible for this projectile. Used to eg. give credit for kills. This may be left out.
Notes:
- When the projectile triggers an event, the following applies:
- The
projectiletarget group contains the projectile entity itself. - The
block_hittarget group contains the block position, if a block was hit (i.e. The activation set inblock_hit_activationis run as event). - The
entity_hittarget group contains the entity, if an entity was hit (i.e. The activation set inentity_hit_activationis run as event). - The
hit_positiontarget group contains the exact position of the projectile when it hit something or when it times out.
ABCDE Text WIP
JSON Format:
{
"type": "spells_and_shields:put_int",
"activation": String,
"d/int/source": Integer,
"var/result": String
}Elements:
-
d/int/source: ABCDE. -
var/result: ABCDE.
ABCDE Text WIP
JSON Format:
{
"type": "spells_and_shields:put_double",
"activation": String,
"d/double/source": Double,
"var/result": String
}Elements:
-
d/double/source: ABCDE. -
var/result: ABCDE.
ABCDE Text WIP
JSON Format:
{
"type": "spells_and_shields:put_vec3",
"activation": String,
"d/vec3/source": Vector,
"var/result": String
}Elements:
-
d/vec3/source: ABCDE. -
var/result: ABCDE.
ABCDE Text WIP
JSON Format:
{
"type": "spells_and_shields:put_boolean",
"activation": String,
"d/boolean/source": Boolean,
"var/result": String
}Elements:
-
d/boolean/source: ABCDE. -
var/result: ABCDE.
ABCDE Text WIP
JSON Format:
{
"type": "spells_and_shields:put_tag",
"activation": String,
"d/tag/source": NBT Compound Tag,
"var/result": String
}Elements:
-
d/tag/source: ABCDE. -
var/result: ABCDE.
ABCDE Text WIP
JSON Format:
{
"type": "spells_and_shields:put_string",
"activation": String,
"d/string/source": String,
"var/result": String
}Elements:
-
d/string/source: ABCDE. -
var/result: ABCDE.
ABCDE Text WIP
JSON Format:
{
"type": "spells_and_shields:negate",
"activation": String,
"var/operant": String,
"var/result": String
}Elements:
-
var/operant: ABCDE. -
var/result: ABCDE.
ABCDE Text WIP
JSON Format:
{
"type": "spells_and_shields:not",
"activation": String,
"var/operant": String,
"var/result": String
}Elements:
-
var/operant: ABCDE. -
var/result: ABCDE.
ABCDE Text WIP
JSON Format:
{
"type": "spells_and_shields:round",
"activation": String,
"var/operant": String,
"var/result": String
}Elements:
-
var/operant: ABCDE. -
var/result: ABCDE.
ABCDE Text WIP
JSON Format:
{
"type": "spells_and_shields:floor",
"activation": String,
"var/operant": String,
"var/result": String
}Elements:
-
var/operant: ABCDE. -
var/result: ABCDE.
ABCDE Text WIP
JSON Format:
{
"type": "spells_and_shields:ceil",
"activation": String,
"var/operant": String,
"var/result": String
}Elements:
-
var/operant: ABCDE. -
var/result: ABCDE.
ABCDE Text WIP
JSON Format:
{
"type": "spells_and_shields:sqrt",
"activation": String,
"var/operant": String,
"var/result": String
}Elements:
-
var/operant: ABCDE. -
var/result: ABCDE.
ABCDE Text WIP
JSON Format:
{
"type": "spells_and_shields:get_x",
"activation": String,
"var/operant": String,
"var/result": String
}Elements:
-
var/operant: ABCDE. -
var/result: ABCDE.
ABCDE Text WIP
JSON Format:
{
"type": "spells_and_shields:get_y",
"activation": String,
"var/operant": String,
"var/result": String
}Elements:
-
var/operant: ABCDE. -
var/result: ABCDE.
ABCDE Text WIP
JSON Format:
{
"type": "spells_and_shields:get_z",
"activation": String,
"var/operant": String,
"var/result": String
}Elements:
-
var/operant: ABCDE. -
var/result: ABCDE.
ABCDE Text WIP
JSON Format:
{
"type": "spells_and_shields:length",
"activation": String,
"var/operant": String,
"var/result": String
}Elements:
-
var/operant: ABCDE. -
var/result: ABCDE.
ABCDE Text WIP
JSON Format:
{
"type": "spells_and_shields:normalized",
"activation": String,
"var/operant": String,
"var/result": String
}Elements:
-
var/operant: ABCDE. -
var/result: ABCDE.
ABCDE Text WIP
JSON Format:
{
"type": "spells_and_shields:sin",
"activation": String,
"var/operant": String,
"var/result": String
}Elements:
-
var/operant: ABCDE. -
var/result: ABCDE.
ABCDE Text WIP
JSON Format:
{
"type": "spells_and_shields:cos",
"activation": String,
"var/operant": String,
"var/result": String
}Elements:
-
var/operant: ABCDE. -
var/result: ABCDE.
ABCDE Text WIP
JSON Format:
{
"type": "spells_and_shields:asin",
"activation": String,
"var/operant": String,
"var/result": String
}Elements:
-
var/operant: ABCDE. -
var/result: ABCDE.
ABCDE Text WIP
JSON Format:
{
"type": "spells_and_shields:acos",
"activation": String,
"var/operant": String,
"var/result": String
}Elements:
-
var/operant: ABCDE. -
var/result: ABCDE.
ABCDE Text WIP
JSON Format:
{
"type": "spells_and_shields:to_radians",
"activation": String,
"var/operant": String,
"var/result": String
}Elements:
-
var/operant: ABCDE. -
var/result: ABCDE.
ABCDE Text WIP
JSON Format:
{
"type": "spells_and_shields:to_degrees",
"activation": String,
"var/operant": String,
"var/result": String
}Elements:
-
var/operant: ABCDE. -
var/result: ABCDE.
ABCDE Text WIP
JSON Format:
{
"type": "spells_and_shields:uuid_from_string",
"activation": String,
"var/operant": String,
"var/result": String
}Elements:
-
var/operant: ABCDE. -
var/result: ABCDE.
ABCDE Text WIP
JSON Format:
{
"type": "spells_and_shields:next_int",
"activation": String,
"var/operant": String,
"var/result": String
}Elements:
-
var/operant: ABCDE. -
var/result: ABCDE.
ABCDE Text WIP
JSON Format:
{
"type": "spells_and_shields:add",
"activation": String,
"var/operant_1": String,
"var/operant_2": String,
"var/result": String
}Elements:
-
var/operant_1: ABCDE. -
var/operant_2: ABCDE. -
var/result: ABCDE.
ABCDE Text WIP
JSON Format:
{
"type": "spells_and_shields:sub",
"activation": String,
"var/operant_1": String,
"var/operant_2": String,
"var/result": String
}Elements:
-
var/operant_1: ABCDE. -
var/operant_2: ABCDE. -
var/result: ABCDE.
ABCDE Text WIP
JSON Format:
{
"type": "spells_and_shields:mul",
"activation": String,
"var/operant_1": String,
"var/operant_2": String,
"var/result": String
}Elements:
-
var/operant_1: ABCDE. -
var/operant_2: ABCDE. -
var/result: ABCDE.
ABCDE Text WIP
JSON Format:
{
"type": "spells_and_shields:div",
"activation": String,
"var/operant_1": String,
"var/operant_2": String,
"var/result": String
}Elements:
-
var/operant_1: ABCDE. -
var/operant_2: ABCDE. -
var/result: ABCDE.
ABCDE Text WIP
JSON Format:
{
"type": "spells_and_shields:rem",
"activation": String,
"var/operant_1": String,
"var/operant_2": String,
"var/result": String
}Elements:
-
var/operant_1: ABCDE. -
var/operant_2: ABCDE. -
var/result: ABCDE.
ABCDE Text WIP
JSON Format:
{
"type": "spells_and_shields:eq",
"activation": String,
"var/operant_1": String,
"var/operant_2": String,
"var/result": String
}Elements:
-
var/operant_1: ABCDE. -
var/operant_2: ABCDE. -
var/result: ABCDE.
ABCDE Text WIP
JSON Format:
{
"type": "spells_and_shields:neq",
"activation": String,
"var/operant_1": String,
"var/operant_2": String,
"var/result": String
}Elements:
-
var/operant_1: ABCDE. -
var/operant_2: ABCDE. -
var/result: ABCDE.
ABCDE Text WIP
JSON Format:
{
"type": "spells_and_shields:gt",
"activation": String,
"var/operant_1": String,
"var/operant_2": String,
"var/result": String
}Elements:
-
var/operant_1: ABCDE. -
var/operant_2: ABCDE. -
var/result: ABCDE.
ABCDE Text WIP
JSON Format:
{
"type": "spells_and_shields:geq",
"activation": String,
"var/operant_1": String,
"var/operant_2": String,
"var/result": String
}Elements:
-
var/operant_1: ABCDE. -
var/operant_2: ABCDE. -
var/result: ABCDE.
ABCDE Text WIP
JSON Format:
{
"type": "spells_and_shields:lt",
"activation": String,
"var/operant_1": String,
"var/operant_2": String,
"var/result": String
}Elements:
-
var/operant_1: ABCDE. -
var/operant_2: ABCDE. -
var/result: ABCDE.
ABCDE Text WIP
JSON Format:
{
"type": "spells_and_shields:leq",
"activation": String,
"var/operant_1": String,
"var/operant_2": String,
"var/result": String
}Elements:
-
var/operant_1: ABCDE. -
var/operant_2: ABCDE. -
var/result: ABCDE.
ABCDE Text WIP
JSON Format:
{
"type": "spells_and_shields:min",
"activation": String,
"var/operant_1": String,
"var/operant_2": String,
"var/result": String
}Elements:
-
var/operant_1: ABCDE. -
var/operant_2: ABCDE. -
var/result: ABCDE.
ABCDE Text WIP
JSON Format:
{
"type": "spells_and_shields:max",
"activation": String,
"var/operant_1": String,
"var/operant_2": String,
"var/result": String
}Elements:
-
var/operant_1: ABCDE. -
var/operant_2: ABCDE. -
var/result: ABCDE.
ABCDE Text WIP
JSON Format:
{
"type": "spells_and_shields:move_x",
"activation": String,
"var/operant_1": String,
"var/operant_2": String,
"var/result": String
}Elements:
-
var/operant_1: ABCDE. -
var/operant_2: ABCDE. -
var/result: ABCDE.
ABCDE Text WIP
JSON Format:
{
"type": "spells_and_shields:move_y",
"activation": String,
"var/operant_1": String,
"var/operant_2": String,
"var/result": String
}Elements:
-
var/operant_1: ABCDE. -
var/operant_2: ABCDE. -
var/result: ABCDE.
ABCDE Text WIP
JSON Format:
{
"type": "spells_and_shields:move_z",
"activation": String,
"var/operant_1": String,
"var/operant_2": String,
"var/result": String
}Elements:
-
var/operant_1: ABCDE. -
var/operant_2: ABCDE. -
var/result: ABCDE.
ABCDE Text WIP
JSON Format:
{
"type": "spells_and_shields:nbt_contains",
"activation": String,
"var/operant_1": String,
"var/operant_2": String,
"var/result": String
}Elements:
-
var/operant_1: ABCDE. -
var/operant_2: ABCDE. -
var/result: ABCDE.
ABCDE Text WIP
JSON Format:
{
"type": "spells_and_shields:get_nbt_int",
"activation": String,
"var/operant_1": String,
"var/operant_2": String,
"var/result": String
}Elements:
-
var/operant_1: ABCDE. -
var/operant_2: ABCDE. -
var/result: ABCDE.
ABCDE Text WIP
JSON Format:
{
"type": "spells_and_shields:get_nbt_double",
"activation": String,
"var/operant_1": String,
"var/operant_2": String,
"var/result": String
}Elements:
-
var/operant_1: ABCDE. -
var/operant_2: ABCDE. -
var/result: ABCDE.
ABCDE Text WIP
JSON Format:
{
"type": "spells_and_shields:get_nbt_boolean",
"activation": String,
"var/operant_1": String,
"var/operant_2": String,
"var/result": String
}Elements:
-
var/operant_1: ABCDE. -
var/operant_2: ABCDE. -
var/result: ABCDE.
ABCDE Text WIP
JSON Format:
{
"type": "spells_and_shields:get_nbt_tag",
"activation": String,
"var/operant_1": String,
"var/operant_2": String,
"var/result": String
}Elements:
-
var/operant_1: ABCDE. -
var/operant_2: ABCDE. -
var/result: ABCDE.
ABCDE Text WIP
JSON Format:
{
"type": "spells_and_shields:get_nbt_string",
"activation": String,
"var/operant_1": String,
"var/operant_2": String,
"var/result": String
}Elements:
-
var/operant_1: ABCDE. -
var/operant_2: ABCDE. -
var/result: ABCDE.
ABCDE Text WIP
JSON Format:
{
"type": "spells_and_shields:get_nbt_uuid",
"activation": String,
"var/operant_1": String,
"var/operant_2": String,
"var/result": String
}Elements:
-
var/operant_1: ABCDE. -
var/operant_2: ABCDE. -
var/result: ABCDE.
ABCDE Text WIP
JSON Format:
{
"type": "spells_and_shields:get_nbt_vec3",
"activation": String,
"var/operant_1": String,
"var/operant_2": String,
"var/result": String
}Elements:
-
var/operant_1: ABCDE. -
var/operant_2: ABCDE. -
var/result: ABCDE.
ABCDE Text WIP
JSON Format:
{
"type": "spells_and_shields:conditional",
"activation": String,
"var/operant_1": String,
"var/operant_2": String,
"var/operant_3": String,
"var/result": String
}Elements:
-
var/operant_1: ABCDE. -
var/operant_2: ABCDE. -
var/operant_3: ABCDE. -
var/result: ABCDE.
ABCDE Text WIP
JSON Format:
{
"type": "spells_and_shields:vec3",
"activation": String,
"var/operant_1": String,
"var/operant_2": String,
"var/operant_3": String,
"var/result": String
}Elements:
-
var/operant_1: ABCDE. -
var/operant_2: ABCDE. -
var/operant_3: ABCDE. -
var/result: ABCDE.
ABCDE Text WIP
JSON Format:
{
"type": "spells_and_shields:block_pos",
"activation": String,
"var/operant_1": String,
"var/operant_2": String,
"var/operant_3": String,
"var/result": String
}Elements:
-
var/operant_1: ABCDE. -
var/operant_2: ABCDE. -
var/operant_3: ABCDE. -
var/result: ABCDE.
ABCDE Text WIP
JSON Format:
{
"type": "spells_and_shields:put_nbt_int",
"activation": String,
"var/operant_1": String,
"var/operant_2": String,
"var/operant_3": String,
"var/result": String
}Elements:
-
var/operant_1: ABCDE. -
var/operant_2: ABCDE. -
var/operant_3: ABCDE. -
var/result: ABCDE.
ABCDE Text WIP
JSON Format:
{
"type": "spells_and_shields:put_nbt_double",
"activation": String,
"var/operant_1": String,
"var/operant_2": String,
"var/operant_3": String,
"var/result": String
}Elements:
-
var/operant_1: ABCDE. -
var/operant_2: ABCDE. -
var/operant_3: ABCDE. -
var/result: ABCDE.
ABCDE Text WIP
JSON Format:
{
"type": "spells_and_shields:put_nbt_boolean",
"activation": String,
"var/operant_1": String,
"var/operant_2": String,
"var/operant_3": String,
"var/result": String
}Elements:
-
var/operant_1: ABCDE. -
var/operant_2: ABCDE. -
var/operant_3: ABCDE. -
var/result: ABCDE.
ABCDE Text WIP
JSON Format:
{
"type": "spells_and_shields:put_nbt_tag",
"activation": String,
"var/operant_1": String,
"var/operant_2": String,
"var/operant_3": String,
"var/result": String
}Elements:
-
var/operant_1: ABCDE. -
var/operant_2: ABCDE. -
var/operant_3: ABCDE. -
var/result: ABCDE.
ABCDE Text WIP
JSON Format:
{
"type": "spells_and_shields:put_nbt_string",
"activation": String,
"var/operant_1": String,
"var/operant_2": String,
"var/operant_3": String,
"var/result": String
}Elements:
-
var/operant_1: ABCDE. -
var/operant_2: ABCDE. -
var/operant_3: ABCDE. -
var/result: ABCDE.
ABCDE Text WIP
JSON Format:
{
"type": "spells_and_shields:put_nbt_uuid",
"activation": String,
"var/operant_1": String,
"var/operant_2": String,
"var/operant_3": String,
"var/result": String
}Elements:
-
var/operant_1: ABCDE. -
var/operant_2: ABCDE. -
var/operant_3: ABCDE. -
var/result: ABCDE.
ABCDE Text WIP
JSON Format:
{
"type": "spells_and_shields:put_nbt_vec3",
"activation": String,
"var/operant_1": String,
"var/operant_2": String,
"var/operant_3": String,
"var/result": String
}Elements:
-
var/operant_1: ABCDE. -
var/operant_2: ABCDE. -
var/operant_3: ABCDE. -
var/result: ABCDE.
{ "type": "spells_and_shields:clear_mob_target", "activation": String, "ts/mobs": String }