Skip to content

[Feature]: Improve TPA command UX + integrate ProTPA-style mechanics (Folia-safe & Bedrock-friendly) #1330

Description

@Laughnt

Is your feature request related to a problem?

The current TPA command structure in EternalCore is functional but introduces friction in real-world usage, especially for:

  • Long player names (Java & Bedrock via Geyser/Floodgate)
  • High-frequency TPA usage (survival/economy servers)
  • Bedrock players (mobile/console typing limitations)

Examples of friction:

  1. /tpaccept requires retyping the exact player name → error-prone and slow
  2. /tpahereaccept duplicates logic unnecessarily
  3. /tpadeny and /tpaheredeny create redundant command surface
  4. /back vs /backdeath separation is unintuitive

This results in:
Slower interaction flow
Higher input error rate
Poor UX for Bedrock users

Describe the solution you'd like

1. Simplified Command Aliases (Primary UX Improvement)

Introduce universal short commands:

  • /ok or /yes → Accept latest pending TPA request (no player argument required)
  • /no → Deny latest pending TPA request
    Merge:
  • /tpaccept + /tpahereaccept → handled internally via context
  • /tpadeny + /tpaheredeny → unified
  • /back + /backdeath → /back resolves to last valid location (death priority if applicable)

This approach:

  • Reduces typing overhead significantly, eliminates player name re-entry
  • Improves compatibility with Bedrock input constraints

2. Optional Advanced TPA System (ProTPA plugin-docs)

Technical Enhancements:

  1. Folia-safe scheduling
  • AsyncScheduler, handle request timeouts & warmups, non-blocking, avoids main thread impact
  • GlobalRegionScheduler for safe teleport execution.
  1. Brigadier-based commands
  2. LifecycleEvents registration
  • Cleaner command lifecycle handling (Paper API standard)

Describe alternatives you've considered

Keeping current command structure and adding aliases only
-> Improves UX slightly but doesn't address deeper architectural limitations
Recommending external plugins (SimpleTPA / ProTPA), not ideal for servers aiming to reduce plugin count + centralize features in EternalCore.

Additional Context

Image

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

Type

Projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions