
MBuild
Build in Minecraft like a pro!
Автор: Martinouxx4341обновлён 27 февр. 2026 г.
ТехнологииУтилиты
Описание
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 |
|---|---|
| Selection | Wand tool, pos1/pos2, expand, contract, info |
| Block Operations | set, replace, walls, floor, ceil, box, hollow, smooth, drain |
| Shapes | sphere, cylinder, pyramid, 3D Bresenham line |
| Terrain | terrace, erode, overgrow, rubble, crumble |
| Clipboard | copy, paste (-a), rotate (any angle), flip (x/y/z) |
| Movement | stack, move |
| Brushes | 15 brush types — sphere, cyl, smooth, erode, melt, raise, lower, flatten, snow, gravity, paint, scatter, splatter, cliff, overlay |
| Masks | #existing, #air, #solid, #liquid, #surface, #floor, material, !, %, noise(...) |
| Noise Masks | Perlin, Simplex, Voronoi, Worley, Ridged, FBM — all with configurable scale + octaves |
| Patterns | Single block, weighted mix (30%stone,70%dirt), BlockData (oak_log[axis=y]) |
| Global Mask | /gmask — persistent mask applied to ALL operations |
| History | Unlimited multi-level undo/redo per player (configurable) |
| Multilingual | lang/en.yml + lang/fr.yml, fully customizable |
| Statistics | /count, /distr — block distribution analysis |
🚀 Quick Start
- Drop
MBuild.jarinto yourplugins/folder - Start your server —
plugins/MBuild/is created automatically - Run
/seltoolto get your selection wand - Left-click → Pos1, Right-click → Pos2
- 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)
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
- Create
plugins/MBuild/lang/de.yml(copy fromen.yml) - Translate all values
- Set
language: deinconfig.yml - 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
- Minecraft: 1.18 – 1.21.x
- Server: Spigot, Paper, Purpur
- Java: 8+
- WorldEdit: Not required. Can coexist (no conflicts).
Последние версии
Все версии →release
MBuild 2.0.0
2.0.027 февр. 2026 г.156Minecraft: 1.18, 1.18.1, 1.18.2, 1.19, 1.19.1, 1.19.2, 1.19.3, 1.19.4, 1.20, 1.20.1, 1.20.2, 1.20.3, 1.20.4, 1.20.5, 1.20.6, 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.11bukkit, paper, purpur, spigot
Что нового
### 🆕 Added
#### Brush System (15 types)
* **Generative:** `/brush sphere`, `/brush cylinder`
* **Terrain:** `/brush smooth`, `/brush erode`, `/brush melt`, `/brush raise`, `/brush lower`, `/brush flatten`, `/brush cliff`
* **Environmental:** `/brush snow`, `/brush gravity`
* **Stylistic:** `/brush paint`, `/brush scatter`, `/brush splatter`, `/brush overlay`
* **Management:** `/brush info`, `/brush unbind`, `/brush list`
* **Mechanics:**
* Brushes are bound per-item using `PersistentDataContainer` (persists across relogs)
* Item lore auto-updated to show current brush type, radius, pattern, mask
* Right-click on block or in air triggers brush
* Per-player 100ms cooldown prevents double-fires
* All brush operations are fully undoable
#### Noise Engine & Masks
* **Implementations:** Perlin, Simplex (OpenSimplex2S), Voronoi, Worley, Ridged, FBM (pure Java, zero dependencies)
* **Global Mask:** `/gmask <mask|reset|off>` (persistent, combines with local masks using AND logic, clears on quit)
* **Noise Masks:** Syntax `noise(type,scale[,octaves])>threshold` (works in all commands)
#### New Commands
* **Generation:** `/sphere`, `/cyl`, `/pyramid`, `/line`
* **Modification:** `/replace`, `/walls`, `/ceil`, `/hollow`, `/smooth`, `/drain`, `/terrace`, `/erode`, `/overgrow`, `/rubble`, `/crumble`
* **Transform:** `/stack`, `/move`, `/rotate`, `/flip`, `/copy`, `/paste [-a]`
* **Selection/Utility:** `/selinfo`, `/selexpand`, `/selcontract`, `/count`, `/distr`
#### Core Systems
* **Internationalization:** Full multilingual system (`lang/en.yml`, `lang/fr.yml`)
* **Configuration:** `MBuildConfig` (history size, block limits, language)
* **Undo/Redo:** Multi-level per player using `Deque` stacks (redo clears on new action)
* **Pattern/Mask API:** Weighted random mixes (`30%stone,70%dirt`), `#surface`, `#solid`, `#liquid`, `!block` support
* **Technical:** `BaseCommand` abstract system, `Direction` enum with `me` support, `OperationUtil` timing/limit helpers
### 🔄 Changed
* **Rotation:** Now supports any angle (45°, 135°, etc.) via nearest-neighbor interpolation
* **Masks:** Updated with `#floor` type, `;` OR operator, and `%N` random percentage
* **Management:** `SelectionManager` migrated to `Map<UUID, …>` to prevent memory leaks
* **Undo System:** Completely rewritten from single `Undo` object to `Deque<HistoryEntry>`
* **UX:** Tab completion made context-aware; added aliases `/br` and `/wand`
* **Metadata:** `plugin.yml` updated to `api-version: 1.18` (1.18→1.21 compatibility)
### 🗑️ Removed
* Old `Undo.java` and single-action undo system
alpha
MBuild 1.1 Alpha
1.112 окт. 2024 г.111Minecraft: 1.18, 1.18.1, 1.18.2, 1.19, 1.19.1, 1.19.2, 1.19.3, 1.19.4, 1.20, 1.20.1, 1.20.2, 1.20.3, 1.20.4spigot
Что нового
Add Undo/Redo command (alpha)
Prohibit block breaking with seltool
Improved pos1/pos2 message
alpha
MBuild Alpha-1.0
1.04 февр. 2024 г.167Minecraft: 1.18, 1.18.1, 1.18.2, 1.19, 1.19.1, 1.19.2, 1.19.3, 1.19.4, 1.20, 1.20.1, 1.20.2, 1.20.3, 1.20.4spigot