
Minecraft 服务端插件
Maze Generator
Generate custom, random and huge labyrinths. Customizable themes!
- 版本范围
- 1.20–26.1.2
- 下载量
- 4,858
插件介绍
Maze Generator
Epic showcase by KasaiSora
Usable on low end servers or big crowded servers

📧 Feel free to contact me at mazegenerator@radqnico.anonaddy.com
MazeGenerator 🧩
Build massive, themed mazes in Minecraft without freezing the server. The plugin generates the maze layout incrementally and places blocks over time with a configurable per-tick budget. Work is grouped per chunk, and chunks are only loaded on demand at the exact moment blocks need to be placed.
- Paper
Features ✨
- Streaming generation and placement - no giant in-memory queues.
- On-demand chunk loading only (never preloads).
- Autotuned per-tick time budget to protect TPS.
- Chunk-grouped placement (multiple cells per job) to reduce overhead.
- Weighted material themes for floor, wall, and top (
themes.yml). - Options for hollow walls and closed roofs.
- Tab-complete for arguments, plus
/maze help,/maze stop,/maze reload.
Installation ⚙️
- Build or download the plugin JAR.
- Drop the JAR into your server’s
plugins/folder. - Start the server once to generate default config and data files.
Files created/used:
plugins/MazeGenerator/config.yml- performance and behavior settings.plugins/MazeGenerator/themes.yml- material weights per theme.plugins/MazeGenerator/messages.yml- user-facing messages.
Use /maze reload after changing these files, or restart the plugin/server.
Commands ⌨️
/maze- starts a build with sensible defaults near your position./maze stop- stops all active maze builds./maze help- prints usage and argument reference./maze reload- reloadsconfig.yml,themes.yml, andmessages.yml.
Permissions:
mazegenerator.maze- use/mazeand view status.mazegenerator.reload- use/maze reload.
Arguments (key:value)
Order does not matter; tab-complete suggests keys and many values.
x,y,z: World coordinates (defaults to your position).world: World name (defaults to your world).mazeSizeX,mazeSizeZ: Maze size in cells (odd enforced internally).cellSize: Block width and length of each cell footprint.wallHeight: Vertical wall height (excluding top layer).hasExits:true|false- ensure at least one exit at maze border.additionalExits: Extra exits on top of the first (0..N).hasRoom:true|false- carves a central rectangular room.roomSizeX,roomSizeZ: Room dimensions (cells) for the central room.erosion: 0..1 - occasional small holes in nearby walls while carving.closed:true|false- roof over paths as well (otherwise paths are open to sky).hollow:true|false- wall cells as a shell (edges only) for huge block savings.themeName: Theme key fromthemes.yml(tab-complete lists available themes).
Examples:
/maze mazeSizeX:51 mazeSizeZ:51 cellSize:2 wallHeight:4 hasExits:true additionalExits:1 themeName:forest/maze world:world_nether x:100 y:80 z:-200 mazeSizeX:41 mazeSizeZ:41 themeName:snowy/maze mazeSizeX:75 mazeSizeZ:75 cellSize:3 wallHeight:5 hasExits:true hollow:true closed:false themeName:desert
Configuration (config.yml) 🛠️
Defaults are tuned to preserve TPS on most servers. Key settings:
-
millis-per-tick(default 3) Base time budget per tick used by the builder. Autotune adjusts this up or down within bounds. -
jobs-batch-cells(default 64) How many maze cells the scheduler tries to collect per top-up. Larger values reduce overhead a little, but can increase burstiness. -
cells-per-job(default 16) How many cells to pack into a single placement job for a given chunk. Higher values reduce scheduler overhead and redundant chunk loads. -
set-block-data(default false) Attach CustomBlockData to placed blocks. For most builds this should remain false (saves I/O and memory). -
defer-wall-fill(default false) Build order option:true: carve first (corridors appear quickly), then fill remaining walls; generally fewer total writes.false: fill walls first, then carve; looks like a solid mass at first, then paths appear.
-
autotune:(enabled by default)min-millis-per-tick,max-millis-per-tick- bounds for the per-tick time budget.increase-step,decrease-step- how fast the budget grows or shrinks.spare-high,spare-low- thresholds based on remaining time in the current 50 ms tick.
-
status-interval-jobs(default 1000) Prints a progress update in chat roughly every N jobs executed.
Note: The plugin loads chunks on demand at placement time. There is no preloading and no background chunk budgets.
Example: Smooth (minimal TPS impact)
millis-per-tick: 2
jobs-batch-cells: 32
cells-per-job: 8
set-block-data: false
autotune:
enabled: true
min-millis-per-tick: 1
max-millis-per-tick: 4
increase-step: 1
decrease-step: 2
spare-high: 18
spare-low: 12
defer-wall-fill: true
status-interval-jobs: 500
Example: Balanced (default-like)
millis-per-tick: 3
jobs-batch-cells: 64
cells-per-job: 16
set-block-data: false
autotune:
enabled: true
min-millis-per-tick: 1
max-millis-per-tick: 8
increase-step: 1
decrease-step: 2
spare-high: 18
spare-low: 12
defer-wall-fill: false
status-interval-jobs: 1000
Example: Fast (accept some risk of spikes)
millis-per-tick: 5
jobs-batch-cells: 128
cells-per-job: 32
set-block-data: false
autotune:
enabled: true
min-millis-per-tick: 2
max-millis-per-tick: 10
increase-step: 1
decrease-step: 1
spare-high: 20
spare-low: 10
defer-wall-fill: true
status-interval-jobs: 750
Themes (themes.yml) 🎨
Themes control weighted material selection for three sections: floor, wall, and top.
Example:
desert:
floor:
SANDSTONE: 20
RED_SANDSTONE: 10
wall:
SAND: 40
CHISELED_SANDSTONE: 20
top:
SANDSTONE: 3
forest:
floor:
GRASS_BLOCK: 20
DIRT: 2
wall:
OAK_LOG: 30
OAK_LEAVES: 25
top:
OAK_LOG: 3
Weights are positive integers. Higher weight means more likely. If a section is empty, it falls back to STONE.
Tips:
- Use more variety in
wallandtopfor a more organic look. - Keep
topmaterials lighter for interesting silhouettes.
Messages (messages.yml) 💬
plugin-prefix,job-started,job-status,job-done,job-stopped,command-error,no-permission,config-reloaded.- Color codes use
&and are translated on send.
How Autotune Works (Quick) ⚖️
- Measures spare time within the current 50 ms server tick (based on a tick start event).
- If there is plenty of spare time (
spare >= spare-high), it increases the per-tick time budget byincrease-stepup tomax-millis-per-tick. - If the tick is tight (
spare < spare-low), it decreases bydecrease-stepdown tomin-millis-per-tick. - The builder places blocks only until
now + currentMillisPerTickin each tick.
Performance Tips 🚀
- Use
hollow: trueand a largercellSizeto reduce total blocks dramatically. - Increase
cells-per-jobandjobs-batch-cellsto reduce scheduling overhead. - Keep
set-block-data: falseunless you really need it. - Prefer
defer-wall-fill: truefor faster time-to-visible maze and fewer writes.
Troubleshooting 🧰
-
"Maze seems stuck" or no progress:
- Chat updates are periodic. Lower
status-interval-jobsfor more frequent feedback. - Check console for errors. If chunks are extremely far, each job will load them on demand; this can be slow but should not stall.
- Chat updates are periodic. Lower
-
TPS dips during build:
- Lower
millis-per-tick,jobs-batch-cells, orcells-per-job. - Keep
autotune.enabled: trueso the budget backs off automatically.
- Lower
-
Themes look too uniform:
- Add more materials and weights to
wallandtopsections.
- Add more materials and weights to
Have fun, cheers! 🎉
展示图集



