LightWorldEdit
A tiny WorldEdit alternative -- 17 commands total (WorldEdit proper has 150+
once you count every sub-command and tool variant), for Paper 1.21 -> 1.21.11.
Targets regular Paper only -- not Folia. That kept the whole editing engine to
plain, ordinary, synchronous block edits, the same way any normal Bukkit
plugin works: no region schedulers, no chunk-by-chunk dispatch, no async
hand-offs. Simpler code, easier to read, easier for you to modify.
Commands
All of these are typed with a double slash (//set, //wand, etc.) -- that's
not a typo, it's the same trick the real WorldEdit uses: the command is
literally registered with a leading slash in its name, so Minecraft's own
"first slash means this is a command" rule does the rest.
A couple of commands
//wandGet the selection wand (left-click = pos1, right-click = pos2)
//pos1 [x y z]Set position 1 (your location if no coords given)
//pos2 [x y z]Set position 2
//set Fill the selection (comma list = random mix, e.g. stone,dirt)
//replace Replace one block type with another
//copy / //pasteClipboard, relative to where you're standing
//undo / //redoPer-player history
//help (alias //lwe)List of all commands
Block names also accept full block-state syntax, e.g. //set oak_stairs[facing=north].
Permissions
Everything defaults to op, grouped coarsely (lightworldedit.selection
covers pos1/pos2/sel/size/expand/contract, lightworldedit.region.set covers
just //set, etc. -- see plugin.yml for the full list). lightworldedit.*
grants all of it. lightworldedit.limit.unlimited bypasses the block-count cap.
config.yml
- wand-item -- Material name for the wand (default GOLDEN_AXE).
- default-limit -- max blocks one operation can touch without lightworldedit.limit.unlimited (default 50,000). Since edits run synchronously on the main thread, this is also your lag-spike safety net -- there's no background spreading of work across ticks.
- history-size -- undo/redo depth per player (default 20).