[blueMap]

# Controls whether Waystones' BlueMap integration should be loaded
enabled = true

# If enabled, sharestones will be tracked as markers on BlueMap.
includeSharestones = true

# If enabled, undiscovered waystones will be tracked as markers on BlueMap.
includeUndiscoveredWaystones = false

# If enabled, waystones will be tracked as markers on BlueMap
includeWaystones = true

[client]

# If enabled, the text overlay on waystones will no longer always render at full brightness.
disableTextGlow = false

[compatibility]

# If enabled, Waystones will add markers for waystones and sharestones to Dynmap.
dynmap = true

# If enabled, JourneyMap waypoints will be created for each activated waystone.
journeyMap = true

# If enabled, JourneyMap waypoints will only be created if the mod 'JourneyMap Integration' is not installed
preferJourneyMapIntegrationMod = true

[general]

# Add "global" to allow every player to create global waystones.
allowedVisibilities = [  ]

# Set to "global" to have newly placed or found waystones be global by default.
defaultVisibility = "activation"

# 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.
restrictedWaystones = [ "player" ]

# The time in ticks it takes to use a scroll. This is the charge-up time when holding right-click.
scrollUseTime = 32

# The time in ticks that it takes to use a warp plate. This is the time the player has to stand on top for.
warpPlateUseTime = 15

# The time in ticks that it takes to use a warp stone. This is the charge-up time when holding right-click.
warpStoneUseTime = 32

[inventoryButton]

# The y position of the inventory button in the creative menu.
creativeInventoryButtonX = 88

# The y position of the inventory button in the creative menu.
creativeInventoryButtonY = 33

# 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.
inventoryButton = ""

# The x position of the inventory button in the inventory.
inventoryButtonX = 58

# The y position of the inventory button in the inventory.
inventoryButtonY = 60

[teleports]

# Set to false to simply disable all cooldowns. See warpRequirements for more fine-grained control.
enableCooldowns = true

# Set to false to simply disable all xp costs. See warpRequirements for more fine-grained control.
enableCosts = true

# Set to false to simply disable all durability costs. See warpRequirements for more fine-grained control.
enableDurability = true

# Set to true to enable warp modifier items for applying status effects on teleports.
enableModifiers = true

# List of entities that cannot be teleported, either as pet, leashed, or on warp plates.
entityDenyList = [ "minecraft:wither" ]

# 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.
transportLeashed = "enabled"

# 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.
transportPets = "disabled"

# 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.
warpRequirements = [ 
    "[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)"
]

[worldGen]

# Approximate chunk distance between wild waystones being generated. Set to 0 to disable generation.
chunksBetweenWildWaystones = 25

# 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.
nameGenerationMode = "preset_first"

# These names will be used for the preset name generation mode. See the nameGenerationMode option for more info.
nameGenerationPresets = [  ]

# The template to use when generating new names. Supported placeholders are {Biome} (english biome name) and {MrPork} (the default name generator).
nameGenerationTemplate = "{MrPork}"

# 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.
spawnInVillages = "regular"

# 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.
wildWaystoneStyle = "biome"

# List of dimensions that wild waystones are allowed to spawn in. If left empty, all dimensions except those in wildWaystonesDimensionDenyList will be able to spawn waystones, provided the biomes are in the `has_structure/waystone` tag.
wildWaystonesDimensionAllowList = [ "minecraft:the_end", "minecraft:overworld", "minecraft:the_nether" ]

# List of dimensions that wild waystones are not allowed to spawn in, even if the biome is in the `has_structure/waystone` tag. Only used if wildWaystonesDimensionAllowList is empty.
wildWaystonesDimensionDenyList = [  ]

