Configuration
On this page(18)
SnPlayerWarps ships with the following YAML files. New keys are auto-merged on boot; your edits and comments are preserved.
| File | Holds |
|---|---|
config.yml | Warps, visits, the browser, sponsor slots, the chat link, limits, worlds, currencies, islands, notices and sounds |
lang/messages_en.yml | Every line the plugin sends, plus the state words used by menus and placeholders |
guis/browse.yml | The warp browser (/playerwarp) |
guis/warp-picker.yml | One owner's warps, when a visit or chat link names an owner with several |
guis/sponsor-select.yml | Picks which of your warps to feature in a sponsor slot |
guis/confirm-sponsor.yml | Confirms a sponsor slot purchase; nothing is charged until Confirm |
guis/my-warps.yml | Your warps (/playerwarp manage), or another owner's for staff |
guis/warp-manage.yml | Manages one warp |
guis/confirm-delete.yml | Confirms a warp deletion |
guis/bans.yml | The players banned from your warps |
The currencies and sponsor.slots sections are marked # sn:extensible. They are yours: entries you delete there stay deleted, and the updater never inserts new ones.
config.yml
# ============================================================
# SnPlayerWarps - configuration
# Managed by SnLib: new keys are auto-merged on boot; your values and
# comments are preserved. Do NOT add a config-version key (retired).
# The main config still merges new keys when update-configs is false;
# that switch controls other managed files.
# Sections marked "# sn:extensible" are yours: entries you delete there
# stay deleted.
# ============================================================
# Active language code; loads lang/messages_<code>.yml (falls back to en).
lang: en
# Master switch of the SnLib auto-updater for this plugin's managed files.
update-configs: true
# Runtime debug output (also toggleable live via /playerwarp debug).
debug:
# Master toggle of the debug output.
enabled: false
# Verbosity threshold: OFF, INFO, DEBUG or TRACE.
level: DEBUG
# Category filter; an empty list lets every category through.
categories: []
# ------------------------------------------------------------
# Main command.
# ------------------------------------------------------------
command:
# Aliases of /playerwarp. Re-read on /playerwarp reload.
aliases: [pwarp, pw, pwarps]
# ------------------------------------------------------------
# Database. type=sqlite needs nothing else; type=mysql reads host/port/etc.
# ------------------------------------------------------------
database:
# sqlite or mysql
type: sqlite
# MySQL connection (ignored when type is sqlite).
host: localhost
port: 3306
database: snplayerwarps
username: root
password: ""
# ------------------------------------------------------------
# Presentation. gui opens the menu; chat prints the text view.
# ------------------------------------------------------------
presentation:
# Bare /playerwarp: gui opens the warp browser, chat prints the generated help.
main: gui
# ============================================================
# Warps. What a player warp is and how it may be named.
# ============================================================
warps:
# Identifier typed in commands, e.g. /playerwarp visit <player> [warp].
name:
# Minimum and maximum length of the identifier.
min-length: 2
max-length: 16
# Characters allowed in the identifier (the whole name must match). Whitespace and
# < > ' " \ % & [ ] { } are always refused, whatever the regex allows.
regex: "^[A-Za-z0-9_-]+$"
# Identifiers nobody can use, matched case-insensitively.
blacklist: [admin, staff, spawn]
# Styled title shown in menus, adverts and chat links. Defaults to the identifier.
display-name:
# Min/max are VISIBLE length (color codes not counted).
min-length: 1
max-length: 48
# Characters allowed in the plain (styling-stripped) title. The characters
# < > ' " \ and % are always refused: the title lands inside clickable chat lines
# and messages that expand PlaceholderAPI placeholders. Titles that look blank are refused.
regex: "^.+$"
# Titles that cannot be used, matched case-insensitively inside the plain title.
blacklist: []
# Server ceiling of the styling a title may carry. A player also needs the
# matching snplayerwarps.style.<color|hex|format|magic|gradient> permission.
style:
enabled: true
allow-legacy-colors: true
allow-hex: true
allow-bold: true
allow-italic: true
allow-underline: true
allow-strikethrough: true
allow-obfuscated: true
allow-minimessage: false
allow-gradient: true
# reject = drop all styling to plain text; strip = remove only disallowed styling.
on-disallowed: strip
# Custom icons: the item in the owner's hand replaces the owner head.
icon:
# Let owners set a custom icon.
enabled: true
# Materials that can never be an icon.
blacklist: [AIR, BARRIER, BEDROCK, COMMAND_BLOCK, STRUCTURE_VOID, LIGHT]
# Pattern of "Created" dates (java.time DateTimeFormatter) and its language.
date-format: "MMM d, h:mma"
date-locale: en
# ============================================================
# Features. How warps behave.
# ============================================================
# Teleporting to a warp.
teleport:
# Seconds the visitor must stand still before teleporting (0 = instant).
warmup-seconds: 3
# Seconds between two warp visits of the same player (0 = none).
cooldown-seconds: 5
# Refuse to create, move or visit a warp whose spot is unsafe (no floor, lava, suffocation).
safety-check: true
# Visit counting (what the browser ranks by).
visits:
# A visit from the same player to the same warp counts at most once per window
# (30m, 1h, 1d...; 0 counts every visit). The window resets on restart.
unique-window: 1h
# Count the owner's own visits.
count-owner: false
# Tell an online owner who just visited their warp (action bar).
notify-owner: true
# The warp browser (/playerwarp).
browse:
# Order used when the browser opens: MOST_VISITS, LEAST_VISITS, NEWEST or OLDEST.
default-sort: MOST_VISITS
# Orders the sort button cycles through, in this order.
sort-modes: [MOST_VISITS, LEAST_VISITS, NEWEST, OLDEST]
# List closed warps too (shown as closed, not visitable).
show-closed: false
# List only the warps whose owner is online.
online-owners-only: false
# Sponsored slots: the top row of the browser plus the chat adverts.
sponsor:
# Master toggle of the sponsor system.
enabled: true
# How long a bought slot lasts when the slot sets no duration of its own.
duration: 24h
# Currency id (from currencies:) used to pay for slots.
currency: okicoins
# How many slots one player may hold at the same time (0 = no limit).
max-per-player: 1
# Refund when a sponsored warp is deleted or staff-locked: NONE, PRORATED (the unused
# share) or FULL (the whole price for a staff delete or lock or a purge; the owner's
# own delete or island loss gets the unused share).
refund-mode: NONE
# Seconds a slot stays reserved while the payment is being confirmed (15 at least).
reservation-seconds: 30
# Slots in display order, one per S cell of guis/browse.yml (slots past the last cell
# are not sold). The id (letters, digits, _ and -) is used by the placeholders and by
# /playerwarp admin setprice <slot> <price>, which rewrites the price here.
# sn:extensible
slots:
'1':
# Price of the slot in the sponsor currency; required (0 = free).
price: 200
# Duration override (12h, 2d...); empty uses sponsor.duration.
duration: ""
'2':
price: 175
duration: ""
'3':
price: 150
duration: ""
'4':
price: 125
duration: ""
'5':
price: 100
duration: ""
# Periodic chat adverts of the sponsored warps.
announce:
# Toggle of the adverts.
enabled: true
# Time between two adverts.
interval: 5m
# ROTATE announces one sponsored warp per interval; ALL announces every one.
mode: ROTATE
# Skip adverts while fewer players than this are online.
min-online: 1
# The [pwarp] chat link.
chat-tag:
# Toggle of the chat link.
enabled: true
# Tokens replaced by a link to the sender's warp; [pwarp:<name>] links one warp.
tokens: ["[pwarp]", "[pw]"]
# Seconds between two links from the same player.
cooldown-seconds: 30
# CALLBACK teleports through a one-click callback; COMMAND runs /playerwarp visit.
click-mode: CALLBACK
# How long a CALLBACK link keeps working.
callback-lifetime: 12h
# Players an owner bans from all of their warps.
bans:
# Toggle of owner bans.
enabled: true
# Most players one owner may ban.
max-per-owner: 45
# Chat prompts used by the menus (rename, add a ban).
prompts:
# Seconds before an unanswered prompt expires.
timeout-seconds: 30
# Word that cancels a prompt.
cancel-word: cancel
# ============================================================
# Limits. What warps are not allowed to do.
# ============================================================
limits:
# Warps a player may own without a snplayerwarps.limit.<n> permission.
default-warps: 1
# Highest <n> checked in snplayerwarps.limit.<n>.
permission-scan-max: 50
# Seconds between two warp creations of the same player.
create-cooldown-seconds: 10
# Optional costs; amount 0 disables one. currency is an id from currencies:.
costs:
create:
amount: 0
currency: money
move:
amount: 0
currency: money
rename:
amount: 0
currency: money
# Worlds where warps may exist.
worlds:
# WHITELIST allows only the listed worlds; BLACKLIST allows every world but them.
mode: BLACKLIST
# World names.
list: []
# Automatic cleanup of abandoned warps.
inactivity:
# Delete the warps of owners who have not joined for this many days (0 = off).
purge-days: 0
# When the automatic purge runs (SnLib cron: "daily HH:mm", "hourly :mm" or 5 fields).
schedule: "daily 04:00"
# ============================================================
# Integrations.
# ============================================================
# Currencies used by sponsor slots and costs. vault: true uses the Vault economy;
# otherwise the balance is read from a PlaceholderAPI placeholder and money moves
# through console commands (both commands need {player} and {amount}).
# sn:extensible
currencies:
money:
# Name shown in prices.
display-name: "&aMoney"
# Use the Vault economy.
vault: true
# Decimals shown and charged.
decimals: 2
okicoins:
display-name: "&#FF9B00OkiCoins"
# Placeholder that returns the raw balance of the player.
balance-placeholder: "%sncredits_balance%"
# Console command that takes the amount.
take-command: "credits remove {player} {amount}"
# Console command that gives the amount (refunds).
give-command: "credits give {player} {amount}"
decimals: 0
# Ticks after the take or give command at which the balance is re-read to confirm it.
verify-ticks: [4, 16]
# Island rules (SnSuperiorSkyblock or SuperiorSkyblock2; ignored when neither is installed).
islands:
# Toggle of every island rule below.
enabled: true
# Warps may only be created on an island (never outside one).
require-island: true
# Coop players of an island count as members.
allow-coop: false
# Also require the PLAYER_WARPS island privilege, editable in /is permissions.
# Add PLAYER_WARPS to the member role of SuperiorSkyblock's island-roles so members
# have it by default, and a player_warps item to its menus/permissions.yml.
privilege-check: true
# What happens to a player's warps on an island they leave, are kicked or banned
# from, or that is disbanded: DELETE or CLOSE.
on-member-removed: DELETE
# Refuse visits to warps on a locked island.
respect-locked: true
# Refuse visits from players banned from the warp's island.
respect-island-bans: true
# Periodic re-check of every warp against its island.
sweep:
# Time between two sweeps (0 = off, one minute at least).
interval: 10m
# Most warps one sweep may remove; above this it aborts with a console warning.
max-removals: 25
# ============================================================
# Feedback. What players and staff are told.
# ============================================================
# Owner notices.
notifications:
# Tell the owner when their sponsor slot expires.
sponsor-expired: true
# Tell the owner when staff delete, lock or move their warp.
staff-action: true
# Server-wide broadcasts.
broadcasts:
# Announce every new warp to everyone.
warp-created: false
# Announce every sponsor slot purchase to everyone.
sponsor-bought: true
# Staff notices, sent to holders of snplayerwarps.notify.
staff-notify:
# A player created a warp.
warp-created: false
# A warp was removed by an island change, a purge or a sweep.
warp-removed: true
# A player bought a sponsor slot.
sponsor-bought: true
# Another staff member ran an admin action.
admin-actions: true
# Sounds (Bukkit sound names; empty disables one).
sounds:
teleport: ENTITY_ENDERMAN_TELEPORT
created: ENTITY_PLAYER_LEVELUP
purchase: ENTITY_PLAYER_LEVELUP
error: ENTITY_VILLAGER_NOCurrencies
Sponsor slots and the optional costs (limits.costs) are paid in a currency declared under currencies:. Point sponsor.currency and each limits.costs.*.currency at a currency id. A currency takes one of two forms:
- Vault (
vault: true): uses your Vault economy. Availability is live, so an economy that registers late is picked up without a restart. - Command-backed: reads the balance from a PlaceholderAPI placeholder and moves money with console commands. This is how you use a plugin with no economy hook, such as SnCredits.
| Key | Description |
|---|---|
display-name | Name shown in prices. |
vault | true uses the Vault economy. |
decimals | Decimals shown and charged. |
balance-placeholder | Command-backed only. Placeholder that returns the raw balance of the player. |
take-command | Command-backed only. Console command that takes the amount. Needs {player} and {amount}. |
give-command | Command-backed only. Console command that gives the amount, used for refunds. Needs {player} and {amount}. |
verify-ticks | Command-backed only. Ticks after the take or give at which the balance is re-read to confirm it. Longer marks give a slow proxy economy more time. |
A command-backed currency checks the balance before it runs the take command, and confirms the charge by reading the balance again afterwards. Nothing is bought when the drop cannot be confirmed.
A take-command missing {player} or {amount} skips the whole currency, so its prices are refused. A give-command missing either is ignored, and refunds stay queued. The console names every skipped currency at start.
A buyer who disconnects or switches server before the take is confirmed is not charged: the purchase is refused. A console WARN with the player UUID and amount tells staff to refund by hand if the money did leave.
Refunds go through give-command and are checked against the balance like a charge. When the balance cannot be read before the give, or the give fails, nothing is paid and the refund stays queued. A give that went out but is not confirmed at the verify-ticks marks still counts as paid, so it is never paid twice. A console line gives the player, UUID and amount so staff can pay it by hand if it never arrived. A refund to an offline player, or one that cannot be paid right now, is stored and paid on their next join.
Sponsor slots
- Slot ids live under
sponsor.slots. They may only use letters, digits,_and-, up to 32 characters. Ids that differ only in case are rejected. - Prices.
priceis required and may be quoted ("200"). A missing or non-numeric price, such as1k, skips the slot with a console WARN instead of making it free. Writeprice: 0for a free slot. - Durations. A slot's
durationoverridessponsor.duration. Leave it empty to use the global value. - One slot per
Scell.guis/browse.ymlshows one sponsor slot perScell of its layout. Slots past the lastScell are not sold, and staff cannot grant them. The console names them at start and after every reload. - The confirmed price. A buyer pays exactly the price and currency the confirmation showed. If staff change it with
/playerwarp admin setpricewhile the screen is open, Confirm charges nothing and the confirmation reopens with the new price. - Reservation. A slot stays reserved for
sponsor.reservation-secondswhile the payment is confirmed. Values below15are raised to15.
sponsor.refund-mode decides what comes back when a sponsored warp goes:
| Mode | Refund |
|---|---|
NONE | Nothing. |
PRORATED | The unused share of the price. |
FULL | The whole price when staff delete or lock the warp, or the inactivity purge removes it. When the owner deletes it, or it goes with its island, only the unused share. |
A slot that has already run out refunds nothing.
Islands
The islands: block works with SnSuperiorSkyblock or SuperiorSkyblock2 and is ignored when neither is installed. See Installation for the PLAYER_WARPS privilege setup.
- With
require-island: true, warps can only be created on an island you belong to. - While the island plugin is installed but disabled or not answering, creating, moving and visiting are refused.
snplayerwarps.admin.bypass.islandcan still place a warp, and records no island. - When a player leaves an island, is kicked or banned from it, or the island is disbanded, their warps there are deleted or closed per
on-member-removed(DELETEorCLOSE). The owner is told when online. - With
allow-coop: true, coop players count as members. SuperiorSkyblock uncoops a player on logout, so a coop's warps last one coop session and are removed (or closed) once it ends.
Maintenance
- Island sweep (
islands.sweep): everyinterval, every warp on an island is checked against it. The interval is one minute at least, and0turns the sweep off. A warp is removed (or closed) only after two sweeps in a row found its island gone or its owner no longer part of it. - Sweep safety. When more warps than
max-removalswould go in one sweep, it removes nothing and warns in the console. The sweep is skipped while the island plugin is not answering, and a check that fails always keeps the warp. - Inactivity purge (
inactivity:): withpurge-daysabove0, the warps of every owner who has not joined for that many days are deleted atschedule. Online owners are never purged. - Schedule format.
scheduleis a SnLib cron expression:daily 04:00,hourly :30or five cron fields.
Warp names and titles
- Identifiers always refuse whitespace,
< > ' " \ % & [ ] { }and the section sign, whateverwarps.name.regexallows. - Titles that look blank (only spaces or invisible characters) are refused. A warp created without a title uses its identifier.
- Styling in a title stays inside the title and never restyles the rest of a message or breaks a click around
{display}. - Island names drop
< > % [ ] \before they show anywhere, so a name can never carry a placeholder or a tag.&color codes stay. When you edit the language or menu files, never put{island}inside a tag argument.
Chat link
chat-tag.tokens are replaced by a link to the sender's warp, and [pwarp:<name>] links one warp by name. Only the first token of a message is considered.
click-mode: CALLBACKruns the click through Paper's/paper:callbackcommand, which command-filter plugins see. It keeps working forcallback-lifetime.click-mode: COMMANDmakes the link run/playerwarp visit <owner> <warp>instead.
Visits
visits.unique-window is kept in memory. After a restart, the next visit of each player to each warp counts again.
guis/*.yml
Every menu ships with strict-clicks: true: only plain left, right and shift clicks run buttons. A second click from the same player within about 300 ms is ignored, so a double click never runs an action twice. [pw-browse] and [pw-manage] are the plugin's own click actions; keep each verb as shipped.
guis/browse.yml
<details> <summary>Show guis/browse.yml</summary># ============================================================
# SnPlayerWarps - warp browser (/playerwarp)
# Managed by SnLib: new keys merge in on boot, your values are kept.
# [pw-browse] <verb> is the plugin's click action; keep each verb as shipped.
# ============================================================
# {page} and {pages} are filled by the plugin.
title: "₢f2&lPlayer Warps &8(&7{page}&8/&7{pages}&8)"
# Only plain left, right and shift clicks run the buttons; number keys, drops and the
# double-click event are ignored (left-click-actions also answer a double click).
strict-clicks: true
# Repaint interval in ticks; keeps the sponsor countdowns live.
update-interval: 20
# The warps are paged over the p cells.
pagination: true
paged-key: p
# S sponsor slots (position order), p warps, < > pages, s sort, h help,
# x close, y your profile, m your warps, f filler.
layout:
- "fffffffff"
- "ffSSSSSff"
- "fpppppppf"
- "fpppppppf"
- "fpppppppf"
- "<shfxfym>"
# The sponsor slots fill the S cells in position order; a cell without a slot
# shows the sponsor-unavailable item. Slots past the last S cell are not sold.
regions:
sponsors: S
items:
filler:
material: GRAY_STAINED_GLASS_PANE
display-name: " "
key: f
# An S cell with no sponsor slot behind it, or every S cell while sponsors are disabled.
sponsor-unavailable:
material: GRAY_DYE
display-name: "&7&lSponsor Slot"
lore:
- "[small]&8sponsored slot"
- ""
- "&7This slot is not available."
key: S
help:
material: BOOK
display-name: "₢f2&lPlayer Warps"
lore:
- "[small]&8player warps"
- ""
- "&7Create warps on your island and let other"
- "&7players visit your shops, farms and builds."
- ""
- " ₢f2- &f/playerwarp create &7<name>"
- " &7Create a warp where you stand."
- ""
- " ₢f2- &f/playerwarp delete &7<name>"
- " &7Delete one of your warps."
- ""
- " ₢f2- &f/playerwarp update &7<name>"
- " &7Move one of your warps to where you stand."
- ""
- " ₢f2- &f/playerwarp visit &7<player> [name]"
- " &7Visit a player's warp; with several, you pick one."
- ""
- "₢f2Buy a &lsponsor slot&r₢f2 to feature your warp"
- "₢f2at the top of this menu."
key: h
close:
material: BARRIER
display-name: "&c&lClose"
key: x
click-actions:
- "[sound] UI_BUTTON_CLICK"
- "[close]"
my-warps:
material: ENDER_CHEST
display-name: "₢f2&lMy Warps"
lore:
- "&7Move, rename, open or close"
- "&7your warps and manage your bans."
- ""
- "₢f2» [small]click to open"
key: m
click-actions:
- "[sound] UI_BUTTON_CLICK"
- "[pw-browse] my-warps"
previous-page:
material: ARROW
display-name: "₢f2Previous Page"
key: "<"
click-actions:
- "[previous-page]"
- "[pw-browse] page-sync"
- "[sound] UI_BUTTON_CLICK"
nav-disabled:
material: GRAY_STAINED_GLASS_PANE
display-name: "&7No previous page"
lore:
- "&8You are on the first page"
next-page:
material: ARROW
display-name: "₢f2Next Page"
key: ">"
click-actions:
- "[next-page]"
- "[pw-browse] page-sync"
- "[sound] UI_BUTTON_CLICK"
nav-disabled:
material: GRAY_STAINED_GLASS_PANE
display-name: "&7No next page"
lore:
- "&8You are on the last page"
templates:
# One listed warp. {id} (for the click), {warp} (identifier), {display} (title), {owner},
# {island}, {visits}, {created}, {world}, {state}; {icon} is the custom icon or PLAYER_HEAD
# and {head} the owner uuid when it shows the head. {extra} adds the lines of
# messages.menu.line-featured (while sponsored) and line-state (when not open).
warp:
material: "{icon}"
skull-owner: "{head}"
display-name: "&f{display}"
lore:
- "[small]&8player warp"
- ""
- " ₢f2┃ &7Island: &f{island} &8({owner})"
- " ₢f2┃ &7Visits: &f{visits}"
- " ₢f2┃ &7Created: &f{created}{extra}"
- ""
- "₢f2» [small]click to teleport"
# Hides a warp deleted while the menu was open.
view-requirements:
- "{gone} != true"
click-actions:
- "[sound] UI_BUTTON_CLICK"
- "[pw-browse] visit {id}"
- "[close]"
# A sponsor slot anyone may buy. {slot}, {position}, {price} {currency}, {duration}.
sponsor-free:
material: CLOCK
display-name: "₢f2&lSponsor Slot &f#{position}"
lore:
- "[small]&8sponsored slot"
- ""
- "&7Feature one of your warps here, at the"
- "&7top of the browser, for &f{duration}&7."
- ""
- " ₢f2┃ &7Price: &f{price} {currency}"
- " ₢f2┃ &7Duration: &f{duration}"
- ""
- "₢f2» [small]click to buy this slot"
click-actions:
- "[sound] UI_BUTTON_CLICK"
- "[pw-browse] buy {slot}"
# A sponsor slot someone is paying for right now. Same placeholders as sponsor-free.
sponsor-reserved:
material: YELLOW_DYE
display-name: "&e&lSponsor Slot &f#{position}"
lore:
- "[small]&8sponsored slot"
- ""
- "&7Someone is buying this slot right now."
click-actions:
- "[pw-browse] buy {slot}"
# A bought sponsor slot: the warp placeholders of the warp template plus the slot ones
# and {time}, the time the slot has left.
sponsor-taken:
material: "{icon}"
skull-owner: "{head}"
display-name: "&f{display}"
glow: true
lore:
- "[small]&8sponsored warp"
- ""
- " ₢f2┃ &7Island: &f{island} &8({owner})"
- " ₢f2┃ &7Visits: &f{visits}"
- " ₢f2┃ &7Created: &f{created}"
- " ₢f2┃ &7Featured #{position}: &f{time}"
- ""
- "₢f2» [small]click to teleport"
click-actions:
- "[sound] UI_BUTTON_CLICK"
- "[pw-browse] visit {id}"
- "[close]"
# The sort button. {sort} is the name of the order in use; {modes} lists every order of
# browse.sort-modes in config.yml, one lore line each: messages.menu.sort-current for the
# order in use, sort-other for the rest (names: messages.menu.sort-names).
sort:
material: HOPPER
display-name: "₢f2&lSort: &f{sort}"
lore:
- "&7Left click for the next order,"
- "&7right click for the previous one."
- ""
- "{modes}"
key: s
left-click-actions:
- "[sound] UI_BUTTON_CLICK"
- "[pw-browse] sort"
right-click-actions:
- "[sound] UI_BUTTON_CLICK"
- "[pw-browse] sort previous"
# The viewer's own numbers: {player}, {uuid}, {count} (warps), {limit}, {visits} (all warps).
profile:
material: PLAYER_HEAD
skull-owner: "{uuid}"
display-name: "₢f2&l{player}"
lore:
- "[small]&8your warps"
- ""
- " ₢f2┃ &7Warps: &f{count}&7/&f{limit}"
- " ₢f2┃ &7Total visits: &f{visits}"
key: yguis/warp-picker.yml
<details> <summary>Show guis/warp-picker.yml</summary># ============================================================
# SnPlayerWarps - warp picker (one owner's warps)
# Opens when a visit or a chat link names an owner with several warps
# you may enter. Managed by SnLib: new keys merge in on boot, your values are kept.
# [pw-browse] <verb> is the plugin's click action; keep each verb as shipped.
# ============================================================
# {owner} is the warp owner; {page} and {pages} are filled by the plugin.
title: "₢f2&l{owner}'s Warps &8(&7{page}&8/&7{pages}&8)"
# Only plain left, right and shift clicks run the buttons; number keys, drops and the
# double-click event are ignored (left-click-actions also answer a double click).
strict-clicks: true
# The warps are paged over the p cells.
pagination: true
paged-key: p
# p warps, < > pages, x close, f filler.
layout:
- "fffffffff"
- "fpppppppf"
- "fpppppppf"
- "fpppppppf"
- "<fffxfff>"
items:
filler:
material: GRAY_STAINED_GLASS_PANE
display-name: " "
key: f
close:
material: BARRIER
display-name: "&c&lClose"
key: x
click-actions:
- "[sound] UI_BUTTON_CLICK"
- "[close]"
previous-page:
material: ARROW
display-name: "₢f2Previous Page"
key: "<"
click-actions:
- "[previous-page]"
- "[pw-browse] page-sync"
- "[sound] UI_BUTTON_CLICK"
nav-disabled:
material: GRAY_STAINED_GLASS_PANE
display-name: "&7No previous page"
lore:
- "&8You are on the first page"
next-page:
material: ARROW
display-name: "₢f2Next Page"
key: ">"
click-actions:
- "[next-page]"
- "[pw-browse] page-sync"
- "[sound] UI_BUTTON_CLICK"
nav-disabled:
material: GRAY_STAINED_GLASS_PANE
display-name: "&7No next page"
lore:
- "&8You are on the last page"
templates:
# One warp. {id} (for the click), {warp} (identifier), {display} (title), {owner},
# {island}, {visits}, {created}, {world}, {state}; {icon} is the custom icon or PLAYER_HEAD
# and {head} the owner uuid when it shows the head. {extra} adds the lines of
# messages.menu.line-featured (while sponsored) and line-state (when not open).
warp:
material: "{icon}"
skull-owner: "{head}"
display-name: "&f{display}"
lore:
- "[small]&8player warp"
- ""
- " ₢f2┃ &7Island: &f{island}"
- " ₢f2┃ &7Visits: &f{visits}"
- " ₢f2┃ &7Created: &f{created}{extra}"
- ""
- "₢f2» [small]click to teleport"
# Hides a warp deleted while the menu was open.
view-requirements:
- "{gone} != true"
click-actions:
- "[sound] UI_BUTTON_CLICK"
- "[pw-browse] visit {id}"
- "[close]"guis/sponsor-select.yml
<details> <summary>Show guis/sponsor-select.yml</summary># ============================================================
# SnPlayerWarps - sponsor slot: pick the warp to feature
# Lists your warps that can take the slot (open, not already featured).
# Managed by SnLib: new keys merge in on boot, your values are kept.
# [pw-browse] <verb> is the plugin's click action; keep each verb as shipped.
# ============================================================
# {slot}, {position}, {price}, {currency} and {duration} describe the slot;
# {page} and {pages} are filled by the plugin.
title: "₢f2&lSponsor Slot #{position} &8(&7{page}&8/&7{pages}&8)"
# Only plain left, right and shift clicks run the buttons; number keys, drops and the
# double-click event are ignored (left-click-actions also answer a double click).
strict-clicks: true
# Your warps are paged over the p cells.
pagination: true
paged-key: p
# p your warps, < > pages, b back to the browser, f filler.
layout:
- "fffffffff"
- "fpppppppf"
- "fpppppppf"
- "fpppppppf"
- "fpppppppf"
- "<fffbfff>"
items:
filler:
material: GRAY_STAINED_GLASS_PANE
display-name: " "
key: f
back:
material: ARROW
display-name: "₢f2&lBack"
lore:
- "&7Return to the warp browser."
key: b
click-actions:
- "[sound] UI_BUTTON_CLICK"
- "[pw-browse] back"
previous-page:
material: ARROW
display-name: "₢f2Previous Page"
key: "<"
click-actions:
- "[previous-page]"
- "[pw-browse] page-sync"
- "[sound] UI_BUTTON_CLICK"
nav-disabled:
material: GRAY_STAINED_GLASS_PANE
display-name: "&7No previous page"
lore:
- "&8You are on the first page"
next-page:
material: ARROW
display-name: "₢f2Next Page"
key: ">"
click-actions:
- "[next-page]"
- "[pw-browse] page-sync"
- "[sound] UI_BUTTON_CLICK"
nav-disabled:
material: GRAY_STAINED_GLASS_PANE
display-name: "&7No next page"
lore:
- "&8You are on the last page"
templates:
# One of your warps. The warp placeholders of the browser's warp template ({extra} included),
# plus {slot}.
warp:
material: "{icon}"
skull-owner: "{head}"
display-name: "&f{display}"
lore:
- "[small]&8your warp"
- ""
- " ₢f2┃ &7Visits: &f{visits}"
- " ₢f2┃ &7Created: &f{created}{extra}"
- ""
- "₢f2» [small]click to feature this warp"
# Hides a warp deleted while the menu was open.
view-requirements:
- "{gone} != true"
click-actions:
- "[sound] UI_BUTTON_CLICK"
- "[pw-browse] pick {slot} {id}"guis/confirm-sponsor.yml
<details> <summary>Show guis/confirm-sponsor.yml</summary># ============================================================
# SnPlayerWarps - sponsor slot purchase confirmation
# Nothing is charged until Confirm is clicked.
# Managed by SnLib: new keys merge in on boot, your values are kept.
# [pw-browse] <verb> is the plugin's click action; keep each verb as shipped.
# ============================================================
# Every placeholder of the templates below works here too.
title: "₢f2&lConfirm Sponsor Slot #{position}"
# Only plain left, right and shift clicks run the buttons; number keys, drops and the
# double-click event are ignored (left-click-actions also answer a double click).
strict-clicks: true
# c confirm, i the slot and warp, d cancel, f filler.
layout:
- "fffffffff"
- "ffcfifdff"
- "fffffffff"
items:
filler:
material: GRAY_STAINED_GLASS_PANE
display-name: " "
key: f
cancel:
material: RED_STAINED_GLASS_PANE
display-name: "&c&lCancel"
lore:
- "&7Back to the warp browser;"
- "&7nothing is charged."
key: d
click-actions:
- "[sound] UI_BUTTON_CLICK"
- "[pw-browse] back"
# Both templates get the slot ({slot}, {position}, {price}, {currency}, {duration}) and
# the warp ({id}, {warp}, {display}, {owner}, {island}, {visits}, {created}, {world},
# {state}, {icon}, {head}).
templates:
info:
material: "{icon}"
skull-owner: "{head}"
display-name: "&f{display}"
lore:
- "[small]&8sponsor slot #{position}"
- ""
- " ₢f2┃ &7Warp: &f{warp}"
- " ₢f2┃ &7Price: &f{price} {currency}"
- " ₢f2┃ &7Duration: &f{duration}"
- ""
- "&7Your warp is featured at the top of"
- "&7the browser and in the chat adverts."
key: i
confirm:
material: LIME_STAINED_GLASS_PANE
display-name: "&a&lConfirm"
lore:
- "&7Pay &f{price} {currency} &7to feature"
- "&f{display} &7for &f{duration}&7."
key: c
click-actions:
- "[sound] UI_BUTTON_CLICK"
- "[pw-browse] confirm {slot} {id}"
- "[close]"guis/my-warps.yml
<details> <summary>Show guis/my-warps.yml</summary># ============================================================
# SnPlayerWarps - "My warps" menu
# Opened by /playerwarp manage (your own warps) and by
# /playerwarp admin manage <player> (staff, another owner's warps).
# Managed by SnLib: new keys merge in on boot, your edits are kept.
# [pw-manage] <verb> is the plugin's click action; keep each verb as shipped.
# ============================================================
# {owner} is the owner of the listed warps.
title: "₢f2&l{owner}'s Warps"
# Only plain left, right and shift clicks run the buttons; number keys, drops and the
# double-click event are ignored (left-click-actions also answer a double click).
strict-clicks: true
# The warps fill every "p" cell of the layout, page by page.
pagination: true
paged-key: p
# p warps, < > pages, b banned players, x warp browser, i owner summary, f filler.
layout:
- "fffffffff"
- "fpppppppf"
- "fpppppppf"
- "fpppppppf"
- "fpppppppf"
- "<fbfxfif>"
items:
filler:
material: GRAY_STAINED_GLASS_PANE
display-name: " "
key: f
bans:
material: IRON_BARS
display-name: "₢f2&lBanned Players"
key: b
lore:
- "&8[small]warp bans"
- ""
- "&7Banned players cannot visit"
- "&7any of these warps."
- ""
- "₢f2[small]click to open"
click-actions:
- "[sound] UI_BUTTON_CLICK"
- "[pw-manage] bans"
back:
material: COMPASS
display-name: "₢f2&lWarp Browser"
key: x
lore:
- "&7Back to every player warp."
click-actions:
- "[sound] UI_BUTTON_CLICK"
- "[pw-manage] browse"
previous-page:
material: ARROW
display-name: "₢f2Previous Page"
key: "<"
click-actions:
- "[previous-page]"
- "[sound] UI_BUTTON_CLICK"
nav-disabled:
material: GRAY_STAINED_GLASS_PANE
display-name: "&7No previous page"
lore:
- "&8You are on the first page"
next-page:
material: ARROW
display-name: "₢f2Next Page"
key: ">"
click-actions:
- "[next-page]"
- "[sound] UI_BUTTON_CLICK"
nav-disabled:
material: GRAY_STAINED_GLASS_PANE
display-name: "&7No next page"
lore:
- "&8You are on the last page"
templates:
# One warp of the list. {id} (for the click), {warp} identifier, {display} styled title,
# {owner}, {island}, {state} open, closed or locked label, {visits}, {world}, {created};
# {extra} adds a line while the warp holds a sponsor slot (text:
# messages.menu.line-featured). {icon} is the custom icon material, or PLAYER_HEAD when the
# warp shows its owner head, whose skin {head} selects.
warp:
material: "{icon}"
skull-owner: "{head}"
display-name: "{display}"
lore:
- "&8[small]player warp[/small] &8({warp})"
- ""
- " ₢f2┃ &7State: {state}"
- " ₢f2┃ &7Visits: &f{visits}"
- " ₢f2┃ &7World: &f{world}"
- " ₢f2┃ &7Created: &f{created}{extra}"
- ""
- "₢f2[small]click to manage this warp"
click-actions:
- "[sound] UI_BUTTON_CLICK"
- "[pw-manage] manage {id}"
# Owner summary. {owner}, {count} warps owned, {limit} most warps allowed (status.unlimited
# for a player who bypasses it, status.unknown while the owner is offline), {visits} in total.
summary:
material: BOOK
display-name: "₢f2&l{owner}"
key: i
lore:
- "&8[small]warp owner"
- ""
- " ₢f2┃ &7Warps: &f{count}&7/&f{limit}"
- " ₢f2┃ &7Total visits: &f{visits}"
- ""
- "&7Create a warp where you stand with"
- "₢f2/playerwarp create <name>"guis/warp-manage.yml
<details> <summary>Show guis/warp-manage.yml</summary># ============================================================
# SnPlayerWarps - warp management menu (one warp)
# Opened from the "My warps" menu. Staff open it on another owner's warp from
# /playerwarp admin manage <player>.
# Managed by SnLib: new keys merge in on boot, your edits are kept.
# [pw-manage] <verb> is the plugin's click action; keep each verb as shipped.
#
# Every template below receives the warp placeholders: {warp} identifier, {display}
# styled title, {owner}, {island}, {state} open, closed or locked label, {visits}, {world},
# {created}, {extra} (a line while the warp holds a sponsor slot, text:
# messages.menu.line-featured), {icon} (custom icon material, or PLAYER_HEAD for the
# owner head, whose skin {head} selects) and {id} (what the click actions carry).
# ============================================================
title: "₢f2&lManage {warp}"
# Only plain left, right and shift clicks run the buttons; number keys, drops and the
# double-click event are ignored (left-click-actions also answer a double click).
strict-clicks: true
# w the warp, t teleport, m move here, r rename, i icon, o open/close, s sponsor,
# d delete, x back, f filler.
layout:
- "fffffffff"
- "ffffwffff"
- "ftfmfrfif"
- "ffofsfdff"
- "ffffxffff"
items:
filler:
material: GRAY_STAINED_GLASS_PANE
display-name: " "
key: f
back:
material: ARROW
display-name: "₢f2&lBack"
key: x
lore:
- "&7Back to the warp list."
click-actions:
- "[sound] UI_BUTTON_CLICK"
- "[pw-manage] my-warps"
templates:
# The warp itself.
header:
material: "{icon}"
skull-owner: "{head}"
display-name: "{display}"
key: w
lore:
- "&8[small]player warp[/small] &8({warp})"
- ""
- " ₢f2┃ &7Owner: &f{owner}"
- " ₢f2┃ &7State: {state}"
- " ₢f2┃ &7Visits: &f{visits}"
- " ₢f2┃ &7World: &f{world}"
- " ₢f2┃ &7Created: &f{created}{extra}"
teleport:
material: ENDER_PEARL
display-name: "₢f2&lTeleport"
key: t
lore:
- "&7Go to &f{display}&7."
- ""
- "₢f2[small]click to teleport"
click-actions:
- "[sound] UI_BUTTON_CLICK"
- "[pw-manage] teleport {id}"
move:
material: COMPASS
display-name: "₢f2&lMove Here"
key: m
lore:
- "&7Move &f{display} &7to the"
- "&7spot where you stand."
- ""
- "₢f2[small]click to move"
click-actions:
- "[sound] UI_BUTTON_CLICK"
- "[pw-manage] move {id}"
rename:
material: NAME_TAG
display-name: "₢f2&lRename"
key: r
lore:
- "&7Change the title shown in menus."
- "&7Now: &f{display}"
- ""
- "₢f2[small]click and type the new title"
click-actions:
- "[sound] UI_BUTTON_CLICK"
- "[pw-manage] rename {id}"
icon:
material: ITEM_FRAME
display-name: "₢f2&lChange Icon"
key: i
lore:
- "&7The item shown for this warp."
- ""
- "₢f2Left-click &7to use the item in your hand."
- "₢f2Right-click &7to show the owner head again."
left-click-actions:
- "[sound] UI_BUTTON_CLICK"
- "[pw-manage] icon-hand {id}"
right-click-actions:
- "[sound] UI_BUTTON_CLICK"
- "[pw-manage] icon-reset {id}"
# Shown while the warp is open to visitors.
toggle-close:
material: LIME_DYE
display-name: "&a&lOpen to Visitors"
key: o
lore:
- "&7Anyone may visit this warp."
- "&7State: {state}"
- ""
- "₢f2[small]click to close it"
click-actions:
- "[sound] UI_BUTTON_CLICK"
- "[pw-manage] toggle {id}"
# Shown while the warp is closed to visitors.
toggle-open:
material: GRAY_DYE
display-name: "&7&lClosed to Visitors"
key: o
lore:
- "&7Only you can enter this warp."
- "&7State: {state}"
- ""
- "₢f2[small]click to open it"
click-actions:
- "[sound] UI_BUTTON_CLICK"
- "[pw-manage] toggle {id}"
# Sponsor button of a warp without a slot. {free} is how many slots are free right now.
sponsor:
material: GOLD_INGOT
display-name: "₢f2&lSponsor"
key: s
lore:
- "&7Feature this warp at the top"
- "&7of the warp browser."
- "&7Free slots: &f{free}"
- ""
- "₢f2[small]click to pick a slot"
click-actions:
- "[sound] UI_BUTTON_CLICK"
- "[pw-manage] sponsor {id}"
# Sponsor button of a warp that holds a slot. {position} is the slot, {slot} its id and
# {time} the time left.
sponsor-active:
material: CLOCK
display-name: "₢f2&lFeatured #{position}"
key: s
glow: true
lore:
- "&7This warp is featured in the"
- "&7warp browser for &f{time}&7."
click-actions:
- "[sound] UI_BUTTON_CLICK"
- "[pw-manage] sponsor {id}"
# Sponsor button while sponsor slots are turned off (sponsor.enabled).
sponsor-disabled:
material: GRAY_DYE
display-name: "&7&lSponsor"
key: s
lore:
- "&7Sponsor slots are turned off."
delete:
material: LAVA_BUCKET
display-name: "&c&lDelete"
key: d
lore:
- "&7Remove &f{display} &7for good."
- ""
- "&c[small]click to delete"
click-actions:
- "[sound] UI_BUTTON_CLICK"
- "[pw-manage] delete {id}"guis/confirm-delete.yml
<details> <summary>Show guis/confirm-delete.yml</summary># ============================================================
# SnPlayerWarps - delete confirmation
# Opened by the delete button of the warp management menu.
# Managed by SnLib: new keys merge in on boot, your edits are kept.
# [pw-manage] <verb> is the plugin's click action; keep each verb as shipped.
#
# Every template below receives the warp placeholders: {warp} identifier, {display}
# styled title, {owner}, {island}, {state}, {visits}, {world}, {created}, {extra}, {icon},
# {head} and {id} (what the click actions carry).
# ============================================================
title: "₢f2&lDelete {warp}?"
# Only plain left, right and shift clicks run the buttons; number keys, drops and the
# double-click event are ignored (left-click-actions also answer a double click).
strict-clicks: true
# c delete, w the warp, d cancel, f filler.
layout:
- "fffffffff"
- "ffcfwfdff"
- "fffffffff"
items:
filler:
material: GRAY_STAINED_GLASS_PANE
display-name: " "
key: f
templates:
confirm:
material: LIME_STAINED_GLASS_PANE
display-name: "&a&lDelete"
key: c
lore:
- "&7Delete &f{display} &7for good."
- "&7Its visits are lost too."
click-actions:
- "[sound] UI_BUTTON_CLICK"
- "[pw-manage] delete-confirm {id}"
# The warp being deleted.
warp:
material: "{icon}"
skull-owner: "{head}"
display-name: "{display}"
key: w
lore:
- "&8[small]player warp[/small] &8({warp})"
- ""
- " ₢f2┃ &7Owner: &f{owner}"
- " ₢f2┃ &7Visits: &f{visits}"
- " ₢f2┃ &7Created: &f{created}{extra}"
cancel:
material: RED_STAINED_GLASS_PANE
display-name: "&c&lCancel"
key: d
lore:
- "&7Keep the warp."
click-actions:
- "[sound] UI_BUTTON_CLICK"
- "[pw-manage] delete-cancel {id}"guis/bans.yml
<details> <summary>Show guis/bans.yml</summary># ============================================================
# SnPlayerWarps - banned players menu
# Opened from the "My warps" menu. Players banned here cannot visit any warp of the owner.
# Managed by SnLib: new keys merge in on boot, your edits are kept.
# [pw-manage] <verb> is the plugin's click action; keep each verb as shipped.
# ============================================================
# {owner} is the owner whose bans are listed.
title: "₢f2&l{owner}'s Bans"
# Only plain left, right and shift clicks run the buttons; number keys, drops and the
# double-click event are ignored (left-click-actions also answer a double click).
strict-clicks: true
# The banned players fill every "p" cell of the layout, page by page.
pagination: true
paged-key: p
# p banned players, < > pages, a ban a player, x back, i ban count, f filler.
layout:
- "fffffffff"
- "fpppppppf"
- "fpppppppf"
- "fpppppppf"
- "fpppppppf"
- "<fafxfif>"
items:
filler:
material: GRAY_STAINED_GLASS_PANE
display-name: " "
key: f
add:
material: ANVIL
display-name: "₢f2&lBan a Player"
key: a
lore:
- "&7Type the name of the player"
- "&7to ban in chat."
- ""
- "₢f2[small]click to ban someone"
click-actions:
- "[sound] UI_BUTTON_CLICK"
- "[pw-manage] ban-add"
back:
material: ARROW
display-name: "₢f2&lBack"
key: x
lore:
- "&7Back to the warp list."
click-actions:
- "[sound] UI_BUTTON_CLICK"
- "[pw-manage] my-warps"
previous-page:
material: ARROW
display-name: "₢f2Previous Page"
key: "<"
click-actions:
- "[previous-page]"
- "[sound] UI_BUTTON_CLICK"
nav-disabled:
material: GRAY_STAINED_GLASS_PANE
display-name: "&7No previous page"
lore:
- "&8You are on the first page"
next-page:
material: ARROW
display-name: "₢f2Next Page"
key: ">"
click-actions:
- "[next-page]"
- "[sound] UI_BUTTON_CLICK"
nav-disabled:
material: GRAY_STAINED_GLASS_PANE
display-name: "&7No next page"
lore:
- "&8You are on the last page"
templates:
# One banned player. {player} is the name, {uuid} selects the skin.
ban:
material: PLAYER_HEAD
skull-owner: "{uuid}"
display-name: "&f{player}"
lore:
- "&8[small]banned player"
- ""
- "₢f2[small]click to unban"
click-actions:
- "[sound] UI_BUTTON_CLICK"
- "[pw-manage] unban {uuid}"
# Ban count. {owner}, {count} bans, {max} most bans allowed (bans.max-per-owner).
info:
material: BOOK
display-name: "₢f2&lBans"
key: i
lore:
- " ₢f2┃ &7Banned: &f{count}&7/&f{max}"
- ""
- "&7Or type ₢f2/playerwarp ban <player>"lang/messages_en.yml
Every line the plugin sends lives here, plus the status.* words used by menus and placeholders. Restyle any line freely; your edits survive updates. Do not write {prefix} in any value: SnLib prepends the prefix to every single-line message by itself.
# ============================================================
# SnPlayerWarps - language file (English)
# Managed by SnLib: new keys merge in on boot, your values are kept.
# Restyle any line freely; your edits survive updates.
# ============================================================
# Prefix prepended to every single-line message sent via sn.lang().send(...)
prefix: "₢f2&lSnPlayerWarps &8| &7"
# snlib.* is SnLib's shared command contract (14 keys; the two help.group-*
# keys exist since SnLib 1.36.0). Every Sn plugin ships
# this block UNCHANGED: SnLib bundles NEUTRAL defaults for any key you omit and
# merges them in on boot, so an incomplete block leaks unbranded lines. Shipping
# the FULL block is what keeps the whole fleet visually identical. Placeholders
# {plugin} {usage} {description} {page} {total} {min} {max} {value} {command}
# {group} {path} are filled by SnLib. NEVER put {prefix} here (it is auto-prepended).
snlib:
no-permission: "&cYou do not have permission to use this command."
usage: "&cUsage: &e{usage}"
invalid-number: "&cInvalid number: &e{value}"
invalid-value: "&cInvalid value: &e{value}"
out-of-range: "&cValue must be between &e{min} &cand &e{max}&c: &e{value}"
number-too-small: "&cValue must be at least &e{min}&c: &e{value}"
player-not-found: "&cPlayer not found: &e{value}"
unknown-subcommand: "&cUnknown subcommand: &e{value}"
reload-done: "&aConfiguration reloaded."
help:
header: "&8&m----------&r ₢f2&l{plugin} &8&m----------"
# Branded no-separator form. SnLib's neutral default is "&e{usage} &7{description}".
entry: "₢f2{usage} &7{description}"
footer: "&7Page &f{page}&7/&f{total} &8- ₢f2/{command} help <page>"
# Own help of a groupHelp() command group (/<cmd> admin <module> help).
group-header: "&8&m----------&r ₢f2&l{group} &8&m----------"
group-footer: "&7Page &f{page}&7/&f{total} &8- ₢f2{path} help <page>"
# Your own plugin messages. Do NOT write {prefix} in any value: SnLib
# auto-prepends the prefix above to every single-line message sent via
# sn.lang().send(...). A literal {prefix} renders verbatim, and SnLib
# logs a one-time WARN when the active lang file contains one.
messages:
# Shared replies (loading, player-only, unknown warp...).
general:
# Sent while the warps are still loading after a start.
loading: "&eWarps are still loading, try again in a moment."
# A command or button only players can use.
player-only: "&cOnly players can do that."
# {warp} is the identifier that was typed.
warp-not-found: "&cNo warp named &e{warp} &cwas found."
# {player} is the name that was typed.
owner-not-found: "&cNo warp owner named &e{player} &cwas found."
# {player} is the owner.
no-warps: "&e{player} &7has no warps."
# An action that finished in the background (a paid create, move or rename, a sponsor
# purchase, a purge preview) failed; the error is in the console.
failed: "&cThat could not be completed. The error was logged to the console."
# Warp creation, editing and ownership rules. Every line may use {warp} (identifier),
# {display} (styled title), {owner}, {visits}, {world} and {created} when it concerns
# one warp; {actor} is whoever ran a staff action.
warp:
# --- confirmations ---
# /playerwarp create went through.
created: "&aCreated your warp &f{display}&a (&e{warp}&a)."
# A warp was deleted (by its owner or by staff).
deleted: "&aDeleted the warp &e{warp}&a."
# admin deleteall went through. {count} is how many warps were deleted.
deleted-all: "&aDeleted &e{count} &awarp(s) of &e{owner}&a."
# A warp was moved to where the player stands (update, admin move, or its menu).
moved: "&aMoved the warp &e{warp} &ato your location."
# A warp got a new title (rename, admin rename, or its menu).
renamed: "&aThe warp &e{warp} &ais now called &f{display}&a."
# A warp was opened or closed to visitors (command or menu).
opened: "&aThe warp &e{warp} &ais open to visitors again."
closed: "&7The warp &e{warp} &7is now closed to visitors."
# {reason} is the lock reason (status.none when none was given).
locked: "&aLocked the warp &e{warp} &aof &e{owner}&a. Reason: &f{reason}"
unlocked: "&aUnlocked the warp &e{warp} &aof &e{owner}&a."
# {icon} is the material name.
icon-set: "&aThe icon of &e{warp} &ais now &e{icon}&a."
icon-reset: "&aThe icon of &e{warp} &ais the owner head again."
visits-set: "&aThe warp &e{warp} &aof &e{owner} &anow has &e{visits} &avisits."
# {player} is the banned player.
banned: "&aBanned &e{player} &afrom all of your warps."
unbanned: "&e{player} &acan visit your warps again."
# --- refusals ---
# {limit} is the most warps the player may own.
limit-reached: "&cYou already own as many warps as you can (&e{limit}&c)."
# name-length, name-invalid and name-blacklisted are sent before the name is accepted, so their
# {warp} is the name as the player typed it, without < > % & \ and section signs.
# {min} and {max} are the allowed lengths.
name-length: "&cWarp names must be &e{min}&c-&e{max} &ccharacters long."
# The identifier does not match warps.name.regex.
name-invalid: "&cThat warp name contains characters that are not allowed."
# The identifier is in warps.name.blacklist.
name-blacklisted: "&cThat warp name is not allowed."
# The owner already has a warp with that identifier (case-insensitive).
name-taken: "&cYou already have a warp named &e{warp}&c."
# {min} and {max} count visible characters (colors are free).
display-length: "&cWarp titles must be &e{min}&c-&e{max} &cvisible characters long."
# Also sent for a title that would look blank or carries styling that cannot be vetted.
display-invalid: "&cThat title contains characters or styling that are not allowed."
display-blacklisted: "&cThat title contains a word that is not allowed."
world-denied: "&cWarps cannot be placed in &e{world}&c."
unsafe: "&cThis spot is not safe: stand on a solid block with free space above you."
# {time} is the time left.
cooldown: "&cWait &e{time} &cbefore creating another warp."
locked-by-staff: "&cStaff locked this warp, it cannot be edited. Reason: &f{reason}"
already-open: "&eThe warp &f{warp} &eis already open."
already-closed: "&eThe warp &f{warp} &eis already closed."
already-locked: "&eThe warp &f{warp} &eis already locked."
not-locked: "&eThe warp &f{warp} &eis not locked."
# Move to the block and facing the warp already has; nothing is charged.
same-spot: "&eThe warp &f{warp} &eis already at this spot."
# Rename to the title the warp already has; nothing is charged.
same-title: "&eThe warp &f{warp} &eis already called &f{display}&e."
icon-disabled: "&cCustom warp icons are disabled."
icon-denied: "&e{icon} &ccannot be used as a warp icon."
invalid-amount: "&cThe amount must be 0 or more."
bans-disabled: "&cWarp bans are disabled."
# {max} is the most players one owner may ban.
ban-limit: "&cYou can ban at most &e{max} &cplayers."
already-banned: "&e{player} &cis already banned from your warps."
not-banned: "&e{player} &cis not banned from your warps."
# /playerwarp unban with a name shown for several banned players (status.unknown for players
# never seen, or a name two of them were last seen with); the bans menu opens right after it.
# {player} is the typed name.
unban-ambiguous: "&e{player} &cmatches several banned players. Pick the one to unban in the menu."
cannot-ban-self: "&cYou cannot ban yourself."
# /playerwarp delete on a warp featured in a sponsor slot: nothing is deleted until the command
# is typed again with confirm. {warp}, {slot} (id), {position}, {time} (time the slot has left)
# and {label} (the root command label as typed). sponsor.refund-mode decides what is refunded.
delete-sponsored: "&eThe warp &f{warp} &eis featured in sponsor slot &f#{position} &efor &f{time} &emore, and deleting it gives the slot up. To delete it anyway, type &f/{label} delete {warp} confirm&e."
# A refused payment uses its messages.currency.* line; the money of a paid action that
# could not be completed comes back through the refund lines there.
# --- announcements (broadcasts.warp-created, staff-notify.warp-created) ---
broadcast-created: "&e{owner} &7created the warp &f{display}&7!"
staff-created: "&e{owner} &7created the warp &e{warp} &7in &e{world}&7."
# --- owner notices of staff actions (notifications.staff-action) ---
owner-deleted: "&cStaff member &e{actor} &cdeleted your warp &e{warp}&c."
owner-deleted-all: "&cStaff member &e{actor} &cdeleted all of your warps (&e{count}&c)."
owner-moved: "&eStaff member &f{actor} &emoved your warp &f{warp}&e."
owner-renamed: "&eStaff member &f{actor} &erenamed your warp &f{warp} &eto &f{display}&e."
owner-locked: "&cStaff member &e{actor} &clocked your warp &e{warp}&c. Reason: &f{reason}"
owner-unlocked: "&aStaff member &e{actor} &aunlocked your warp &e{warp}&a."
# {player} is the banned player.
owner-banned: "&eStaff member &f{actor} &ebanned &f{player} &efrom your warps."
owner-unbanned: "&eStaff member &f{actor} &elet &f{player} &evisit your warps again."
# --- staff notices (staff-notify.admin-actions and staff-notify.warp-removed) ---
staff-deleted: "&e{actor} &7deleted the warp &e{warp} &7of &e{owner}&7."
staff-deleted-all: "&e{actor} &7deleted all &e{count} &7warp(s) of &e{owner}&7."
staff-moved: "&e{actor} &7moved the warp &e{warp} &7of &e{owner}&7."
staff-renamed: "&e{actor} &7renamed the warp &e{warp} &7of &e{owner} &7to &f{display}&7."
staff-locked: "&e{actor} &7locked the warp &e{warp} &7of &e{owner}&7. Reason: &f{reason}"
staff-unlocked: "&e{actor} &7unlocked the warp &e{warp} &7of &e{owner}&7."
staff-opened: "&e{actor} &7opened the warp &e{warp} &7of &e{owner}&7."
staff-closed: "&e{actor} &7closed the warp &e{warp} &7of &e{owner}&7."
staff-icon: "&e{actor} &7changed the icon of the warp &e{warp} &7of &e{owner}&7."
staff-visits-set: "&e{actor} &7set the visits of the warp &e{warp} &7of &e{owner} &7to &e{visits}&7."
# {player} is the banned player.
staff-banned: "&e{actor} &7banned &e{player} &7from the warps of &e{owner}&7."
staff-unbanned: "&e{actor} &7lifted the ban of &e{player} &7from the warps of &e{owner}&7."
# {count} warps of {owner} lost their island (islands.on-member-removed).
staff-island-deleted: "&e{count} &7warp(s) of &e{owner} &7were deleted after an island change."
staff-island-closed: "&e{count} &7warp(s) of &e{owner} &7were closed after an island change."
# Island rules (SnSuperiorSkyblock or SuperiorSkyblock2).
island:
# Creating or moving a warp outside every island (islands.require-island).
not-on-island: "&cWarps can only be set on an island."
# Creating or moving a warp on an island the player does not belong to. {island} is the
# island name (empty when it has none).
foreign-island: "&cYou can only set warps on an island you belong to."
# The player's island role lacks the PLAYER_WARPS privilege (islands.privilege-check).
# {island} is the island name (empty when it has none).
no-privilege: "&cYour island role cannot manage warps. Ask your island owner to allow it in ₢f2/is permissions&c."
# The island plugin could not answer right now: no warp is created or moved on the spot,
# and a visit that needs an island check is refused.
unavailable: "&cIslands cannot be checked right now, try again in a moment."
# Visiting a warp whose island is locked to visitors (islands.respect-locked).
island-locked: "&cThat warp's island is locked to visitors right now."
# Visiting a warp on an island that banned the visitor (islands.respect-island-bans).
island-banned: "&cYou are banned from that warp's island."
# Owner notice when a warp is deleted because its owner left, was kicked or banned from its
# island, or the island was disbanded (islands.on-member-removed: DELETE). {warp} = warp name.
removed-by-island: "&7Your warp &f{warp} &7was removed because you are no longer part of its island."
# Same notice with islands.on-member-removed: CLOSE. {warp} = warp name.
closed-by-island: "&7Your warp &f{warp} &7was closed because you are no longer part of its island."
# Payments and refunds. Every line may use {price} and {amount} (the same figure, in the
# currency's decimals) and {currency} (its display-name); refund lines also get {reason},
# the internal id of why a refund was owed.
currency:
# The balance cannot cover a price; nothing was taken.
no-funds: "&cYou need &f{price} {currency}&c for that."
# A payment was sent but its debit could not be confirmed, so nothing was bought.
charge-failed: "&cThe payment of &f{price} {currency}&c could not be confirmed, so nothing was bought. If your balance dropped, contact staff."
# Another payment or refund of the player is still being confirmed; nothing was taken.
charge-pending: "&eYour previous payment is still being confirmed. Try again in a moment."
# The currency is not declared (or is invalid) under currencies: in config.yml.
currency-missing: "&cThe currency &f{currency}&c is not set up. Tell an administrator."
# The currency exists but its economy (Vault or PlaceholderAPI) is not reachable right now.
unavailable: "&c{currency}&c payments are not available right now."
# A refund was paid straight away.
refunded: "&aRefunded &f{amount} {currency}&a."
# A refund could not be paid now; it is paid on the next join.
refund-queued: "&eYou will receive &f{amount} {currency}&e the next time you join."
# A queued refund was paid on join.
refund-paid-on-join: "&aYou received a pending refund of &f{amount} {currency}&a."
# Visiting a warp. Lines about one warp may use {warp} (identifier), {display} (styled
# title), {owner}, {visits}, {world} and {created}. A visit refused by the warp's island
# uses messages.island.island-locked, island-banned or unavailable.
visit:
# The visitor lacks snplayerwarps.use or snplayerwarps.visit (command, menu or chat link).
no-permission: "&cYou do not have permission to visit warps."
# The warp was deleted after it was listed (menu, chat link) or before a sponsor purchase
# or grant went through.
gone: "&cThat warp no longer exists."
# The warp's world is not loaded on this server right now.
world-unloaded: "&cThe world of the warp &f{display}&c is not available right now."
# Staff locked the warp. {reason} is the lock reason (status.none when none was given).
locked: "&cThe warp &f{display}&c was locked by staff."
# The owner closed the warp to visitors.
closed: "&cThe warp &f{display}&c is closed to visitors right now."
# The owner banned the visitor from all of their warps.
banned: "&cYou are banned from the warps of &e{owner}&c."
# The owner no longer belongs to the warp's island (islands.on-member-removed was applied).
island-lost: "&cThe warp &f{display}&c is no longer available."
# teleport.safety-check found no solid floor or free space at the warp.
unsafe: "&cThe warp &f{display}&c is not safe right now, so you were not teleported."
# The warp's area could not be loaded to run the safety check.
failed: "&cThe teleport to &f{display}&c could not be prepared. Try again in a moment."
# Another visit of the player is still on its way.
already-pending: "&eYou are already on your way to a warp."
# teleport.cooldown-seconds between two visits. {time} is the time left.
cooldown: "&cWait &e{time} &cbefore visiting another warp."
# The warmup started (teleport.warmup-seconds). {time} is the warmup in seconds.
warmup: "&7Teleporting in &e{time}s&7. Do not move."
# The warmup was cancelled because the player moved or took damage.
cancelled-move: "&cTeleport cancelled: you moved."
cancelled-damage: "&cTeleport cancelled: you took damage."
# The warp was deleted, locked or closed, or its owner banned the player, during the warmup.
cancelled: "&cTeleport cancelled: &f{display}&c is no longer available."
# Sent on arrival. Set it to "" to send nothing.
arrived: "&7Welcome to &f{display}&7, a warp by &e{owner}&7."
# Action bar of the online owner when someone arrives (visits.notify-owner). {player} is the visitor.
owner-notify: "&e{player} &7is visiting your warp &f{display}&7."
# The owner has warps, but none the player may enter. {player} is the owner.
no-open-warps: "&e{player} &7has no warps you can visit right now."
# Staff teleport (/playerwarp admin tp).
admin-teleported: "&7Teleported to the warp &e{warp} &7of &e{owner}&7."
# Sponsor slots and adverts. Every slot line may use {slot} (id), {position}, {duration},
# {price} and {amount} (the same figure) and {currency}; lines about a warp add {warp}
# (identifier), {display} (styled title), {owner}, {visits}, {world} and {created};
# staff lines add {actor}. A refused payment uses its messages.currency.* line, and the
# money of a purchase that could not complete comes back through the refund lines there.
sponsor:
# --- purchase ---
purchased: "&aYour warp &f{display} &ais now featured in sponsor slot &e#{position} &afor &e{duration}&a."
disabled: "&cSponsor slots are disabled."
unknown-slot: "&cThere is no sponsor slot &e{slot}&c."
slot-taken: "&cSponsor slot &e#{position} &cis already taken."
slot-reserved: "&eSomeone is buying sponsor slot &f#{position} &eright now, try again in a moment."
# A warp deleted before the purchase went through uses messages.visit.gone.
not-owner: "&cYou can only sponsor your own warps."
warp-closed: "&cOpen the warp &e{warp} &cbefore sponsoring it."
warp-locked: "&cStaff locked the warp &e{warp}&c, it cannot be sponsored."
already-sponsored: "&cThe warp &e{warp} &cis already featured in a sponsor slot."
# {max} is sponsor.max-per-player.
limit-reached: "&cYou already hold as many sponsor slots as you can (&e{max}&c)."
# The payment went through but the slot was released meanwhile; the price is refunded.
reservation-lost: "&cSponsor slot &e#{position} &cwas released before your payment was confirmed. You are refunded."
failed: "&cThe purchase could not be completed. Any money taken is refunded."
# Confirm clicked after staff changed the slot price or currency; the confirmation opens again.
price-changed: "&eThe price of sponsor slot &f#{position} &echanged to &f{price} {currency}&e; nothing was charged. Check it and confirm again."
# --- staff replies ---
# setsponsor on a configured slot the browser has no S cell for.
slot-hidden: "&cSponsor slot &e{slot} &cis past the sponsor cells of guis/browse.yml, so it cannot be shown. Add cells there first."
price-set: "&aSponsor slot &e{slot} &anow costs &f{price} {currency}&a."
invalid-price: "&cThe price must be 0 or more."
granted: "&aFeatured &f{display} &aof &e{owner} &ain sponsor slot &e#{position} &afor &e{duration}&a."
slot-free: "&eSponsor slot &f#{position} &eis already free."
cleared: "&aCleared sponsor slot &e#{position}&a (&f{warp}&a of &e{owner}&a)."
# {refund} is the unused share of the price given back to the owner.
cleared-refunded: "&aCleared sponsor slot &e#{position}&a (&f{warp}&a of &e{owner}&a) and refunded &f{refund} {currency}&a."
# --- announcements (broadcasts.sponsor-bought, staff-notify.sponsor-bought) ---
broadcast-bought: "&e{owner} &7featured the warp &f{display} &7in sponsor slot ₢f2#{position}&7!"
staff-bought: "&e{owner} &7bought sponsor slot &e#{position} &7for &e{warp} &7(&f{price} {currency}&7)."
# --- owner notices ---
# notifications.sponsor-expired
expired: "&7Your warp &f{display} &7is no longer featured: sponsor slot &e#{position} &7expired."
# notifications.staff-action
owner-granted: "&aStaff member &e{actor} &afeatured your warp &f{display} &ain sponsor slot &e#{position} &afor &e{duration}&a."
owner-cleared: "&cStaff member &e{actor} &cremoved your warp &f{display} &cfrom sponsor slot &e#{position}&c."
# --- staff notices (staff-notify.admin-actions) ---
staff-price: "&e{actor} &7set the price of sponsor slot &e{slot} &7to &f{price} {currency}&7."
staff-granted: "&e{actor} &7featured the warp &e{warp} &7of &e{owner} &7in sponsor slot &e#{position}&7."
staff-cleared: "&e{actor} &7cleared sponsor slot &e#{position} &7(&e{warp} &7of &e{owner}&7)."
# Chat advert of one sponsored warp (sponsor.announce), sent to everyone line by line.
# {owner} and {warp} are the only values safe inside the click command; keep {display}
# in visible text only. {remaining} is the time the slot has left. Keep the <click> and
# <hover> tags of the third line (updates never repair a line that lost them), and keep
# the typed command visible: Bedrock players cannot click.
advert:
- ""
- "₢f2&lSPONSORED &8| &f{display} &7by &e{owner} &8(&7{visits} visits&8)"
- "<click:run_command:'/playerwarp visit {owner} {warp}'><hover:show_text:'&7Click to visit &e{warp} &7of &e{owner}'>&a&l[VISIT]</hover></click> &8- &7or type &f/playerwarp visit {owner} {warp}"
- ""
# The [pwarp] chat link (chat-tag: in config.yml). These lines are built off the main
# thread, so PlaceholderAPI placeholders are not resolved in them.
chat:
# Replaces the token when it links ONE warp: [pwarp] with a single open warp, or
# [pwarp:<name>]. {owner} is the owner, {warp} the identifier, {display} the styled
# title, {visits}, {island}, {world} and {created} (warps.date-format).
tag: "₢f2[{owner}'s Player Warp]"
# Hover of that link, one line per entry; same placeholders.
tag-hover:
- "{display}"
- "&7Owner: &f{owner}"
- "&7Island: &f{island}"
- "&7Visits: &f{visits}"
- "&7Created: &f{created}"
- ""
- "₢f2Click to teleport!"
# Replaces [pwarp] when the sender has several open warps; the click lets the viewer
# pick one. {owner}, {count} (open warps) and {visits} (their total).
tag-owner: "₢f2[{owner}'s Player Warps]"
# Hover of that link; same placeholders.
tag-owner-hover:
- "₢f2{owner}'s Player Warps"
- "&7Warps: &f{count}"
- "&7Visits: &f{visits}"
- ""
- "₢f2Click to choose a warp!"
# {island} of a warp on an island that has no name, in this link and in the menus.
# {owner} is the warp owner.
island-unnamed: "{owner}'s island"
# Sent when a player links their warp again too soon (chat-tag.cooldown-seconds); the
# token stays plain text. {time} is the time left.
cooldown: "&cWait &e{time} &cbefore linking your warp in chat again."
# A click by a player without the visit permissions uses messages.visit.no-permission.
# Chat prompts opened by the menus (prompts: in config.yml). The answer is typed in chat and
# never shown to other players. Every question may use {cancel} (prompts.cancel-word) and
# {seconds} (prompts.timeout-seconds).
prompt:
# Question before renaming a warp from its menu. {warp} is the warp identifier.
rename: "&7Type the new title of &e{warp} &7in chat, or &c{cancel} &7to cancel. &8({seconds}s)"
# Question before banning a player from the bans menu.
ban: "&7Type the name of the player to ban from your warps, or &c{cancel} &7to cancel. &8({seconds}s)"
# The player typed the cancel word.
cancelled: "&7Cancelled; nothing was changed."
# The prompt was not answered in time.
expired: "&7You did not answer in time; nothing was changed."
# Staff command replies (/playerwarp admin). The owner and the other staff are told about a
# staff action by its messages.warp.* and messages.sponsor.* notices.
admin:
# -s was typed without snplayerwarps.admin.silent: the action runs and is announced as usual.
silent-denied: "&eYou cannot use &f-s&e: the owner and staff are told as usual."
# admin tp without a warp on an owner with several warps. {owner}, {warps} (their identifiers,
# joined with lists.separator) and {label} (the root command label as typed).
tp-choose: "&e{owner} &7has several warps: &f{warps}&7. Pick one with ₢f2/{label} admin tp {owner} <warp>&7."
# admin purge <days> without confirm. {days}, {owners} (inactive owners with warps), {warps}
# (their warps) and {label} (the root command label as typed). The second line pre-fills the confirm
# command on click; keep its <click> and <hover> tags, and keep the typed command visible
# (Bedrock players cannot click).
purge-preview:
- "&7Owners inactive for &e{days} &7days: &e{owners}&7, with &e{warps} &7warp(s) to delete."
- "<click:suggest_command:'/playerwarp admin purge {days} confirm'><hover:show_text:'&cDeletes those warps. This cannot be undone.'>&c&l[CONFIRM PURGE]</hover></click> &8- &7or type &f/{label} admin purge {days} confirm"
# admin purge <days> when no owner with warps has been away that long. {days}.
purge-none: "&7No warp owner has been inactive for &e{days} &7days; there is nothing to purge."
# Staff maintenance: admin validate, the purge (admin purge <days> confirm and the automatic
# inactivity purge) and the island sweep. The validate lines after the header are sent
# without the prefix. A problem line gets {count} (how many warps have it) and {examples}
# (the first of them as validate-example, joined with lists.separator, plus validate-more).
maintenance:
# admin validate, first line. {warps} and {owners} are how many were checked.
validate-header: "&7Checked &e{warps} &7warp(s) of &e{owners} &7owner(s):"
# Warps whose world is not loaded (removed, renamed or not loaded yet); nobody can visit them.
validate-world-unloaded: "&8- &c{count} &7in a world that is not loaded: &f{examples}"
# Warps in a world the worlds: rules no longer allow; they keep working until moved or deleted.
validate-world-denied: "&8- &c{count} &7in a world the world rules no longer allow: &f{examples}"
# Warps whose island is gone or whose owner left it; the island sweep applies
# islands.on-member-removed to them once two sweeps in a row found them so.
validate-island-lost: "&8- &c{count} &7whose owner is no longer part of the island: &f{examples}"
# Warps whose spot teleport.safety-check refuses; visits to them fail.
validate-unsafe: "&8- &c{count} &7on a spot the safety check refuses: &f{examples}"
# Warps featured in a sponsor slot that visitors cannot enter (closed by the owner).
validate-sponsor-closed: "&8- &e{count} &7featured in a sponsor slot but closed to visitors: &f{examples}"
# Sent instead of the problem lines when there is none.
validate-clean: "&8- &aNo problems found."
# Warps on islands that were not checked: island rules are off or the island plugin is not answering.
validate-islands-skipped: "&8- &7{count} warp(s) on islands were not checked: island rules are off or the island plugin is not answering."
# Warps in unloaded chunks are not checked for safety (checking would load the chunk).
validate-unsafe-skipped: "&8- &7{count} warp(s) in unloaded chunks were not checked for safety."
# Last line while inactivity.purge-days is on, once the database answered. {days}, {owners}, {warps}.
validate-purge-due: "&8- &7The next automatic purge (&e{days} &7days) deletes &e{warps} &7warp(s) of &e{owners} &7owner(s)."
# One warp inside {examples}: {owner} and {warp} (identifier).
validate-example: "{owner}/{warp}"
# Appended to {examples} when more warps have the problem. {count} is how many more.
validate-more: " &7and &e{count} &7more"
# admin purge <days> confirm and the automatic purge (the automatic one only when it deleted
# something). {days}, {owners} and {warps}; nothing to delete uses messages.admin.purge-none.
purge-done: "&aDeleted &e{warps} &awarp(s) of &e{owners} &aowner(s) inactive for &e{days} &adays."
# Staff notice of a purge (staff-notify.warp-removed). {actor}, {days}, {owners} and {warps}.
staff-purged: "&e{actor} &7deleted &e{warps} &7warp(s) of &e{owners} &7owner(s) inactive for &e{days} &7days."
# Lines shared by every menu. The line-* keys are lore lines, not chat lines: the menus
# append them under a warp through {extra} in guis/.
menu:
# A menu button needs a permission the player lacks: snplayerwarps.use (browser),
# snplayerwarps.manage (warps), snplayerwarps.ban (bans) or snplayerwarps.sponsor. Staff
# menus need snplayerwarps.admin.manage plus the admin node of the button (tp, move,
# rename, delete).
no-permission: "&cYou do not have permission to do that."
# Added while the warp holds a sponsor slot. {position} is the slot position, {slot} its
# id and {time} the time it has left. Set it to "" to show nothing.
line-featured: " ₢f2┃ &7Featured #{position}: &f{time}"
# Added in the browser and the picker under a warp visitors cannot enter: closed, or
# staff-locked in a staff view. {state} is its status label.
line-state: " ₢f2┃ &7Status: {state}"
# The order list of the browser's sort button ({modes} in guis/browse.yml): one line per
# order of browse.sort-modes, sort-current for the one in use and sort-other for the
# rest. {mode} is the name of the order.
sort-current: " ₢f2» &f{mode}"
sort-other: " &8- &7{mode}"
# Names of the orders: {sort} (the one in use) and {mode} of the sort button.
sort-names:
most-visits: "Most visits"
least-visits: "Least visits"
newest: "Newest"
oldest: "Oldest"
# Browser and picker menus. Their buttons and lore live in guis/browse.yml, warp-picker.yml,
# sponsor-select.yml and confirm-sponsor.yml; a sponsor refusal uses its messages.sponsor.*
# line, a second confirm while a purchase is being paid messages.currency.charge-pending.
browse:
# None of the player's warps can take the sponsor slot (closed, staff-locked or already
# featured). {slot} is the slot id, {position} its position.
no-eligible-warps: "&cYou have no open warp that can be featured in sponsor slot &e#{position}&c."
# My warps, warp management and bans menus. Lines about a warp may use {warp} (identifier),
# {display} (styled title), {owner}, {visits}, {world} and {created}. The results of the
# buttons use the messages.warp, messages.visit and messages.sponsor lines (a refused
# sponsor purchase too); a missing permission messages.menu.no-permission; a warp deleted
# while its menu was open messages.visit.gone.
manage:
# Setting the icon from the hand while the main hand is empty.
icon-empty-hand: "&cHold the item you want as the icon in your main hand."
# The name typed in the ban prompt matches no known player. {player} is the typed name.
unknown-player: "&cNo player named &e{player} &cwas found."
# Sponsor button of a staff menu: staff feature warps with the admin command instead.
sponsor-admin: "&cStaff feature warps with ₢f2/playerwarp admin setsponsor <slot> <player> <warp>&c."
# Sponsor button of a warp that already holds a slot. {position} is the slot, {slot} its
# id and {time} the time left.
sponsor-active: "&7The warp &f{display} &7is featured in sponsor slot &e#{position} &7for &e{time} &7more."
# Sponsor button while no sponsor slot is free.
sponsor-none-free: "&cEvery sponsor slot is taken right now, try again later."
# Multi-line chat views (/playerwarp admin info). The list keys are sent line by line and the
# single-line keys are sent as they are; none of them gets the prefix. Lines about one warp may
# use {warp} (identifier), {display} (styled title), {owner}, {visits}, {world} and {created}.
lists:
# Joins several names inside one line: the warp identifiers of messages.admin.tp-choose
# and the {examples} of the admin validate lines.
separator: "&7, &f"
# admin info <player>: owner summary. {owner}, {online} (status.online or status.offline),
# {count} (warps), {limit} (status.unlimited with the limit bypass, status.unknown while the
# owner is offline), {visits} (total of every warp) and {bans} (players the owner banned).
owner-info:
- "&8&m----------&r ₢f2&l{owner} &8&m----------"
- "&7Status: {online}"
- "&7Warps: &f{count}&7/&f{limit}"
- "&7Total visits: &f{visits}"
- "&7Banned players: &f{bans}"
# One line per warp under the summary. {state} is status.open, closed or locked.
owner-info-entry: "&8- &e{warp} &8| &f{display} &8| {state} &8| &f{visits} &7visits"
# Under the summary of an owner with no warps. {owner}.
owner-info-empty: "&7This player has no warps."
# Under the warp lines. {owner} and {label} (the root command label as typed).
owner-info-footer: "&7One warp in detail: ₢f2/{label} admin info {owner} <warp>"
# admin info <player> <warp>: one warp in detail. {state} (status.open, closed or locked),
# {x} {y} {z} (block coordinates) and {reason} (the lock reason, status.none when unlocked).
warp-info:
- "&8&m----------&r ₢f2&l{warp} &8&m----------"
- "&7Title: &f{display}"
- "&7Owner: &f{owner}"
- "&7State: {state}"
- "&7Visits: &f{visits}"
- "&7Location: &f{world} &7at &f{x}&7, &f{y}&7, &f{z}"
- "&7Created: &f{created}"
- "&7Lock reason: &f{reason}"
# Sponsor line under the detail while the warp is featured. {slot} (id), {position} and
# {time} (time left).
warp-info-sponsor: "&7Sponsor slot: ₢f2#{position} &8(&f{time} &7left&8)"
# Sponsor line while the owner is paying for a slot. {slot}, {position} and {state}
# (status.reserved).
warp-info-sponsor-reserved: "&7Sponsor slot: &e#{position} &8({state}&8)"
# Sponsor line of a warp that is not featured. {slot} is status.none.
warp-info-no-sponsor: "&7Sponsor slot: &f{slot}"
# Short state words. Each is substituted into a {state}, {status} or {value} slot of the
# messages above, of the menus under guis/ and of the PlaceholderAPI output, so a restyle
# here applies everywhere at once.
status:
# Warp states seen by visitors; a staff lock wins over closed.
open: "&aOpen"
closed: "&7Closed"
locked: "&cLocked"
# Sponsor slot states: bought, free to buy, held while a payment is confirmed.
sponsored: "₢f2Sponsored"
free: "&aFree"
reserved: "&eReserved"
# Whether a warp owner is online.
online: "&aOnline"
offline: "&7Offline"
# Yes/no flags. The keys are quoted: a bare yes/no key would be read as a boolean.
"yes": "&aYes"
"no": "&cNo"
# Shown where a value was never set: no island name, no lock reason.
# Uncolored so it inherits the color of the line it lands in.
none: "None"
# Shown instead of the warp limit of a player who bypasses it.
# Uncolored so it inherits the color of the line it lands in.
unlimited: "Unlimited"
# Shown instead of a name that no longer resolves. Color codes are stripped on read:
# the value also feeds tab completion and name matching.
unknown: "Unknown"
# Name shown when the console runs a staff action. Color codes are stripped on read.
console: "Console"