Compatibility
Minecraft: Java Edition
Platforms
Links
Tags
Creators
Details
🌟 Features
- Load rectangular areas or square and circular regions around a player-specific center.
- Limit loading to configured chunks per tick and per-world area sizes.
- Limit each player's permitted area size; chunk loading is serialized per world to keep server load predictable.
- View loading progress, estimated remaining time, saved areas, and server memory status.
- Cancel a load and release chunks loaded by an interrupted task.
- Rename and resize saved areas.
- Export and import area definitions and create backups of saved area data.
- Automatically release inactive areas while retaining their saved definitions.
- Track chunks shared by multiple areas so unloading one area does not release another area's chunks.
🎮 Commands
All commands are available through /cpl or /chunkpreloader.
| Command | Description |
|---|---|
/cpl start <x1,z1> <x2,z2> <name> |
Load a rectangular area using two block-coordinate corners. |
/cpl center <x,z> |
Set your radius center in block coordinates in your current world. |
/cpl radius <radius-chunks> |
Load a square centered on your saved center, with the radius measured in chunks. Area name is generated automatically. |
/cpl circle <radius-chunks> <name> |
Load a circular area centered on your saved center, with the radius measured in chunks. |
/cpl cancel [area-name] |
Cancel your active load, optionally specifying its name. |
/cpl list |
List saved areas and whether each is active. |
/cpl info <name> |
Show an area's world, shape, chunk count, and coordinates. |
/cpl status |
Show saved area count, active loading tasks, managed force-loaded chunk count, and memory use. |
/cpl unload <name> |
Unload and remove a saved area. |
/cpl rename <old-name> <new-name> |
Rename a saved area. |
/cpl resize <name> <x1,z1> <x2,z2> |
Replace a rectangular area's bounds and load the replacement. |
/cpl export <area-name> <file-name> |
Export an area definition into the plugin's exports folder. |
/cpl import <file-name> <new-area-name> |
Import a definition from the exports folder and save it. |
/cpl backup |
Create a timestamped backup of saved area data. |
/cpl reload |
Reload configuration and restore eligible saved areas. |
Coordinate and radius details
start, center, and resize accept block coordinates, not chunk coordinates. For example, 100,200 means block X=100 and block Z=200. The coordinates are converted to the chunks they touch. Radius values are in chunks; one chunk is 16 blocks. /radius creates a square. /circle creates a circular footprint measured by chunk distance from the center chunk.
Area names are 1–32 letters, numbers, underscores, or hyphens. Export names are 1–64 letters, numbers, underscores, or hyphens. Set a center separately in each world; it is private to the player who set it.
🔐 Permissions
Each command has its own permission node. Basic access is granted by default for loading and read-only commands; area administration commands default to operators.
chunkpreloader.command.start,.center,.radius,.cancel,.list,.info,.statuschunkpreloader.command.unload,.rename,.resize,.export,.import,.backup,.reloadchunkpreloader.notificationsreceives notices whennotifications.enabledis true.chunkpreloader.admingrants administrative permissions and bypasses the player-specific area cap.chunkpreloader.limit.<size>grants the matching configured area-size tier (for example,chunkpreloader.limit.5000).
The server's configured per-world limit is an upper bound for all players. Without chunkpreloader.admin, the effective limit is the lesser of that upper bound and the player's default or granted tier.
⚙️ Configuration
The default config.yml is:
enabled-worlds:
- world
- world_nether
- world_the_end
performance:
# Maximum number of chunks to force-load per server tick per active task
chunks-per-tick: 100
# Maximum number of saved/loading chunks an area may contain
max-area-size: 10000
# Warn players before starting large loads
show-warnings: true
auto-unload:
# Release force-loaded chunks after an area has had no player activity
enabled: false
# Inactivity timeout in minutes
timeout: 1440
autosave:
# Save managed area definitions every this many seconds
interval: 300
notifications:
# Notify permitted online players when a load finishes/fails or an area auto-unloads
enabled: false
permissions:
# Maximum area size for a player without an elevated size permission
default-max-area-size: 1000
# Additional chunk limits available through chunkpreloader.limit.<size>
area-size-limits:
- 5000
- 10000
world-specific:
world:
max-area-size: 10000
chunk-load-speed: 100
world_nether:
max-area-size: 5000
chunk-load-speed: 50
world_the_end:
max-area-size: 5000
chunk-load-speed: 50
enabled-worlds: Worlds where area loads and restorations are permitted.performance.chunks-per-tick: Default maximum chunks a load processes per server tick. Larger values finish sooner but create more server work per tick.performance.max-area-size: Default maximum chunks in one area; also the upper limit for per-world limits.performance.show-warnings: Warn players before a load larger than half their effective area limit.auto-unload.enabled: Release active area chunks after inactivity. Saved definitions remain and can be restored when a player returns to the area.auto-unload.timeout: Inactivity duration in minutes before release.autosave.interval: Interval in seconds between saving area data; values below 10 seconds are raised to 10.notifications.enabled: Send load success/failure and auto-unload notices to online players withchunkpreloader.notifications.permissions.default-max-area-size: Chunk cap for players without a configured size-tier permission.permissions.area-size-limits: The size tiers available aschunkpreloader.limit.<size>permissions.world-specific.<world>.max-area-size: Maximum area size in chunks for that world.world-specific.<world>.chunk-load-speed: Per-tick chunk batch size for that world, overriding the global batch setting.
Invalid or too-small safety settings are clamped to safe minimums when the plugin starts or reloads.
💾 Saved areas and backups
Area definitions are saved automatically and restored after a restart. With inactivity unloading enabled, chunks are released but the definition is retained; entering its area can start restoration again. Area exports are stored in the plugin's exports folder, and /cpl backup writes timestamped data backups to its backups folder.
Chunks shared by multiple managed areas remain force-loaded until the final owning area is unloaded. Any force-load setting that was already present before the plugin began managing a chunk is restored when the plugin releases its management of that chunk.


