Content generated with AI — it may contain mistakes.

Configuring

Worlds

Managed and imported worlds, the generator and its five presets, the border, the gamerules and what pre-generation does.

A sandbox world is a row in sandbox_worlds and, usually, a folder the plugin owns. Everything about it is edited from /sandbox → MANAGE WORLDS; there is no world list in a config file.

Two kinds

MANAGEDIMPORTED
Folderexylia_sandbox_<id>, created by the pluginan existing folder you name
Terrainthis plugin's generator, from a presetwhatever is already there
On creationthe folder is deleted and rebuiltnothing is touched
On deletionthe folder is deletedthe row is removed, the folder stays
Biome and generationeditableignored; the screen shows N/A

Both kinds get the same border, the same gamerules and the same PvP.

Status

A world moves through CREATING → PREGENERATING → READY, or lands on UNAVAILABLE when the world could not be loaded at all. Only a READY world accepts players: the row in the world selector is drawn without its glow and clicking it does nothing.

The generator

The generator turns every vanilla stage off — noise, surface, bedrock, caves, decorations, structures and mob spawning — and writes the chunk itself. There are no caves, no ores, no ravines and no villages in a managed world unless a preset's decoration pass puts something there.

Height is a base plus a gentle two-octave undulation, with a mountain lift that only appears in the upper part of the noise range and adds at most ten blocks. Under it comes the layer stack of the preset, then bedrock at the bottom of the world. Below y = minY + 40 the infinite fill becomes deepslate regardless of the preset.

The five presets

PresetBase heightLayers, top downDecoration
Plains74grass block, 3 dirt, stoneshort grass, fern, poppy, dandelion, oak trees
Desert722 sand, 4 sandstone, stonecactus, dead bush
Snowy783 snow block, 3 dirt, stonepacked ice spikes, blue ice
Mushroom74mycelium, 3 dirt, stonebrown and red giant mushrooms
Badlands863 red sand, 4 red sandstone, then eight terracotta bands, stonecactus

The decoration pass is driven by the preset's material list and its chances are fixed: 6% for an oak tree per eligible column, 7% and 6% for the two mushrooms, 10% for grass and ferns, 1.8% for powder snow, 1.5% for blue ice and dead bush, 0.8% for a flower, 0.4% for a cactus and 0.3% for an ice spike. Trees and mushrooms only spawn away from the chunk edges, because a decoration pass cannot reach into the neighbouring chunk.

Two stored values the generator never reads

heightVariation and stoneVariants are written into every world's generation record and shown in every preset, but nothing reads them. Changing a preset's terrain means changing its baseHeight, its layer stack or its feature list.

The border

BORDER in the world screen is the diameter, and the number the screen displays next to a world is the radius — half of it. The border is always centred on 0, 0. Left-click adds 500, right-click removes 500 with a floor of 100, and shift-left-click types a number.

The random-teleport search stays rtp.border-margin blocks clear of the edge, so a 3000-block border with the default margin of 20 lands players inside a 1480-block radius.

Gamerules and difficulty

GAMERULES in the world screen opens thirteen toggles and the difficulty cycle. They are applied every time the world is loaded.

ToggleGamerule or flag
mob_spawningdoMobSpawning
spawn_mobs, spawn_animalsthe world's spawn flags
mob_griefingmobGriefing
daylight_cycledoDaylightCycle
weather_cycledoWeatherCycle
tile_dropsdoTileDrops
entity_dropsdoEntityDrops
show_death_messagesshowDeathMessages
immediate_respawndoImmediateRespawn
announce_advancementsannounceAdvancements
disable_item_dropsthis plugin's own: cancels item drops in the world
disable_powder_snowthis plugin's own: cancels powder snow damage and placement

Difficulty cycles PEACEFUL → EASY → NORMAL → HARD.

Two things are not toggles. PvP is forced on in every sandbox world, and keepInventory is forced off — although death is cancelled before vanilla ever gets to drop anything, so in practice nothing is lost either way.

`disable_powder_snow` does not survive a reload

The toggle works while the world stays loaded, but it is not written to the world's stored settings. After a restart it is back to its default. Every other toggle on that screen is persisted.

Pre-generation

When a managed world is created, the plugin asks Chunky to generate a square out to the border radius and waits. Progress is shown in the world list as PREGEN <percent>, and the world stays PREGENERATING until it finishes.

Two marker files inside the world folder carry the state across restarts: .pregen_pending while a pre-generation is unfinished, and .sandbox-generated once the world is complete. The second one, not level.dat, is what the plugin checks to decide whether a world already exists.

The server shuts down when the queue drains

Pre-generations run one at a time. When the last one in the queue finishes, the plugin calls Bukkit.shutdown(). This is intended for the first boot, but it fires just the same when you create a world from the panel on a live server. Do it in a maintenance window.

If Chunky is missing or reports an API version this plugin does not know, pre-generation is skipped entirely: the world is marked complete straight away and generates chunks as players walk into them.

What happens to chunks

Chunk saving is turned off in every READY sandbox world, and spawn chunks are not kept in memory. Nothing a player builds, breaks or drops in a sandbox world survives a restart of that world — which is the point.

Deleting a world

The world screen's last slot deletes it, through a confirmation screen. A managed world's folder goes with it; an imported world keeps its folder and only loses its row. Players inside are teleported out when the plugin unloads the world at shutdown.

Something missing on this page? Tell us on Discord