Warp Rules

Configure teleport costs and other effects and limitations on teleportation.

Minecraft 26.1 and above

The warpRequirements option has been replaced by a new rules option with a slightly different syntax.

There is a new rules option that uses Shogi syntax instead.

Syntax Changes

Legacy warpRequirements lines use this format:

[conditions] modifier(args)

The new rules option uses Shogi syntax instead:

condition -> effect(...)
condition1 + condition2 -> effect(...)
condition1, condition2 -> effect(...)
!condition -> effect(...)
  • + means AND.
  • , means OR.
  • ! negates a condition.

Legacy bracketed condition lists were AND, not OR. In other words, [condition1, condition2] modifier() becomes condition1 + condition2 -> effect(...), not condition1, condition2 -> effect(...).

Negated legacy aliases also become explicit negation:

  • is_not_interdimensional -> !is_interdimensional
  • source_is_not_waystone -> !source(is_waystone())

Source and target conditions move into wrappers:

  • source_is_* -> source(is_*())
  • target_is_* -> target(is_*())

Checks that refer to the teleport item or button become direct conditions without source(...):

  • source_is_warp_stone -> is_warp_stone
  • source_is_inventory_button -> is_inventory_button
  • source_is_scroll -> is_scroll

String-like values should be quoted:

  • messages
  • waystone names
  • dimensions
  • item ids
  • cooldown ids
  • durations

Durations should use Shogi duration syntax such as '300s'.

Default Migration Example

The default 1.21.11 teleports.warpRequirements value is:

[is_not_interdimensional] scaled_add_xp_cost(distance, 0.01)
[is_interdimensional] add_xp_cost(27)
[source_is_warp_plate] multiply_xp_cost(0)
[source_is_warp_stone] add_durability_cost(80)
[target_is_global] multiply_xp_cost(0)
min_xp_cost(0)
max_xp_cost(27)
[source_is_inventory_button] add_cooldown(inventory_button, 300)

The default 26.1 teleports.rules value is:

$xp_points_cost = if(condition = is_interdimensional, then = 27, else = $distance * 0.01)
source(is_warp_plate()), target(is_global()) -> $xp_points_cost = 0
$xp_points_cost = clamp($xp_points_cost, 0, 27)
is_warp_stone -> damage_item(80)
is_inventory_button -> cooldown_cost('inventory_button', '300s')

Old Conditions To New Conditions

Legacy condition26.1 condition
is_interdimensionalis_interdimensional
is_not_interdimensional!is_interdimensional
source_is_warp_platesource(is_warp_plate())
source_is_waystonesource(is_waystone())
source_is_sharestonesource(is_sharestone())
source_is_portstoneis_portstone
source_is_inventory_buttonis_inventory_button
source_is_scrollis_scroll
source_is_bound_scrollis_bound_scroll
source_is_return_scrollis_return_scroll
source_is_warp_scrollis_warp_scroll
source_is_warp_stoneis_warp_stone
target_is_warp_platetarget(is_warp_plate())
target_is_waystonetarget(is_waystone())
target_is_sharestonetarget(is_sharestone())
target_is_globaltarget(is_global())
source_name_equals(Foo)source(name_equals('Foo'))
source_name_contains(Foo)source(name_contains('Foo'))
target_name_equals(Foo)target(name_equals('Foo'))
target_name_contains(Foo)target(name_contains('Foo'))
source_is_dimension(minecraft:the_end)source(is_dimension('minecraft:the_end'))
target_is_dimension(minecraft:the_end)target(is_dimension('minecraft:the_end'))
involves_dimension(minecraft:the_end)involves_dimension('minecraft:the_end')
is_within_distance(100)is_within_distance(100)
has_cooldown(inventory_button)has_cooldown('inventory_button')
has_cooldown_above(inventory_button, 60)is_cooldown_above('inventory_button', '60s')
Any *_not_* or not_* aliasUse ! with the positive 26.1 condition

Old Modifiers And Effects To New Effects

Direct Mappings

