TPHandler
Version 1.0.0 · Paper/Purpur 1.21.x · Java 21
A teleport management plugin for survival and PvP servers. TPHandler bundles a single per-player home, a full TPA request system with two-phase warm-up and BossBars, and an optional paid one-time teleport back to your death chest. Economy, combat and death-chest behaviour are all optional integrations, so the plugin works standalone and grows with the plugins you already run.
Features
- Homes — one home per player with
/sethome,/homeand/delhome. The first few/sethomeuses are free; after that each re-set can cost money (configurable). - TPA requests —
/tpa,/tpaccept,/tpdeny,/tpcancelwith a clean two-phase flow: an accept countdown, then a warm-up during which the requester must stand still. - Warm-up you can trust — teleports can cancel on move, on damage or on entering combat. Feedback is shown via action bar or a configurable BossBar.
- Death-chest teleport — when a player dies and a death chest is created, they can be offered a paid one-time teleport back to it, with an expiry window and post-death delay.
- Dual economy, optional — MultiBank (primary, async) or Vault (fallback). If no economy is installed, costs simply do not apply.
- Combat aware — with CombatLog installed, teleports respect combat tags so players cannot escape a fight by teleporting.
- Per-player language — English, Portuguese and French, with PlayerSettings picking the player's chosen locale when present.
- Bypass permissions — fine-grained nodes to bypass warm-up, cost, combat and cooldown, plus a global switch to disable all bypasses (so operators share the normal experience).
- SQLite storage — homes are persisted locally; all database access is serialized on a dedicated thread for reliability.
Commands
| Command | Description | Permission |
|---|---|---|
/home | Teleport to your home | tphandler.home |
/sethome | Set your home location | tphandler.sethome |
/delhome | Delete your home location | tphandler.delhome |
/tpa <player> | Send a teleport request to a player | tphandler.tpa |
/tpa cancel / /tpcancel | Cancel your active teleport request | tphandler.tpa |
/tpaccept | Accept a pending teleport request | tphandler.tpaccept |
/tpdeny | Deny a pending teleport request | tphandler.tpdeny |
/deathchest tp | Teleport to your death chest | tphandler.deathchest |
/tph dc | Death-chest teleport fallback (alias of /tphandler) | tphandler.deathchest |
/tphandler reload | Reload the configuration | tphandler.admin |
Aliases: /tph for /tphandler.
Permissions
| Node | Description | Default |
|---|---|---|
tphandler.home | Allows /home | true |
tphandler.sethome | Allows /sethome | true |
tphandler.delhome | Allows /delhome | true |
tphandler.tpa | Allows /tpa and /tpcancel | true |
tphandler.tpaccept | Allows /tpaccept | true |
tphandler.tpdeny | Allows /tpdeny | true |
tphandler.deathchest | Allows /deathchest tp and /tph dc | true |
tphandler.admin | Access to /tphandler admin commands | op |
tphandler.bypass.warmup | Bypass teleport warm-up | op |
tphandler.bypass.cost | Bypass teleport costs (including death chest) | op |
tphandler.bypass.combat | Bypass combat checks | op |
tphandler.bypass.cooldown | Bypass TPA cooldown | op |
Configuration
The full config.yml is generated on first run. Key sections:
# Language: en_US, pt_PT or fr_FR (ships as pt_PT; per-player via PlayerSettings)
locale: "pt_PT"
# Dual economy: MultiBank (primary) and Vault (fallback).
# AUTO picks the first available provider from the priority list.
economy:
mode: AUTO
priority: ["MULTIBANK", "VAULT"]
teleport:
warmup-seconds: 5
cancel-on-move: true
cancel-on-damage: true
cancel-on-combat: true
feedback:
mode: "ACTIONBAR" # CHAT, ACTIONBAR, BOSSBAR, NONE
# Set to false to disable ALL bypass permissions even for OPs.
bypass:
enabled: true
home:
enabled: true
sethome:
free-sets: 5
cost-after-free: 250.0
tpa:
enabled: true
cost: 400.0
request-timeout-seconds: 60
cooldown-seconds: 10
charge-on-request: false # otherwise charges on /tpaccept
refund-on-deny: true
accept-countdown-seconds: 3
warmup-seconds: 5
# Requires the DeathChest plugin.
deathchestTeleport:
enabled: true
cost: 2000.0
offerExpiryMinutes: 20
postDeathWaitSeconds: 60
restrictions:
# Kept true by default so a tagged player cannot escape combat with one click.
requireNotInCombat: true
warmupSeconds: 0
storage:
database: "tphandler.db"
Notable keys:
economy.mode—AUTO,MULTIBANKorVAULT.AUTOusespriorityorder.home.sethome.free-sets/cost-after-free— how many free/sethomeuses each player gets before re-setting a home starts costing money.tpa.charge-on-request— charge (and refund on deny/timeout) when the request is sent, or charge only when it is accepted.deathchestTeleport.restrictions.requireNotInCombat— leavetrue; the death-chest teleport is instant, so allowing it in combat would let tagged players escape a fight.
Installation
- Requires Paper or Purpur 1.21.x and Java 21.
- Drop
TPHandler-1.0.0.jarinto your server'splugins/folder. - (Optional) Install any of the integrations below for the extra features.
- Start the server, then edit
plugins/TPHandler/config.ymland run/tph reload.
Dependencies
All integrations are optional (soft dependencies) — TPHandler runs without any of them:
- MultiBank or Vault — economy for home / TPA / death-chest costs. Without an economy provider, those costs are skipped.
- CombatLog — combat tagging so teleports respect combat state.
- DeathChest — enables the paid one-time death-chest teleport.
- PlayerSettings — per-player language selection.
Support / Source
Source code: https://github.com/henriquescrrrr/carrageis-tphandler
Часто задаваемые вопросы
Ссылки
Создатели
Детали
Лицензия:
Опубликован:3 недели назад
Обновлён:3 недели назад