版本与下载
推荐下载
MazeGenerator-2.0.jar版本 2.0 · 98.3 KBSHA-1 3beed7cf7f874c83c4c5525234566ecf6f73c565下载 MazeGenerator-2.0.jar2.3-1.21.11
测试版- 加载器
- paper · purpur
- MC 版本
- 1.21 · 1.21.1 · 1.21.2 · 1.21.3 · 1.21.4 · 1.21.5 · 1.21.6 · 1.21.7 · 1.21.8 · 1.21.9 · 1.21.10 · 1.21.11
SHA-1 b2184cdff4acb1eac85f3837c5ec01443b27496e获取文件 MazeGenerator-2.3-1.21.11.jar展开更新日志
LeafMC support testing
2.2-26.1.2
测试版- 加载器
- paper
- MC 版本
- 26.1 · 26.1.1 · 26.1.2
SHA-1 af3e2c6c361fd88f7aef14708523a1143e20f5ca获取文件 MazeGenerator-2.2.jar展开更新日志
Several bugs fixed, experimental multilayer mazes.
2.2-1.21.11
测试版- 加载器
- paper
- MC 版本
- 1.21 · 1.21.1 · 1.21.2 · 1.21.3 · 1.21.4 · 1.21.5 · 1.21.6 · 1.21.7 · 1.21.8 · 1.21.9 · 1.21.10 · 1.21.11
SHA-1 c7c9539826d1076939e113182df560103a36ffe2获取文件 MazeGenerator-2.2-1.21.11.jar展开更新日志
Several bugs fixed, experimental multilayer mazes.
2.1-26.1
测试版- 加载器
- paper
- MC 版本
- 26.1 · 26.1.1 · 26.1.2
SHA-1 41873221165fd963ccaf40215f39105f6203bb27获取文件 MazeGenerator-2.1.jar展开更新日志
Experimental multi-layer mazes
2.0
正式版- 加载器
- paper
- MC 版本
- 26.1 · 26.1.1 · 26.1.2
SHA-1 3beed7cf7f874c83c4c5525234566ecf6f73c565获取文件 MazeGenerator-2.0.jar展开更新日志
Dialog feature polished.
1.9
正式版- 加载器
- paper
- MC 版本
- 26.1 · 26.1.1 · 26.1.2
SHA-1 b0efbabc72d6d36b4f1c5913c61248e7fd6aef0b获取文件 MazeGenerator-1.9.jar展开更新日志
For minecraft 26.1 Added Dialogs support. Try /maze
1.8.1
正式版- 加载器
- paper
- MC 版本
- 1.21 · 1.21.1 · 1.21.2 · 1.21.3 · 1.21.4 · 1.21.5 · 1.21.6 · 1.21.7 · 1.21.8 · 1.21.9 · 1.21.10
SHA-1 2ab6fc42674502849383f655dbc5daf42ecefe32获取文件 MazeGenerator-1.8.1.jar展开更新日志
Changelog
1.8.1
- Phase-aware progress: separate generation and placement tracking with per-phase boss bars; action bar updates every second, chat once per minute.
- Configurable preview skip:
request-confirm=falsebuilds immediately without particle preview; newbuild-no-previewmessage. - Adaptive placement batching and optional disk spillover to limit RAM (
placement-max-pending,disk-spill.*), with size strings (10M,2G) parsed viaSizeParser. - Removed maze size/height caps; only world Y-range is enforced.
- Removed unused non-stream
MazePlacerimplementation. - Refined tab-completion to include
confirm/canceland refactored command handling. - Preview height columns render top-down.
- Separated chat update cadence (1/min) from bossbar/action bar cadence (1/sec).
Changes prior to 1.7.3 are not listed here.
1.7.4
正式版- 加载器
- paper
- MC 版本
- 1.21 · 1.21.1 · 1.21.2 · 1.21.3 · 1.21.4 · 1.21.5 · 1.21.6 · 1.21.7 · 1.21.8 · 1.21.9 · 1.21.10
SHA-1 57518b1ea9a8ab440a455df1d4489eb2f53f93e3获取文件 MazeGenerator-1.7.4.jar展开更新日志
Compiled for Minecraft 1.21.10
1.7.3
正式版- 加载器
- paper
- MC 版本
- 1.21 · 1.21.1 · 1.21.2 · 1.21.3 · 1.21.4 · 1.21.5 · 1.21.6 · 1.21.7 · 1.21.8
SHA-1 a598e8854b11b8c746ce6d11146c8d126e0bb047获取文件 MazeGenerator-1.7.3.jar展开更新日志
Now capable of generating larger mazes. Autotuning the building to make it faster without impacting lag. Internal refactor to make it more efficient. New README.
1.7.2
早期版- 加载器
- paper
- MC 版本
- 1.21 · 1.21.1 · 1.21.2 · 1.21.3 · 1.21.4 · 1.21.5 · 1.21.6
SHA-1 8c5d8cefd64f562983c20fce0a9203adca278779获取文件 MazeGenerator-1.7.2.jar展开更新日志
Now API returns a completable future
1.7.1
早期版- 加载器
- paper
- MC 版本
- 1.21 · 1.21.6
SHA-1 062593e6d4a1998e4aab4b5db153c141d6884fd7获取文件 MazeGenerator-1.7.1.jar展开更新日志
Added Java APIs static class it.nicoloscialpi.mazegenerator.MazeApi in alpha testing
1.6.1
正式版- 加载器
- paper
- MC 版本
- 1.21.4
SHA-1 31cde62b930515fabd1cd88af1e8d114392933ad获取文件 MazeGenerator-1.6.1.jar展开更新日志
QOL: More efficiency on memory: 10000x10000 uses 8GB of memory
1.6.0
正式版- 加载器
- paper
- MC 版本
- 1.21.4
SHA-1 11146ebb777e9de38c21392a77b511c53313970c获取文件 MazeGenerator-1.6.0.jar展开更新日志
- Compatibility with Paper 1.21.4
Sorry for the delay guys
1.5.0
正式版- 加载器
- paper
- MC 版本
- 1.20 · 1.20.1 · 1.20.2 · 1.20.3 · 1.20.4 · 1.20.5 · 1.20.6
SHA-1 5817f14bedc11fa78e9f4954fe5b33944a653e35获取文件 MazeGenerator-1.5.0.jar展开更新日志
Minecraft 1.20.6 compatiblity
1.4.0
正式版- 加载器
- paper
- MC 版本
- 1.20 · 1.20.1 · 1.20.2 · 1.20.3 · 1.20.4
SHA-1 75e8580d3f27d90818c057b0f19e1145b23e8804获取文件 MazeGenerator-1.4.0.jar展开更新日志
Changes:
- Now you can generate enclosed mazes!