Legacy modifier26.1 equivalent
refuse(message)refuse('message')
dismount()dismount()
add_cooldown(id, seconds)cooldown_cost('id', '<seconds>s')
add_soft_cooldown(id, seconds)add_cooldown('id', '<seconds>s')

XP Point Cost Patterns

Legacy modifier26.1 pattern
add_xp_cost(n)$xp_points_cost = $xp_points_cost + n
multiply_xp_cost(n)$xp_points_cost = $xp_points_cost * n
scaled_add_xp_cost(distance, s)$xp_points_cost = $xp_points_cost + $distance * s
scaled_multiply_xp_cost(distance, s) or legacy typo variants$xp_points_cost = $xp_points_cost * $distance * s
min_xp_cost(n)$xp_points_cost = clamp_min($xp_points_cost, n) or clamp(...)
max_xp_cost(n)$xp_points_cost = clamp_max($xp_points_cost, n) or clamp(...)

XP Level Cost Patterns

Legacy modifier26.1 pattern
add_level_cost(n)$xp_level_cost = $xp_level_cost + n
multiply_level_cost(n)$xp_level_cost = $xp_level_cost * n
scaled_add_level_cost(distance, s)$xp_level_cost = $xp_level_cost + $distance * s
scaled_multiply_level_cost(distance, s)$xp_level_cost = $xp_level_cost * $distance * s
min_level_cost(n)$xp_level_cost = clamp_min($xp_level_cost, n) or clamp(...)
max_level_cost(n)$xp_level_cost = clamp_max($xp_level_cost, n) or clamp(...)

Durability Cost Patterns

Legacy modifier26.1 pattern
add_durability_cost(n)$damage_item = $damage_item + n
multiply_durability_cost(n)$damage_item = $damage_item * n
scaled_add_durability_cost(distance, s)$damage_item = $damage_item + $distance * s
scaled_multiply_durability_cost(distance, s)$damage_item = $damage_item * $distance * s
min_durability_cost(n)$damage_item = clamp_min($damage_item, n) or clamp(...)
max_durability_cost(n)$damage_item = clamp_max($damage_item, n) or clamp(...)

Item Cost Patterns

Legacy modifier26.1 pattern
add_item_cost(minecraft:diamond, n)$diamond_cost = $diamond_cost + n then item_cost('minecraft:diamond', $diamond_cost)
multiply_item_cost(minecraft:diamond, n)$diamond_cost = $diamond_cost * n then item_cost('minecraft:diamond', $diamond_cost)
scaled_add_item_cost(distance, minecraft:diamond, s)$diamond_cost = $diamond_cost + $distance * s then item_cost('minecraft:diamond', $diamond_cost)
scaled_multiply_item_cost(distance, minecraft:diamond, s)$diamond_cost = $diamond_cost * $distance * s then item_cost('minecraft:diamond', $diamond_cost)
min_item_cost(minecraft:diamond, n)$diamond_cost = clamp_min($diamond_cost, n) then item_cost('minecraft:diamond', $diamond_cost)
max_item_cost(minecraft:diamond, n)$diamond_cost = clamp_max($diamond_cost, n) then item_cost('minecraft:diamond', $diamond_cost)

Cooldown Patterns

Legacy modifier26.1 pattern
multiply_cooldown(id, n)$cooldown_duration = $cooldown_duration * n then cooldown_cost('id', $cooldown_duration)
scaled_add_cooldown(id, distance, s)$cooldown_duration = $cooldown_duration + $distance * s then cooldown_cost('id', $cooldown_duration)
scaled_multiply_cooldown(id, distance, s)$cooldown_duration = $cooldown_duration * $distance * s then cooldown_cost('id', $cooldown_duration)
min_cooldown(id, n)$cooldown_duration = clamp_min($cooldown_duration, '<n>s') or clamp(...), then cooldown_cost('id', $cooldown_duration)
max_cooldown(id, n)$cooldown_duration = clamp_max($cooldown_duration, '<n>s') or clamp(...), then cooldown_cost('id', $cooldown_duration)
multiply_soft_cooldown(id, n)$cooldown_duration = $cooldown_duration * n then add_cooldown('id', $cooldown_duration)
scaled_add_soft_cooldown(id, distance, s)$cooldown_duration = $cooldown_duration + $distance * s then add_cooldown('id', $cooldown_duration)
scaled_multiply_soft_cooldown(id, distance, s)$cooldown_duration = $cooldown_duration * $distance * s then add_cooldown('id', $cooldown_duration)
min_soft_cooldown(id, n)$cooldown_duration = clamp_min($cooldown_duration, '<n>s') or clamp(...), then add_cooldown('id', $cooldown_duration)
max_soft_cooldown(id, n)$cooldown_duration = clamp_max($cooldown_duration, '<n>s') or clamp(...), then add_cooldown('id', $cooldown_duration)

