AZNetherPortal
Destacado🌋 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!