Commit Graph

1027 Commits

Author SHA1 Message Date
Matthew Miller
46c3fccae1 Updated MCUtils data for 1.16.2 2020-08-17 18:13:01 +10:00
Matthew Miller
8d33672b23
Added a brush for biomes (#1491)
* Added a brush for biomes

* IntelliJ reformat

* Move the warning

* Update worldedit-core/src/main/resources/lang/strings.json

Co-authored-by: Octavia Togami <octavia.togami@gmail.com>

* Use BiomeFactory instead

Co-authored-by: Octavia Togami <octavia.togami@gmail.com>
2020-08-16 16:16:32 +10:00
wizjany
4a4c01cb18 Don't spew warnings/stacks when people symlink their schematics folder. 2020-08-15 09:50:34 -04:00
wizjany
365ca1c6ad Add -c to deform and make -o act like it does in //gen.
Should restore parity between the commands.
2020-08-14 13:59:48 -04:00
Octavia Togami
3bf5d0cd1e Create schematics folder on startup 2020-08-13 21:42:20 -07:00
Octavia Togami
f2ce020da0 Officially propagate GPL downwards to all files 2020-08-13 21:06:39 -07:00
Matthew Miller
0a9fa869c9
Fixed an issue where upwards resolved schematics would break schem list (#1481)
* Fixed an issue where upwards resolved schematics would break schem list

* Missed diff

* PR changes

* Further fixes

* Improve sorting logic

* Pass in comparator rather than using sort type

Co-authored-by: Octavia Togami <octavia.togami@gmail.com>
2020-08-13 18:01:37 +10:00
Matthew Miller
55de7cb71e Fixed snapshot database under symlinks on windows 2020-08-11 01:30:57 -07:00
Octavia Togami
ffaf8e00be
Add tracing feature to EditSessions (#1301)
* Add tracing feature to EditSessions

This helps track down what plugin (or more specifically, extent) is
blocking actions from happening.

* Set a trace hook instead of a one-off command

* Correct the logic for determining tracing active

* Fix extra newline in AbstractPlayerActor

* Fix checkstyle

* Improve messaging of trace mode
2020-08-10 22:43:51 -07:00
Matthew Miller
94ce464f34 Fixed the Forge platform not exposing events, and added a comment about PoI 2020-08-09 22:44:44 +10:00
Matthew Miller
05014b1fc9 Add an update side effect. Only for Bukkit for now 2020-08-09 22:44:44 +10:00
Matthew Miller
5e5f1c21e0
Added a snow brush (#1462)
* Added a snow brush

* Re-add the Apply class for deprecation reasons

* Use the context extent rather than an EditSession

* Only freeze water source blocks.

* Fixed the bind message for snow stacker

* Fixed PR issues
2020-08-09 14:26:26 +10:00
Octavia Togami
f2e5c52f36
Fail if any mask fails to parse (#1465) 2020-08-03 20:23:02 -07:00
Octavia Togami
b0d5100e4e
Merge pull request #1460 from EngineHub/bugfix/default-wand-on-session-create
Do not check permissions for initial wand bind
2020-07-30 10:28:02 -07:00
Octavia Togami
1083a36df5 Determine if a player has an item bound for unbind 2020-07-30 10:27:54 -07:00
Octavia Togami
63ab406caf
Do not check permissions for initial wand bind
Also: report both errors if needed for sel/nav wands.
2020-07-27 18:41:21 -07:00
Octavia Togami
288ed7fa9f Re-shuffle regen methods to fix deprecation order
Everything delegates to the original EditSession signature. The new
RegenOptions + EditSession variant is removed, as it was never
officially published. A delegation check was installed in the
NAFC-marked method.
2020-07-26 13:22:26 +10:00
dordsor21
c4abc9a247 Allow regeneration to accept Extents instead of EditSessions.
Allows for custom Extents to be parsed to regen, and for clipboard regeneration, etc whilst still allowing EditSessions
2020-07-26 13:22:26 +10:00
Octavia Togami
36ef78779d
Drop requirement for root tag to be named
Sponge does not name the root tag, this allows us to almost load their
schematics (except for a bug
https://github.com/SpongePowered/SpongeCommon/pull/3085)
2020-07-21 19:04:49 -07:00
Octavia Togami
da4d70fab5 Regenerate list classes from MCUtils 2020-07-20 13:35:39 -07:00
Octavia Togami
5f9f10599e Change //stack and //move to take a full offset 2020-07-17 11:09:03 -07:00
Matthew Miller
043faaf55f
Add a stacker mode to the snow command (#1429)
* Convert simulateSnow to an Operation and add stacking support

* Fixed height calculations

* Use a LayerVisitor for SnowSimulator

* Fixed few issues

* Update the 1.16 block mappings, and use isSolid rather than !isTranslucent due to translucent no longer existing. A better solution should come later.

* I feel this is a better temporary check
2020-07-17 11:29:07 +10:00
Octavia Togami
9c81135b79
Fix bug with short-circuiting on || 2020-07-15 20:12:33 -07:00
Octavia Togami
1b568ded67 Use BiomeQuirkExtent instead of spotty handling 2020-07-15 20:10:25 -07:00
Octavia Togami
5803cb10b5 Fix 3D biome support testing
3D biomes always work on dedicated servers, at least as far as the
client knows. This is so terrible though. Mojang why.
2020-07-15 20:10:25 -07:00
Octavia Togami
7134ff4494
Remove all compile deps, use api/impl as appropriate 2020-07-15 18:48:47 -07:00
Octavia Togami
38b9ac9b03
Handle schematics with an invalid DataVersion 2020-07-13 12:19:26 -07:00
Octavia Togami
69b5cf541a
Validate number of format placeholders as well 2020-07-12 13:44:55 -07:00
Octavia Togami
3a3686289f
Add incremental translation checker
Only validates basic formatting, not number of arguments.
2020-07-12 12:57:07 -07:00
Octavia Togami
6845e86fdf
Fix leaking piston codes via update
Fixes #1436
2020-07-12 11:57:16 -07:00
wizjany
9d9aaac15a Add fungi and chorus plant tree types.
Closes #1411.
2020-07-12 14:34:48 -04:00
Octavia Togami
93e386a5c1
Remove ShutdownHook / onExit handling
This didn't work right, and if we fail to cleanup, it's unlikely it
would succeed at exit.
2020-07-09 20:16:48 -07:00
Octavia Togami
50a744f434 Cleanup asserts, condition in extending selector 2020-07-07 20:38:57 -07:00
Octavia Togami
21adeae496 Add TODO for JSON in BaseBlock back 2020-07-07 20:38:57 -07:00
Octavia Togami
81f6e3e7cf Cleanup some javac warnings 2020-07-07 20:38:57 -07:00
Octavia Togami
eb52afa296 Create a brand new checkstyle config
And also apply it!
2020-07-07 20:38:57 -07:00
Octavia Togami
59ccc0a5af CRLF -> LF
Except `.\gradlew.bat`, because Windows is special.
2020-07-07 20:38:57 -07:00
Octavia Togami
781abd511d Add final to many fields 2020-07-07 20:38:57 -07:00
Octavia Togami
c50170a361
Add license to ShutdownHook 2020-07-07 19:12:46 -07:00
Octavia Togami
176418bad1
Add force-deletion utilities for cleaning up dirs
Windows sucks.
2020-07-07 14:46:29 -07:00
Matthew Miller
d10d7d699c Release 7.2.0 Beta 2 2020-07-06 20:42:24 +10:00
Matthew Miller
9b4bfbed2d
Localise WorldEditException and error handling (#1393)
* Localise the ExceptionConverter

* Further work on localising exceptions

* Everything but input parsing is now localised

* Finish making errors localisable

* Fixed a few notes from review

* Fixed another spot

* More changes

* Specialise parser errors
2020-07-05 14:57:13 +10:00
Octavia Togami
bf6cd1ea08
Regeneration Options (#1415)
* Add RegenOptions to the API

* Integerate regen options into //regen

* Rename isRegenBiomes to shouldRegenBiomes

* Go through the EditSession for setting biomes

* Respect 3D biome support in regen

* Add RegenOptions implementation for 1.16 Bukkit adapter.

Co-authored-by: wizjany <wizjany@gmail.com>
2020-07-03 22:17:34 -07:00
Octavia Togami
cc46de951b
Cleanup/fix ascend logic
Fixes #1419
2020-07-03 20:17:30 -07:00
Octavia Togami
8c171f0929
Replace BlockStates reading with new 1.16 logic (#1413)
* Replace BlockStates reading with new 1.16 logic

* Account for running on older platforms

Splits out the new reading to AnvilChunk16, uses data version to detect
the appropriate version.

* Move data versions to Constants

Also fixes some logic hiccups that become obvious with the new names.

* Fix LegacyMapper DFU handling

* Fix factor indexing
2020-07-03 18:44:19 -07:00
Octavia Togami
41162e423e
Fix i18n key for superpick max range 2020-07-01 12:15:15 -07:00
Octavia Togami
71e104bcb1
Replace setPosition with trySetPosition (#1403)
Allows cancellation information to be fed back into the ascend/descend
algorithms.
2020-07-01 08:24:58 -07:00
Octavia Togami
8aa034c78f
Fix or suppress deprecation warnings in most code (#1404)
Didn't touch commands or some of Sponge
2020-07-01 08:24:42 -07:00
wizjany
042d0f1c91 Add new netherite pickaxe.
Fixes #1407.
2020-06-30 11:19:29 -04:00
Octavia Togami
a6236b6796
Propagate 3D biome support up extent stack
Fixes #1399

Also improved Fabric gradle b/c why not
2020-06-28 15:51:50 -07:00
Octavia Togami
7ee60060c3
Fix click command for perf box 2020-06-27 17:31:55 -07:00
Octavia Togami
bf4dc8e2cf
Default VALIDATION to off
People have issues copy/pasting with this on, so I think for now it's
better to leave it off. If someone needs the special behavior for
setting panes or fences, they can turn it back on.

We do need to investigate the reason why it's not working, and
potentially save validation for post-edit, rather than prior to
placement.
2020-06-27 15:09:41 -07:00
Matthew Miller
89b3d910e2 Update Forge version for language fix 2020-06-27 13:19:49 +10:00
Matthew Miller
efec53b186 Bump data to 1.16.1 with MCUtils 2020-06-25 18:20:46 +10:00
Matthew Miller
984e944815 Add 1.16 UUID tag to NO_COPY_ENTITY_NBT_FIELDS 2020-06-25 17:08:35 +10:00
Octavia Togami
6dbcbd4a85
Perform part of the move of //fast to //perf (#1377)
This re-adds a deprecated `//fast` and moves the current logic to
`//perf`. Later `//perf` will have its syntax reworked, when Piston
finally supports sub-commands properly!
2020-06-24 20:51:18 -07:00
Matthew Miller
1ced57c301
fix: require extent for mask parsing (#1373) 2020-06-24 17:50:32 +10:00
Octavia Togami
6513513b3e
Mojang AB and the Column Biome Fuzzer (#1376)
* Allow API detection of the biome fuzzer in use

This allows us to warn, fix, or optimize biome edits to the overworld.

* Drop edits to Y = 0 for biomes in overworld

* Re-work ArbitraryBiomeShape to simplify logic

Also fixes not being able to use THE_VOID with it
2020-06-23 23:33:20 -07:00
Octavia Togami
df3937256e
Reduce number of tests executed
It's honestly too many for the CI to handle right now, and this should
provide sufficient coverage for now.
2020-06-23 12:03:09 -07:00
Octavia Togami
6412383636
Fabric 1.16 (#1362)
* [Fabric] Test port to 1.16-pre5

* [Fabric] Fix/improve regen implementation

* Cleanup properly in regen

* Cleanup unused interfaces/methods from porting

* Add licenses to new classes

* Allow packages from refactor in checkstyle

* Remove unused imports from WorldGenListener

* Remap the access widener in the dist jar

* [Fabric] Update to 1.16-pre6 (recursion limit)

Requires an update in the Bukkit Adapters later.

* [Fabric] Update to 1.16

May or may not build, depending on how cached everything is.
2020-06-23 11:55:49 -07:00
Octavia Togami
849a515d4a
Set ES6 compat flag for Rhino 2020-06-21 18:55:29 -07:00
Matthew Miller
f5e36ed8a8
Add 3D biomes support (Adds #1358) (#1361)
* Initial work on 3D biomes. Not implemented for Bukkit, and history is unfinished

* Further implement 3D Biomes. It's now usable on Forge/Fabric

* Fix a few cases of apply. Gotta fix the deprecated methods at some point

* Add Bukkit support

* Add clipboard support. Schematics are still not great, but the Sponge schem format doesn't support this yet.

* Fix the last of the issues

* Fixed up review comments

* Fixed review notes

* Simplify

* max is inclusive

* Standardize non-abstract compatibility handling

Co-authored-by: Octavia Togami <octavia.togami@gmail.com>
2020-06-22 09:25:49 +10:00
Matthew Miller
495ac44f5c
feat(tool): added stack tool (#1338)
* feat(tool): added stack tool

* Implement review comments

* Don't register an alias for stacker

* Apply suggestions

* Fixed /stacker alias

* Indent

* Update worldedit-core/src/main/java/com/sk89q/worldedit/command/ToolCommands.java

Co-authored-by: Octavia Togami <octavia.togami@gmail.com>

* Update worldedit-core/src/main/java/com/sk89q/worldedit/command/ToolCommands.java

Co-authored-by: Octavia Togami <octavia.togami@gmail.com>

* Remove unused imports

Co-authored-by: Octavia Togami <octavia.togami@gmail.com>
2020-06-13 14:25:37 +10:00
Octavia Togami
2f4140349e
Register /tool with sub-command permission gen 2020-06-11 16:14:11 -07:00
Matthew Miller
328030fd62
Use a long to refer to the volume of a region to prevent overflow (#1350)
* Use a long to refer to the volume of a region, and rename the method to getVolume

* Fixed issues noted in review

* Forgot to floor

* Fixed review notes

* Can use a long here rather than BigDecimal

* Improve javadocs

* style
2020-06-08 19:50:17 +10:00
Octavia Togami
1e2496af55 Fix vector gen, always enable BlockMap tests
The BlockMap tests got much faster, so there's no need to hide them
behind a flag.
2020-06-03 18:32:49 -07:00
Octavia Togami
300aad3530 Add licenses for test files 2020-06-03 17:46:15 -07:00
Octavia Togami
e0346ff53b
Test more of the math/collections, fix VectorPList
Fixes #1291
2020-06-03 14:52:01 -07:00
Octavia Togami
637da62e34
Implement remove on set/iter views of BlockMap
Fixes #1354.
2020-06-02 15:37:05 -07:00
wizjany
4ac6f1ed24
Add transform for vertical flip of stair half. (#1341) 2020-05-30 23:55:57 +10:00
Matthew Miller
68f2f73367 Don't fail when enabling standard mode for an extent without a world. 2020-05-30 23:04:54 +10:00
Octavia Togami
6b918e671e Fix Biome math on Forge and Fabric 2020-05-18 16:19:11 -07:00
Matthew Miller
a2c541bdac Handle non-country locales better. Fixes #1345 2020-05-14 23:48:20 +10:00
Matthew Miller
267fe1ffe0
feat(i18n): use a translation loader to allow CB/WG to use WorldEdit's TranslationManager (#1327)
* feat(i18n): use a translation loader to allow CB/WG to use WorldEdit's TranslationManager

* Replace the old ResourceLoader with the new one

* Make ResourceLoader per-platform

* Update worldedit-core/src/main/java/com/sk89q/worldedit/util/io/WorldEditResourceLoader.java

* Improve the impl to allow a default

* Update based on review suggestions

* Local resource should be pathName too

* Delegate to getRootResource, and prevent pathName from starting with /

* HTML

* Format javadoc a little better

Co-authored-by: Octavia Togami <octavia.togami@gmail.com>
2020-05-14 17:40:11 +10:00
NotMyFault
81b6276753
Fix whitespace (#1339) 2020-05-11 18:58:22 -07:00
wizjany
da3fd6c9fa Fix RandomPatternParser suggestions.
"x%" was being dropped.

Closes #1302.
2020-05-04 11:47:02 -04:00
wizjany
e0814cfe3c Reinstate localized name lookup on BlockType. 2020-05-02 13:26:55 -04:00
Octavia Togami
ba91dff134
Update to use the new runtime rhino JAR 2020-04-24 18:49:11 -07:00
Octavia Togami
9a11c57846
Correct typo in region selector docs 2020-04-24 14:55:07 -07:00
chickeneer
53ac21aa87
Add compatibility handlers for beds and banners for MCEdit Schematics (#561)
* Add compatibility handlers for beds and banners

* IntTag#getValue does not return null so do not check that
2020-04-23 18:08:59 -07:00
Octavia Togami
a02458b757
Allow craftscripts to exit early + cleanly (#1308)
* Allow craftscripts to exit early + cleanly

* Add de-facto standard javadoc tags
2020-04-20 18:15:51 -07:00
wizjany
df3b37363f Move expression source string to the expression class. 2020-04-19 16:12:17 -04:00
wizjany
fa0618d9e3 Add makeShape Expression overload for consistency. 2020-04-19 16:12:17 -04:00
wizjany
cd9a45bd6b Pre-compile the expression used in the deform brush.
This lets the command fail early, rather than throwing wrapped runtime
exceptions on every brush usage.
2020-04-19 16:12:17 -04:00
Octavia Togami
83438644dc
Make the null-result case visible to the user
Fixes #1303.
2020-04-18 13:04:03 -07:00
wizjany
d260185183 Don't suggest default namespaces.
This just ends adding a lot of `minecraft:` to otherwise short commands.
2020-04-16 09:51:29 -04:00
Octavia Togami
8c83fd6223
Limit direction names (#1293)
* Limit direction names

This reduces interference with block arguments, since none of these are
block names now.

* Drop other dir comments
2020-04-11 23:38:44 -07:00
Octavia Togami
dc56b602c0
Update Piston to fix bugs
Closes #1292 via Piston fixes.
2020-04-11 19:38:47 -07:00
Octavia Togami
56d0c6e7fd
Optimize poly region vertex add, fix Edge 2020-04-05 12:53:44 -07:00
Octavia Togami
a600266d41
Properly close all files when dealing with archives (#1274)
* Properly close all files when dealing with archives

* Move file utils to SafeFiles class

* Licenses
2020-04-05 09:17:26 -07:00
wizjany
439d6c811b Re-add block/item localized name methods to registries.
WorldGuard uses these still.
2020-04-01 10:14:57 -04:00
Octavia Togami
bb013aa89b
Use custom radix sort for ordering blocks (#1277)
* Use custom radix sort for ordering blocks

* Licenses :P

* Fix ordering, add test for it

* Grant Gradle more memory (thx Fabric)

* Increase (?) / Specify memory for core tests

* Many attempts at fixing OOM
2020-03-31 18:13:32 -07:00
Octavia Togami
404feef52e
Add height part to expand vert command
Fixes #1275
2020-03-25 16:51:00 -07:00
wizjany
4bbdc059ed Disable snapshot-fs test for now. 2020-03-24 14:08:40 -04:00
wizjany
eb8fcdcd5b Make //size text color consistent. 2020-03-23 18:54:38 -04:00
Octavia Togami
cfd26253b6
Names via Translation (#1268)
* Deprecate BiomeRegistry, etc.

* Update some libraries, e.g. text

* Move to new translation renderer

* Revert "Deprecate BiomeRegistry, etc."

This reverts commit 59a5d6c92aec52739a8dc68ac3d23898af7593dd.

This was not a good idea for potential mod shenanigans.

* Move BiomeData#getName to BiomeRegistry, use i18n

* Use getRichName instead of getName

* Implement getRichName for NullBiomeRegistry

* Add getRichName for blocks

* Relocate net.kyori.minecraft

* Update adapters for getRichBlockName

* Add getRichName for items

* Update adapters for getRichItemName

* Update adapters JAR for merge
2020-03-23 15:47:27 -07:00
Octavia Togami
2f4c44f80c
Validate placed blocks / WNA (#1263)
* Optionally validate placed blocks

This allows re-connection of fences, chests, panes, etc.; removal of
blocks in invalid states; and more!

The Connections side-effect already did this for neighbors, so this is
now renamed to Validation for accuracy, and left on by default.

This also fixes some inconsistencies between the Fabric & Forge
markAndNotifyBlock function.

* Add forge comment to fabric world

* Add WorldNativeAccess common logic

* Add Fabric WNA

* Add Bukkit WNA for adapters

* Fix imports for new Fabric mappings

* Pass raw world ref to Bukkit adapters

* Remove client-only block update call

We always assume a server world.

* Allow WNA impls to inspect side-effects

* Update adapters for WNA

* Licenses

* Fix adapter JAR

* Generify EVENTS side effect

* Update adapters for EVENTS change
2020-03-22 21:02:04 -07:00
Octavia Togami
1c6b1b3848
Merge master 2020-03-22 20:41:03 -07:00
Octavia Togami
e6d5950b59
Nest snapshot test dbs in a root temp folder
Allows us to clean it all up easily.

Closes #558.
2020-03-22 01:12:20 -07:00
wizjany
b4d2db3dee
Allow expand to be used by console. (#1264)
* Allow expand to be used by console.

Also fix direction converter requiring a player.

* Revert exception.
2020-03-20 11:36:54 +10:00
Octavia Togami
1ca94fa244
Correct capitalization on nav wand i18n 2020-03-18 01:42:06 -07:00
Matthew Miller
865c3a24d2
Replace fast mode with a side effect system, with fine-grained control (#547)
* Speed up initial change buffering by removing streams and optional wrapping

* Bump the adapters for an experimental performance boost (Purely Bukkit 1.15.2)

* Bump adapters for fixes

* Bump adapters for further performance boosts

* Migrate fast mode to a BlockUpdates section, allowing fine-grained control

* Rename to SideEffect and clean up usage of the set

* Implement a 'usable' state

* Add a test command to demonstrate SideEffects. This is non-final

* Move //sideeffect into //fast

* Improve the box for //fast

* Switch to a system that includes "delayed" as a mode

* Remove the concept of configurable side effects, all are configurable. And each platform specifies what it supports.

* Implement side effects on other platforms (and spigot versions)

* Only use the side effects from the world editing platform

* Update from review

* Rename WorldApplyingExtent to SideEffectExtent

* More review fixes

* Update the World#applySideEffects return type to return the applied side effects

* Fixed requested changes

* Fixed checkstyle

* Improve setBlock javadocs

* Further improve

* Switch parameter name

* Fixed typo in translation key

* Temporarily remove DELAYED

* static final

* Side Effects = 7.2.0 snapshot
2020-03-08 16:09:36 +10:00
Octavia Togami
02da42f90b
Fix exponent parsing, remove impossible (?) case 2020-02-25 17:16:00 -08:00
Octavia Togami
b8130eb5dd
Cover even more cases 2020-02-25 17:11:06 -08:00
Octavia Togami
3dbaae79cd
Cover many more ops 2020-02-25 16:35:43 -08:00
Octavia Togami
00c7d3a157
Fix not operator 2020-02-25 16:22:55 -08:00
Octavia Togami
0f787a89b8
Fix pre- and post- ops 2020-02-25 16:20:21 -08:00
Octavia Togami
42e515f435
Remove non-valued return 2020-02-25 16:13:44 -08:00
Octavia Togami
910c89be65
Extract common simple test case method 2020-02-24 00:45:57 -08:00
Octavia Togami
f8be17d362
Fix bug introduced in return-handling refactor 2020-02-24 00:39:22 -08:00
Octavia Togami
cbd686548f
Add more expression test cases, fix bugs
Also added a few more comments + reorganized exceptions that are
invoke-internal.
2020-02-24 00:33:49 -08:00
Octavia Togami
b9ba337f38
Make testEvaluate more compact 2020-02-23 17:40:11 -08:00
Octavia Togami
ae1e68e10f
Do not try crowdin if using offline mode 2020-02-23 17:39:30 -08:00
Matthew Miller
e476be1186
Tick watchdog by default (#555) 2020-02-21 18:18:08 +10:00
Octavia Togami
6bc1d4647c
Expression Goodie Bag (#553)
* Remove async expression eval. Implement timeout inline

* Remove static state from expr functions

* Remove now-unused TL stack

* Rework some expr handles
2020-02-21 18:17:49 +10:00
Matthew Miller
be30a94be5 Replaced the "please report this" message in the legacy schematic loader 2020-02-16 17:49:04 +10:00
Octavia Togami
947775b5e5
Read WE version from manifest ourselves 2020-02-10 17:11:08 -08:00
Octavia Togami
3ed190268c
Lower load factors in BlockMap
We can sacrifice these tiny amounts of memory for large CPU gains.
2020-02-09 15:25:43 -08:00
Matthew Miller
f111f6bfce
Significantly improve performance in ChunkBatchingExtent and other buffering extents (#550)
* Re-apply non-adapter performance boosts in separate PR

* Improved deprecation handling

* Move TODO
2020-02-07 20:28:14 +10:00
Octavia Togami
92eab931ea
[Forge] Include all -core resources, for all langs 2020-02-03 21:26:13 -08:00
Octavia Togami
0324196b5d
[Forge, Fabric] Update to latest 1.15.2
Some bits of the Fabric 1.15.2 update were moved into common code.

This is NOT ready yet, tree features still need to be updated. Mappings
are comitted, just waiting for them to come out.
2020-01-31 14:04:58 -08:00
Octavia Togami
202f98699b
Improve speed of BSIA, clean up Int2BaseBlockMap (#548)
* Improve speed of BSIA, clean up Int2BaseBlock

* Fix some compile errors / bugs
2020-01-30 20:36:49 +10:00
Octavia Togami
7384b69734
Generify BlockMap 2020-01-30 01:05:31 -08:00
Octavia Togami
624b3a449b
Always use UTF-8 for loading translations 2020-01-29 04:31:35 -08:00
Matthew Miller
d7089a65a7 Bump dataversion for WorldEdit CLI, and minify all of the JSON files 2020-01-24 21:10:04 +10:00
wizjany
a398c86d98 Make missing Bukkit impl adapter more user-friendly.
* 100s of "Unknown property" warnings in log aren't useful, only drown
  out the actual adapter warning
* Most people aren't looking at their console anyway, so hijack the old
  Actor#tellVersion to warn of missing adapters.
2020-01-07 18:05:52 -05:00
wizjany
da98b5fe15 Remove unused EditSessionHolder class. 2020-01-07 18:05:35 -05:00
wizjany
993e49b1ab Expose legacy data value. (#542)
Fixes WORLDEDIT-4010.
2020-01-04 16:32:53 +10:00
Matthew Miller
5fb91c6269 Fixed redone translation string 2020-01-04 12:42:13 +10:00
Octavia Togami
39d3ad0e77
Merge pull request #541 from EngineHub/feature/item-registry-enchancements
Add a ItemMaterial for use by CraftBook & CommandBook
2020-01-02 11:08:34 -08:00
Octavia Togami
b0ba9e0952
Move condition to Passthrough constructors 2020-01-02 11:07:43 -08:00
Octavia Togami
7b2f4ea184
Merge pull request #530 from EngineHub/feature/expressions-part-2
Expressions Part 2: Compilation
2020-01-01 11:09:59 -08:00
Octavia Togami
0e37196036
Drop a bunch of static method imports 2020-01-01 10:34:51 -08:00
Wyatt Childers
1c3277648f Add a ItemMaterial for use by CraftBook & CommandBook 2019-12-30 22:48:27 -05:00
Octavia Togami
ad55387a40
Deprecate entire old commands package 2019-12-19 21:59:31 -08:00
Octavia Togami
7039dc8306 Clean up handling of sel/nav wand tool (#540) 2019-12-18 19:11:43 +10:00
wizjany
2fb8bc627f Don't leave 0b files when attempting to save old .schematics.
Also fix messages/error propagation.
2019-12-16 14:06:15 -05:00
Octavia Togami
18a55bc14e Add new experimental snapshot API (#524)
* Add new experimental snapshot API

This API intends to replace the existing snapshot API in WorldEdit 8.

It is currently experimental, and the old API is soft-deprecated. Once
it is determined to be stable, the old API will be removed and replaced
with this new one.

It uses TrueVFS instead of TrueZIP, due to the latter's status as
matinence-only, and the face that TrueVFS is NIO-FileSystem compatible,
allowing us to integrate it with NIO's native zipfs. The TrueVFS system
does encompass multiple modules, but users and download + install
truevfs-profile-default as a fatjar. We depend on that profile to show
this as the intended solution.

* Port commands to experimental snapshots. Legacy ones are in sibling classes.

* Add many tests, fix bugs

* Clean up imports

* Verify sorting behaviors, fix bugs

* Add license to test

* Add support for DIM region folders

* Fix tests for Windows paths

* Rewrite tests for even more coverage, fix bugs

* Clean up naming on tests

* Add test for legacy format

* Stop trying to abuse `file://`, use `snapfs:` instead

* Simplify iterPaths

* Use File.separator in FS snap tests

* Fix some bugs from T9N PR (#538)

* Use printInfo/printError to keep colors right

* Escape quotes before they go in the map

* I18N-ify new snapshot code
2019-12-16 21:00:12 +10:00
Matthew Miller
42cf205311 Added 1.15 bundled data 2019-12-11 21:13:51 +10:00
Octavia Togami
9ede68deb5
Increase expr test timeout to 1 second 2019-12-10 18:35:17 -08:00
wizjany
28dbf19182 Bypass bukkit api for regeneration.
Done in impl adapter now.
2019-12-10 18:21:27 -05:00
Octavia Togami
4360159965
Remove old EvaluatingVisitor 2019-12-09 12:31:32 -08:00
Octavia Togami
b291159cbd
Remove some static imports 2019-12-09 12:20:06 -08:00
Octavia Togami
05db204679
Merge master 2019-12-09 12:13:25 -08:00
Octavia Togami
7831eedff7 Fix some bugs from T9N PR (#538)
* Use printInfo/printError to keep colors right

* Escape quotes before they go in the map
2019-12-09 18:16:40 +10:00
Matthew Miller
679b00bde6
feat(i18n): add support for translatable text replacement (#478)
* Rebase translation work for easier rebasing

* Fixed gradle setup

* Further translations

* Add a few more strings

* Remove support for pluralisation to match Minecraft and alleviate issues with over-complexity

* Further translations

* Added a tonne more translations

* Added the remaining translation nodes

* When custom files are found, use the base files for default values.

* Only download translations if a key is provided

* Fixed typo in brush radius too large

* Allow translation files to be missing entries, and use the english version in place.

* Fixed issues brought up in review

* Reverse translation order (#533)

* Fix a lot of PR comments

* Add JD to the Operation warned field due to no private fields in J8

* Only warn when there are messages
2019-12-09 12:46:18 +10:00
Octavia Togami
d132f08bc4
Merge pull request #536 from enveeed/feature/line-convex-selection
Add //line support for convex polyhedral selections
2019-12-06 23:21:17 -08:00
Octavia Togami
c93fb82da1
Use ImmutableList instead of ArrayList, cleanup logic 2019-12-06 23:09:27 -08:00
Matthew Miller
0354edc145
Use commandblock name as session key (#535)
* Use commandblock name as session key

* Use a UUIDv3 with a given session prefix

* Use a UUIDv3

* Prefix the UUID and use a charset

* Fixed a few issues with using CommandBlocks

* Remove /worldedit:/ workaround
2019-12-07 16:27:04 +10:00
enveeed
275ecb05a5 restored command description to be more close to the original 2019-12-06 20:51:16 +01:00
enveeed
c5a07388a5 added overload to avoid breaking method signature for drawLine() 2019-12-06 18:47:39 +01:00
enveeed
f22f5332aa fixed changes to be within code conventions 2019-12-06 14:34:09 +01:00
enveeed
093902b0c1 added //line support for convex polyhedral selections 2019-12-06 13:29:46 +01:00
MicleBrick
b425649df0 Fix legacy import (#534)
* always use data fixer

* undo reformat

* fixer -> no fixer -> fail

* extract variable
2019-11-27 20:29:30 -08:00
Brokkonaut
89bc664f69 Fix flipping of chests and stairs (#526)
* Fix flipping of chests and stairs

* Check if the new property value is valid before updating

* Only for horizontal flips double chests/stairs should be modified
2019-11-12 21:09:28 +10:00
wizjany
fc5c625f02 Add -n flag to //paste to select without pasting. 2019-11-09 20:58:47 -05:00
wizjany
2b1a7ed943 Make lrbuild tool use history. 2019-11-09 20:58:47 -05:00
wizjany
e5fe051340 Use persistent leaves for garden patch generator (/pumpkins) 2019-11-09 20:58:39 -05:00
wizjany
575463a8e9 Make a few more selection commands usable from console. 2019-11-09 11:31:51 -05:00
Kenzie Togami
cd9414631a
Remove unused asm dependency 2019-11-07 16:33:20 -08:00
Kenzie Togami
d9e74f52dc
Add licenses 2019-11-07 16:31:08 -08:00
Kenzie Togami
1fbb7a70f9
Merge pull request #527 from EngineHub/feature/extended-expressions
Expressions Part 1: ANTLR
2019-11-07 16:23:43 -08:00
Pieter12345
bf3b91aaa7
Fix stack command diagonal shifting with -s flag
Fix `//stack -s [num]` shifting the selection to unexpected places. This fix causes `//stack -s [num]` behavior in diagonal directions to be consistent with the behavior in non-diagonal directions, which means that the last stack will be selected.
2019-10-28 15:02:24 +01:00
Kenzie Togami
a2ec05915b
Remove extra stack trace print 2019-10-27 15:16:38 -07:00
Kenzie Togami
064a38ece5
Write an alternative expression compiler using MethodHandles 2019-10-27 15:16:38 -07:00
Kenzie Togami
257988b149
Add tests for expressions listed on the docs 2019-10-27 15:15:59 -07:00
Kenzie Togami
777b132a04
Catch small edge-case in parser 2019-10-27 12:58:32 -07:00
Kenzie Togami
ae71c2a51b
Clean up formatting on ANTLR grammar 2019-10-26 16:51:13 -07:00
Kenzie Togami
fa42e40281
Limit expression thread count to processor count. 2019-10-26 16:44:23 -07:00
Kenzie Togami
b0528f157a
Improve timeout tracking for expressions 2019-10-26 16:18:59 -07:00
Kenzie Togami
a273e55e7a
Fix gradle build 2019-10-18 22:39:52 -07:00
Kenzie Togami
1ba02c54b7
Completely rewrite the expression parser in ANTLR. 2019-10-18 22:27:31 -07:00
Kenzie Togami
9f1e7cdaaf
Small modifications for better visitors 2019-10-13 02:20:10 -07:00
Kenzie Togami
7d52374fc0
Add initial ANTLR setup + lex/parser 2019-10-13 02:02:47 -07:00
Matt
ffbb25f1ea
Fixed snapshot typo 2019-10-11 13:42:07 -04:00
Kenzie Togami
03c0cce53e Update to Piston 0.5.2 + Doctools/Deprecation improvements (#523)
* Update to Piston 0.5.2

* [Doctools] Fix output, be verbose about deprecations

* Improve deprecation system, doctools output
2019-10-05 19:06:18 +10:00
wizjany
91f92a46fe Apply watchdog mode to undo/redo. Abstract EditSession creation logic. 2019-09-30 18:28:13 -04:00
Kenzie Togami
7e3fc6c8e7
Disable watchdog ticking by default, //watchdog to turn on 2019-09-29 22:10:04 -07:00
Kenzie Togami
8af68fc884
Initial watchdog setup. Bukkit needs adapters, everything needs testing. 2019-09-29 22:09:55 -07:00
Kenzie Togami
fa25ad22cd
Harden JsonFileSessionStore against nulls/Gson oddities 2019-09-23 11:46:24 -07:00
Kenzie Togami
1832d08d92
Merge pull request #520 from EngineHub/feature/tool-command
Add /tool back, deprecate global tool commands
2019-09-22 13:27:43 -07:00
Kenzie Togami
6162a47002
Force non-Locatable actors to use placeAtPos1 2019-09-21 18:21:22 -07:00
wizjany
44dc926c49 Fix console command usage. 2019-09-19 20:53:47 -04:00
Kenzie Togami
ba26d788af
Add /brush none and unbind aliases 2019-09-09 18:13:57 -07:00
Kenzie Togami
0898adac99
Add defaultVerticalHeight to other configurations 2019-09-09 03:47:32 -07:00
Barteks2x
3fdc1d1ab6
Better support for very tall worlds and negative heights
Avoid iterating the world top to bottom/bottom to top for very tall worlds
2019-09-09 03:20:38 -07:00
Kenzie Togami
0e9fee3b60
Add /tool back, deprecate global tool commands 2019-09-08 17:46:29 -07:00
Matthew Miller
a73a45ce43
Create parser context data for factory converter in non-user-mode 2019-08-31 16:30:51 +10:00
Kenzie Togami
299d703f24
[Doctools] Fix //expand listing, ensure no missed commands 2019-08-29 19:58:00 -07:00
Matthew Miller
44bffc5a86 Use https for the pastebin service 2019-08-27 21:54:53 +10:00
Kenzie Togami
45bfa0d140
[Doctools] Add command-topic for CSS markup 2019-08-26 00:45:08 -07:00
Kenzie Togami
7af397bd56
[Doctools] Fix //rotate description quoting 2019-08-26 00:17:22 -07:00
Matthew Miller
0620478763
feature(cli): Added a CLI version of WorldEdit, and allowed most commands to be run from console (#508)
* Re-do commits to avoid awful rebase

* You can load and save a schematic file now. Still gotta setup ability to use commands as a console actor.

* Add a world override concept to LocalSession, and allow a lot more commands to be performed by actors.

* Fixed commands, and set the loaded schematic as the world override in CLI

* Properly load tags

* Added 1.14.4 data values

* Allow a majority of commands to be performed by the console.

* Fixed a lot of PR requested changes

* Added a Locatable interface and use that for getting the location of the player in commands.

* Added script support. Currently requires a newline at the end of the script.

* Shade everything to allow this to run locally - should probably minimize this to an extent later.

* Actually hook up the version

* Added a //world command to set the override

* Fixed a missed checkstyle issue

* Added CommandBlock support to Bukkit

* Make command block support configurable

* Minor cleanup and implementing a few of the final functions

* Fixed most issues from PR

* Improve UX, saving is now automatic and unknown command messages show

* Better save docs and support any clipboard format

* Include the entire formats list

* Arrays.copyOf

* Clear the world override if the selector is called on another world.

* Update logging extent to allow basic logging with non-player actors
2019-08-25 19:58:28 +10:00
Kenzie Togami
a0b9810c44
[Doctools] Read source files for command ordering 2019-08-13 20:06:15 -07:00
Kenzie Togami
33633acbe7
Add validator extent to every entry point, fix extent ordering 2019-08-12 10:04:29 -07:00
Kenzie Togami
f472c20bfb Memory optimizations (#505)
* Remove LocatedBlock overhead in LBL map

* Add new space-efficient block map, with thourough testing

* Drop ordering property, add full insertion test

* Add licenses

* Fix mocked platform conflicts

* Disable full block map testing for faster builds

* Re-implement BlockMap with fastutil maps

* Re-write chunk batching to be memory efficient

* Make MultiStageReorder use BlockMap

* Increase LBL load factor, fix long-pack limit detection

* Fix infinite loop in chunk batching

* Save memory in history by cleaning up MSR

* Re-implement LocatedBlockList in BlockMap

* Fix data race with BlockType lazy fields

* Make IDs ALWAYS present, only runtime-consistent. Use for memory efficiency in BlockMap

* Remap inner structure of BlockMap for smaller maps

* Remove containedBlocks fields, not very efficient

* Fix minor de-optimizing bug in stage reorder

* Make long packed y signed

* Add extended Y limit configuration option

* Add licenses

* Store 3 ints for unoptimized BV list

* Add final to BitMath

* Correct int-cast for long-packing
2019-08-12 22:06:40 +10:00
wizjany
61bc012f6f
Fix source masks using EditSession instead of clipboard. (#515) 2019-08-10 11:54:22 -04:00
Kenzie Togami
f83de2a703
Fix bug with spaces at end of suggestions. 2019-08-08 16:28:00 -07:00
wizjany
0e25839490
Fix schematic list box loading schems with spaces in path. 2019-08-08 10:14:16 -04:00
wizjany
95d5adb30c Update docs links to point to enginehub. 2019-08-06 21:49:43 -04:00
wizjany
d822ccc9e5 This is how Mojang checks if trees can grow.
Subject to changes.
2019-08-05 23:16:42 -04:00
wizjany
e25a6d21cd Add -e/-b/-m flags to //stack and //move, to match copy and paste.
Fixes WORLDEDIT-3935.
2019-08-05 22:47:57 -04:00
wizjany
a1465c02ed Make EditSession#center (//center) set even y blocks.
At some point this was fixed for x and z but never for y...
2019-08-05 22:44:51 -04:00
wizjany
6ab74dc7e5 Add missing radius checks.
Courtesy @mathiascode.
2019-08-05 17:39:00 -04:00
wizjany
4b54c32f3a Skip invalid blocks in schematics. 2019-08-04 15:56:16 -04:00
wizjany
df9d766eb3
Merge pull request #513 from EngineHub/bugfix/reloadable-internal-state-ids
Re-load internal state IDs when WORLD_EDITING cap is re-loaded
2019-08-03 09:59:10 -04:00
Kenzie Togami
f848d3114f
Re-load internal state IDs when WORLD_EDITING cap is re-loaded 2019-08-02 15:47:29 -07:00
wizjany
9a133c05d1
Merge pull request #510 from EngineHub/feature/blocks-are-patterns
Make BlockStateHolder extend Pattern.
2019-08-02 17:42:14 -04:00
wizjany
afae2b0784 Make TE tag optional for MCEdit schems too.
And name our threads here too.
2019-08-01 20:15:34 -04:00
wizjany
9d9e3ea065 Remove overrides. 2019-07-28 22:50:42 -04:00
wizjany
6631b6bdf0 Make BlockStateHolder extend Pattern.
Removes the need for wrapping them in BlockPattern.
2019-07-28 18:20:00 -04:00
wizjany
f4c238c3da Load chunks when setting biomes too. 2019-07-28 10:21:29 -04:00
wizjany
c93e5ccfdf Don't suggest ##* for masks. 2019-07-28 10:02:47 -04:00
Kenzie Togami
50cea37439
Fix other minor suggestion bugs 2019-07-27 23:49:11 -07:00
Kenzie Togami
76b608f90b
Fix suggestions on Bukkit for good 2019-07-27 23:31:38 -07:00
Kenzie Togami
3a5170a0e8
Potenially fix quoted string completion 2019-07-27 18:12:18 -07:00
Kenzie Togami
d134820bcb
Merge branch 'master' into fix/quoted 2019-07-27 17:41:44 -07:00
wizjany
8f33e0d550 Make a bunch of paginations internal, generify command boxes. (#509) 2019-07-27 14:35:38 +10:00
wizjany
415cdc0ab2 Output to debug only if we have a valid DFU for schematics.
Warn for backwards (since we can't DFU) and info for missing DFU
(since it might still be compatible).
Under normal circumstances, a DFU should be available so we'll only
log to debug (which is generally off).
2019-07-24 19:05:39 -04:00
wizjany
78488d9b76
Merge pull request #495 from EngineHub/hotfix/nav
Pass through wall improvements
2019-07-23 22:17:15 -04:00
wizjany
4ee2d3b47c Move isAllowedToFly and setFlying to AbstractPlayer, protect them. 2019-07-23 22:16:26 -04:00
wizjany
2cc6a367c6 Move floatAt logic to AbstractPlayer, add isAllowedToFly and setFlying. 2019-07-23 22:16:26 -04:00
wizjany
8545417b3a Fix error in /up when used out of bounds.
Also reduce calls to Entity#getLocation() all over since it's
more expensive than it needs to be (adapts world/vector every time).
2019-07-23 22:16:26 -04:00
Wyatt Childers
917f8a1842 Pass through wall improvements
This change simplifies the algorithm greatly.

Additionally, this fixes a bug where if standing in a non-solid block
i.e. a glass pane, //thru, and the nav wand would not work.
2019-07-23 12:53:10 -04:00
wizjany
edb2e919e7 Add more id conversions.
Bukkit apparently lower cases these for us, but not Forge.
(And invalid block entities are fine - invalid keys are not).
2019-07-19 21:45:25 -04:00
Jesse Boyd
1d413cde76 BrushTool typo 2019-07-17 10:56:28 -04:00
wizjany
05cee0a30b Don't overwrite history during changes.
Fixes issues with some changes not being undone.

I mean, the sphere algorithm needs to not set blocks 20 times,
but other things can trigger this too.

Also allow radius 0 sphere via //sphere (because /br sphere allows it).
2019-07-16 21:43:14 -04:00
wizjany
f75104f2ac Actually use fixed IDs in MCEdit reader.
Fixes WORLDEDIT-3947.
2019-07-16 19:45:27 -04:00
Kenzie Togami
c1f4eecd77
Narrow timeout test exception type 2019-07-15 17:18:10 -07:00
Kenzie Togami
5c5c822f4b
Replace try-fail-catch-assert with assertThrows 2019-07-15 16:38:34 -07:00
Kenzie Togami
429d022752
Move Core to JUnit 5 2019-07-15 16:38:33 -07:00
Kenzie Togami
e98b99edcd
Properly acquire JUnit 4, drop json-simple 2019-07-15 16:38:33 -07:00
Kenzie Togami
5277f99bf2
Minor fixes for craftscripts in Forge 2019-07-12 13:49:45 -07:00
Kenzie Togami
3bdc1c1cf2
Fixup after shade rhino merge 2019-07-12 13:49:45 -07:00
Kenzie Togami
55100761a3
Migrate Core to Kotlin DSL 2019-07-12 13:49:45 -07:00
Kenzie Togami
19802e478c
Re-write root and libs to Kotlin DSL 2019-07-12 13:49:45 -07:00
Kenzie Togami
eccbad92e8
Move away from deprecation, move dependencies towards buildSrc 2019-07-12 13:49:45 -07:00
Kenzie Togami
4874c314d0
Merge pull request #501 from EngineHub/feature/gradle-5
Update to Gradle 5
2019-07-11 22:01:09 -07:00
Kenzie Togami
9e7d46662c
Merge pull request #498 from EngineHub/feature/improved-chunk-batching
Buffered extent improvements
2019-07-10 14:25:22 -07:00
Kenzie Togami
e87a5559d6
Ensure blocks are not moved below world boundary 2019-07-10 14:10:22 -07:00
Kenzie Togami
c5c6a091fd
Update to Gradle 5.5 2019-07-09 18:21:21 -07:00
Kenzie Togami
5a464142ae
Shade Rhino and truezip into Forge dist 2019-07-08 20:21:31 -07:00
Kenzie Togami
2ee71cc72f
Grav brush: move to bottom, not down one 2019-07-06 15:41:11 -07:00
Kenzie Togami
3ad80665d8
Fix gravity brush itself, not EditSession 2019-07-06 00:12:17 -07:00
wizjany
96e2b6c5af First attempt at fixing quoted string oddities. 2019-07-04 22:01:55 -04:00
wizjany
508ece9e0f
Use pagination for //distr and store results. (#496) 2019-07-04 19:33:37 -04:00
wizjany
a2b3aabbbf Typo fixes and command clarifications/cleanup.
Also re-disable the gradle daemon. It doesn't always play nice with
ForgeGradle and hogs ram.
2019-07-04 19:28:42 -04:00
Kenzie Togami
f2c47f3759
License for new class 2019-07-04 11:55:27 -07:00
Kenzie Togami
99ee32fe8e
Many fixes for buffered extents 2019-07-04 11:43:36 -07:00
Kenzie Togami
d27daefd3e
Implement getBlock for chunk batching extent
Also improve speed of comparators, by using ::comparingX and bitwise
ops.
2019-07-03 21:11:36 -07:00
wizjany
625cbe5e3d Make //count take a mask. Also doc updates, perm fixes. 2019-06-30 00:38:17 -04:00
wizjany
1d1c38887f Added worldedit.setwand permission required to change wand/navwand.
Players without this perm will be stuck with the configuration-defined
default wand/navwand items.
2019-06-29 14:15:58 -04:00
wizjany
6be77451b6 Correct perms for nav wand binding. 2019-06-29 13:55:58 -04:00
wizjany
9cbf8178ea Fix setting player heads with owner name. 2019-06-29 11:11:22 -04:00
wizjany
abbca2ea18 [Docs] Add a more visible tip about //help on the commands page. 2019-06-29 10:35:22 -04:00
wizjany
fae44ffaf2 Re-send type id for cuboid CUI.
Works like poly CUI now.

CUI in general needs to cleanup :\
2019-06-29 07:49:09 -04:00
wizjany
b5e895c37e Update info tool to components. 2019-06-28 18:02:06 -04:00
wizjany
9136139cfd
Fix pasting leashed entities. (#494) 2019-06-28 17:09:42 -04:00
wizjany
927ae6d076 Allow block replacer to copy TEs. 2019-06-28 16:29:21 -04:00
wizjany
2b0a4bab27 Change unknown selector to list to enable suggestions. 2019-06-28 16:23:24 -04:00
Brokkonaut
096a9e4f9f Paintings are very special (#492)
Fixes WORLDEDIT-3429
2019-06-28 16:11:24 -04:00
wizjany
c0f2557f15
Make the selection wand and navigation wand normal tools. (#493)
This means users can bind and unbind them to any item, like other tools.
By default, the items in config will be automatically bound. After
setting a different item via `//selwand` or `//navwand`, that item will
subsequently be used for that user.

Also add -n to //wand to get a navwand.

Also various other tool-related cleanup.
2019-06-28 15:45:16 -04:00
wizjany
542f87b8f7 Fix infinite loop re-sizing block state internal ID array. 2019-06-28 15:18:53 -04:00
wizjany
79910c57d7
Add 1.14 blocks, items, entities, and tags. (#490)
Should remain backwards compatible with 1.13. Removed blocks/items will
be forwarded to the "replacement" block/item. (e.g. BlockTypes.SIGN will
find OAK_SIGN on 1.14.)
2019-06-24 23:15:07 -04:00
wizjany
8fcc22c21d Cleanup multiple batch usage for chunk deletion. 2019-06-22 15:01:00 -04:00
wizjany
d763ab374c
Re-add delchunks command (#481)
The new command now writes a json file to WorldEdit's working directory with instructions on which chunks to delete, which is read by the plugin/mod at startup and calls the ChunkDeleter.
The chunk deleter parses the json and iterates the instructions, backing up .mca files as it goes and overwriting the offset headers with 0 wherever a chunk needs to be deleted.
This allows Minecraft to reclaim the space used for that chunk, as well as forcing it to be generated from scratch next time the area is loaded.
2019-06-22 14:20:14 -04:00
wizjany
902754ce8a Bit more cleanup for schematic handling. 2019-06-21 11:07:03 -04:00
wizjany
a3d23fdcea Fix requirements of sponge schematic spec.
Fixes WORLDEDIT-3929.
2019-06-20 18:51:29 -04:00
Kenzie Togami
c97071c0f4
Merge pull request #482 from EngineHub/forge-1.14
Update to Forge 1.14.
2019-06-16 14:03:35 -07:00
wizjany
dcd1d8d0bc Clean up/fix undo/redo. Add separate .self perm nodes. 2019-06-16 10:09:35 -04:00
wizjany
078d6f6440 Update to Forge 1.14. 2019-06-15 20:47:48 -04:00
wizjany
61fd44fa8c Save some RAM.
Vanilla only needs 12k~ states right now, 32k is unnecessary.
2019-06-15 20:24:47 -04:00
wizjany
0aa0dbfd11 Fix BlockTransformExtent rotating directional boolean properties.
Also add support for redstone dust, which is directional non-boolean.
(It's the only block like this atm.)
2019-06-15 13:35:23 -04:00
wizjany
0088fe79b3 Cleanup Bukkit internal id usage. 2019-06-15 17:33:17 +10:00
Kenzie Togami
27c7d488a2 Add perf. improvments for Forge 2019-06-15 17:33:17 +10:00
Kenzie Togami
8c17aab9c5 Clean-up some misc. parts of the code 2019-06-15 17:33:17 +10:00
wizjany
dc21b4df58 This does something idk. 2019-06-15 17:33:17 +10:00
Matthew Miller
2571efb5c3 Few fixes for worldedit changes 2019-06-15 17:33:17 +10:00
Kenzie Togami
a3a175ab8c Initial attempt at binding state IDs 2019-06-15 17:33:17 +10:00
wizjany
6e833a9fe4 Correctly unwrap old CommandExceptions in AsyncCommandBuilder. 2019-06-13 14:35:24 -04:00
wizjany
7787f2c15e Use AsyncCommandBuilder for /calc. 2019-06-13 10:17:37 -04:00
wizjany
213cadf093 Import cleanup, ensure gradle uses https for deps, bump deps. 2019-06-13 09:17:00 -04:00
wizjany
6f7927bc5a Skip poi folders for snapshot restores.
New to 1.14, Mojang stores .mca files which don't contain chunks in the
poi folder.

Note: we explicitly filter *out* the poi folder, instead of filtering
*to* the regions folder, since old versions of minecraft had regions
directly in the world folder (instead of a regions subfolder).
2019-06-12 21:51:22 -04:00
Wyatt Childers
026bfeed08 Improved usage of the naturalize command over large areas
This change fixes the block count report, and also makes
naturalize act more like a "//replace dirt grass" where
we only attempt block changes if the block is not already
what we're looking for.
2019-06-11 18:01:45 -04:00
wizjany
f2f9c26602 Expanded the scope of item brushes (/br apply item, /br paint item).
They now additionally take a direction in which the simulated item usage
should be facing.
Also allow the item parser to parse "hand" and "offhand" as items, to
allow platforms with NBT item support return items with NBT (since
parsing is a slightly more complex task).
2019-06-09 20:44:30 -04:00
Kenzie Togami
62e2a76d78
Merge pull request #480 from EngineHub/feature/docprinter
New doc printer for rst output
2019-06-08 20:57:08 -07:00
wizjany
351fd6771a Restore ability to restore old MCRegion files. 2019-06-06 10:34:12 -04:00
Kenzie Togami
d46cd78e14
Port doc printer to Kotlin, heavily improve 2019-06-05 23:26:57 -07:00
wizjany
e69aedf059 Allow clean shutdown.
Rearrange command tables.
2019-06-05 14:57:44 -04:00
wizjany
e767dd9888 Missing perm. 2019-06-05 12:31:12 -04:00
wizjany
22157f0864 Write entire perms file for easier gen.
Also fix some format issues.
2019-06-05 11:27:16 -04:00
wizjany
b7e329bc1b Better spacing for section headers. 2019-06-05 10:39:10 -04:00
wizjany
34020f7bd2 Less ugly. Makes tables for all commands and subcommands. 2019-06-05 10:23:41 -04:00
wizjany
dc380b1fb3 Ugly but working generator for rst commands. 2019-06-05 10:21:35 -04:00
wizjany
d7c11cbb69 Handle sub-commands without permissions. 2019-06-04 22:13:16 -04:00
wizjany
a904ff9fb9 Check sub-command permissions.
This ensures root commands aren't sent to the client/suggested unless
a player has at least one subcommand available to them.
2019-06-04 22:13:16 -04:00
wizjany
3a6b3dc75c Fix restore for 1.14 chunk format.
Top-most chunk can now have lighting without have a palette or blocks.
2019-06-02 21:56:29 -04:00
wizjany
a3afd9d5b3 Make suggestions more robust.
And fix potential errors in the ^[] pattern parser.
2019-06-01 12:39:24 -04:00
wizjany
1e7c074217 Few misc command fixes. 2019-06-01 09:35:27 -04:00
wizjany
9099a17fe5 Some command refactoring. Switch usages of page args to -p flag. 2019-06-01 07:04:07 -04:00