Integrations
Optional Dependencies
Section titled “Optional Dependencies”Maze Engine declares WorldEdit, FastAsyncWorldEdit, WorldGuard, and PlaceholderAPI as soft dependencies. Basic generation and management do not require them. Install builds compatible with your Paper and Minecraft version, then restart the server so dependency order and integration registration are correct.
| Integration | Adds | Project |
|---|---|---|
| WorldEdit | Cuboid selection fitting and original-terrain snapshot handling | WorldEdit documentation |
| FastAsyncWorldEdit | Alternative implementation of the WorldEdit integration | FAWE documentation |
| WorldGuard | Per-block build authorization for plugin-driven world changes | WorldGuard documentation |
| PlaceholderAPI | Cached maze placeholders for other plugins | PlaceholderAPI |
WorldEdit and FAWE
Section titled “WorldEdit and FAWE”Use --selection to fit a cuboid selection. Maze Engine computes cell dimensions and a centered origin; the selection must be tall enough and fit at least 2×2 cells. Selection requires a player and replaces explicit origin and dimension arguments.
Use --snapshot, or snapshot: true in a preset, to capture original terrain before world mutation. Snapshot files are stored as snapshots/<name>.schem. Restoration requires the complete file and a working WorldEdit-compatible integration.
Maze Engine iterates snapshot capture and restoration under its world-operation budget. A snapshot is retained across regeneration and repair. Removing the record successfully also removes its associated snapshot file.
When neither WorldEdit nor FAWE is enabled, selections and snapshot-dependent actions are rejected. A recorded but missing snapshot is an error; Maze Engine does not reconstruct original terrain from a generated maze.
WorldGuard
Section titled “WorldGuard”When WorldGuard is enabled, each queried block must permit both block placement and block breaking for the actor. Checks occur during preflight and again during world mutation or restoration, so a permission change during an operation can stop it.
Players use their WorldGuard local-player permissions and session bypass. Console and remote-console senders are trusted administrative actors. Maze Engine’s mazeengine.bypass node affects its own ordinary terrain protection and does not bypass WorldGuard.
If WorldGuard becomes unavailable after checks were enabled, world editing stops with an error. A failure after blocks changed follows the normal failed-record recovery path.
WorldGuard authorization and Maze Engine region protection solve separate problems: WorldGuard controls whether the actor may perform the operation; Maze Engine protects and tracks its saved and active maze regions.
PlaceholderAPI
Section titled “PlaceholderAPI”The plugin automatically registers the mazeengine expansion when PlaceholderAPI is enabled. It persists through PlaceholderAPI expansion reloads and does not require an eCloud download.
/papi parse me %mazeengine_count%/papi parse me %mazeengine_maze_garden_theme%/papi parse me %mazeengine_current_name%The expansion publishes copied values from a server-thread refresh every 10 ticks. Placeholder consumers read that cached state without accessing live Bukkit world data. A small delay between a world or record change and its displayed placeholder value is expected.
If the mazeengine identifier is already registered, registration logs a warning and closes this expansion. Check for another expansion claiming the same identifier. See PlaceholderAPI reference for complete tables and missing-value behavior.