Configuration

For information on how to edit the mod's config, see here.
Name Value Default
restrictedWaystones List of waystone origins that should prevent others from editing. PLAYER is special in that it allows only edits by the owner of the waystone.
PLAYER
allowedVisibilities Add GLOBAL to allow every player to create global waystones.
none
warpStoneUseTime The time in ticks that it takes to use a warp stone. This is the charge-up time when holding right-click. 32
warpPlateUseTime The time in ticks that it takes to use a warp plate. This is the time the player has to stand on top for. 15
scrollUseTime The time in ticks it takes to use a scroll. This is the charge-up time when holding right-click. 32
enableCosts Set to false to simply disable all xp costs. See warpRequirements for more fine-grained control.
enableCooldowns Set to false to simply disable all cooldowns. See warpRequirements for more fine-grained control.
warpRequirements List of warp requirements with comma-separated parameters in parentheses. Conditions can be defined as comma-separated list in square brackets. Will be applied in order.
[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)
transportPets Set to ENABLED to have nearby pets teleport with you. Set to SAME_DIMENSION to have nearby pets teleport with you only if you're not changing dimensions. Set to DISABLED to disable.
SAME_DIMENSION
transportLeashed Set to ENABLED to have leashed mobs teleport with you. Set to SAME_DIMENSION to have leashed mobs teleport with you only if you're not changing dimensions. Set to DISABLED to disable.
ENABLED
entityDenyList List of entities that cannot be teleported, either as pet, leashed, or on warp plates.
[object Object]
inventoryButton Set to 'NONE' for no inventory button. Set to 'NEAREST' for an inventory button that teleports to the nearest waystone. Set to 'ANY' for an inventory button that opens the waystone selection menu. Set to a waystone name for an inventory button that teleports to a specifically named waystone.
inventoryButtonX The x position of the inventory button in the inventory. 58
inventoryButtonY The y position of the inventory button in the inventory. 60
creativeInventoryButtonX The y position of the inventory button in the creative menu. 88
creativeInventoryButtonY The y position of the inventory button in the creative menu. 33
wildWaystoneStyle Set to 'DEFAULT' to only generate the normally textured waystones. Set to 'MOSSY' or 'SANDY' to generate all as that variant. Set to 'BIOME' to make the style depend on the biome it is generated in.
BIOME
chunksBetweenWildWaystones Approximate chunk distance between wild waystones being generated. Set to 0 to disable generation. 25
wildWaystonesDimensionAllowList List of dimensions that wild waystones are allowed to spawn in. If left empty, all dimensions except those in wildWaystonesDimensionDenyList are used.
[object Object]
[object Object]
[object Object]
wildWaystonesDimensionDenyList List of dimensions that wild waystones are not allowed to spawn in. Only used if wildWaystonesDimensionAllowList is empty.
none
nameGenerationMode Set to 'PRESET_FIRST' to first use names from the nameGenerationPresets. Set to 'PRESET_ONLY' to use only those custom names. Set to 'MIXED' to have some waystones use custom names, and others random names.
PRESET_FIRST
nameGenerationTemplate The template to use when generating new names. Supported placeholders are {Biome} (english biome name) and {MrPork} (the default name generator). {MrPork}
nameGenerationPresets These names will be used for the PRESET name generation mode. See the nameGenerationMode option for more info.
none
spawnInVillages Set to REGULAR to have waystones spawn in some villages. Set to FREQUENT to have waystones spawn in most villages. Set to DISABLED to disable waystone generation in villages. Waystones will only spawn in vanilla or supported villages.
REGULAR
disableTextGlow If enabled, the text overlay on waystones will no longer always render at full brightness.
journeyMap If enabled, JourneyMap waypoints will be created for each activated waystone.
preferJourneyMapIntegrationMod If enabled, JourneyMap waypoints will only be created if the mod 'JourneyMap Integration' is not installed
blueMap If enabled, Waystones will add markers for waystones and sharestones to BlueMap.
dynmap If enabled, Waystones will add markers for waystones and sharestones to Dynmap.

Warp Requirements

Older Versions of Minecraft

Warp Requirements are only available for Minecraft 1.20.6 and above. On older versions, refer to the contents of your config file for alternative solutions.

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 levels 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 value.min_cooldown(my_cooldown, 30)
max_cooldown(name, seconds)Clamps the cooldown to the given maximum value.max_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 value.min_item_cost(minecraft:diamond, 1)
max_item_cost(item, max)Clamps the item cost to the given maximum value.max_item_cost(minecraft:diamond, 3)
refuse(message)Refuses the warp with the specified message. Prepend message with $ to use a translation key.refuse(“You are not allowed to warp here.”) or refuse(“$your.custom.translation.key”)

Conditions

ConditionDescriptionExample
is_interdimensionalPasses if the warp is between two dimensions[is_interdimensional]
is_not_interdimensionalPasses if the warp is within the same dimension[is_not_interdimensional]
source_is_warp_platePasses if the warp originates from a warp plate[source_is_warp_plate]
source_is_not_warp_platePasses if the warp does not originate from a warp plate[source_is_not_warp_plate]
source_is_waystonePasses if the warp originates from a waystone[source_is_waystone]
source_is_not_waystonePasses if the warp does not originate from a waystone[source_is_not_waystone]
source_is_portstonePasses if the warp originates from a portstone[source_is_portstone]
source_is_not_portstonePasses if the warp does not originate from a portstone[source_is_not_portstone]
source_is_sharestonePasses if the warp originates from a sharestone[source_is_sharestone]
source_is_not_sharestonePasses if the warp does not originate from a sharestone[source_is_not_sharestone]
source_is_inventory_buttonPasses if the warp originates from the inventory button[source_is_inventory_button]
source_is_not_inventory_buttonPasses if the warp does not originate from the inventory button[source_is_not_inventory_button]
target_is_warp_platePasses if the warp destination is a warp plate[target_is_warp_plate]
target_is_not_warp_platePasses if the warp destination is not a warp plate[target_is_not_warp_plate]
target_is_waystonePasses if the warp destination is a waystone[target_is_waystone]
target_is_not_waystonePasses if the warp destination is not a waystone[target_is_not_waystone]
target_is_portstonePasses if the warp destination is a portstone[target_is_portstone]
target_is_not_portstonePasses if the warp destination is not a portstone[target_is_not_portstone]
target_is_sharestonePasses if the warp destination is a sharestone[target_is_sharestone]
target_is_not_sharestonePasses if the warp destination is not a sharestone[target_is_not_sharestone]
target_is_globalPasses if the warp destination is a global waystone[target_is_global]
target_is_not_globalPasses if the warp destination is not a global waystone[target_is_not_global]
is_with_petsPasses if the warp is performed with pets[is_with_pets]
is_not_with_petsPasses if the warp is not performed with pets[is_not_with_pets]
is_with_leashedPasses if the warp is performed with leashed entities[is_with_leashed]
is_not_with_leashedPasses 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[involves_not_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)]

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