Langue

P_Randomtp

P_Randomtp

Modrinth

Plugin de Random Teleport RTP otimizado Optimized Random Teleport RTP plugin

210 téléchargements mis à jour 9mo ago
Modrinth
Bukkit Paper Spigot 1.21 – 1.21.8 AdventureEconomyGame-mechanics

🌍 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ão | Descrição | Default |
| ----------------------- | ---------------------------------------------- | --------------- |
| prandomtp.use | Permite usar /rtp | ✅ todos |
| prandomtp.bypass | Ignora cooldown | ❌ apenas OP |
| prandomtp.free | Usa RTP sem custo (Vault) | ❌ apenas OP |
| prandomtp.world.* | Permite selecionar qualquer mundo com /rtp | ❌ apenas OP |
| prandomtp.admin | Acesso ao /rtp reload | ❌ apenas OP |
| prandomtp.tier.vip | Tier customizado (cooldown menor, +raio) | ❌ apenas VIP |
| prandomtp.tier.legend | Tier customizado (cooldown muito menor, +raio) | ❌ apenas Legend |

| Comando | Uso | Descrição |
| -------------- | ------------------- | ------------------------------------------------ |
| /rtp | /rtp | Teleporta para um local aleatório no mundo atual |
| /rtp <mundo> | /rtp world_nether | Teleporta para outro mundo (se permitido) |
| /rtp reload | /rtp reload | Recarrega 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

| Permission | Description | Default |
| ----------------------- | ---------------------------------------------- | ----------- |
| prandomtp.use | Allows using /rtp | ✅ everyone |
| prandomtp.bypass | Ignores cooldown | ❌ OP only |
| prandomtp.free | RTP without cost (Vault) | ❌ OP only |
| prandomtp.world.* | Allows teleporting to any world with /rtp | ❌ OP only |
| prandomtp.admin | Access to /rtp reload | ❌ OP only |
| prandomtp.tier.vip | Custom tier (shorter cooldown, larger radius) | ❌ VIP only |
| prandomtp.tier.legend | Custom tier (much shorter cooldown, big radius)| ❌ Legend |

⌨️ Commands

| Command | Usage | Description |
| -------------- | ------------------- | -------------------------------------------------- |
| /rtp | /rtp | Teleports to a random location in the current world|
| /rtp <world> | /rtp world_nether | Teleports to another world (if allowed) |
| /rtp reload | /rtp reload | Reloads 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!

Versions

Aucun historique de versions. Utilise le bouton Télécharger pour obtenir la dernière depuis la source.

Commentaires 0

Aucun commentaire pour l'instant. Sois le premier à donner ton avis.

Télécharger P_Randomtp

Les fichiers proviennent directement de la source d'origine. Modgrid ne les héberge ni ne les modifie.