license-key: "AP-XXXX-XXXX-XXXX-XXXX" # ============================================================ # TPA Configuration # Color formats supported in all messages: # - Legacy: &a, &c, &l, etc. # - HEX: &#RRGGBB or #RRGGBB # ============================================================ # General request settings settings: # How long (in seconds) a TPA request stays valid before expiring. request-expire-seconds: 60 # Cooldown (in seconds) before a player can send another request to the SAME target. # Cooldowns are tracked per-target: you may have a cooldown with PlayerA but still # send a request to PlayerB immediately. cooldown-seconds: 30 # Teleport countdown / warmup (in seconds) before the player is actually teleported. # Set to 0 to teleport instantly. countdown-seconds: 5 # If true, the countdown is cancelled when the teleporting player moves. cancel-on-move: true # If true, the countdown is cancelled when the teleporting player takes damage. cancel-on-damage: true # Cross-server messaging mode. # redis -> Uses Redis pub/sub. Supports any number of backend servers across proxies. # velocity -> Uses Velocity/BungeeCord plugin messaging. Single proxy only, no Redis needed. # none -> Single server only. No cross-server teleports. network: mode: none debug: false proxy-host: "" # Enter this only if you use multi-proxy proxy-port: 25565 # This server's unique backend name (from velocity.toml) server-name: "" redis: host: "127.0.0.1" port: 6379 username: "default" password: "" use-ssl: false channel-prefix: "tpa:" # Player preference + persistence storage. database: # Storage type: sqlite or mysql type: sqlite # SQLite file (relative to the plugin folder). Used only when type=sqlite. sqlite-file: "tpa.db" # MySQL settings. Used only when type=mysql. mysql: host: "" port: 3306 database: "tpa" username: "" password: "" # Extra JDBC properties. properties: "useSSL=false&allowPublicKeyRetrieval=true&characterEncoding=utf8" pool-size: 10 # Message display options. Content is shared between chat and action bar. messages-display: # Send messages to chat. chat: true # Send messages to the action bar. action-bar: true # Message keys that should display in action bar instead of chat. action-bar-message-keys: - accepted-sender - accepted-target - denied-sender - denied-target - countdown - teleporting - teleport-cancelled-move - teleport-cancelled-damage - teleport-success request-gui: enabled: true title: "&8ᴄᴏɴғɪʀᴍ ʀᴇǫᴜᴇsᴛ" size: 27 items: accept: slot: 16 material: "LIME_STAINED_GLASS_PANE" name: "�FF07ᴄᴏɴғɪʀᴍ" lore: - "&7Confirm request from �A2FF{sender}" decline: slot: 10 material: "RED_STAINED_GLASS_PANE" name: "&#FF0000ᴄᴀɴᴄᴇʟ" lore: - "&7Cancel request from �A2FF{sender}" player-head: slot: 13 material: "PLAYER_HEAD" name: "#00FF8Dᴘʟᴀʏᴇʀ" lore: - "&7{sender}" server: slot: 14 material: "FEATHER" name: "�FF8Dʀᴇɢɪᴏɴ" lore: - "&7{server}" - "&7Ping: (�FFA2{ping}ms&7)" dynamic-material: # Uses only the item mentioned in the above "material: "FEATHER"" enabled: false by-server: # Separate material by server enabled: true materials: lobby: "COMPASS" survival-eu: "BLUE_CONCRETE" survival-asia: "YELLOW_CONCRETE" by-region: # Detects servers with keywords "asia,as,apac,sg,sea,jp,kr,in,europe,eu,eur,de,fr,uk,nl,pl,it,es,northamerica,north-america,na,us,usa,ca,canada,southamerica,south-america,sa,br,brazil,ar,latam,oceania,oce,oc,au,australia,nz,newzealand,africa,af,za,southafrica,ng,eg,middleeast,middle-east,me,uae,saudi,qa,tr" and displays regions by them enabled: true materials: asia: "YELLOW_CONCRETE" europe: "BLUE_CONCRETE" north-america: "RED_CONCRETE" south-america: "LIME_CONCRETE" oceania: "CYAN_CONCRETE" africa: "ORANGE_CONCRETE" middle-east: "PURPLE_CONCRETE" region-display: # Means {server} shows a clean region name like Asia/Europe (if detected), and false means it shows the raw server name. enabled: true location: slot: 12 name: "�FF8Dʟᴏᴄᴀᴛɪᴏɴ" lore: - "&7{location}" material-overworld: "GRASS_BLOCK" material-nether: "NETHERRACK" material-end: "END_STONE" # Sound settings. Each sound uses a Bukkit Sound enum name. # Set 'enabled' to false to disable all sounds globally. sounds: enabled: true request-sent: sound: "ENTITY_EXPERIENCE_ORB_PICKUP" volume: 1.0 pitch: 1.0 request-received: sound: "BLOCK_NOTE_BLOCK_PLING" volume: 1.0 pitch: 1.2 accepted: sound: "ENTITY_PLAYER_LEVELUP" volume: 1.0 pitch: 1.0 denied: sound: "ENTITY_VILLAGER_NO" volume: 1.0 pitch: 1.0 cancelled: sound: "ENTITY_VILLAGER_NO" volume: 1.0 pitch: 1.0 countdown-tick: sound: "BLOCK_NOTE_BLOCK_HAT" volume: 1.0 pitch: 1.0 teleport: sound: "ENTITY_ENDERMAN_TELEPORT" volume: 1.0 pitch: 1.0 error: sound: "ENTITY_VILLAGER_NO" volume: 1.0 pitch: 1.0 # All user-facing messages. Use {placeholders} where shown. messages: prefix: "" no-permission: "&cYou don't have permission to do that." player-only: "&cThis command can only be used by players." player-not-found: "&cPlayer {player} was not found." cannot-tpa-self: "&cYou cannot send a teleport request to yourself." usage-tpa: "&7Usage: &f/tpa " usage-tpahere: "&7Usage: &f/tpahere " # Sending / receiving request-sent: "&7Teleport request sent to �A2FF{target}" request-sent-here: "&7Request sent to �A2FF{target} &7to teleport to you" request-received: "�A2FF{sender} &7wants to teleport to you. Type FF00/tpaccept &7or &#FF0000/tpdeny" request-received-here: "�A2FF{sender} &7wants you to teleport to them. Type FF00/tpaccept &7or &#FF0000/tpdeny" request-received-clickable: "#00A2FF[ACCEPT] &8| &#FF0000[DENY]" request-hover-accept: "&aClick to accept the request from �A2FF{sender}" request-hover-deny: "&cClick to deny the request from �A2FF{sender}" # Cooldown / state cooldown: "&cYou must wait {seconds}s before sending another request to {target}" target-toggled-off: "&c{target} is not accepting teleport requests right now." target-toggled-here-off: "&f{target} &cis not accepting tpahere requests right now." already-has-request: "&cYou already have a pending request to {target}." auto-accepted: "�A2FF{target} &7accepted your teleport request." # Accept / deny / cancel accepted-sender: "�A2FF{target} &7accepted your teleport request." accepted-target: "&7You accepted the teleport request from �A2FF{sender}&a." denied-sender: "&c{target} denied your teleport request." denied-target: "&cYou denied the teleport request from {sender}." cancelled-sender: "&cYou cancelled your teleport request to {target}." cancelled-target: "&c{sender} cancelled their teleport request." no-pending-incoming: "&cYou have no pending teleport requests." no-pending-outgoing: "&cYou have no outgoing teleport request to cancel." request-expired-sender: "&cYour teleport request to {target} has expired." request-expired-target: "&cThe teleport request from {sender} has expired." multiple-requests: "&7You have multiple requests. Specify a player: �A2FF/tpaccept " # Countdown / teleport countdown: "&7Teleporting in �A2FF{seconds}s" teleporting: "&7Teleporting now!" teleport-cancelled-move: "&cTeleport cancelled because you moved." teleport-cancelled-damage: "&cTeleport cancelled because you took damage." teleport-success: "&7Teleported to �A2FF{target}&7." target-offline: "&cThat player is no longer online." # Toggles toggletpa-on: "&aYou will now receive teleport requests." toggletpa-off: "&cYou will no longer receive teleport requests." toggletpahere-on: "&aYou will now receive tpahere requests." toggletpahere-off: "&cYou will no longer receive tpahere requests." tpauto-on: "&aYou will now automatically accept teleport requests." tpauto-off: "&cYou will no longer automatically accept teleport requests." # List tplist-header: "&7&lPending Requests:" tplist-incoming: "&7 - Incoming from �A2FF{player} �FFA2({type})" tplist-outgoing: "&7 - Outgoing to �A2FF{player} �FFA2({type})" tplist-empty: "&cYou have no pending requests." # Admin reloaded: "&aTPA configuration reloaded."