Minecraft 1.21.11 and below

Warp Requirements as documented in this section are only available between Minecraft 1.20.6 and Minecraft 1.21.11. On older versions, refer to the contents of your config file for alternative solutions. On newer versions, see the guide above instead.

Warp Requirements are defined in the following format:

[condition1, condition2] modifier()

Example:

[is_not_interdimensional] scaled_add_xp_cost(distance, 0.01)
[is_interdimensional] add_xp_cost(27)
[source_is_warp_plate] multiply_xp_cost(0)
[target_is_global] multiply_xp_cost(0)
min_xp_cost(0)
max_xp_cost(27)
[source_is_inventory_button] add_cooldown(inventory_button, 300)

These definitions are run in-order. Modifiers will only run if all conditions pass.

For example, to disallow interdimensional warps to and from the end, you could use the following requirement:

[is_interdimensional, involves_dimension(minecraft:the_end)] refuse(You cannot warp to or from The End.)

Modifiers

ModifierDescriptionExample
add_level_cost(levels)Adds the specified amount to the warp level costadd_level_cost(1)
multiply_level_cost(levels)Multiplies the warp level cost by the specified amountmultiply_level_cost(2)
scaled_add_level_cost(variable, scale)Adds levels to the cost of the warp in the amount of the specified variable and scale factorscaled_add_level_cost(distance, 0.01)
min_level_cost(levels)Clamps the level cost to the given minimum value.min_level_cost(1)
max_level_cost(levels)Clamps the level cost to the given maximum value.max_level_cost(3)
add_xp_cost(levels)Adds the specified amount to the warp XP costadd_xp_cost(1)
multiply_xp_cost(levels)Multiplies the warp XP cost by the specified amountmultiply_xp_cost(2)
scaled_add_xp_cost(variable, scale)Adds XP to the cost of the warp in the amount of the specified variable and scale factorscaled_add_xp_cost(distance, 0.01)
min_xp_cost(levels)Clamps the XP cost to the given minimum value.min_xp_cost(1)
max_xp_cost(levels)Clamps the XP cost to the given maximum value.max_xp_cost(3)
add_cooldown(name, seconds)Adds the specified amount to the warp cooldownadd_cooldown(my_cooldown, 60)
multiply_cooldown(name, multiplier)Multiplies the warp cooldown by the specified amountmultiply_cooldown(my_cooldown, 2)
scaled_add_cooldown(name, variable, scale)Adds seconds to the cooldown of the warp in the amount of the specified variable and scale factorscaled_add_cooldown(my_cooldown, distance, 0.01)
min_cooldown(name, seconds)Clamps the cooldown to the given minimum valuemin_cooldown(my_cooldown, 30)
max_cooldown(name, seconds)Clamps the cooldown to the given maximum valuemax_cooldown(my_cooldown, 120)
add_soft_cooldown(name, seconds)Adds seconds to the cooldown of the warp in the amount of the specified variable and scale factor, without refusing warpsadd_soft_cooldown(my_cooldown, 60)
multiply_soft_cooldown(name, multiplier)Multiplies the warp cooldown by the specified amount, without refusing warpsmultiply_soft_cooldown(my_cooldown, 2)
scaled_add_soft_cooldown(name, variable, scale)Adds seconds to the cooldown of the warp in the amount of the specified variable and scale factor, without refusing warpsscaled_add_soft_cooldown(my_cooldown, distance, 0.01)
min_soft_cooldown(name, seconds)Clamps the cooldown to the given minimum value, without refusing warpsmin_soft_cooldown(my_cooldown, 30)
max_soft_cooldown(name, seconds)Clamps the cooldown to the given maximum value, without refusing warpsmax_soft_cooldown(my_cooldown, 120)
add_item_cost(item, count)Adds the specified amount to the warp item costadd_item_cost(minecraft:diamond, 1)
multiply_item_cost(item, multiplier)Multiplies the warp item cost by the specified amountmultiply_item_cost(minecraft:diamond, 2)
scaled_add_item_cost(variable, item, scale)Adds items to the cost of the warp in the amount of the specified variable and scale factorscaled_add_item_cost(distance, minecraft:diamond, 0.01)
min_item_cost(item, min)Clamps the item cost to the given minimum valuemin_item_cost(minecraft:diamond, 1)
max_item_cost(item, max)Clamps the item cost to the given maximum valuemax_item_cost(minecraft:diamond, 3)
add_durability_cost(amount)Adds the specified amount to the durability cost for the warp item (e.g. warp stone)add_durability_cost(1)
multiply_durability_cost(multiplier)Multiplies the warp durability cost for the warp item (e.g. warp stone) by the specified amountmultiply_durability_cost(2)
scaled_add_durability_cost(variable, scale)Adds durability to the cost of the warp in the amount of the specified variable and scale factorscaled_add_durability_cost(distance, 0.01)
min_durability_cost(min)Clamps the durability cost for the warp item (e.g. warp stone) to the specified minimum valuemin_durability_cost(1)
max_durability_cost(max)Clamps the durability cost for the warp item (e.g. warp stone) to the specified maximum valuemax_durability_cost(3)
refuse(message)Refuses the warp with the specified message. Prepend message with $ to use a translation keyrefuse(You are not allowed to warp here.) or refuse($your.custom.translation.key)
dismount()Dismounts the player from any mounted entity before teleportingdismount()

