Yet Another TPA (YATPA)

  • Thread starter Thread starter /u/Cev-API
  • Start date Start date
U

/u/Cev-API

Guest
Yet Another TPA (YATPA)

YATPA​


https://preview.redd.it/ayy58b1x1hy...bp&s=e94a6538e8830c41aaea4f1113ec41374083b0b5

YATPA is a teleport plugin/mod project for modern Minecraft servers:

  • paper/: Paper plugin (1.21.x API target)
  • fabric/: Fabric dedicated-server mod (1.21.x Mojmap/Fabric API scaffold)

What makes YATPA stand out is that it combines full teleport-request/home/back/spawn/RTP/death tooling with a clickable in-chat command UX (/tp menu, paged pickers, and paged logs), while also exposing granular cost controls per teleport type. Economy mode is configurable as NONE, XP_LEVELS, ITEM, or CURRENCY; Paper supports CURRENCY through Vault (with EssentialsX or another Vault economy provider). OPs have an optional GUI menu to fine tune settings in-game.

Screenshots​

Help (via /TPAHELP)​


https://preview.redd.it/sb479lls2hy...bp&s=12d7a06d33e1f8a802aa0e8247fe7fc826bcecad

Clickable TP Menu (via /TP)​


https://preview.redd.it/gf8wp62z1hy...bp&s=9c54705f123df695cba115e935c5bd8bbd2caf73

Clickable TP Logs for OPs (via /TPLOG)​


https://preview.redd.it/h4waafqt2hy...bp&s=6baed6226d13405e926a4218ded618aa0d2d9ea4

Clickable Home List (via /TPHOME LIST)​


https://preview.redd.it/pk9ieyc02hy...bp&s=edb1d7bae5d71a29270b2efe3809ccf8689cff04

Clickable User List (via /TPA with no username specified)​


https://preview.redd.it/ybwr74v02hy...bp&s=8cde05e5f6ff636ee0ef66c5f06bb57aa734e280

OP Menu​


https://preview.redd.it/6xn1ykcb3hy...bp&s=6752a347e2df378c949d1dc6913c79daac2101f4

Features​

  • Clickable teleport menu:
    • /tp
    • Includes shortcuts for homes, RTP, spawn, death-back, TPA/TPHere, toggle, block, and unblock.
    • Player pickers are paginated (5 per page) for /tpa, /tphere, /tpablock, and /tpaunblock.
  • Player teleport requests:
    • /tpa <player>
    • /tpahere <player> or /tphere <player>
    • /tpaccept
    • /tpdeny
    • /tpatoggle
    • /tpablock <player>
    • /tpaunblock <player>
  • Homes:
    • /tphome set [name]
    • /tphome set default <name>
    • /tphome delete <name>
    • /tphome list
    • /tphome [name] or /tpahome [name]
    • Home list is clickable and shows coordinates.
    • The default home is marked with (default).
  • Utility teleports:
    • /rtp
    • /spawn
    • /tpaback or /tpdeath (last death location, one use per death)
  • OP commands:
    • /ytp <player>
    • /ytp <player> <targetPlayer>
    • /ytp <player> <x> <y> <z> [realm]
    • /ytp <x> <y> <z> [realm]
    • /tpoffline <player>
    • /tpalog [page]
  • In-game admin config (OP):
    • /yatpa settings
    • /yatpa gui (Paper, paginated inventory editor for all settings; click to toggle/edit)
    • /yatpa set <path> <value>
    • /yatpa reload
    • /setspawn
  • Player help page:
    • /tpahelp
    • /tphelp
    • /yatpa help
    • Public help intentionally excludes admin commands.
    • When teleport costs are enabled, a Costs section is shown at the bottom listing only teleports with non-zero costs.

