AZNetherPortal

AZNetherPortal

Destacado
por poggit-archive
No disponible
VariosMecánicaspocketmine
6visitas
0descargas

🌋 AZNetherPortal

AZNetherPortal Icon

A lightweight, robust, and highly optimized Nether Portal plugin for PocketMine-MP 5 that accurately recreates vanilla Bedrock and Java Nether portal behavior while maintaining excellent server performance and stability.

✨ Features

🔗 Bidirectional Portal Linking

Seamlessly links Overworld and Nether portals. Entering any registered portal block teleports players back to the exact paired location.

🏠 Fallback Lobby Support

Unlinked Nether portals safely return players to a configurable fallback world.

⚡ Asynchronous Chunk Generation

Automatically pre-generates surrounding destination chunks asynchronously before teleportation for maximum stability.

💾 Asynchronous SQLite Database

All database operations run in AsyncTasks to avoid TPS drops and main-thread lag.

🧵 Thread-Safe PM5 Architecture

Designed specifically for PocketMine-MP 5 multi-threading requirements using safe serialization techniques.

🧱 Advanced 3D Portal Detection

Robust 3x3x3 scanning detects complete portal structures even when players enter off-center.

⏳ Teleport Delay & Cooldown System

Fully configurable portal warmup delays and cooldown timers to prevent teleport loops.

🌍 Multi-World Support

Easily supports survival servers using separate Overworld, Nether, and lobby worlds.

📂 Directory Structure

AZNetherPortal/ ├── resources/ │ └── config.yml ├── src/BeeAZ/AZNetherPortal/ │ ├── Main.php │ ├── listener/ │ │ └── EventListener.php │ ├── manager/ │ │ ├── PortalManager.php │ │ └── PortalTeleporter.php │ └── task/ │ └── PortalSaveTask.php └── plugin.yml

⚙️ Configuration

Nether world folder

nether_world: "nether"

Fallback world when portal link is missing

fallback_world: "lobby"

Random teleport area in Nether

rtp_min_x: -1000 rtp_max_x: 1000 rtp_min_z: -1000 rtp_max_z: 1000

Seconds players must stand in portal

teleport_delay: 3

Cooldown between teleportations

cooldown_time: 5

🧠 How It Works

1️⃣ Portal Ignition

Lighting a valid Obsidian frame automatically creates a Nether Portal structure.

2️⃣ Teleport Countdown

Players standing inside the portal trigger a configurable teleport timer.

3️⃣ Async Chunk Preparation

Destination chunks are asynchronously loaded and generated before teleportation occurs.

4️⃣ Portal Linking

  • Existing linked portals are reused automatically.

  • Missing links generate new paired portals safely.

5️⃣ Database Synchronization

Broken or destroyed portals are automatically removed from cache and database asynchronously.

🚀 Performance Focus

AZNetherPortal is designed with performance as the highest priority:

  • Minimal TPS impact

  • Fully asynchronous database handling

  • Safe teleportation logic

  • Optimized chunk preparation

  • Lightweight caching system

  • PM5 thread-safe design

📦 Requirements

  • PocketMine-MP 5.x

  • PHP 8.1+

📄 License

Licensed under the MIT License.

❤️ Support

If you find bugs or have feature suggestions, feel free to open an issue on GitHub.

⭐ Star the repository if you enjoy the project!