{"id":123997,"date":"2026-06-07T09:58:16","date_gmt":"2026-06-07T06:58:16","guid":{"rendered":"https:\/\/vpesports.com\/minecraft\/mods\/portalpreloader\/"},"modified":"2026-06-07T09:58:16","modified_gmt":"2026-06-07T06:58:16","slug":"portalpreloader","status":"publish","type":"mod","link":"https:\/\/vpesports.com\/minecraft\/mods\/portalpreloader\/","title":{"rendered":"PortalPreloader"},"content":{"rendered":"<p># Portal Preloader<\/p>\n<p>A Folia-compatible Minecraft plugin that reduces loading screens and improves the portal travel experience by preloading chunks at portal destinations before players teleport.<\/p>\n<p>## Features<\/p>\n<p>&#8211; **Portal Preloading**: Automatically spawns a snowball through newly created portals to pre-generate destination chunks<br \/>\n&#8211; **Portal Cooldown System**: Gives the destination time to fully load before allowing players to teleport<br \/>\n&#8211; **Dimension-Specific Cooldowns**: Set different cooldown times for Overworld and Nether portals<br \/>\n&#8211; **Live Countdown**: Players waiting in a portal see a countdown message every second<br \/>\n&#8211; **Automatic Timer Reset**: When cooldown expires, players don&#8217;t need to leave and re-enter the portal<br \/>\n&#8211; **Folia Compatible**: Fully compatible with Folia&#8217;s region-based threading<br \/>\n&#8211; **Customizable Messages**: All chat messages are configurable with color code support<br \/>\n&#8211; **Reload Command**: Update configuration without restarting the server<\/p>\n<p>## Why Use This Plugin?<\/p>\n<p>When players travel through nether portals to unexplored areas, the destination chunks need to be generated. This can cause:<br \/>\n&#8211; Long loading screens<br \/>\n&#8211; Client freezing<br \/>\n&#8211; Players getting stuck in the portal animation<br \/>\n&#8211; Poor user experience, especially on servers with complex terrain generation<\/p>\n<p>**Portal Preloader solves this by:**<br \/>\n1. Spawning a snowball through the portal immediately when it&#8217;s lit<br \/>\n2. The snowball travels to the destination and triggers chunk generation<br \/>\n3. Chunks are pre-loaded and ready before any player teleports<br \/>\n4. The configurable cooldown ensures chunks have time to fully generate<br \/>\n5. Players experience smooth, instant teleportation with no loading screen<\/p>\n<p>This is especially useful for:<br \/>\n&#8211; Servers with custom terrain generation<br \/>\n&#8211; High-performance servers running Folia<br \/>\n&#8211; Anarchy servers where players frequently explore new areas<br \/>\n&#8211; Any server wanting to improve the portal travel experience<\/p>\n<p>## Installation<\/p>\n<p>1. Download the latest release JAR file<br \/>\n2. Place it in your server&#8217;s `plugins` folder<br \/>\n3. Restart your server or use a plugin manager to load it<br \/>\n4. Configure the plugin in `plugins\/PortalPreloader\/config.yml`<\/p>\n<p>## Requirements<\/p>\n<p>&#8211; Minecraft 1.21.x<br \/>\n&#8211; Folia or Paper server<br \/>\n&#8211; Java 21<\/p>\n<p>## Configuration<\/p>\n<p>### Default Config (`config.yml`)<\/p>\n<p>&#8220;`yaml<br \/>\n# Portal Preloader Configuration<\/p>\n<p># Enable portal cooldown system<br \/>\n# When enabled, players cannot use newly lit portals for a set time<br \/>\nenable-portal-cooldown: true<\/p>\n<p># Default cooldown for all portals (in seconds)<br \/>\n# This is used when dimension-specific cooldowns are not set or set to -1<br \/>\nportal-cooldown-seconds: 10<\/p>\n<p># Dimension-specific cooldowns (set to -1 to use default cooldown)<br \/>\n# Overworld portals cooldown (portals lit in the overworld)<br \/>\noverworld-cooldown-seconds: -1<\/p>\n<p># Nether portals cooldown (portals lit in the nether)<br \/>\nnether-cooldown-seconds: -1<\/p>\n<p># Messages sent to players<br \/>\n# Use {time} as a placeholder for remaining seconds in cooldown message<br \/>\n# Color codes supported with &#038; (e.g., &#038;c for red, &#038;a for green, &#038;e for yellow)<br \/>\nmessages:<br \/>\n  # Message sent every second while player waits in a portal on cooldown<br \/>\n  cooldown: &#8220;&#038;cThis portal is still loading! Please wait {time} seconds.&#8221;<\/p>\n<p>  # Message sent when the portal becomes ready while player is waiting inside<br \/>\n  ready: &#8220;&#038;aPortal is ready! You can now travel.&#8221;<\/p>\n<p># Enable verbose logging for debugging<br \/>\n# Shows detailed information about portal creation, cooldowns, and player interactions<br \/>\nverbose: false<br \/>\n&#8220;`<\/p>\n<p>### Configuration Options<\/p>\n<p>| Option | Description | Default |<br \/>\n|&#8212;&#8212;&#8211;|&#8212;&#8212;&#8212;&#8212;-|&#8212;&#8212;&#8212;|<br \/>\n| `enable-portal-cooldown` | Enable\/disable the cooldown system | `true` |<br \/>\n| `portal-cooldown-seconds` | Default cooldown time in seconds | `10` |<br \/>\n| `overworld-cooldown-seconds` | Cooldown for portals lit in the Overworld (-1 = use default) | `-1` |<br \/>\n| `nether-cooldown-seconds` | Cooldown for portals lit in the Nether (-1 = use default) | `-1` |<br \/>\n| `messages.cooldown` | Message shown during countdown (use `{time}` for seconds remaining) | See config |<br \/>\n| `messages.ready` | Message shown when portal becomes ready | See config |<br \/>\n| `verbose` | Enable detailed logging for debugging | `false` |<\/p>\n<p>### Color Codes<\/p>\n<p>Messages support Minecraft color codes using `&#038;`:<br \/>\n&#8211; `&#038;0` &#8211; Black<br \/>\n&#8211; `&#038;1` &#8211; Dark Blue<br \/>\n&#8211; `&#038;2` &#8211; Dark Green<br \/>\n&#8211; `&#038;3` &#8211; Dark Aqua<br \/>\n&#8211; `&#038;4` &#8211; Dark Red<br \/>\n&#8211; `&#038;5` &#8211; Dark Purple<br \/>\n&#8211; `&#038;6` &#8211; Gold<br \/>\n&#8211; `&#038;7` &#8211; Gray<br \/>\n&#8211; `&#038;8` &#8211; Dark Gray<br \/>\n&#8211; `&#038;9` &#8211; Blue<br \/>\n&#8211; `&#038;a` &#8211; Green<br \/>\n&#8211; `&#038;b` &#8211; Aqua<br \/>\n&#8211; `&#038;c` &#8211; Red<br \/>\n&#8211; `&#038;d` &#8211; Light Purple<br \/>\n&#8211; `&#038;e` &#8211; Yellow<br \/>\n&#8211; `&#038;f` &#8211; White<\/p>\n<p>## Commands<\/p>\n<p>| Command | Permission | Description |<br \/>\n|&#8212;&#8212;&#8212;|&#8212;&#8212;&#8212;&#8212;|&#8212;&#8212;&#8212;&#8212;-|<br \/>\n| `\/portalpreloader` | &#8211; | Shows plugin version and help |<br \/>\n| `\/portalpreloader reload` | `portalpreloader.reload` | Reloads the configuration |<\/p>\n<p>**Aliases:** `\/pp`, `\/preloader`<\/p>\n<p>## Permissions<\/p>\n<p>| Permission | Description | Default |<br \/>\n|&#8212;&#8212;&#8212;&#8212;|&#8212;&#8212;&#8212;&#8212;-|&#8212;&#8212;&#8212;|<br \/>\n| `portalpreloader.reload` | Allows reloading the plugin configuration | `op` |<\/p>\n<p>## How It Works<\/p>\n<p>### Portal Preloading<br \/>\n1. When a nether portal is lit with fire<br \/>\n2. A snowball is spawned in the center of the portal<br \/>\n3. The snowball immediately goes through the portal<br \/>\n4. This generates the destination portal before any player can teleport<\/p>\n<p>### Cooldown System<br \/>\n1. When a portal is created, it&#8217;s placed on cooldown<br \/>\n2. Players attempting to enter get a message showing remaining time<br \/>\n3. If a player waits inside the portal, they see countdown updates every second<br \/>\n4. When the cooldown expires, their portal timer automatically resets<br \/>\n5. Players can then teleport without leaving and re-entering<\/p>\n<p>### Standing in Portal Area<br \/>\n&#8211; If a player is already standing where portal blocks will appear when it&#8217;s lit<br \/>\n&#8211; They automatically get the cooldown and countdown starts<br \/>\n&#8211; This prevents bypassing the system by pre-positioning<\/p>\n<p>## License<\/p>\n<p>This project is provided as-is for use on Minecraft servers.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Reduces loading screens and improves the portal travel experience by beginning to load chunks as soon as a nether portal is lit<\/p>\n","protected":false},"featured_media":123998,"template":"","meta":{"_minecraft_slug":"portalpreloader","_minecraft_project_id":"8Og6SUCJ","_minecraft_author":"MistaSoup","_minecraft_license":"MIT","_minecraft_downloads":37,"_minecraft_follows":0,"_minecraft_client_side":"unsupported","_minecraft_server_side":"required","_minecraft_storage_type":"zip","_minecraft_archive_name":"portalpreloader.zip","_minecraft_size_bytes":8737,"_minecraft_version_count":1,"_minecraft_updated_at":"2026-05-15T21:45:42.769666Z","_minecraft_date_created":"2026-01-26T05:14:59.734918Z","_minecraft_date_modified":"2026-01-26T00:43:36.720554Z","_minecraft_project_url":"https:\/\/modrinth.com\/mod\/portalpreloader","_minecraft_icon_attachment_id":123998,"_minecraft_imported_at":"2026-06-07T06:58:17+00:00","_minecraft_import_hash":"970722bf55c8da8325982dcb92583c1a","_minecraft_versions":"","_minecraft_links":"","_minecraft_gallery":"","_minecraft_api_metadata":""},"mod_category":[125,90,127,128,129,92,159],"mod_loader":[131,132,133,134],"minecraft_version":[62,37,40,41,73,74,38,78,79,80,81,82],"class_list":["post-123997","mod","type-mod","status-publish","has-post-thumbnail","hentry","mod_category-folia","mod_category-optimization","mod_category-paper","mod_category-purpur","mod_category-spigot","mod_category-utility","mod_category-worldgen","mod_loader-folia","mod_loader-paper","mod_loader-purpur","mod_loader-spigot","minecraft_version-1-21","minecraft_version-1-21-1","minecraft_version-1-21-10","minecraft_version-1-21-11","minecraft_version-1-21-2","minecraft_version-1-21-3","minecraft_version-1-21-4","minecraft_version-1-21-5","minecraft_version-1-21-6","minecraft_version-1-21-7","minecraft_version-1-21-8","minecraft_version-1-21-9"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.6 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>PortalPreloader - Minecraft<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/vpesports.com\/minecraft\/mods\/portalpreloader\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"PortalPreloader - Minecraft\" \/>\n<meta property=\"og:description\" content=\"Reduces loading screens and improves the portal travel experience by beginning to load chunks as soon as a nether portal is lit\" \/>\n<meta property=\"og:url\" content=\"https:\/\/vpesports.com\/minecraft\/mods\/portalpreloader\/\" \/>\n<meta property=\"og:site_name\" content=\"Minecraft\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"4 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/portalpreloader\\\/\",\"url\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/portalpreloader\\\/\",\"name\":\"PortalPreloader - Minecraft\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/portalpreloader\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/portalpreloader\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/wp-content\\\/uploads\\\/2026\\\/06\\\/portalpreloader-icon-82708b91a937cf3ed90a0be3f3b84da1158cd46d_96.webp\",\"datePublished\":\"2026-06-07T06:58:16+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/portalpreloader\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/portalpreloader\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/portalpreloader\\\/#primaryimage\",\"url\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/wp-content\\\/uploads\\\/2026\\\/06\\\/portalpreloader-icon-82708b91a937cf3ed90a0be3f3b84da1158cd46d_96.webp\",\"contentUrl\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/wp-content\\\/uploads\\\/2026\\\/06\\\/portalpreloader-icon-82708b91a937cf3ed90a0be3f3b84da1158cd46d_96.webp\",\"width\":96,\"height\":96},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/portalpreloader\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Mods\",\"item\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"PortalPreloader\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/#website\",\"url\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/\",\"name\":\"Minecraft\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"PortalPreloader - Minecraft","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/vpesports.com\/minecraft\/mods\/portalpreloader\/","og_locale":"en_US","og_type":"article","og_title":"PortalPreloader - Minecraft","og_description":"Reduces loading screens and improves the portal travel experience by beginning to load chunks as soon as a nether portal is lit","og_url":"https:\/\/vpesports.com\/minecraft\/mods\/portalpreloader\/","og_site_name":"Minecraft","twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/vpesports.com\/minecraft\/mods\/portalpreloader\/","url":"https:\/\/vpesports.com\/minecraft\/mods\/portalpreloader\/","name":"PortalPreloader - Minecraft","isPartOf":{"@id":"https:\/\/vpesports.com\/minecraft\/#website"},"primaryImageOfPage":{"@id":"https:\/\/vpesports.com\/minecraft\/mods\/portalpreloader\/#primaryimage"},"image":{"@id":"https:\/\/vpesports.com\/minecraft\/mods\/portalpreloader\/#primaryimage"},"thumbnailUrl":"https:\/\/vpesports.com\/minecraft\/wp-content\/uploads\/2026\/06\/portalpreloader-icon-82708b91a937cf3ed90a0be3f3b84da1158cd46d_96.webp","datePublished":"2026-06-07T06:58:16+00:00","breadcrumb":{"@id":"https:\/\/vpesports.com\/minecraft\/mods\/portalpreloader\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/vpesports.com\/minecraft\/mods\/portalpreloader\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/vpesports.com\/minecraft\/mods\/portalpreloader\/#primaryimage","url":"https:\/\/vpesports.com\/minecraft\/wp-content\/uploads\/2026\/06\/portalpreloader-icon-82708b91a937cf3ed90a0be3f3b84da1158cd46d_96.webp","contentUrl":"https:\/\/vpesports.com\/minecraft\/wp-content\/uploads\/2026\/06\/portalpreloader-icon-82708b91a937cf3ed90a0be3f3b84da1158cd46d_96.webp","width":96,"height":96},{"@type":"BreadcrumbList","@id":"https:\/\/vpesports.com\/minecraft\/mods\/portalpreloader\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/vpesports.com\/minecraft\/"},{"@type":"ListItem","position":2,"name":"Mods","item":"https:\/\/vpesports.com\/minecraft\/mods\/"},{"@type":"ListItem","position":3,"name":"PortalPreloader"}]},{"@type":"WebSite","@id":"https:\/\/vpesports.com\/minecraft\/#website","url":"https:\/\/vpesports.com\/minecraft\/","name":"Minecraft","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/vpesports.com\/minecraft\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"}]}},"_links":{"self":[{"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/mod\/123997","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/mod"}],"about":[{"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/types\/mod"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/media\/123998"}],"wp:attachment":[{"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/media?parent=123997"}],"wp:term":[{"taxonomy":"mod_category","embeddable":true,"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/mod_category?post=123997"},{"taxonomy":"mod_loader","embeddable":true,"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/mod_loader?post=123997"},{"taxonomy":"minecraft_version","embeddable":true,"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/minecraft_version?post=123997"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}