-
-
Notifications
You must be signed in to change notification settings - Fork 0
/
CHANGELOG.txt
1273 lines (1164 loc) · 58.2 KB
/
CHANGELOG.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
7.2.0
- Greatly improve WorldEdit performance on servers with many plugins (See more: https://matthewmiller.dev/talk/optimizing-your-application/)
- Improve general WorldEdit performance
- Added a fine-grained fast mode system with //perf to allow individually enabling or disabling update types
- Added a stack tool that stacks the clicked block until it hits an obstacle (https://gfycat.com/faithfulhardtofinddingo)
- Added 3D biomes support
- Added netherite pickaxe support to superpickaxe
- Improve expression handling
- Enable //watchdog by default
- Improve archive file handling
- Optimize polygon regions
- Improved performance of the deform brush
- Update to a newer Rhino release for craftscripts
- Added support for 1.16.1
- Added support for regenerating biomes with //regen
- Improved ES6 support for craftscripts
- Fixed an issue with edges of polygonal regions
- Fixed multiple of the same flag being applied to commands not providing a friendly error
- Fixed potential issues with direction name parsing in commands
- Fixed numerous issues with using commands via the console
- Fixed a bug where languages using non-latin fonts would look odd
- Remove the "please report this" message in legacy schematic loading
- Fixed some potential errors with Paper command handling and protocol hacks
- Fixed //size having inconsistent colors
- Fixed default namespace blocks being suggested and cluttering suggestion list
- Fixed issue where command blocks wouldn't work with sessions
- Fixed beds and banners in legacy schematics
- Fixed an issue with random pattern suggestions
- Fixed biome math on Forge and Fabric
- Fixed vertical flip for stairs
- Fixed region volume not displaying correctly for very large regions
- Fixed wandering traders not being counted as NPCs in /butcher
- Fixed /delchunks in the nether and end on Spigot
- Fixed commands disappearing on a /reload on Fabric
- Partial hacky support for WorldEdit commands to be used in functions on Fabric
- Fixed ascend and descend with entry deny regions
- Fixed some broken localisation strings
- Fixed the snapshot feature on 1.16
- Fixed many error messages not being localisable
- Fixed tool left click action firing on right click on Fabric
7.1.0
- Improve the expression parser by compiling expressions for performance
- Made ItemMaterial accessible via the API
- Added CommandSender adapters to the BukkitAdapter class
- Added legacy data values to the info tool, and expressions
- Improve messages when running the wrong WorldEdit version for the MC version
- Fixed an issue where other plugins could send bad data to clients using the WorldEdit API
- Significant memory optimisations. Many operations will now require less RAM.
- Added WorldEdit-CLI, a tool to run headless WorldEdit from the commandline (see https://matthewmiller.dev/blog/introducing-worldeditcli/)
- Allowed most WorldEdit commands to be run from the console
- Added //world, to override the world in which WorldEdit is operating (useful for console)
- Added support for WorldEdit in CommandBlocks (on Spigot/Paper). Double slash commands require using /worldedit:/set due to a Minecraft bug.
- Fixed the inbuilt pastebin service
- Added 1.15 support
- Re-add the /tool command, and deprecate old top-level tool commands
- Add /brush none as a shortcut to unbind the brush
- Add //watchdog, to make WorldEdit keep the server running during edits.
- Remove FabricAPI requirement of WorldEdit-Fabric
- Fixed //stack with diagonals
- Rewrite the expression parser with ANTLR for a grammar and easier changes in the future
- Fixed pumpkin patches having decaying leaves
- Fixed /lrbuild not obeying history
- Added -n flag to //paste to select without pasting
- Fixed flipping of chests and stairs
- Improve performance of some API methods on Bukkit by bypassing the Bukkit API
- Fixed legacy import of some blocks Mojang renamed
- Added convex polyhedron support to //line
- Fixed /worldedit: commands on Bukkit
- Added support for translations
- Fixed //regen on 1.14+
- Add a experimental new snapshot API / handling, more consistent for various file types. Test it out by switching on `snapshots.experimental`/`snapshots-experimental` in your config file. This will become the default in WE 8.
- Fixed setting navwand and selwand to none via command not persisting
7.0.1
- Fix source masks using EdiSession instead of clipboard
- Fix bug with spaces in suggestions
- Fix schematic list box loading schematics with spaces in path
- Improve //thru (and navwand) in some cases
- Fix error when /up was used below the world
- Fix /up -f using glass anyway.
- Fix suggestions for quoted strings
- Improve suggestions for mask intersections
- Fix setting biomes in unloaded chunks
- BlockStateHolder now extends Pattern (API enhancement)
- Skip invalid blocks when schematic versions are mismatched
- Add -e/-b/-m flags to stack and move, just as copy/paste have
- Fix //center for selections with even-sized height
- (Fabric) Fix setting tile entities
- (Forge) Update to latest Forge builds (28.0.45+ required!)
- (Fabric/Forge Single-player) Fix wrong blocks being used when switching
between worlds generated at different times/with different mods
- Improve //naturalize over large areas
- Fixed //restore with 1.14 worlds
- Added item brush support to WorldEdit for Bukkit (Formerly just Forge)
- Create an internal state ID mapping for performance
- Improve rotation for some blocks
- Added .self permission node to undo/redo to only allow undoing and redoing own history
- Improve sponge schematic implementation
- Re-add the delchunks command
- Added 1.14 blocks, items, tags, etc to the API (Remains compatible with 1.13)
- Made the navigation and selection wands normal tools that can be rebound per-user with //selwand and //navwand
- Added //wand -n to get the navigation wand
- Improved movement of paintings
- Allow command suggestions for selectors
- Allow block replacer to work with tile entities
- Fixed pasting leashed entities
- Fixed setting player heads with names
- Added a mask flag to //count
- Setup pagination for //distr
- Fixed an entity-related error being caused by plugins improperly using Spigot
- Fixed gravity brush
- Modify chunk batching for performance
- Further legacy schematic loading improvements
7.0.0
See https://matthewmiller.dev/blog/introducing-worldedit-7/ for a friendlier explanation of some new features
- Added support for 1.13 and higher versions, and removed support for earlier
- Use the official Minecraft format for entering blocks, `minecraft:oak_sign[rotation=7]`
- Massively improved the //help command
- Added a "##tag" pattern to set random blocks from the tag
- Fixed long-range build tool
- Fixed generation of hollow shapes
- Improve general performance
- Fixed some issues with the fuzzy blocks parser
- Fixed the clipboard brush description not showing some flags
- Added offset to ClipboardPattern, "//set #clipboard@-1,0,1"
- Added a "##*tag" pattern that behaves similarly to "##tag" but sets all BlockStates
- Added methods to set states and types of blocks independently, explained in this blog post
- Fixed an issue with legacy block IDs returning the wrong stair shapes
- Added a biome registry to make biomes more modern and stable
- Fixed a few issues where WorldEdit will fail to load on versions that it hasn't been updated for yet
- Use radius for the clipboard brush rather than diameter
- Fixed some utility commands missing radius checks
- Re-add mask support to the smooth command, to replace natural smoothing
- Fixed some positional issues with craftscripts
- Fixed a few issues with using hand/offhand/pos as block parser targets
- Improved expression timeouts to reduce overhead
- Improved entity conversions with legacy schematics
- Fixed a few issues with "//schem save" and certain filesystem setups
- Fixed a few issues with the forest commands
- Added -f flag to //count to allow fuzzy inputs
- Fixed TrueZip region stores
- Partial support for CubicChunks, only upwards directions
- Update many messages throughout the plugin to use new text features of Minecraft
- Added biome and entity storing to the Sponge schematics
- Improve TileEntity conversions for legacy schematics
- Fixed "//size" on clipboards
- Fixed some locale related issues that could occur in some specific circumstances
- Switched to a new command system, to allow more modern features such as completions
- Fixed an issue with invalid blocks being fuzzy compared
- Added proper world conversions for files being loaded with "//restore"
- Fixed other small miscellaneous issues
- Remove the final stage committer from the MultiStage reorder mode, as it was unnecessary
- Added /we report, and move the reporting system into WorldEdit
- Update draw.js, roof.js, and maze.js
- Allow the 'leave-id' parameter of //move to be a pattern rather than just a block
- Modularised masks and patterns, allowing plugins to register their own
- Minor improvements to the server side CUI
- Cleaned up the fuzzy blocks system
- Improved the error shown when WorldEdit doesn't support the platform
- Provide better caching with LastAccessExtent
- Allow biome changes to be undone
- Workaround for a Spigot bug where it incorrectly sends a few commands to the client for tab completion despite permissions
- Fixed issue where blockbags were checked for items when a block didn't need to change
- Added a "fast" mode for reordering blocks. In the future this will be the default as it is much faster, it just needs more testing.
- Reordering blocks is what allows edits to not break signs off walls, or doors off the ground.
- To enable, run //reorder fast
- To disable, run //reorder multi
- This affects all edits
- You can disable reordering entirely if you know what you're doing, with //reorder none
- Fixed a bug with Entity resolution
- More gracefully handle errors if the world's palette is corrupt
- Made BlockType lazily-loaded
- Properly rotate blocks. This should be fairly future resilient and work with mods
- Added a configurable timeout to expression evaluation
- Edits are now batched by chunks and ordered by region files, improving performance
- Improved the API around flushing edit sessions
- Refactored the vector system to prevent bugs caused by confusion, and improve performance due to less memory allocation
- Added a debug option to help developers find places they've forgotten to flush sessions that require flushing
- Added partial diagonal direction support back to some commands (Was removed in WorldEdit 6)
- Added //drawsel, a Server-Side WorldEditCUI for small cuboid selections (< 32x32x32)
- Rewrote the block parser, now properly handles Minecraft 1.13 names (See this blog post for more information)
- Switched to the Sponge Schematic format, as the MCEdit Schematic Format does not work in 1.13
- Old schematics will be loaded and converted as best as possible
- Major improvements to the API (See this blog post for more information)
- Removal of all old deprecated code
- Added /tracemask, to set masks used for brush tracing
- Added suggestions to almost all commands
- Allowed plugins to register their own masks and patterns
- Removed command requirement for CUI
- Added a permission node to set NBT data, allowing servers to disallow copying full chests etc
- Made a few paged commands use -p for pages
- Fixed //restore not working for very old chunks
- Massively expanded the capabilities of apply and paint item brushes
6.1
- Added support for Spigot for MC 1.8.3 to 1.8.6.
- Added rotation values to lit redstone torches.
- Added banners to usesDamageValue properties list.
- Added stone to usesData properties list.
- Changed cycler tool to use undo sessions rather than changing the world directly.
- Changed PEX support to use UUIDs wherever possible.
- Fixed imprecise rotations.
- Fixed incorrect support BlockBag and EditSession support in two of the tools.
- Fixed entity rotation floating point issues.
- Fixed button rotation and added support for up/down flipping.
- Fixed armor stands being included //butcher by default.
- Fixed /butcher text in the case of only one mob being killed.
- Fixed entity counter for //remove and //butcher.
- Fixed performance issues with some commands that use lists of entities.
6.0.1
- (Forge only) Add a permissions API (temporary) for interoperability.
6.0.0
- Update internal block lists for MC 1.8.
- (Bukkit only) Added support for users of Spigot 1.8.
- (Bukkit only) Fixed the missing configuration file.
6.0-beta-1
- Many major changes!
5.6.3
Note: We are working on WorldEdit 6.x so 5.x are maintenance releases and will
mostly contain bug fixes and minor changes.
- Added support for CraftBukkit 1.7.10.
- Fixed activated hoppers rotating incorrectly.
- Fixed listing schematics with directories in the folder.
5.6.2
- Backport 1.7.9 support to WE 5.x
5.6.1
- Added support for Minecraft 1.7.5 on Bukkit.
- Added //flora command to place flora over grass.
- Fixed //forest accepting the wrong arguments.
5.6
- Added //forest that generates a forest in a selection.
- Added -s flag to //paste to select the pasted area.
- Added //line command and EditSession method.
- Added //curve.
- Added 1.7 blocks, biomes, trees, and items.
- Added a "hand" pseudo block type that uses the currently selected block.
- Added a "pos1" pseudo block type, which uses the block type from the
"primary position".
- Added a //generatebiome command, which uses formulae to generate free-form
biomes.
- Added a check for both superperms and PEX directly to support older versions
of PEX with inGroup.
- Added a SolidBlockMask (#solid).
- Added an item->block mapping for LocalPlayer.getBlockInHand().
- Added colors for stained clay and carpet data values.
- Added configuration option to set the default for the /up and /ceil commands.
- Added data value mappings for certain blocks and made all other block types
wildcard matches.
- Added fly mode support for /up and /ceil,
- Added hollow lines.
- Added Line thickness support.
- Added new log/leaves to floating tree remover tool.
- Added non-cuboid support for //walls and //outline.
- Added query{,Abs,Rel}(x,y,z,typevar,datavar) to the expression parser.
- Added support for rotating hay blocks like logs.
- Added usage of non-existent variables in all LValue expressions.
- Changed /up and /ceil command to use glass block by default. Flight can be
done via -f flag now.
- Removed the /fill command as an alias of /material (which sets the brush
material).
- Fixed //deform not doing anything at all.
- Fixed //walls on non-cuboid regions so that they no longer introduces gaps
in walls beyond 45 degrees.
- Fixed /ascend and /descend to use the height of blocks properly.
- Fixed /green command so that it no longer affects permadirt and podzol.
- Fixed bed rotation.
- Fixed door rotation and disabled door y flipping.
- Fixed forest generator to make trees under snow tiles.
- Fixed head rotation.
- Fixed lever rotation.
- Fixed not flipping the center plane blocks.
- Fixed snapshot restore now so it now obeys masks again.
- Fixed some attachments that would result in items being dropped.
- Fixed the query functions not comparing data values at all for their
return values.
- Fixed improper block probability patterns (i.e. 20%,10%grass) causing an error.
- Fixed /we help not finding commands if uppercase names are used.
5.5.8
- Update for Minecraft 1.6.2 and 1.6.4
- Made generation commands respect max-radius config setting
- Fixed use-inventory overrides not being applied in certain cases
- Made //move work with non-cuboid regions
- Added a convex polyhedron selector
- Made clipboard work with non-cuboid regions
5.5.7
- Update for Minecraft 1.6.1
- Fixed a bug with GroupManager detection.
- Added a coordinate argument for //chunk
- Allowed cylinder selector to be changed to a rough polygon.
- Fix a typo
5.5.6
- Updated for Minecraft 1.5.2.
- Pistons can now be rotated with cycler tool.
- Hoppers no longer lose orientation.
- Using //setbiome now respects global biome masks.
- Fixed an issue with certain blocks that had multiple
possible TileEntities. (mods only)
- Added console support for /remove command. (removes from ALL worlds).
5.5.5
- Updated for Minecraft 1.5.1.
5.5.4
- Fixed a bug caused by MC 1.5 where block updates were not being sent.
5.5.3
- Fixed the error caused by Bukkit's change of the TNT minecart API.
- Added names for new items.
5.5.2
- Update to MineCraft 1.5.
- Fixed //flip going the wrong direction in certain cases.
- Fixed 4096 block id support in schematics and snapshots.
- Fixed max-blocks-changed not being used.
5.5.1
- Added support for multiple versions of Minecraft. A folder will be created in
plugins/WorldEdit/nmsblocks which contains different class files which will be
dynamically checked for compatibility with the current minecraft version.
- Added -d flags to //count and //distr, which allow separating blocks by data values.
- Added a butcher brush (//brush butcher) which works like the command in a brush. The flags
for the command can be passed an an argument for the brush.
- Fixed an issue with use-inventory where container blocks will spill when being removed.
- Added a setting to allow creative mode players to override use-inventory.
5.5
- Added failsafe for when Craftbukkit packaging switches versions. Note that using
mismatched WorldEdit and CraftBukkit version will cause data to be lost when
copy/pasting or loading certain blocks with advanced data.
- Updated cardinal directions to match newer Notchian values.
Using command that take a direction will now use these directions.
- Add support for setting skull blocks. Syntax is skull:data|MobType|rotation. MobType
can also be a player name.
- Removed old permissions for jumpto and thru. You must now use jumpto.command
or jumpto.tool respectively (or thru.).
- Added -c flag to //size and //distr. Operates on the clipboard instead of
current selection.
- Added support for rotating wooden logs.
- Add butcher-radius.maximum and butcher-radius.default to limits section of config.
- Added -b flag to //butcher to specify ambient mobs (currently only bats)
- Added -d and -n flags for //schematic list command. Sorts by date by newest/oldest.
- Added a configuration option to allow symbolic links (for backups, schematics, etc)
- Improved accuracy of command logging, as well as logging to file correctly. The
worldedit.log file (by default) should now be useful.
- Fixed //snow snowing on some blocks it shouldn't (like stairs)
- For developers: Added a LocalPlayer argument to the constructors for EditSession in
the factory. Also added @NestedCommand(executeBody=true/false) so that base commands
can be executed if no subcommands are passed.
5.4.5:
- Fixed minor check issue with //center.
5.4.4:
- Added official support for Minecraft 1.4.
- Added support for 4096 ID blocks (theoretically) in snapshots.
- Fixed issue with block IDs being returned negative in snapshots.
- Fixed //limit being overridden each time a LocalSession is fetched.
- Added EditSessionFactory class for developers.
Thank you to ammaraskar for his contribution.
5.4.3:
- Added block data support to BlockMask.
- Added //center command to set blocks at the center point of a selection.
- Correctly update session permissions on each operation.
- Fix errors when trying to set invalid blocks.
- Fix chests & similar not having their extended (tile entity) data being correctly copied back when the block currently in the location has the same type and data.
- Added emerald as an alias for the emerald block.
- Added string as an alias for the tripwire block (wire, not hook).
Thanks for the contributions from aumgn
5.4.2:
- Fixed //gen not having a proper minimum parameter count of 2.
- Added //re and //rep as aliases for //replace, and aliases /asc(end),
/desc(end), and /j(umpto).
- Fixed schematics not properly loading chests with the new code, meaning that
enchantments and other properties were not always properly loaded.
- Fixed -1 not being a valid data value in Block, which broke //replace.
- Fixed snapshots to support custom blocks/tile entity data.
- Updated bundled README.html to be current.
5.4.1:
- Fixed lingering 256 block ID restriction preventing block IDs up to 4095.
- Fixed certain tile entity blocks not being set correctly.
- Fixed schematic loading code not properly handling the AddBlocks section.
5.4:
- Added support for Minecraft 1.3.
- Added improved, but experimental, support for custom blocks added by
mods, and added by future Minecraft versions.
- Added help to //schematic.
- Added WECUI handshake option.
- Added improved //schem list output.
- Added configuration options for polygonal region limits.
- Added -r to //schematic to ignore format checks.
- Added //generate -c, which offsets the input coordinates from the selection
center.
- Added support for 4096 ID blocks.
- Added support for data values > 127 in schematic files.
- Added [g]closest(x,y,z,index,count,stride) to the expression parser.
- Added an all parameter, and a message indicating its radius, to /butcher.
- Added new "WorldEdit Foundation" classes to eventually replace the current
block/world/etc. classes (for developers!).
- Fixed a number of bugs in schematic handling that created errors.
- Fixed issues with biome processing.
- Fixed insufficient biome type checking.
- Fixed the error for missing schematics, making it easier to understand.
- Fixed snapshots not properly loading .mcr files.
- Fixed //chunk switching from //sel extend to //sel cuboid.
- Removed chat-based WECUI protocol (now replaced with packet 250).
Thank you for the contributions from Ammar Askar (ammaraskar), aumgn,
Jim Nordb� (Silentspy), snaxson, Socolin, and Zhuowei Zhang (zhuowei).
5.3:
- Made #region mask keep the region selected when the pask was added, and
added #dregion mask that always uses the player's current
selection
- Allow inverted and under/overlay masks to affect masks, making them more
flexible. This allows for things like /gmask !$biome and
/gmask >>>#region
- Added basic entity handling with copy and paste. Paintings do not currently
respawn properly, entity pastes cannot be undone yet, and
schematics do not yet store entities
- Added getChunkCubes() to Region to get 16^3 chunks a region overlaps with
- Cleaned up ContainerBlock inventory reading from NBT.
- Added a command to list schematics and the abilitiy to autodetect schematic
format when loading schematics
- Added support for multiple schematic formats
- Corrected flag checks for biome commands
- Added allFlags setting to Command to prevent it from restricting allowed
flags (for dveleopers!)
- Make sure all WorldEdit files are in the plugins/WorldEdit folder
- Added initial support for plugin channels with WECUI
- Remove error-prone redundancy in Polygonal2D min/max management
- Updated for SpoutVanilla changes
- Added Falling sand/gravel entities to /remove command
- Added support for new tree types to TreeGenerator and make adding more tree
types later easier
- Updated for changes to SpoutAPI
- Fixed FloatingTreeRemover (/tool deltree) to work correctly with jungle trees
- Fix bPermissions instanlled check
- Add a -f (friendly) flag to butcher which applies -a, -n, -p, and -g, and a
-g flag which allows butchering of iron and snow golems
- Add FlatRegion interface and an associated iterator (for developers!)
- Fix a NPE with brush using a global mask and no brush mask
- Fixed //shift not updating polygonal regions properly.
- Add support for expand with reverse dir for Cylinder & Ellipsoid
- Make inset/outset use varargs contract/expand, so they can be used with
cylinders and ellipses.
- Add positive() to Vector and Vector2D
- In WorldGuard, teleport/spawn location yaw/pitch should now work.
- Register command permissions, integrate with the Bukkit help API
- Allow annotation-free registering of commands with other plugins
(for developers!)
- Added default radius setting for butcher and added permissions for killing
pets, npcs, and non hostile animals.
- Added support for new Anvil saving format, fixed old chunk saving format.
- Clean up some stray 128 values and update the fallbacks to 256
- Add support for 1.2.4 and newer
- Updated for new 1.2 and 1.2.4 blocks, items, and mobs
- Fix Dispensers, Furnaces and remove redundant casts.
- Fix restoring enchantments from snapshots/schematics.
- Made tree planter tool try 10 times to make the tree before giving up.
Thanks to Nidan, aumgn, Jadedwolf, wizjany, SpectralEdge, md_5, and desht for
their contributions
5.2:
- Made BlockBag use WorldVectors for add(Single)SourcePosition
- Fixed north face not being set with non-singleblockpatterns.
- Moved the block data check to LocalWorld, adding preliminary support for
custom blocks.
- Lookup by id if the string passed to Block/ItemType.lookup() is an integer
- Fixed issues with //replace.
- Factored lookup code from BlockType and ItemType into a method in StringUtil.
- BaseBlock changes
- Properly escape cuipattern
- Fix handling of empty strings passed to Block/ItemType
- Improved formatting and performance of YAMLProcessor when no comments are
present.
- Added bPermissions support
- Update for new events system
- Fixed /scriptname.js and no-double-slash settings not working
- Corrected usage message for maze.js
- Fixed mimimum height check for cylinder generation
- Get the items to be dropped for a block break from Bukkit
5.1.1:
- Fixed some compatibility issues with SpoutPlugin
- Readded Permissions 2/3 support
- Fixed an issue with CylinderRegion
5.1:
- Added a //help command (alias /we help).
- Fixed a NullPointerException in conjunction with CraftBook.
- Added support for console commands to WorldEditPlugin.
- Made /butcher, /searchitem (and /search) and /worldedit (and /we) work on the
console.
- Fixed //stack -s (again).
- Added a thickness parameter to //hollow.
- Added a block/pattern parameter to //hollow.
- Added a -l flag to /butcher, which spawns fake lightning on all killed
entities.
- Added support for dynamic command registration.
- //sel poly now keeps the previous selection, converting its outline into a
polygon if necessary.
- Fixed //sel selection clearing not being dispatched to CUI.
- Improve zip file recognition.
- Added WECUI protocol version support. Eventually, this will disable WECUI
until the user updates, but not yet.
- Added //desel and //deselect as aliases for //sel
- Added a gravity brush.
- Added support for ellipsoid and sphere selections.
- Add cuiVersion to LocalSession and set it via incoming CUI event Refactor
region selectors to handle legacy versions a bit better. Because chat
doesn't allow the section sign to be sent, I have to send non-color codes. Meh. closes #158
- Some region selection fixes
- Removed redundant line from README.md.
- Add a cylindrical region selector.
- Added initial SpoutAPI compatibility
- Allow copying item stacks with damage of > Byte.MAX_VALUE. Closes #972
- Improved output of YAMLProcessor and added support for root-level comments.
(for developers!)
- Removed support for Permissions2/3
- Performance improvements
- 1.1 compatibility
Thanks to everyone for their contributions:
rjwboys, yetanotherx, and GiCodeWarrior
5.0:
- Added a //g[en[erate]] command that can generate a shape given a formula
- Added a //deform command that deforms the current selection given a formula
- Added a //hollow command, which hollows out the object contained in the selection.
- Added /snapshot sel, which preselects a snapshot for future operations
- Added //sel extend, which activates cuboid selector where you can extend
selections by right-clicking.
- Added -a and -n flags to //butcher to kill animals and NPCs, respectively
- Added support for stretched cylinders to //cyl and //hcyl (use //cyl x,z)
- Added sound and particle effects for the super pickaxe
- Added l[eft], r[ight], b[ack] and f[orward] to the commands that take a direction.
- Added an expression parser (for developers!)
- Added a YAML library (for developers!)
- Added extended help to commands manager (for developers!)
- Support for the new blocks/items/mobs that were added with Minecraft 1.0
- Support for non-128 world heights
- Block queues are now flushed based on attachment to other blocks. This should
fix doors popping out.
- Made blockbag (take blocks from inventory) system more consistent.
- Made some commands' syntax error messages more elaborate and useful
- Made /green break on liquids.
- Improved interaction with permission plugins
- Improved negated node support for Bukkit's permissions system
- Changed the WEPIF interface (for developers!)
- Fixed data value handling for fire, chest, reed and jukebox
- Fixed config file generation on windows
- Fixed some navigation wand (compass) quirks
- Fixed the tree remover tool for large forests
- Fixed //stack -s to actually shift the selection to the end of the stack
- Bug fixes
Thanks to everyone for their contributions:
KenanY, Megalin, wizjany and ZachBora
4.7:
- Added support for all the new items and blocks
- Added multiworld permissions support to WEPIF
- Added superperms and native PEX support to WEPIF
- Added /range command for brushes
- Added multiworld snapshot support (check the new structure on the wiki!)
- Added //naturalize command (makes stone/dirt/grass layers)
- Added a //farwand tool, allows selecting pos1 and pos2 at a distance
- Added a //lrbuild tool, allows "placing" and
"destroying" blocks at a distance
- Added /pyramid and /hpyramid generators
- Added underlay and overlay masks
- Added a /green command (adds a layer of grass on top of landscape)
- Added polygon support to the WorldEdit CUI
- Moved config permissions system and other WEPIF configuration to the
wepif.yml file
- Improved command logging to additionally log the position and region of
the player
- Added -n flag to //smooth (smooth only natural terrain)
- Improved item/block name matching
- //pos1 and //pos2 now accept an x,y,z arguement to
select arbitrary coordinates
- Non-integer (decimal) radii now work in cylinders, spheres, fill, drain, etc
- Added -s flag to //chunk (select all chunks in current selection)
- Block patterns now can be used in //replacenear, //walls, and //outline
- Block damage values can be used in //replace and //replacenear
- Added -p flag to flip, flipping the clipboard offset around the player
- Allowed performing //undo from other player's sessions
- Added ellipsoid support to //sphere and //hsphere (use //sphere x,y,z)
- Entity /remove command can now remove "xp", for xp orbs
- Using //set mobspawner is no longer case sensitive for mob type
- The /deltree tool now deletes floating mushrooms as well
- Added value flag support to the command system (for developers!)
- Fixed superpickaxe dropping the wrong items sometimes
- Fixed errors when manipulating note blocks
- Fixed cylinders generating too short
- Fixed inaccurate polygon edges
- Fixed flipping of signs and doors
- Fixed manipulating blocks in unloaded chunks
Thanks to everyone for their contributions:
zml2008, wizjany, TomyLobo, Nichts, mrapple, jjkoletar, robinjam, jascotty2,
Hretsam, Elizacat, masteroftime, x1337x, TLUL, Droolio, ZerothAngel, md-5,
and t3hk0d3
4.6:
- Updated for Minecraft 1.6.
- Added flood fill tool. Use /floodfill <block> <radius> and right click blocks
to flood fill them.
- Added //gmask to set a *GLOBAL* mask that affects nearly ALL operations.
Now you can confine //sphere to a region or create //walls that do not
replace existing blocks.
- Added a region-based mask that confines changes to the current region
(when the mask is set).
- Added support for combining masks, i.e. /mask #region rock,brick
- Added //fast mode, which allows the server to skip the dirtying of chunks.
This means that you have to rejoin to see changes though, but most
operations are doubled in speed. This only applies to the Bukkit version
at the moment.
- Changed the block type check to be implementation-dependent. The Bukkit
plugin now checks Bukkit's Material.
- Added -p flag to //butcher to kill pet wolves. Thanks to wizjany.
- Added -s flag to //move and //stack to move the selection along with the
blocks. Thanks to wizjany.
- Made CUI selection clear on disable (including Bukkit's /reload).
Thanks to wizjany.
- Added "deltree" tool for removing floating trees. Thanks to moo0.
- Added rotation support to redstone repeaters.
- Fixed //expand vert not updating client.
- Fixed the issue with log files not being closed on unload in Bukkit.
Thanks to stoneLeaf.
- Fixed history size being 0 with old config files.
4.5:
- Fixed the IllegalAccessException with /remove (hopefully).
- Removed wolves from /butcher. There's no way to check if a wolf is owned
or not in Bukkit yet.
- Added permission checks for tools on use, so now if you switch world or
lose your permissions, you lose your tools.
- Added expiration timer to sessions. Sessions will now last up to 10 minutes
(by default) before removed, so you can quickly disconnect (or crash) and
come back and still maintain your history.
- Removed minimum cap on history size (now you have history sizes under 15).
4.4.1:
- Maven-built release.
- Sun Rhino removed.
4.4:
- Updated for Minecraft 1.5.
- Updated for latest Bukkit.
- Add cycling for wall signs and steps.
- Fixed rotating wall signs.
- Fixed exception thrown by commands with multiple spaces between arguments.
4.3:
- Updated for Minecraft 1.4.
- Added support for newer versions of Permissions.
- Took polygon-in-point algorithm from WorldGuard, which is a minor
improvement. Please submit a better algorithm that properly handles edges!
- Fixed WorldEdit unpacking the wrong config.yml.
- Added improved selection getting/setting API.
- Diagonal stacking added (not up or down yet) (thanks Valentin Stahlmann!)
- Palette option added to draw.js (thanks J0s3f!)
- CraftScripts: Made EditSession.rawSetBlock() public.
4.2:
Bukkit users: Minimum build #: 541
- Changed the compass so that left click is /jumpto and
right click is /thru.
- Add a basic API method to get a player's selection region.
- Added shortcut fire extinguisher brush.
- Added //regen to regenerate an area.
- Added McRegion support to /chunkinfo.
- Added /snap before [date] and /snap after [date].
Example: /snap before last Monday 2am
- Added /worldedit tz to set your timezone. It currently does not persist
yet. Example: /we tz america/los_angeles
- Fixed block mine drops for 1.3.
- Possibly fixed item dropping with undo/redo.
- Fixed the permissions resolver not being loaded if it was loaded after
a plugin was enabled or re-enabled.
- Removed GroupUsers support.
- Added some support for the WorldEdit client-side UI (CUI) protocol.
4.1:
- Added McRegion support.
- Optimized the case when worlds were not in the root directory of a zip.
- Fixed snapshot restoration not working on sign blocks and other special
tile entity blocks.
- Added beds as a place-last block.
- Fixed beds and redstone repeaters not being set.
- Added an alias for wool colors as though they were blocks, so you can now
do //set blue, etc.
- Removed "blue" as an alias for lapis lazuli.
4.0-beta8:
- Added things for CraftBook.
4.0-beta7:
- Added 1.3 block support.
4.0-beta6:
- Fixed //count being ///count.
- Added a workaround to the fact that Minecraft no longer sends a block
dig packet for bedrock. WorldEdit now detects if you're hitting bedrock,
but it may not be entirely accurate (torches will trick it!).
- Removed /t on request of Kainzo.
- Fixed second position setting commands saying position one instead of two
when selecting cuboids.
4.0-beta5:
- Fixed permissions with brush commands.
4.0-beta4:
- /b changed to /br.
4.0-beta3:
- Fixed BLOCK_DAMAGED bug.
- Fixed command conflicts.
4.0-beta2:
- Fixed issue with too many commands being put into plugin.yml, causing
conflicts with other plugins.
- //size works properly again.
- /search is now an alias for /searchitem.
4.0-beta1:
- Added /remove command to remove entities (paintings, items, minecarts,
boats, arrows, and primed TNT).
- /butcher now works for slimes and ghasts and will no longer drop items.
- The tool system has been overhauled so that when you use a tool, it gets
bound to your currently held item. For example, you could bind the tree
tool to a wooden sword and the brush tool to a diamond axe.
- Brush commands have been broken up. Use /brush, /mat, and /size to adjust
a brush's settings. A different brush can be bound to different items.
- //wand now gives the wand item directly.
- New mask support allows you to filter the blocks that would be changed.
This currently only works for brushes.
- Added some API methods.
- Added multiple undo/redo.
- Added -c flag to //distr to print to console.
- Added //outset and //inset commands to quickly adjust the size of
the current selection.
- Snapshot commands now are nested under /snap and /snapshot commands.
- Changed super pickaxe mode command to /sp.
- Added history size configuration option.
- //size is currently /m due to a bug.
- Added smooth brush.
- Added /we version and /we reload.
- Added 'no-op-permissions' setting for Bukkit.
- Added polygonal regions. These are still in development as they are
a bit inaccurate at the moment.
- Updated WorldEdit for Bukkit.
- Improved parsing of block pattern/data syntax.
- Improved block and item name list.
- Improved debugging messages (if that's enabled).
3.2.2:
- Updated for Bukkit commit 8ccfad945663cd0ea60531b085748c81fc6fefb8.
3.2.1:
- Added version information for SP.
- Improved Bukkit performance drastically.
3.2:
- Fixed /forestgen having an incorrect number of maximum arguments.
- Re-added Sun Rhino implementation as a separate library bundled in
during creation of the .jar.
- Unified file selection and checking API.
- Fixed CraftScripts not properly loading files from the current
working directory as defined by the implementation.
- Enabled queue on EditSessions given to scripts.
- Improved draw.js to be more user friendly.
- Fixed /forestgen having an incorrect number of maximum arguments.
- Fixed /removenear not taking a default size argument.
- Improved overall performance.
3.1:
- Added more tree generators. /tree [type] and
/forestgen [size] [type] [density] are the new commands.
- No longer using the internal Rhino JavaScript engine, so Windows users
will now have to download Rhino separately to use scripting.
3.0:
- Added /searchitem or //l command to lookup items and block by name and ID.
- Added block data cycling super pickaxe tool. (/cycler)
- Added //paste [-ao] syntax to paste without air and at origin.
- Added support for //stack [-a] to not stack air.
- Added the ability to configure the schematic and CraftScript directories.
- Added better support for cake, added some more block/item aliases.
- Added support for rotation block orientation with the rotate and flip
commands (now stairs, torches, etc. will rotate correctly).
- Added distance to //size.
- Added more brush shapes (hollow sphere, cylinder, hollow cylinder,
and clipboard) for the brush tools.
- Added in a valid block ID check.
- Added debugging information for when no snapshots could be found.
- Added pattern support to //overlay (i.e. //overlay 3%torch,97%air).
- Added a clipboard pattern (//set #clipboard) -- useful for repeating
patterns over an area.
- Changed the arm swing tools to also work on right click.
- Improved block drop list (thanks to Gunther De Wachter).
- Fixed scripting.timeout setting taking no effect.
- Fixed group checking with Permissions.
- Moved commands around in the code and added hierarchical permissions
support in the process. All permission systems supported by WorldEdit
(and utilizing plugins) support hierarchy, regardless if they really
do or not. WorldEdit will simulate hierarchy as required.
2.15.2:
- Minor additions for ease of integration.
2.15.1:
- Fixed /script.js shortcut not stripping forward slashes.
- Changed some internal working directory handling code to better support
single player modifications.
2.15:
- Added roof.js by Bentech. It makes a roof over your selection.
- Added wool as an alias for cloth.
- Added support for specifying color names instead of data values for cloth.
- For the brush tools and the compass, you now have to SWING with your arm.
- Right click with the compass now toggles between /thru and /jumpto.
- The algorithm for /thru was improved.
- Fixed quickshot.js not reading notes correctly.
- Fixed /butcher. (I also added necessary methods to Bukkit so you now
have to update that too.)
- draw.js now supports orientation and choses white wool for white pixels
instead of pink! (Thanks to Dean Ward.)
- Improved /info tool to handle more block data.
- Changed /s to /.s to avoid conflicts.
- Now you can use /script.js directly as a command.
- Improved /info tool to handle more block data.
2.14.2:
- Fixed array out of bounds error with snapshots.
2.14.1:
- Improved some error messages.
- Fixed snapshots not supporting all block types.
- Fixed forest generator.
2.14:
- Added full block data support (furnaces, note blocks, etc.) for Bukkit.
- Added /s to repeat last script.
2.13:
- Scripting support is back!
- Colored cloth blocks should now work.
- Fixed issue where the command's arguments were printed to chat when
you also did not have permissions.
2.12:
- Added new flat file permissions resolver, added * support for
ConfigurationPermissionsResolver.
- Added support for Niji's permission system.
- Fixed bad list to array conversion in ConfigurationPermissionsResolver.
- Fixed default permissions with the built-in permission resolvers.
- Fixed issue with BlockWorldVector causing java.lang.VerifyError due to
how Bukkit loads plugins.
- Ops now have all permissions.
- Changed /reload WorldEdit to /reloadwe.
- Moved WorldEdit to use Bukkit's command registration. Let's hope
this didn't break things.
2.11:
- Ported over toi's ray tracing code so that it's now included in
WorldEdit. This will make porting WorldEdit to single player
and other platforms easier.
- Fixed NullPointerExceptions that appeared while saving a chest.
- Fixed NullPointerExceptions in some super pickaxe modes, made arm swing
handler get called on item usage. This means that you can use
/brush and /rbrush now but you right click in the air instead of
swinging your arm.
- Made super pickaxe arm swing and right click modes mutually exclusive.
- Added the navigation wand. Normally a swing of your navigation wand
would call /jumpto, but in the mean time you have to right click.
2.10:
- Inventory support now works for Bukkit.
- Now /jumpto and /thru works.
- Now prints an error message if permission is not available.
- Added support for cloth color with the super pickaxe drops.
- Updated GroupUsers support to use GroupUsers' new API. GroupUsers
must be updated as well.
- Added wand-item to default config.yml.
2.9:
- Added pine tree tool.
- Bukkit: Added support for GroupUsers. If GroupUsers is not present,
WorldEdit will fall back to its own permissions system.
- Bukkit: Added sign support for Bukkit.
2.8.1:
- Added some extra functions to Vector for WorldGuard.
- Made setup easier and less confusing.
2.8:
- Improved Bukkit support.
2.7.2:
- Fixed permissions checking for individual commands.
- /butcher should now kill animals again.
- /thru should now treat torches and such as pass-through blocks.
2.7.1:
- Added tree and item drop support for the Bukkit version.
2.7:
- Added sphere brush tool. Use /sphere <id> [radius] [noReplace?] to
enable it and /none to disable it (note: /none also disables the
right click super pickaxe tool). The brush tool builds a sphere at the
location that you are looking at. For the last argument, put "true"
or "yes" to prevent the brush from replacing non-air blocks.
- Changed water to be considered a pass-through block. This means that
/thru, /jumpto, and such commands will ignore water.
- /tree now makes regular tree and /bigtree makes big trees. /forestgen
will still make big tree forests.
- The block replacer tool should now support inventory.
- Fixed the NullPointerException with /jumpto and similar commands.
- Made handling of non-right angles in getDirection() return more
relevant errors. Now //stack and similar commands won't give you the
cryptic error of "Unknown direction: me".
- Updated sample worldedit.properties file.
2.6:
- Removed 'air' prefix from commands. Now //pasteair is just //paste,
//moveair is just //move, etc.
- Made /worldeditselect permission more encompassing, now including //chunk,
//expand, and //contract.
- Added syntax for //expand <amt> <reverse-amt> <direction> which allows
you to expand in two directions at once. This also works for //contract.
- Added //expand vert|vertical to expand the selection from top to bottom.
- Added /thaw to reverse /snow.
- Fixed WorldEdit not handling ice removal well.
- Fixed some inaccuracy problems regarding player positions caused by a
recent update.
- Fixed the tree generator.
- Code reorganized a little more.
2.5.1:
- Fixed the WorldEdit bridge used by CraftBook and other plugins.
- Fixed issues with permissions where the only reliable permission was
/worldedit.
2.5:
- Fixed issues with permissions not being read correctly.
- WorldEdit is now world-aware (not that the Minecraft server is).
- Abstracted super pickaxe mode/tools and changed commands to /tree, /info,
/none, /single, /area, and /recur.
- New /repl super pickaxe tool.
- Now bundling JNBT.
- Add a very rudimentary command line program that will check the integrity
(a very basic integrity check) of a world.
2.4:
- Added the ability to use (require) inventory with operations, preventing
people from setting blocks that they don't have.
- Simplified the max blocks change limit to be binary (either you have it or
not). Also separated the 'max' limit and the 'default' limit in terms
of configuration. This means that the WorldEdit restrictions file is
no longer used.
- A large part of the code was moved around (again) to make porting
WorldEdit to other modding APIs easier, but this means that something
may have broken.
- Chest handling was rewritten for Minecraft beta, so it should be
reliable now and not cause exceptions.
- Item damage is now managed by WorldEdit's chest handling APIs.
- Worked around an issue with the java.util.zip implementation that
caused ZIP files containing backslashes to not work correctly.
- Changed the TrueZip support to use the API for java.util.zip, meaning
some bugs should be fixed.
- Made all commands support double forward slashes as the command prefix.
2.3.4:
- Fixed issues with chests.
- Added configuration option that disables the "//" prefix and lets you use
single forward slashes too.