Conditions

ConditionDescriptionExample
[is_interdimensional]Passes if the warp is between two dimensions[is_interdimensional]
[is_not_interdimensional]Passes if the warp is within the same dimension[is_not_interdimensional]
[source_is_warp_plate]Passes if the warp originates from a warp plate[source_is_warp_plate]
[source_is_not_warp_plate]Passes if the warp does not originate from a warp plate[source_is_not_warp_plate]
[source_is_waystone]Passes if the warp originates from a waystone[source_is_waystone]
[source_is_not_waystone]Passes if the warp does not originate from a waystone[source_is_not_waystone]
[source_is_portstone]Passes if the warp originates from a portstone[source_is_portstone]
[source_is_not_portstone]Passes if the warp does not originate from a portstone[source_is_not_portstone]
[source_is_sharestone]Passes if the warp originates from a sharestone[source_is_sharestone]
[source_is_not_sharestone]Passes if the warp does not originate from a sharestone[source_is_not_sharestone]
[source_is_orange_sharestone]Passes if the warp originates from an orange sharestone[source_is_orange_sharestone]
[source_is_not_orange_sharestone]Passes if the warp does not originate from an orange sharestone[source_is_not_orange_sharestone]
[source_is_magenta_sharestone]Passes if the warp originates from a magenta sharestone[source_is_magenta_sharestone]
[source_is_not_magenta_sharestone]Passes if the warp does not originate from a magenta sharestone[source_is_not_magenta_sharestone]
[source_is_light_blue_sharestone]Passes if the warp originates from a light blue sharestone[source_is_light_blue_sharestone]
[source_is_not_light_blue_sharestone]Passes if the warp does not originate from a light blue sharestone[source_is_not_light_blue_sharestone]
[source_is_yellow_sharestone]Passes if the warp originates from a yellow sharestone[source_is_yellow_sharestone]
[source_is_not_yellow_sharestone]Passes if the warp does not originate from a yellow sharestone[source_is_not_yellow_sharestone]
[source_is_lime_sharestone]Passes if the warp originates from a lime sharestone[source_is_lime_sharestone]
[source_is_not_lime_sharestone]Passes if the warp does not originate from a lime sharestone[source_is_not_lime_sharestone]
[source_is_pink_sharestone]Passes if the warp originates from a pink sharestone[source_is_pink_sharestone]
[source_is_not_pink_sharestone]Passes if the warp does not originate from a pink sharestone[source_is_not_pink_sharestone]
[source_is_gray_sharestone]Passes if the warp originates from a gray sharestone[source_is_gray_sharestone]
[source_is_not_gray_sharestone]Passes if the warp does not originate from a gray sharestone[source_is_not_gray_sharestone]
[source_is_light_gray_sharestone]Passes if the warp originates from a light gray sharestone[source_is_light_gray_sharestone]
[source_is_not_light_gray_sharestone]Passes if the warp does not originate from a light gray sharestone[source_is_not_light_gray_sharestone]
[source_is_cyan_sharestone]Passes if the warp originates from a cyan sharestone[source_is_cyan_sharestone]
[source_is_not_cyan_sharestone]Passes if the warp does not originate from a cyan sharestone[source_is_not_cyan_sharestone]
[source_is_purple_sharestone]Passes if the warp originates from a purple sharestone[source_is_purple_sharestone]
[source_is_not_purple_sharestone]Passes if the warp does not originate from a purple sharestone[source_is_not_purple_sharestone]
[source_is_blue_sharestone]Passes if the warp originates from a blue sharestone[source_is_blue_sharestone]
[source_is_not_blue_sharestone]Passes if the warp does not originate from a blue sharestone[source_is_not_blue_sharestone]
[source_is_brown_sharestone]Passes if the warp originates from a brown sharestone[source_is_brown_sharestone]
[source_is_not_brown_sharestone]Passes if the warp does not originate from a brown sharestone[source_is_not_brown_sharestone]
[source_is_green_sharestone]Passes if the warp originates from a green sharestone[source_is_green_sharestone]
[source_is_not_green_sharestone]Passes if the warp does not originate from a green sharestone[source_is_not_green_sharestone]
[source_is_red_sharestone]Passes if the warp originates from a red sharestone[source_is_red_sharestone]
[source_is_not_red_sharestone]Passes if the warp does not originate from a red sharestone[source_is_not_red_sharestone]
[source_is_black_sharestone]Passes if the warp originates from a black sharestone[source_is_black_sharestone]
[source_is_not_black_sharestone]Passes if the warp does not originate from a black sharestone[source_is_not_black_sharestone]
[source_is_inventory_button]Passes if the warp originates from the inventory button[source_is_inventory_button]
[source_is_not_inventory_button]Passes if the warp does not originate from the inventory button[source_is_not_inventory_button]
[source_is_warp_stone]Passes if the warp originates from a warp stone[source_is_warp_stone]
[source_is_not_warp_stone]Passes if the warp does not originate from a warp stone[source_is_not_warp_stone]
[source_is_scroll]Passes if the warp originates from a scroll[source_is_scroll]
[source_is_not_scroll]Passes if the warp does not originate from a scroll[source_is_not_scroll]
[source_is_warp_scroll]Passes if the warp originates from a warp scroll[source_is_warp_scroll]
[source_is_not_warp_scroll]Passes if the warp does not originate from a warp scroll[source_is_not_warp_scroll]
[source_is_bound_scroll]Passes if the warp originates from a bound scroll[source_is_bound_scroll]
[source_is_not_bound_scroll]Passes if the warp does not originate from a bound scroll[source_is_not_bound_scroll]
[source_is_return_scroll]Passes if the warp originates from a return scroll[source_is_return_scroll]
[source_is_not_return_scroll]Passes if the warp does not originate from a return scroll[source_is_not_return_scroll]
[source_name_equals]Passes if the name of the source waystone equals the given parameter[source_name_equals(Server Spawn)]
[source_name_contains]Passes if the name of the source waystone equals the given parameter[source_name_contains(Home)]
[target_is_warp_plate]Passes if the warp destination is a warp plate[target_is_warp_plate]
[target_is_not_warp_plate]Passes if the warp destination is not a warp plate[target_is_not_warp_plate]
[target_is_waystone]Passes if the warp destination is a waystone[target_is_waystone]
[target_is_not_waystone]Passes if the warp destination is not a waystone[target_is_not_waystone]
[target_is_sharestone]Passes if the warp destination is a sharestone[target_is_sharestone]
[target_is_not_sharestone]Passes if the warp destination is not a sharestone[target_is_not_sharestone]
[target_is_orange_sharestone]Passes if the warp originates from an orange sharestone[target_is_orange_sharestone]
[target_is_not_orange_sharestone]Passes if the warp does not originate from an orange sharestone[target_is_not_orange_sharestone]
[target_is_magenta_sharestone]Passes if the warp originates from a magenta sharestone[target_is_magenta_sharestone]
[target_is_not_magenta_sharestone]Passes if the warp does not originate from a magenta sharestone[target_is_not_magenta_sharestone]
[target_is_light_blue_sharestone]Passes if the warp originates from a light blue sharestone[target_is_light_blue_sharestone]
[target_is_not_light_blue_sharestone]Passes if the warp does not originate from a light blue sharestone[target_is_not_light_blue_sharestone]
[target_is_yellow_sharestone]Passes if the warp originates from a yellow sharestone[target_is_yellow_sharestone]
[target_is_not_yellow_sharestone]Passes if the warp does not originate from a yellow sharestone[target_is_not_yellow_sharestone]
[target_is_lime_sharestone]Passes if the warp originates from a lime sharestone[target_is_lime_sharestone]
[target_is_not_lime_sharestone]Passes if the warp does not originate from a lime sharestone[target_is_not_lime_sharestone]
[target_is_pink_sharestone]Passes if the warp originates from a pink sharestone[target_is_pink_sharestone]
[target_is_not_pink_sharestone]Passes if the warp does not originate from a pink sharestone[target_is_not_pink_sharestone]
[target_is_gray_sharestone]Passes if the warp originates from a gray sharestone[target_is_gray_sharestone]
[target_is_not_gray_sharestone]Passes if the warp does not originate from a gray sharestone[target_is_not_gray_sharestone]
[target_is_light_gray_sharestone]Passes if the warp originates from a light gray sharestone[target_is_light_gray_sharestone]
[target_is_not_light_gray_sharestone]Passes if the warp does not originate from a light gray sharestone[target_is_not_light_gray_sharestone]
[target_is_cyan_sharestone]Passes if the warp originates from a cyan sharestone[target_is_cyan_sharestone]
[target_is_not_cyan_sharestone]Passes if the warp does not originate from a cyan sharestone[target_is_not_cyan_sharestone]
[target_is_purple_sharestone]Passes if the warp originates from a purple sharestone[target_is_purple_sharestone]
[target_is_not_purple_sharestone]Passes if the warp does not originate from a purple sharestone[target_is_not_purple_sharestone]
[target_is_blue_sharestone]Passes if the warp originates from a blue sharestone[target_is_blue_sharestone]
[target_is_not_blue_sharestone]Passes if the warp does not originate from a blue sharestone[target_is_not_blue_sharestone]
[target_is_brown_sharestone]Passes if the warp originates from a brown sharestone[target_is_brown_sharestone]
[target_is_not_brown_sharestone]Passes if the warp does not originate from a brown sharestone[target_is_not_brown_sharestone]
[target_is_green_sharestone]Passes if the warp originates from a green sharestone[target_is_green_sharestone]
[target_is_not_green_sharestone]Passes if the warp does not originate from a green sharestone[target_is_not_green_sharestone]
[target_is_red_sharestone]Passes if the warp originates from a red sharestone[target_is_red_sharestone]
[target_is_not_red_sharestone]Passes if the warp does not originate from a red sharestone[target_is_not_red_sharestone]
[target_is_black_sharestone]Passes if the warp originates from a black sharestone[target_is_black_sharestone]
[target_is_not_black_sharestone]Passes if the warp does not originate from a black sharestone[target_is_not_black_sharestone]
[target_is_global]Passes if the warp destination is a global waystone[target_is_global]
[target_is_not_global]Passes if the warp destination is not a global waystone[target_is_not_global]
[target_name_equals]Passes if the name of the source waystone equals the given parameter[target_name_equals(Server Spawn)]
[target_name_contains]Passes if the name of the source waystone equals the given parameter[target_name_contains(Home)]
[is_with_passengers]Passes if the warp is performed with vehicle passengers[is_with_passengers]
[is_not_with_passengers]Passes if the warp is not performed with vehicle passengers[is_not_with_passengers]
[is_with_pets]Passes if the warp is performed with pets[is_with_pets]
[is_not_with_pets]Passes if the warp is not performed with pets[is_not_with_pets]
[is_with_leashed]Passes if the warp is performed with leashed entities[is_with_leashed]
[is_not_with_leashed]Passes if the warp is not performed with leashed entities[is_not_with_leashed]
[source_is_dimension(namespace:path)]Passes if the warp originates from the specified dimension[source_is_dimension(minecraft:overworld)]
[source_is_not_dimension(namespace:path)]Passes if the warp does not originate from the specified dimension[source_is_not_dimension(minecraft:the_nether)]
[target_is_dimension(namespace:path)]Passes if the warp destination is the specified dimension[target_is_dimension(minecraft:the_end)]
[target_is_not_dimension(namespace:path)]Passes if the warp destination is not the specified dimension[target_is_not_dimension(minecraft:overworld)]
[involves_dimension(namespace:path)]Passes if the warp involves the specified dimension[involves_dimension(minecraft:the_nether)]
[not_involves_dimension(namespace:path)]Passes if the warp does not involve the specified dimension[not_involves_dimension(minecraft:overworld)]
[is_within_distance(distance)]Passes if the warp is within the specified distance[is_within_distance(100)]
[is_not_within_distance(distance)]Passes if the warp is not within the specified distance[is_not_within_distance(100)]
[has_cooldown(name)]Passes if the player is on a cooldown[has_cooldown(inventory_button)]
[not_has_cooldown(name)]Passes if the player is not on a cooldown[not_has_cooldown(inventory_button)]
[has_cooldown_above(name, seconds)]Passes if the player is on a cooldown for more than the specified amount of seconds[has_cooldown_above(inventory_button, 60)]
[not_has_cooldown_above(name, seconds)]Passes if the player is not on a cooldown for more than the specified amount of seconds[not_has_cooldown_above(inventory_button, 60)]
[is_on_any_vehicle]Passes if the player is riding any vehicle[is_on_any_vehicle]
[is_not_on_any_vehicle]Passes if the player is not riding any vehicle[is_not_on_any_vehicle]
[is_on_vehicle(namespace:path)]Passes if the player is riding the specified entity type[is_on_vehicle(minecraft:boat)]
[is_not_on_vehicle(namespace:path)]Passes if the player is not riding the specified entity type[is_not_on_vehicle(minecraft:boat)]
[has_empty_inventory]Passes if the player has an empty inventory[has_empty_inventory]
[not_has_empty_inventory]Passes if the player does not have an empty inventory[not_has_empty_inventory]
[is_wearing_any_armor]Passes if the player is wearing any armor[is_wearing_any_armor]
[is_not_wearing_any_armor]Passes if the player is not wearing any armor[is_not_wearing_any_armor]
has_item(namespace:path, count)Passes if the player has the specified item in their inventory[has_item(minecraft:diamond, 1)]
not_has_item(namespace:path, count)Passes if the player does not have the specified item in their inventory[not_has_item(minecraft:diamond, 1)]

Variables

VariableDescription
distanceThe distance to the warp destination
leashedThe amount of leashed entities included in the warp
petsThe amount of pets included in the warp
passengersThe amount of vehicle passengers included in the warp
{cooldown}Remaining seconds of cooldown for this player, where {cooldown} is the name of a cooldown

Minecraft 1.20.1 and below

Warp Rules and custom warp requirements did not exist in Minecraft 1.20.1 and below - configuration is limited to controlling xp costs.

Read through the contents of your config/waystones-common.toml file to learn what options are available.