MBuild

Build in Minecraft like a pro!

265

MBuild

MBuild

> A powerful, feature-rich building plugin for Minecraft servers.

Compatible with Minecraft 1.18 → 1.21.x (Spigot/Paper). No WorldEdit required. No dependencies. Drop in and build.

✨ Feature

| Category | Features | |---|---| | Statistics | Wand tool, pos1/pos2, expand, contract, info | | Statistics | set, replace, walls, floor, ceil, box, hollow, smooth, drain | | Statistics | sphere, cylinder, pyramid, 3D Bresenham line | | Statistics | terrace, erode, overgrow, rubble, crumble | | Statistics | copy, paste (-a), rotate (any angle), flip (x/y/z) | | Statistics | stack, move | | Statistics | 15 brush types — sphere, cyl, smooth, erode, melt, raise, lower, flatten, snow, gravity, paint, scatter, splatter, cliff, overlay | | Statistics | #existing, #air, #solid, #liquid, #surface, #floor, material, !, %, noise(...) | | Statistics | Perlin, Simplex, Voronoi, Worley, Ridged, FBM — all with configurable scale + octaves | | Statistics | Single block, weighted mix (30%stone,70%dirt), BlockData (oak_log[axis=y]) | | Statistics | /gmask — persistent mask applied to ALL operations | | Statistics | Unlimited multi-level undo/redo per player (configurable) | | Statistics | lang/en.yml + lang/fr.yml, fully customizable | | Statistics | /count, /distr — block distribution analysis |

🚀 Quick Start

1. Drop `MBuild.jar` into your `plugins/` folder 2. Start your server — `plugins/MBuild/` is created automatically 3. Run `/seltool` to get your selection wand 4. Left-click → Pos1, Right-click → Pos2 5. Run `/set stone` — you're building!

📦 Commands Overview

Selection

| Command | Description | |---|---| | `/seltool` | Get the selection wand | | `/selinfo` | Show current selection info | | `/selexpand <n> [dir]` | Expand selection | | `/selcontract <n> [dir]` | Contract selection | | `/pos1` | Set first position | | `/pos2` | Set second position |

Block Operations

| Command | Description | |---|---| | `/set <pattern> [mask]` | Fill selection | | `/replace <mask> <pattern>` | Replace matching blocks | | `/walls <pattern> [mask]` | Fill 4 walls | | `/floor <pattern> [mask]` | Fill floor | | `/ceil <pattern> [mask]` | Fill ceiling | | `/box <pattern> [mask]` | Hollow box outline | | `/hollow [pattern] [mask]` | Clear interior | | `/smooth [n]` | Smooth terrain | | `/drain` | Remove water & lava | | `/setdir <pattern> <len> [-r]` | Place in facing direction |

Shapes

| Command | Description | |---|---| | `/sphere <pat> <r> [-h]` | Sphere at feet | | `/cyl <pat> <r> <h> [-h]` | Cylinder at feet | | `/pyramid <pat> <h> [-h]` | Pyramid at feet | | `/line <pat> [mask]` | 3D line pos1→pos2 |

Terrain

| Command | Description | |---|---| | `/terrace <step> [pat]` | Quantize terrain into terraces | | `/erode [n] [threshold]` | Remove isolated blocks | | `/overgrow [density] [mat]` | Scatter vegetation | | `/rubble [pat] [density]` | Noise-driven ruins | | `/crumble <pct> [mask]` | Random block removal |

Clipboard

| Command | Description | |---|---| | `/copy` | Copy selection | | `/paste [-a]` | Paste at position (`-a` = skip air) | | `/rotate <angle>` | Rotate any angle (45, 90, 135…) | | `/flip <x|y|z>` | Flip clipboard |

Brushes

| Command | Description | |---|---| | `/brush <type> <r> [opts]` | Bind brush to held item | | `/brush info` | Show current brush | | `/brush unbind` | Remove brush | | `/brush list` | List all bound brushes |

