Configuration

waystones-common.toml
general
NameDescriptionTypeDefault ValueValid Values
restrictedWaystonesList of waystone origins that should prevent others from editing. "player" is special in that it allows only edits by the owner of the waystone.Set[PLAYER]UNKNOWN,WILDERNESS,DUNGEON,VILLAGE,PLAYER
defaultVisibilitySet to "global" to have newly placed or found waystones be global by default.WaystoneVisibilityACTIVATIONACTIVATION,GLOBAL,SHARD_ONLY,ORANGE_SHARESTONE,MAGENTA_SHARESTONE,LIGHT_BLUE_SHARESTONE,YELLOW_SHARESTONE,LIME_SHARESTONE,PINK_SHARESTONE,GRAY_SHARESTONE,LIGHT_GRAY_SHARESTONE,CYAN_SHARESTONE,PURPLE_SHARESTONE,BLUE_SHARESTONE,BROWN_SHARESTONE,GREEN_SHARESTONE,RED_SHARESTONE,BLACK_SHARESTONE
allowedVisibilitiesAdd "global" to allow every player to create global waystones.Set[]ACTIVATION,GLOBAL,SHARD_ONLY,ORANGE_SHARESTONE,MAGENTA_SHARESTONE,LIGHT_BLUE_SHARESTONE,YELLOW_SHARESTONE,LIME_SHARESTONE,PINK_SHARESTONE,GRAY_SHARESTONE,LIGHT_GRAY_SHARESTONE,CYAN_SHARESTONE,PURPLE_SHARESTONE,BLUE_SHARESTONE,BROWN_SHARESTONE,GREEN_SHARESTONE,RED_SHARESTONE,BLACK_SHARESTONE
warpStoneUseTimeThe time in ticks that it takes to use a warp stone. This is the charge-up time when holding right-click.Integer32
warpPlateUseTimeThe time in ticks that it takes to use a warp plate. This is the time the player has to stand on top for.Integer15
scrollUseTimeThe time in ticks it takes to use a scroll. This is the charge-up time when holding right-click.Integer32
inventoryButton
NameDescriptionTypeDefault ValueValid Values
inventoryButtonSet 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.String
inventoryButtonXThe x position of the inventory button in the inventory.Integer58
inventoryButtonYThe y position of the inventory button in the inventory.Integer60
creativeInventoryButtonXThe y position of the inventory button in the creative menu.Integer88
creativeInventoryButtonYThe y position of the inventory button in the creative menu.Integer33
worldGen
NameDescriptionTypeDefault ValueValid Values
wildWaystoneStyleSet 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.WorldGenStyleBIOMEDEFAULT,MOSSY,SANDY,BLACKSTONE,DEEPSLATE,END_STONE,BIOME
chunksBetweenWildWaystonesApproximate chunk distance between wild waystones being generated. Set to 0 to disable generation.Integer25
wildWaystonesDimensionAllowListList of dimensions that wild waystones are allowed to spawn in. If left empty, all dimensions except those in wildWaystonesDimensionDenyList are used.Set[minecraft:the_nether, minecraft:overworld, minecraft:the_end]
wildWaystonesDimensionDenyListList of dimensions that wild waystones are not allowed to spawn in. Only used if wildWaystonesDimensionAllowList is empty.Set[]
nameGenerationModeSet 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.NameGenerationModePRESET_FIRSTPRESET_FIRST,RANDOM_ONLY,PRESET_ONLY,MIXED
nameGenerationTemplateThe template to use when generating new names. Supported placeholders are {Biome} (english biome name) and {MrPork} (the default name generator).String{MrPork}
nameGenerationPresetsThese names will be used for the preset name generation mode. See the nameGenerationMode option for more info.List[]
spawnInVillagesSet 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.VillageWaystoneGenerationREGULARDISABLED,REGULAR,FREQUENT
teleports
NameDescriptionTypeDefault ValueValid Values
enableCostsSet to false to simply disable all xp costs. See warpRequirements for more fine-grained control.Booleantrue
enableCooldownsSet to false to simply disable all cooldowns. See warpRequirements for more fine-grained control.Booleantrue
warpRequirementsList 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.List[[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)]
transportPetsSet 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.TransportMobsDISABLEDENABLED,SAME_DIMENSION,DISABLED
transportLeashedSet 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.TransportMobsENABLEDENABLED,SAME_DIMENSION,DISABLED
entityDenyListList of entities that cannot be teleported, either as pet, leashed, or on warp plates.Set[minecraft:wither]
client
NameDescriptionTypeDefault ValueValid Values
disableTextGlowIf enabled, the text overlay on waystones will no longer always render at full brightness.Booleanfalse
compatibility
NameDescriptionTypeDefault ValueValid Values
journeyMapIf enabled, JourneyMap waypoints will be created for each activated waystone.Booleantrue
preferJourneyMapIntegrationModIf enabled, JourneyMap waypoints will only be created if the mod 'JourneyMap Integration' is not installedBooleantrue
blueMapIf enabled, Waystones will add markers for waystones and sharestones to BlueMap.Booleantrue
dynmapIf enabled, Waystones will add markers for waystones and sharestones to Dynmap.Booleantrue

Warp Requirements

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 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)
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)

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_portstone]Passes if the warp destination is a portstone[target_is_portstone]
[target_is_not_portstone]Passes if the warp destination is not a portstone[target_is_not_portstone]
[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)]

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