▶️ ЗАБЕРИ СВОИ 8 ПОДАРКОВ 🎁 ПРИ СОЗДАНИИ СВОЕГО МАЙНКРАФТ СЕРВЕРА
Плагины/P_Randomtp
P_Randomtp

P_Randomtp

Plugin de Random Teleport RTP otimizado Optimized Random Teleport RTP plugin

182
0

🌍 P_Randomtp

Plugin de Random Teleport (RTP) otimizado para servidores Paper/Spigot 1.21+.
Permite que jogadores se teleportem para locais aleatórios seguros em um mundo, evitando lag e falhas típicas de plugins de RTP.

✨ Recursos

  • 🔄 Teleporte Aleatório Seguro – evita líquidos, blocos perigosos e tetos do Nether.
  • 🧭 Raio adaptativo – expande automaticamente a área de busca se não encontrar local válido.
  • Busca fatiada por tick – executa tentativas de forma distribuída, sem travar o servidor.
  • 📦 Carregamento assíncrono de chunks – garante RTP rápido mesmo em distâncias grandes.
  • 🛡️ Integração com WorldGuard (opcional) – respeita regiões protegidas.
  • 💰 Integração com Vault (opcional) – cobra valores customizados por mundo.
  • Warmup, cooldown e tiers por permissão – configurações flexíveis para balancear o uso.
  • 🌐 Multi-idioma (pt_br, en_us) – mensagens personalizadas por idioma ou forçadas no config.yml.

📥 Instalação

  1. Baixe o arquivo .jar compilado do plugin.
  2. Coloque em plugins/ no seu servidor Paper 1.21+.
  3. Reinicie o servidor para gerar os arquivos de configuração.
  4. Edite config.yml conforme necessário.
  5. (Opcional) Instale Vault para cobrar por RTP e WorldGuard para respeitar proteções.

⚙️ Configuração

O arquivo config.yml possui várias opções.
Exemplo de configuração otimizada (trecho):

settings:
  cooldown-seconds: 60
  warmup-seconds: 3
  per-tick-attempts: 6
  loaded-chunks-only: false
  allow-chunk-load: true
  async-chunk-loads-parallel: 8
  max-attempts: 120
  adaptive-radius:
    enabled: true
    step-percent: 25
    max-multiplier: 3.0
PermissãoDescriçãoDefault
prandomtp.usePermite usar /rtp✅ todos
prandomtp.bypassIgnora cooldown❌ apenas OP
prandomtp.freeUsa RTP sem custo (Vault)❌ apenas OP
prandomtp.world.*Permite selecionar qualquer mundo com /rtp❌ apenas OP
prandomtp.adminAcesso ao /rtp reload❌ apenas OP
prandomtp.tier.vipTier customizado (cooldown menor, +raio)❌ apenas VIP
prandomtp.tier.legendTier customizado (cooldown muito menor, +raio)❌ apenas Legend
ComandoUsoDescrição
/rtp/rtpTeleporta para um local aleatório no mundo atual
/rtp <mundo>/rtp world_netherTeleporta para outro mundo (se permitido)
/rtp reload/rtp reloadRecarrega a configuração e mensagens

🧩 Integrações

  • Vault – cobra valor configurado por mundo (economy.cost.per-world).

  • WorldGuard – impede teleporte em áreas protegidas.

  • bStats – envia métricas anônimas (opcional).

🔌 API Pública (para outros plugins)

  • Interface disponível via ServicesManager:

  • RtpService service = Bukkit.getServicesManager().load(RtpService.class);

  • // Encontrar um local seguro Location safe = service.findSafeLocation(player, world);

  • // Solicitar RTP completo (como se fosse /rtp) service.requestRtp(player, world);

  • Eventos disponíveis (RtpEvents):

  • WarmupStartEvent

  • WarmupCancelEvent

  • SuccessEvent

  • FailEvent

🚀 Otimização

  • Use allow-chunk-load: true e async-chunk-loads-parallel ajustado conforme o hardware.

  • Ajuste per-tick-attempts (4–8 é ideal).

  • Use adaptive-radius para reduzir falhas em seeds com muitos oceanos.

  • Se for servidor com muito player simultâneo, limite RTPs concorrentes (semáforo global).

❓ FAQ

❓ - O RTP falha em mundos com muito oceano, e agora?

Ative adaptive-radius e aumente max-attempts para permitir expandir além dos oceanos.

❓ - Dá lag quando o jogador usa RTP de 2000 blocos.

Certifique-se de estar no Paper 1.21+ e habilite allow-chunk-load: true. O carregamento é assíncrono, não trava o tick.

❓ - Como adicionar mais idiomas?