- Autocompletion for
x,y,zcoordinates while looking a block
1.3.3
正式版- 加载器
- paper
- MC 版本
- 1.20 · 1.20.1 · 1.20.2 · 1.20.3 · 1.20.4
SHA-1 2529170400887dfe77f084d27f68685b8a59a39f获取文件 MazeGenerator-1.3.3.jar展开更新日志
Changes:
- Bug fixes.
1.3.1
正式版- 加载器
- paper
- MC 版本
- 1.20 · 1.20.1 · 1.20.2 · 1.20.3 · 1.20.4
SHA-1 1dd29f5c3e297cf272c29b8c596b9a93335c73a3获取文件 MazeGenerator-1.3.1.jar展开更新日志
Changes:
- Fixed a little problem with the progress percentage display
- Added command permission
1.3.0
正式版- 加载器
- paper
- MC 版本
- 1.20.4
SHA-1 0d968b1befa9fbe95ab3507e9ecd7e96ee4068f9获取文件 MazeGenerator-1.3.0.jar展开更新日志
Changes:
- More memory efficent in "normal mode"
- Much better "low memory" mode
- Variuos code enhancements
1.2
正式版- 加载器
- paper
- MC 版本
- 1.20.4
SHA-1 1cf11f15077dd2cd8ceef0672f6d716b129b72e4获取文件 MazeGenerator-1.2.jar展开更新日志
v1.2
Fixes:
- Plugin prefix
v1.1
Adds:
- Added roomsAmount parameter to generate open spaces in the labyrinth (if possible)
v1.0
First version with basic but solid functionalities.