
PortalPreloader
Reduces loading screens and improves the portal travel experience by beginning to load chunks as soon as a nether portal is lit
25
0
Portal Preloader
A Folia-compatible Minecraft plugin that reduces loading screens and improves the portal travel experience by preloading chunks at portal destinations before players teleport.
Features
- Portal Preloading: Automatically spawns a snowball through newly created portals to pre-generate destination chunks
- Portal Cooldown System: Gives the destination time to fully load before allowing players to teleport
- Dimension-Specific Cooldowns: Set different cooldown times for Overworld and Nether portals
- Live Countdown: Players waiting in a portal see a countdown message every second
- Automatic Timer Reset: When cooldown expires, players don't need to leave and re-enter the portal
- Folia Compatible: Fully compatible with Folia's region-based threading
- Customizable Messages: All chat messages are configurable with color code support
- Reload Command: Update configuration without restarting the server
Why Use This Plugin?
When players travel through nether portals to unexplored areas, the destination chunks need to be generated. This can cause:
- Long loading screens
- Client freezing
- Players getting stuck in the portal animation
- Poor user experience, especially on servers with complex terrain generation
Portal Preloader solves this by:
- Spawning a snowball through the portal immediately when it's lit
- The snowball travels to the destination and triggers chunk generation
- Chunks are pre-loaded and ready before any player teleports
- The configurable cooldown ensures chunks have time to fully generate
- Players experience smooth, instant teleportation with no loading screen
This is especially useful for:
- Servers with custom terrain generation
- High-performance servers running Folia
- Anarchy servers where players frequently explore new areas
- Any server wanting to improve the portal travel experience
Installation
- Download the latest release JAR file
- Place it in your server's
pluginsfolder - Restart your server or use a plugin manager to load it
- Configure the plugin in
plugins/PortalPreloader/config.yml
Requirements
- Minecraft 1.21.x
- Folia or Paper server
- Java 21
Configuration
Default Config (config.yml)
# Portal Preloader Configuration
# Enable portal cooldown system
# When enabled, players cannot use newly lit portals for a set time
enable-portal-cooldown: true
# Default cooldown for all portals (in seconds)
# This is used when dimension-specific cooldowns are not set or set to -1
portal-cooldown-seconds: 10
# Dimension-specific cooldowns (set to -1 to use default cooldown)
# Overworld portals cooldown (portals lit in the overworld)
overworld-cooldown-seconds: -1
# Nether portals cooldown (portals lit in the nether)
nether-cooldown-seconds: -1
# Messages sent to players
# Use {time} as a placeholder for remaining seconds in cooldown message
# Color codes supported with & (e.g., &c for red, &a for green, &e for yellow)
messages:
# Message sent every second while player waits in a portal on cooldown
cooldown: "&cThis portal is still loading! Please wait {time} seconds."
# Message sent when the portal becomes ready while player is waiting inside
ready: "&aPortal is ready! You can now travel."
# Enable verbose logging for debugging
# Shows detailed information about portal creation, cooldowns, and player interactions
verbose: false
Configuration Options
| Option | Description | Default |
|---|---|---|
enable-portal-cooldown | Enable/disable the cooldown system | true |
portal-cooldown-seconds | Default cooldown time in seconds | 10 |
overworld-cooldown-seconds | Cooldown for portals lit in the Overworld (-1 = use default) | -1 |
nether-cooldown-seconds | Cooldown for portals lit in the Nether (-1 = use default) | -1 |
messages.cooldown | Message shown during countdown (use {time} for seconds remaining) | See config |
messages.ready | Message shown when portal becomes ready | See config |
verbose | Enable detailed logging for debugging | false |
Color Codes
Messages support Minecraft color codes using &:
&0- Black&1- Dark Blue&2- Dark Green&3- Dark Aqua&4- Dark Red&5- Dark Purple&6- Gold&7- Gray&8- Dark Gray&9- Blue&a- Green&b- Aqua&c- Red&d- Light Purple&e- Yellow&f- White
Commands
| Command | Permission | Description |
|---|---|---|
/portalpreloader | - | Shows plugin version and help |
/portalpreloader reload | portalpreloader.reload | Reloads the configuration |
Aliases: /pp, /preloader
Permissions
| Permission | Description | Default |
|---|---|---|
portalpreloader.reload | Allows reloading the plugin configuration | op |
How It Works
Portal Preloading
- When a nether portal is lit with fire
- A snowball is spawned in the center of the portal
- The snowball immediately goes through the portal
- This generates the destination portal before any player can teleport
Cooldown System
- When a portal is created, it's placed on cooldown
- Players attempting to enter get a message showing remaining time
- If a player waits inside the portal, they see countdown updates every second
- When the cooldown expires, their portal timer automatically resets
- Players can then teleport without leaving and re-entering
Standing in Portal Area
- If a player is already standing where portal blocks will appear when it's lit
- They automatically get the cooldown and countdown starts
- This prevents bypassing the system by pre-positioning
License
This project is provided as-is for use on Minecraft servers.
Совместимость
Создатели
Детали
Лицензия:MIT
Опубликован:1 месяц назад
Обновлён:1 месяц назад
