GRtpZone v1.3.2 - In-Game Updater Hotfix
Bug Fixes
- FIXED: In-Game Updater not applying downloaded updates upon server restart.
- Context: Previously, the/grtp updatecommand downloaded the new.jarinto theplugins/GRtpZone/updatefolder instead of Bukkit's nativeplugins/updatefolder.
- Resolution: The updater now correctly routes the downloaded file to the server's native update directory, allowing the server to seamlessly hot-swap the.jarfiles on the next restart.
Notes for Server Owners
For issues or suggestions, contact: Discord @galaxy0115
- Because the updater in version
1.3.1(and prior) was bugged, you will need to manually download and install v1.3.2 by dragging the new.jarinto your plugins folder.- All future updates from v1.3.2 onwards can be successfully installed in-game using the
/grtp updatecommand!
GRtpZone v1.3.1 - Cooldowns & Synchronization Update
Major Features
Advanced Cooldown System
- NEW: Flexible time-based cooldown system for RTP portals.
- ADDED: Support for custom duration formats like '1d 2h 30m', '1h', '30m', or '45s'.
- ADDED: Admin bypass permission node: 'grtpzone.cooldown.bypass' allows staff to use portals without restriction.
- ADDED: Cooldowns are persistent! They are saved to 'cooldowns.yml' and survive server restarts.
- ADDED: Fully customizable 'cooldown-active' message in config.yml with full color/prefix support.
Bug Fixes
- FIXED: PlaceholderAPI Timer Synchronization! The title screen countdown and the {time} placeholder were desynced by 1 second. This has been perfectly synchronized.
- FIXED: 'Leave Region' message logic bug. The plugin no longer incorrectly triggers the leaving or cancelled teleport message if you were simply on cooldown.
Configuration Additions
New Settings in config.yml:
(Please update your config.yml or let the plugin generate the new lines automatically)
- Added 'cooldown' under 'settings'. (Default: "0s" to disable)
- Added 'cooldown-active' under 'messages'.
Performance & Technical
- Dedicated CooldownManager securely handles and parses persistent data outside of the main loop.
- Optimized PlaceholderAPI expansion lookups.
Compatibility
Full support for Java & Bedrock, Folia, and Custom Particles!
- Minecraft: 1.21+
- Server: Spigot, Paper, Purpur (Folia Compatible)
- Backward Compatible: Yes! Existing regions and configs will work perfectly.
For issues or suggestions, contact: Discord @galaxy0115
GRtpZone v1.3.0 - The Cinematic Particle & Polygon Update
-----------------------------------------------------------------------
MAJOR FEATURES
PREMIUM ANIMATION ENGINE
- NEW: Completely overhauled particle system with 8 distinct, mathematically precise animation styles:
- VORTEX: Swirling upward whirlpool.
- SPHERE: 3D rotating particle cage.
- RINGS: Oscillating energy rings.
- WAVE: Sinusoidal DNA ribbons.
- TORNADO, IMPLOSION, DOUBLE_HELIX, SINGLE_HELIX.
- ADDED: Magical "Jitter" system for more organic, ethereal particle movement.
- ADDED: Full Hex/RGB support for DUST particles (e.g., #FF55FF).
POLYGONAL REGION SUPPORT
- NEW: Support for non-cuboid regions with infinite vertices.
- ADDED: /grtp selection poly mode for creating complex zone shapes.
- ADDED: Vertical expansion system (/grtp expand <up/down>) for polygonal zones.
- ADDED: Undo system (/grtp undo) to easily revert misclicked vertices.
DISCORD INTEGRATION & AUTOMATION
- NEW: Discord Webhook support for logging administrative actions (Creation, Deletion, Reloads).
- NEW: Integrated Auto-Updater with a direct .jar downloader for one-click plugin updates.
- ADDED: /grtp cleanup command to manage and purge old debug telemetry logs.
-----------------------------------------------------------------------
CONFIGURATION
New Particle Settings (config.yml)
YAML:particles: teleport-animation: enabled: true style: "VORTEX" particle-type: "DUST" particle-color: "#00C8FF" radius: 1.0 height: 2.3 speed: 0.15 density: 15
Discord Webhook (webhook.yml)
YAML:webhook: enabled: true url: "YOUR_WEBHOOK_URL" events: admin-command: enabled: true title: "Admin Action" color: "#FFAA00"
-----------------------------------------------------------------------
IMPROVEMENTS & OPTIMIZATION
- Folia Support: Deep optimizations for multi-threaded server environments.
- Asynchronous Math: All particle calculations moved to async threads to ensure 20.0 TPS.
- Safe Teleportation: Improved "Safe Spot" algorithm for better detection of solid ground.
- Flexible Poly Zones: Expansion is now optional; 2D "flat" regions are supported by default.
-----------------------------------------------------------------------
BUG FIXES
- FIXED: Missing sound configuration causing fallback "Note Block Pling" sounds.
- FIXED: Mandatory expansion requirement for polygonal regions.
- FIXED: Particle strand separation logic in Helix animations.
- FIXED: Rare NullPointerException when deleting regions during active teleports.
Major Features
Bedrock Edition / Geyser Support
- Default: 10,000 x 15,000 blocks radius (fully customizable)
- NEW: Full compatibility with Bedrock Edition players via Geyser/Floodgate
- ADDED: Automatic Bedrock player detection using Floodgate API
- ADDED: Configurable teleport radius limits for Bedrock players to prevent chunk loading issues
- Java Edition players remain unaffected with full world border range
- ADDED: Startup detection logging for Floodgate availability
Configuration
New Settings (config.yml)
Note: Bedrock Edition has chunk loading limitations at extreme distances. These limits ensure smooth teleportation for Bedrock players while maintaining full functionality for Java Edition players.YAML:bedrock-player-limits: enabled: true max-radius-x: 10000 # Max X distance from center max-radius-z: 15000 # Max Z distance from center
Bug Fixes
- FIXED: Bedrock players experiencing "moved wrongly!" errors after teleport
- FIXED: Players getting stuck or bouncing after RTP on Bedrock Edition
- FIXED: Countdown timer not cancelling when leaving RTP zone
- FIXED: Safe location detection now properly validates ground blocks (prevents mid-air spawns)
- FIXED: Removed duplicate cleanup code in teleportation logic
Performance & Technical
- Enhanced safe location validation with explicit CAVE_AIR and VOID_AIR checks
- Optimized coordinate centering for cross-platform compatibility (X.5, Z.5)
- Improved chunk loading synchronization
- Better error handling for Floodgate API integration
Dependencies
- Optional: Floodgate (for Bedrock player support)
- Plugin works perfectly without Floodgate for Java-only servers
- Bedrock support automatically enabled when Floodgate is detected
Compatibility
- Minecraft: 1.21+
- Server: Spigot, Paper, Purpur (Paper recommended)
- Java Edition: Full support (unchanged)
- Bedrock Edition: Full support via Geyser + Floodgate
- Backward Compatible: All existing configurations work without changes
Notes for Server Owners
1. Install Floodgate plugin (if not already installed)
- If you run a Java-only server, no changes needed - plugin works as before
- If you run Geyser for Bedrock players:
2. Restart server
3. Bedrock support automatically activates!
4. (Optional) Adjust radius limits in config.yml if needed
---
Full support for both Java and Bedrock Edition players!
For issues or suggestions, contact: Discord @galaxy0115
Performance Enhancements
Memory & CPU Optimizations
Smart Chunk Management
- Custom Thread Pool: Implemented bounded 2-thread executor for controlled async operations, preventing memory leaks on low-spec servers
- Async Chunk Loading: Integrated PaperLib for non-blocking chunk operations - no more main thread lag during teleportation
- Optimized Location Search: Reduced default location attempts from 100 to 16 for faster RTP with minimal resource usage
- Reduced Object Allocation: Eliminated excessive location cloning to decrease garbage collection pressure
- Proper Chunk Waiting: Plugin now waits for ALL chunks to load before teleporting - prevents falling through unloaded terrain
- Visual Feedback: "Loading Chunks..." title displays immediately when chunk loading starts
- Configurable Chunk Skip: Optional setting to skip ungenerated chunks for maximum performance on pre-generated worlds
New Configuration Options
YAML:settings: # Maximum location search attempts (default: 16) # Lower = better performance, Higher = more reliable max-location-attempts: 16 # Skip ungenerated chunks for performance (default: false) # Set true for pre-generated worlds only skip-ungenerated-chunks: falseBug Fixes
- Fixed chunk preloading not waiting for chunks before teleport
- Fixed loading title appearing after chunks loaded instead of before
- Fixed resource cleanup on plugin disable
Performance Results
- Tested on 2GB RAM server: Smooth operation with no lag
- Chunk loading: 25 chunks in ~8.5 seconds with zero server stuttering
- Memory stable: No OutOfMemoryError crashes
Technical Details
---
- Uses PaperLib 1.0.7 for async chunk loading with Spigot/Paper compatibility
- CompletableFuture.allOf pattern ensures proper async coordination
- Daemon threads prevent hanging processes on server shutdown
Recommended for: Servers with 2GB+ RAM, optimized for lightweight performance
Compatibility: Spigot 1.8+, Paper recommended for best performance