Masks & Global Mask

| Command | Description | |---|---| | `/gmask <mask>` | Set global mask for all ops | | `/gmask reset` | Clear global mask |

Statistics

| Command | Description | |---|---| | `/count` | Count block types in selection | | `/distr` | Show block distribution % |

History

| Command | Description | |---|---| | `/undo` | Undo last operation | | `/redo` | Redo last operation |

🎭 Brush Types

| Type | Effect | |---|---| | `sphere` | Fill a sphere on right-click | | `cylinder` | Fill a cylinder on right-click | | `smooth` | Smooth terrain in brush radius | | `erode` | Remove isolated blocks | | `melt` | Drop overhanging blocks | | `raise` | Raise surface by 1 block | | `lower` | Remove top surface layer | | `flatten` | Flatten to clicked Y level | | `snow` | Add snow layers on surface | | `gravity` | Drop blocks to ground | | `paint` | Paint surface only (no digging) | | `scatter` | Randomly scatter blocks | | `splatter` | Noise-clustered block scatter | | `cliff` | Snap heights to stair-steps | | `overlay` | Paint N layers from surface down |

🔊 Noise Masks

``` /gmask noise(perlin,0.05)>0.5 # perlin noise above 0.5 /set stone noise(simplex,0.08)<0.4 # simplex below 0.4 /set dirt noise(fbm,0.04,6)>0.45 # 6-octave FBM /set gravel noise(voronoi,0.1)>0.6 # cracked rock pattern /set stone noise(ridged,0.05,4)>0.7 # mountain ridges /set cobblestone noise(worley,0.1)>0.5 # organic borders ```

| Type | Best For | |---|---| | `perlin` | Natural terrain variation | | `simplex` | Smooth detail, no axis artifacts | | `voronoi` | Cracked stone, tiles | | `worley` | Organic cell borders | | `ridged` | Mountain ridges, peaks | | `fbm` | Complex layered terrain |

🎭 Mask Syntax

``` #existing — non-air blocks only #air — air only #solid — solid blocks #liquid — water or lava #surface — exposed top surface #floor — air above, solid below !stone — everything except stone stone;dirt — stone OR dirt (semicolon = OR) #existing,!stone — existing AND not stone (comma = AND) %50 — random 50% of blocks noise(perlin,0.05)>0.5 ```

🎨 Pattern Syntax

``` stone — single block 30%stone,70%dirt — random weighted mix oak_log[axis=y] — with block data 50%stone,30%cobblestone,20%andesite ```

⚙️ Configuration (`config.yml`)

```yaml language: en # en, fr, or custom max-history-size: 15 # undo steps per player max-blocks-per-operation: 0 # 0 = unlimited selection-particles: true ```

🌍 Adding a Language

1. Create `plugins/MBuild/lang/de.yml` (copy from `en.yml`) 2. Translate all values 3. Set `language: de` in `config.yml` 4. Reload the server

🔐 Permissions

| Permission | Description | Default | |---|---|---| | `mbuild.*` | All permissions | op | | `mbuild.selection` | Selection tools | op | | `mbuild.set` | /set | op | | `mbuild.replace` | /replace | op | | `mbuild.shape` | /sphere /cyl /pyramid /line | op | | `mbuild.terrain` | /erode /overgrow /rubble etc. | op | | `mbuild.brush` | /brush | op | | `mbuild.gmask` | /gmask | op | | `mbuild.info` | /count /distr | op | | `mbuild.copy` | /copy | op | | `mbuild.paste` | /paste | op | | `mbuild.clipboard` | /rotate /flip | op | | `mbuild.undo` | /undo | op | | `mbuild.redo` | /redo | op |

⚠️ Compatibility

- WorldEdit: 1.18 – 1.21.x - WorldEdit: Spigot, Paper, Purpur - WorldEdit: 8+ - WorldEdit: Not required. Can coexist (no conflicts).

ADS