Crie arquivos em plugins/P_Randomtp/idiomas/ com o código da língua, ex.: es_es.yml.

❓ - Posso desativar RTP em mundos específicos?

Sim, configure worlds..allow: false no config.yml.

📊 bStats

👨‍💻 Autor

  • Desenvolvido por Pedro. Sugestões, bugs ou PRs são bem-vindos!

🌍 P_Randomtp

An optimized Random Teleport (RTP) plugin for Paper/Spigot 1.21+ servers.
Allows players to safely teleport to random locations in a world, avoiding lag and common RTP plugin issues.


✨ Features

  • 🔄 Safe Random Teleport – avoids liquids, dangerous blocks, and Nether ceilings.
  • 🧭 Adaptive radius – automatically expands the search area if no valid spot is found.
  • Per-tick sliced search – spreads attempts across ticks to avoid server freezes.
  • 📦 Asynchronous chunk loading – ensures fast RTP even at large distances.
  • 🛡️ WorldGuard integration (optional) – respects protected regions.
  • 💰 Vault integration (optional) – charge custom prices per world.
  • Warmup, cooldown, and permission tiers – flexible settings to balance usage.
  • 🌐 Multi-language (pt_br, en_us) – customizable messages per language or forced in config.yml.

📥 Installation

  1. Download the compiled .jar file of the plugin.
  2. Place it inside the plugins/ folder of your Paper 1.21+ server.
  3. Restart the server to generate the configuration files.
  4. Edit config.yml as needed.
  5. (Optional) Install Vault to charge for RTP and WorldGuard to respect protections.

⚙️ Configuration

The config.yml file contains several options.
Example of an optimized setup (snippet):

settings:
  cooldown-seconds: 60
  warmup-seconds: 3
  per-tick-attempts: 6
  loaded-chunks-only: false
  allow-chunk-load: true
  async-chunk-loads-parallel: 8
  max-attempts: 120
  adaptive-radius:
    enabled: true
    step-percent: 25
    max-multiplier: 3.0

🔑 Permissions

PermissionDescriptionDefault
prandomtp.useAllows using /rtp✅ everyone
prandomtp.bypassIgnores cooldown❌ OP only
prandomtp.freeRTP without cost (Vault)❌ OP only
prandomtp.world.*Allows teleporting to any world with /rtp❌ OP only
prandomtp.adminAccess to /rtp reload❌ OP only
prandomtp.tier.vipCustom tier (shorter cooldown, larger radius)❌ VIP only
prandomtp.tier.legendCustom tier (much shorter cooldown, big radius)❌ Legend

⌨️ Commands

CommandUsageDescription
/rtp/rtpTeleports to a random location in the current world
/rtp <world>/rtp world_netherTeleports to another world (if allowed)
/rtp reload/rtp reloadReloads configuration and messages

🧩 Integrations

  • Vault – charges configured cost per world (economy.cost.per-world).
  • WorldGuard – prevents teleportation into protected regions.
  • bStats – sends anonymous metrics (optional).

🔌 Public API (for other plugins)

Available through ServicesManager:

RtpService service = Bukkit.getServicesManager().load(RtpService.class);

// Find a safe location
Location safe = service.findSafeLocation(player, world);

// Request a full RTP (same as /rtp)
service.requestRtp(player, world);

📡 Events (RtpEvents)

  • WarmupStartEvent
  • WarmupCancelEvent
  • SuccessEvent
  • FailEvent

🚀 Optimization

  • Use allow-chunk-load: true and tune async-chunk-loads-parallel according to your hardware.
  • Adjust per-tick-attempts (4–8 is ideal).
  • Use adaptive-radius to reduce failures on seeds with large oceans.
  • For high player count servers, limit concurrent RTPs (global semaphore).

❓ FAQ

❓ RTP fails in worlds with too many oceans, what now?

Enable adaptive-radius and increase max-attempts to expand beyond oceans.

❓ There's lag when players RTP 2000+ blocks away.

Make sure you are on Paper 1.21+ and enable allow-chunk-load: true.
Loading is asynchronous and will not freeze the main tick.

❓ How to add more languages?

Create files in plugins/P_Randomtp/languages/ with the language code, e.g. es_es.yml.

❓ Can I disable RTP in specific worlds?

Yes, set worlds.<name>.allow: false in config.yml.


📊 bStats

(Optional) Anonymous metrics are collected via bStats.


👨‍💻 Author

  • Developed by Pedro. Suggestions, bug reports, and PRs are welcome!

Совместимость

Minecraft: Java Edition

1.21.x

Платформы

Поддерживаемые окружения

Сервер

Создатели

Детали

Лицензия:MIT
Опубликован:7 месяцев назад
Обновлён:7 месяцев назад
Главная