Notable Behavior​

  • Requests:
    • Timeout + cooldown are enforced.
    • Accept/deny messages are clickable.
    • If an accepted delayed teleport is cancelled (move/damage), the other player is notified.
  • Teleports:
    • Delayed teleports show a countdown.
    • Costs are validated before countdown and charged on execution.
    • Players are told exactly what they paid (XP, items, or currency).
    • ytp/rtp use safe landing checks to avoid unsafe blocks and lava.
    • /tpaback and /tpdeath consume the saved death location after successful use, and require a new death to refresh.
  • Teleport logging:
    • /tpalog is paginated and clickable.
    • Log lines include context details (for example home name, target player, coords, or offline target) where relevant.
  • Costs and settings:
    • Cost modes: NONE, XP_LEVELS, ITEM, CURRENCY.
    • Realm-specific RTP costs and min/max RTP distance overrides are supported.
    • Paper /yatpa gui and /yatpa set expose currency paths directly.
  • Restrictions and routing:
    • Per-dimension restrictions can disable /rtp only or all YATPA teleports.
    • /rtp supports blacklist + optional overworld routing.
    • Spawn destination is configurable via settings.spawn.* and /setspawn.
  • Platform note:
    • Vault/EssentialsX currency charging is Paper-only in this release.
    • Command/UX behavior in this README applies to both Paper and Fabric unless noted.

Configuration​


Paper config files:

  • paper/src/main/resources/config.yml
  • paper/src/main/resources/messages.xml
  • paper/src/main/resources/plugin.yml

Fabric default config/resource files:

  • fabric/src/main/resources/yatpa-fabric.properties
  • fabric/src/main/resources/yatpa-fabric.yml
  • fabric/src/main/resources/messages-fabric.xml

Runtime data (Paper) is stored under plugin data folder:

  • data/players.yml
  • data/homes.yml
  • data/offline.yml

Runtime data (Fabric) is stored under:

  • config/yatpa/store.json

Example Config YAML​


settings: max_homes_default: 3 request_timeout_seconds: 60 request_cooldown_seconds: 30 teleport_delay_seconds: 5 cancel_on_move: true cancel_on_damage: true spawn_radius: 50 rtp_cooldown_seconds: 300 rtp: default_min_distance: 64 default_max_distance: 2500 rtp_to_overworld: false overworld_name: "world" blacklisted_worlds: [] # Optional per-realm overrides realm_min_distance: overworld: 96 nether: 48 end: 128 realm_max_distance: overworld: 3000 nether: 1500 end: 4000 dimension_restrictions: # Use world names, realm aliases (overworld/nether/end), or namespaced ids. # For namespaced ids in YAML, quote the key, for example "minecraft:the_nether". disable_rtp: nether: true disable_teleport: # "minecraft:the_end": true landing: mode: EXACT # EXACT or RANDOM_OFFSET random_offset_max: 4 features: enabled: true tpa: true tpahere: true homes: true rtp: true costs: enabled: false mode: NONE # NONE, XP_LEVELS, ITEM, CURRENCY xp_levels: tpa: 4 tpahere: 4 home: 16 back: 0 # Per-realm RTP overrides (optional; overrides global if set) rtp: overworld: 30 nether: 0 end: 0 spawn: 8 item: material: DIAMOND tpa: 2 tpahere: 2 home: 20 back: 0 # Per-realm RTP overrides (optional; overrides global if set) rtp: overworld: 30 nether: 0 end: 0 spawn: 10 currency: tpa: 0.0 tpahere: 0.0 home: 0.0 back: 0.0 # Per-realm RTP overrides (optional; overrides global if set) rtp: overworld: 0.0 nether: 0.0 end: 0.0 spawn: 0.0 spawn: enabled: true x: 0 y: 100 z: 0 yaw: 0 pitch: 0 world: world sounds: request_sent: ENTITY_EXPERIENCE_ORB_PICKUP request_received: BLOCK_NOTE_BLOCK_PLING countdown: BLOCK_BELL_USE success: ENTITY_ENDERMAN_TELEPORT cancelled: BLOCK_GLASS_BREAK effects: request_sent: PORTAL request_received: ENCHANT countdown: WAX_OFF success: END_ROD cancelled: SMOKE

Fabric config.properties supports the same restrictions with either:

  • settings.dimension_restrictions.disable_rtp=overworld,minecraft:the_nether
  • settings.dimension_restrictions.disable_teleport=minecraft:the_end,my_custom_dimension
  • Dynamic keys like settings.dimension_restrictions.disable_teleport.minecraft:the_nether=true

Permissions (Paper)​

  • yatpa.op.reload (default: op)
  • yatpa.op.tp (default: op)
  • yatpa.op.tpoffline (default: op)
  • yatpa.op.tpalog (default: op)
  • yatpa.op.setspawn (default: op)

Download​


You can find it on Modrinth 😄

submitted by /u/Cev-API
[link] [comments]

Continue reading...
 
Back
Top