CrossAnywhere
rossAnywhere is a Paper/Spigot teleport plugin for Minecraft 1.21+ (Java 21). It provides personal/global waypoints, TPA requests, back, safety checks, cooldowns, and configurable costs. All messages use Adventure/MiniMessage and support i18n.
Quick challenge
How far can you run before the mobs catch you?
Minecraft check
Confirm your run
Complete the quick check to get your code.
CrossAnywhere
CrossAnywhere
English | 简体中文
CrossAnywhere is a Paper/Spigot teleport plugin for Minecraft 1.20+ (Java 21). It provides personal/global waypoints, TPA requests, back, safety checks, cooldowns, and configurable costs. All messages use Adventure/MiniMessage and support i18n.
Features
- Personal and global waypoints (with yaw/pitch and description) - Waypoint listing with clickable teleport/delete/edit buttons - TPA / TPAHere requests with timeout and duplicate policy - Back point recorded before teleports and on death (configurable) - World whitelist and cross-world permission gate - Teleport cooldowns (per feature) - Teleport costs (exp and/or item) - Safety checks with confirm or nearby-safe search - Easy teleport: `/ca <name>` (personal > global > player) - Shortcut commands (optional override for `/tp`)
Requirements
- Paper 1.20+ - Java 21
Installation
1. Build the plugin: `./gradlew build` 2. Put the jar in `plugins/`. 3. Start the server to generate config and message files. 4. Edit `config.yml` and `messages_*.yml` as needed.
Commands
Main command: `/ca` (alias `/stp`)
Waypoints (personal):
- `/ca setp|setpersonal [-f] <name> [desc...]` - Create or update a personal waypoint at your current location; use `-f` to overwrite. - `/ca tpp|tpersonal <name>` - Teleport to one of your personal waypoints. - `/ca delp|delpersonal <name>` - Delete one of your personal waypoints. - `/ca listp|listpersonal` - List your personal waypoints. - `/ca descp <name> <desc...>` - Set or update the description of a personal waypoint.
Waypoints (global):
- `/ca setg|setglobal [-f] <name> [desc...]` - Create or update a global waypoint at your current location; use `-f` to overwrite. - `/ca tpg|tglobal <name>` - Teleport to a global waypoint. - `/ca delg|delglobal <name>` - Delete a global waypoint. - `/ca listg|listglobal` - List global waypoints. - `/ca descg <name> <desc...>` - Set or update the description of a global waypoint.
Other:
- `/ca list` - List both personal and global waypoints. - `/ca tp <player>` - Teleport yourself to the target player (admin permission). - `/ca tphere <player>` - Teleport the target player to you (admin permission). - `/ca tpa <player>` - Send a teleport request to the target player. - `/ca tpahere <player>` - Ask the target player to teleport to you. - `/ca cancel` - Cancel all outgoing TPA requests you sent. - `/ca accept|allow [player]` - Accept the latest request or a specific player's request. - `/ca deny|reject [player]` - Deny the latest request or a specific player's request. - `/ca tpaallow <player>` - Allow a player to teleport to you directly without confirmation. - `/ca tpadisallow <player>` - Remove a player from your direct-teleport allowlist. - `/ca tpaallowlist` - Show your direct-teleport allowlist. - `/ca back` - Return to your last recorded location. - `/ca confirm` - Confirm a pending unsafe teleport. - `/ca cancelconfirm` - Cancel a pending unsafe teleport confirmation. - `/ca importstp [file] [--include-back] [--offline-uuid|--raw-uuid|--auto-uuid] [--clear]` - Import MCDR STP data from a JSON file in the plugin data folder. - `/ca <name>` (easy_tp=true) - Easy teleport: personal > global > player.
Shortcut commands:
- `/setp` - Shortcut for `/ca setp`. - `/tpp` - Shortcut for `/ca tpp`. - `/delp` - Shortcut for `/ca delp`. - `/listp` - Shortcut for `/ca listp`. - `/descp` - Shortcut for `/ca descp`. - `/setg` - Shortcut for `/ca setg`. - `/tpg` - Shortcut for `/ca tpg`. - `/delg` - Shortcut for `/ca delg`. - `/listg` - Shortcut for `/ca listg`. - `/descg` - Shortcut for `/ca descg`. - `/tplist` - Shortcut for `/ca list`. - `/back` - Shortcut for `/ca back`. - `/tpa` - Shortcut for `/ca tpa`. - `/tpahere` - Shortcut for `/ca tpahere`. - `/tphere` - Shortcut for `/ca tphere`. - `/tpaccept` - Shortcut for `/ca accept`. - `/tpdeny` - Shortcut for `/ca deny`. - `/tpcancel` - Shortcut for `/ca cancel`. - `/tpconfirm` - Shortcut for `/ca confirm`. - `/tpcancelconfirm` - Shortcut for `/ca cancelconfirm`. - `/tp` (only if `commands.override_tp=true`) - Override vanilla `/tp` with CrossAnywhere handling.
Permissions
- `crossanywhere.personal` - `crossanywhere.personal.tp` - `crossanywhere.global` - `crossanywhere.global.tp` - `crossanywhere.list` - `crossanywhere.tp` - `crossanywhere.tphere` - `crossanywhere.tpa` - `crossanywhere.tpahere` - `crossanywhere.tpa.allowlist` - `crossanywhere.back` - `crossanywhere.easy` - `crossanywhere.crossworld` - `crossanywhere.cooldown.bypass` - `crossanywhere.cost.bypass` - `crossanywhere.safety.bypass` - `crossanywhere.admin`
Data Files
- `plugins/CrossAnywhere/personal_waypoints.json` - `plugins/CrossAnywhere/global_waypoints.json` - `plugins/CrossAnywhere/tpa_allowlist.json` - `plugins/CrossAnywhere/stp_uuid_map.json` (optional name -> UUID map for import) - `plugins/CrossAnywhere/stp_world_map.json` (optional dimension -> world map for import)
Configuration
See `config.yml` for full options.
Key sections: - `worlds`: whitelist - `easy_tp`: enable `/ca <name>` - `waypoint_name_max_length`, `allow_unicode_names` - `personal_max_waypoints`, `global_max_waypoints` - `cooldown`: per-feature cooldowns - `cost`: exp and item costs (with crossworld handling) - `safety_check`: confirm or nearby-safe search - `commands.override_tp`: whether to register `/tp`
i18n
- `messages_en_US.yml` - `messages_zh_CN.yml`
Notes
- All shortcut commands reuse the same checks (world, permission, cooldown, cost, safety). - TPA requests and safety confirmations are in-memory and reset on restart.