Commit Graph

629 Commits

Author SHA1 Message Date
Kenzie Togami
f81ffdde0c
Port region commands 2019-04-23 18:46:46 -07:00
Brokkonaut
6415d0d964 Fix typo 2019-04-23 18:24:32 -07:00
Kenzie Togami
f2283e8ad0
Port navigation commands 2019-04-23 16:14:21 -07:00
Kenzie Togami
6d4982f23a
Fix checkstyle/license/gen code 2019-04-23 15:44:33 -07:00
Kenzie Togami
20da6227d4
Port history commands 2019-04-23 15:35:05 -07:00
Kenzie Togami
31486cd473
Port generation commands 2019-04-23 10:11:54 -07:00
Matthew Miller
c52eb59d7f Get it all working 2019-04-22 22:05:20 +10:00
Kenzie Togami
51be16ad81
Port GeneralCommands 2019-04-21 13:10:20 -07:00
Kenzie Togami
5c19866809
Some fixes for new libs shading 2019-04-20 23:33:54 -07:00
Kenzie Togami
1e7b4fc835
Move shaded libraries to their own artifacts 2019-04-20 23:11:39 -07:00
wizjany
a9926328f1 Stop trying to redo when history runs out. 2019-04-20 12:14:11 -04:00
Matthew Miller
5b1573a24e Replace the message system 2019-04-19 23:06:00 +10:00
Matthew Miller
d56cd96282 Fixed builds 2019-04-19 16:38:33 +10:00
Matthew Miller
55348346e9 Shade in Kashike's lib 2019-04-19 14:49:29 +10:00
Kenzie Togami
f481f7d26d
Handle lack of global injected value store 2019-04-18 19:59:53 -07:00
Kenzie Togami
48fcfeed35
Fix licenses 2019-04-18 19:12:09 -07:00
Kenzie Togami
ac03de89cc
Work on adding converters for some arguments 2019-04-18 19:11:57 -07:00
Kenzie Togami
37c993be16
Port ClipboardCommands, update to new Key 2019-04-18 12:34:57 -07:00
Kenzie Togami
f33140b327
Port ChunkCommands, fix up injection, simplify registration 2019-04-16 23:02:23 -07:00
Kenzie Togami
e127bb89e5
Align annotation formatting with brush command methods 2019-04-15 02:03:05 -07:00
Kenzie Togami
e4d8091432
Convert part of the brush commands 2019-04-15 02:01:25 -07:00
Kenzie Togami
2b10128720
Restore Logging for setbiome 2019-04-15 01:25:19 -07:00
Kenzie Togami
267ccf2298
First attempt at integrating Piston as the only command system 2019-04-15 01:21:15 -07:00
Matthew Miller
3e4004ad9e Start work on improving the formatting system. May switch to Kashike's as Bukkit is shit 2019-04-14 19:33:44 +10:00
Kenzie Togami
da35b3c174
Switch to using local maven for Piston 2019-04-14 01:53:04 -07:00
Kenzie Togami
f8c4f23658
Partial work on biome commands, need logging replacement 2019-04-14 01:30:40 -07:00
Jesse Boyd
b5e1f3dbc3 Remove the system property check for uuidOverride (#459)
as it caused a server timeout...
https://pastebin.com/z5ktU8r3
2019-04-10 22:39:56 -04:00
wizjany
ec0422d682 Avoid atan2 in Location cinit.
@kashike
2019-04-06 21:26:52 -04:00
wizjany
dcfb769d96 Fix TrueZip region stores.
I think. Someone tell me if this breaks their setup with truezip, but
it works for me now and didn't before. I'm assuming people using .zip
just used the normal zip store anyway.
2019-04-06 13:22:20 -04:00
wizjany
fa8139f4b3 Transfer Request to evaluation thread for Expressions. 2019-04-05 14:46:56 -04:00
Kenzie Togami
8ab6585815
Patch new cmds system into old system 2019-04-04 16:16:04 -07:00
Kenzie Togami
1966e5a8a2
Initial Piston conversion test. Non-functional. 2019-04-04 15:50:45 -07:00
Jesse Boyd
4de5487c51 Change Vector hash codes (#456)
And add additional unit vectors where needed.
2019-04-04 08:36:19 -04:00
Jesse Boyd
9ba1121592
swap order of checks
since a boolean check is faster than getting inventory item + string
comparison
2019-04-04 10:45:21 +11:00
Jesse Boyd
3d2054aa0a WorldEdit accepts a pattern for these commands
update the message to reflect that.
2019-04-03 19:39:12 -04:00
wizjany
a80420d14b Add biome storage to BlockArrayClipboard. 2019-03-30 00:42:28 -04:00
wizjany
4e66b9a336 Revert 6b3426e1.
Empty base blocks are always immutable. Fuzzy states don't have NBT.
2019-03-30 00:41:47 -04:00
wizjany
42d0d6e79a Use getTag instead of requireTag in a few places. 2019-03-29 23:44:18 -04:00
wizjany
d7d2d03ee8 Clipboard offset pattern is now #copy@[x,y,z].
Since the parsers were changed around, unescaped commas are parsed as
separate blocks now.
2019-03-27 23:36:59 -04:00
wizjany
74bff83e38 Don't let items types be null.
Better fail-fast if registry doesn't load? or why-ever else this happens
2019-03-26 22:30:46 -04:00
wizjany
6b3426e1de BaseBlock is technically mutable so that technically shouldn't use it. 2019-03-26 18:14:35 -04:00
wizjany
2a194b0434 Add pattern that randomly chooses states.
Also works with fuzzy states.

Syntax is `*type`, e.g. `//set *stone_slab` or with states,
`//set *oak_fence[waterlogged=false]`
2019-03-26 18:11:32 -04:00
wizjany
8eccdc7444 Add -f flag to //count to allow fuzzy inputs.
Also re-implement //distr -c. And remove outdated help text on //copy.
2019-03-25 22:38:51 -04:00
wizjany
692ba6fda3 Checkstyle. 2019-03-22 14:03:43 -04:00
wizjany
9b473cecbd Fixes and changes to forest/forestgen.
* Sync up implementations of the two commands.
* Fix generating trees in spots with replaceable blocks.
* Make message when you mistype tree-type arg more correct.

Fixes WORLDEDIT-3869.
2019-03-20 21:05:11 -04:00
wizjany
1934006d14 Better enforce the Request lifetime.
Previously, the current request would just get a new EditSession when
one was created. Now, a Request is reset before and after:
 - a command is used and
 - an interact is fired with the platform
This means each action taken will get a single, non-reusable Request.

Note that this only applies to actions taken through the platform.
API users will not be using requests anyway, since things like Masks,
etc. will be constructed directly instead of being passed through the
platform's parsers and so on. (e.g. if a plugin loads a schematic into
the world with a mask, they should create the EditSession and mask it
directly, and not use that Mask again for another EditSession in another
World).

Also, get rid of a bunch of (some now-)unnecessary EditSession creation
during command dispatching.

Note that this also fixed the dynamic selection mask, which apparently
has been broken for some unknown amount of time.
2019-03-20 19:13:54 -04:00
wizjany
25631af31c Add RequestExtent to be used when a delayed EditSession is needed.
For example, if you set a mask that takes an extent (many of them),
and then move to another world, the mask will test blocks in the old
world and return bad results.
2019-03-20 19:13:54 -04:00
Matthew Miller
d186cce393 Merge remote-tracking branch 'origin/feature/slf4j-logging' 2019-03-19 20:32:21 +10:00
wizjany
9d2d43f0db Add -f to //schem save to confirm overwriting.
Overwriting existing schematics now checks delete perm.
Also allow delete to be run from console.

Fixes WORLDEDIT-3868.
2019-03-15 17:08:11 -04:00
wizjany
18414fe3b5 Fix symlink detection. 2019-03-15 09:10:51 -04:00
Kenzie Togami
d6804737cf
Switch to SLF4J logging. 2019-03-13 19:51:48 -07:00
wizjany
1c5d3368a0 Defer permissions check when making LocalSession.
Also use Java7 Paths to get rid of some funky logic.
2019-03-11 21:31:43 -04:00
Matthew Miller
a5cec7728d
Merge pull request #452 from EngineHub/forge-1.13
Added support for Forge 1.13
2019-03-11 22:52:30 +10:00
wizjany
a59d994d84 Hook up the biome registry. 2019-03-11 00:15:21 -04:00
wizjany
a22b5535fe Shh checkstyle, I'm a C# dev now. 2019-03-08 16:14:16 -05:00
wizjany
7c89ece96e Few tweaks to schematic loading and error fixes.
* Not all EntityTypes in Bukkit have the correct enum name.
* Don't read entire schematic files to list. Go off file extension only.
   (Reading in files is more accurate, but slow.)
* Enforce extensions. (Due to the above, while you can technically make a
   schematic called 'test.txt', it's better that we save it as
   'test.txt.schem'.)
* Fix a few minor warnings.
2019-03-08 16:00:49 -05:00
wizjany
de08c8b8c7
Add better control over expression timeouts. (#451)
Add better control over expression timeouts.
* //timeout command can be used to change player's current timeout.
* Config now also has a max timeout, can be bypassed with permission
* Timeout of < 0 will let expressions run indefinitely.
* Said expressions won't run on a separate thread, slightly reducing the
  overhead from context switching. For large //gen commands, for example,
  this can actually increase speed.
2019-03-06 19:58:32 -05:00
Kenzie Togami
4878f38250
Fix platform registration, config setup 2019-03-04 19:36:06 -08:00
wizjany
f84f3c6f85 Fix error when parsing hand/offhand/pos1 as blocks. 2019-03-03 19:51:49 -05:00
wizjany
aafb854e4f More useful names for block ItemTypes. 2019-03-02 12:26:26 -05:00
wizjany
c3ee926a2e Correctness improvement for legacy data in expression generation. 2019-03-02 11:55:03 -05:00
wizjany
e53962dadd Apply source function after source mask in ForwardExtentCopy.
The source function should only get applied to actually copied blocks.
2019-03-01 21:15:21 -05:00
wizjany
f46c70093c Fix the long-range build tool's ability to build mid-air. 2019-03-01 20:10:46 -05:00
wizjany
0656ef1920 Fix LayerVisitor stopping early instead of skipping covered columns. 2019-03-01 19:25:10 -05:00
wizjany
4bd6d73085 Fix some bad copy-pasta in expression environment queries. 2019-02-28 01:03:02 -05:00
wizjany
243d6476ac Re-add smooth filtering via a mask.
Instead of trying to maintain a list of "natural terrain blocks", just
let the user specify a mask of blocks to use for the height map filter.

https://gfycat.com/severaljauntycondor
2019-02-26 23:54:53 -05:00
wizjany
9eeb0acffe Add radius checks to a few more utility commands. 2019-02-25 18:41:20 -05:00
wizjany
2f734d4570 Check radius instead of diameter for clipboard brush.
This brings it more in line with other brushes in terms of allowable size.
2019-02-25 18:41:19 -05:00
Matthew Miller
5de8e0852c Treat categories as empty when missing 2019-02-18 21:17:36 +10:00
Matthew Miller
50a286b070 Update the block/item category registries - this won't build until a Spigot PR is merged though. 2019-02-17 13:30:40 +10:00
Matthew Miller
3683a0438a Use nonNull rather than !isNull 2019-02-16 19:58:06 +10:00
Matthew Miller
db1315e043 Refactor registries to entirely use the platform 2019-02-16 19:35:13 +10:00
Matthew Miller
1b101740fe Use a proper registry for biomes 2019-02-16 17:27:00 +10:00
Matthew Miller
d6bc85ccbe Speed up the BlockState hashCode method by caching (As it's Immutable). Allows some better optimisations in the future by using them as map keys 2019-02-16 12:46:10 +10:00
wizjany
de9d202681
Clear shaped brush material on command.
The initial material is held in the factory, but if a brush was previously bound, that pattern is used.
Now, using `//br set` will clear the previous material, allowing the OperationFactory's material to work.
This can be changed later with `/mat`, which will once again set the fill on the tool, overriding the factory's context.
2019-02-15 14:51:26 -05:00
wizjany
313cd20b14 Make legacy compat layer return straight stairs. 2019-02-14 17:53:30 -05:00
wizjany
88014b18a3 Added a few new things using block states.
* `//set ##*tag` sets all states in the tag (not just default state per type)
* `//set ^type` is a pattern changing block type but copying all valid existing states
* `//set ^[prop=val,...]` sets the property `prop` to `val` wherever the existing block has that property
* `//set ^type[prop=val,...]` does both of the above
Those work anywhere a pattern is taken, of course.

* The mask syntax `^[prop=val]` matches blocks with the property `prop` set to `val`, or blocks that don't have the property at all.
* The mask syntax `^=[prop=val]` only matches blocks that have the property.
Those work anywhere a mask is taken, of course. (`//mask`, `//gmask`, `//replace`, etc)

The `//drain` command now takes `-w` flag that removes the waterlogged state from blocks (in addition to removing water, as before).
2019-02-14 17:21:01 -05:00
wizjany
287be0209c Slight readability and usability improvements.
Also no longer allows trailing strings (e.g. //set #clipboardasdf).
2019-02-12 17:11:57 -05:00
wizjany
19796aa3be Added offset to ClipboardPattern.
Takes input like '//set #clipboard@-1,0,1' which shifts the pattern over.
It also now extends RepeatingExtentPattern, which was previously unused.
2019-02-12 17:11:57 -05:00
Wizjany
76400e533d
Add missing flags to clipboard brush usage. 2019-02-11 12:50:51 -05:00
Matthew Miller
3e988e7ffe Fixed parsing fuzzy blocks failing. 2019-02-11 20:30:42 +10:00
wizjany
6708e8292f Restore generation of hollow shapes.
Unfortunately this is a bit slower than before since we can't cache block
id & data values. However, applying patterns generally isn't too expensive,
and hollow regions were entirely broken before.
2019-02-09 20:30:57 -05:00
wizjany
cdd71178f5 Ensure BlockCategories are initialized.
We should probably have a way to initialize all these catalog classes ahead of time.
2019-02-04 22:34:25 -05:00
wizjany
dddf2b963a Fix long-range build tool.
Blocks were always placed around 0,0,0 since the trace direction was being used as a position.
Also the message was backwards.
2019-02-03 19:27:30 -05:00
Matthew Miller
f3ec5bbdde Added a ##tag parser Pattern. gives a random combination using the blocks from the tag with an equal distribution. 2019-01-31 22:28:04 +10:00
Matthew Miller
2f9c7f19f5 Added support for 'rotation' BlockState values. 2019-01-22 21:59:20 +10:00
Matthew Miller
2e0fa300b7 Actually support disabling chunk loading extent 2019-01-22 21:34:37 +10:00
Brokkonaut
432a201266 Make biome changes undoable 2019-01-21 19:07:29 +01:00
Matthew Miller
871541d8c0 Tweak the last access extent cache to provide better caching 2018-12-29 19:21:45 +10:00
Kenzie Togami
2f8bdccf65
Clarify state when asking for caps with no platforms 2018-12-28 22:20:12 -08:00
Matthew Miller
862b63d43a Can't query the row directly 2018-12-28 18:06:41 +10:00
Matthew Miller
54b6e57186 Few minor improvements to the fuzzy system. 2018-12-28 15:05:05 +10:00
Matthew Miller
b544782f3b Make the base fuzzy cached per block type 2018-12-27 15:33:19 +10:00
Matthew Miller
8da984d9f9 Fuzzier fuzzies 2018-12-27 15:19:58 +10:00
Kenzie Togami
386668d221
Clean up other compiler warnings 2018-12-26 16:50:24 -08:00
Kenzie Togami
3fefcbf971
Remove all raw usages of BSH, improve API generics 2018-12-26 16:39:10 -08:00
Matthew Miller
a88f6b8430 Minor improvements to the server side CUI 2018-12-26 18:15:17 +10:00
Matthew Miller
b75d5149eb Fixed the bundle being directly used outside of the registry system. 2018-12-23 21:43:20 +10:00
Matthew Miller
1d5e9b7d04 Few fixes 2018-12-23 21:24:58 +10:00
Matthew Miller
645fd682b6 Finish porting all the old masks across 2018-12-23 19:10:05 +10:00
Matthew Miller
6312bcecf6 Fixed the item parser not using the ItemRegistry 2018-12-23 19:02:58 +10:00
Matthew Miller
c5d9aadab8 Start work on modularising masks and patterns 2018-12-23 18:56:26 +10:00
Matthew Miller
d6977aeae4 Allow a pattern for the leave-id of //move 2018-12-22 17:26:02 +10:00
Matthew Miller
8d07877463 Pass the exception converter through more. 2018-12-21 17:31:27 +10:00
Matthew Miller
ea30578781 Added a way to get the spawn position of a world 2018-12-21 17:05:30 +10:00
Matthew Miller
c949b07df1 Added a method to teleport entities across worlds. 2018-12-21 16:56:10 +10:00
Matthew Miller
b300c21185 Update draw.js and roof.js 2018-12-20 13:43:01 +10:00
Matthew Miller
5eb9b779d7 Move the pasting system over to WorldEdit, and add a /we report command. Currently only reports system status and the config. Need to add a platform reporter system. 2018-12-18 19:28:55 +10:00
Matthew Miller
8f236afae9 Added a display name to Actors 2018-12-18 17:36:53 +10:00
Matthew Miller
700e41b706 Remove the final stage committer from the MultiStageReorder extent, as it caused issues and no longer appears to be entirely necessary. 2018-12-13 20:30:54 +10:00
Matthew Miller
926f6a6ab8 Flush undo/redo 2018-12-09 16:28:01 +10:00
Matthew Miller
6f3016c7f0 Fixed up the commitRequired checks. 2018-12-09 16:28:01 +10:00
Matthew Miller
5f2c77b719 Further work on this. Currently fast mode breaks doors, gotta work out why applying physics to doors breaks them. 2018-12-09 16:28:01 +10:00
Matthew Miller
618cbd2250 Few small fixes 2018-12-09 16:28:01 +10:00
Matthew Miller
59f9864ba3 Set fast to the default 2018-12-09 16:28:01 +10:00
Matthew Miller
7f11b2800d Added an option to switch reorder modes 2018-12-09 16:28:01 +10:00
Matthew Miller
b3f5bc030e Few fixes for FastModeExtent. 2018-12-09 16:28:01 +10:00
Matthew Miller
7d468357e3 Added "fast mode corrections" 2018-12-09 16:27:02 +10:00
Matthew Miller
4e5e9f609e Added the multi-staging from the multipass2 branch 2018-12-09 16:27:02 +10:00
JOO200
a73faf0c8b Check by setting blocks with BlockBagExtend for changed materials. 2018-12-05 17:09:06 +01:00
Matthew Miller
be0d21e2a9 Filter out commands that the player doesn't have permissions for. Workaround for a Spigot issue. 2018-12-05 16:32:20 +10:00
Matthew Miller
8e18ecb645
Merge pull request #330 from Europia79/vpcmdfix
Fixes issue 3315 with VirtualPlayers
2018-11-24 13:16:56 +10:00
Matthew Miller
2dc9321da6 Added support for axis rotations. 2018-11-17 12:00:19 +10:00
Matthew Miller
24800a662a Finish removal of PlayerDirection, and partially added diagonal support back to commands. 2018-11-12 12:38:13 +10:00
Matthew Miller
626861aa99 Fixed serialisation of vectors. 2018-11-05 23:27:03 +10:00
Matthew Miller
4e4ed6c893 Fixed missing BaseBlock import 2018-11-04 17:27:36 +10:00
Matthew Miller
53bc730909
Merge pull request #435 from sk89q/feature/trace-unflushed-sessions
Add tracing for unflushed EditSessions
2018-11-04 17:21:25 +10:00
Kenzie Togami
b6f6f3dde6
Correct trace property name 2018-11-03 23:06:52 -07:00
Kenzie Togami
2c8b2fe089
Move vectors to static creators, for caching 2018-11-03 23:00:24 -07:00
Kenzie Togami
399e0ad5fa
Refactor vector system to be cleaner
- Move Vector, etc. into `.math` package
- Drop many methods that will be auto-promoted anyways, eg. with
`divide(int)` and `divide(double)` the first is now gone.
- Take Block vectors into their own class hierarchy
- Make it clear throughout the API what takes blockvectors
- many more improvements
2018-11-03 23:00:23 -07:00
Kenzie Togami
e202348dac
Simplify commit-required detection 2018-11-03 22:22:43 -07:00
Kenzie Togami
b8ae611c73
Checkstyle requires calling super.finalize 2018-10-30 18:44:32 -07:00
Kenzie Togami
e1fbaaff59
Add tracing for unflushed EditSessions 2018-10-30 18:39:51 -07:00
Kenzie Togami
3b5972b7f2
Flush / unbuffer more tools 2018-10-30 18:06:00 -07:00
Matthew Miller
93de97dc19 Allow modifying the region of a BlockArrayClipboard 2018-10-24 16:50:15 +10:00
Matthew Miller
275a2fa887 Fixed a few bad javadoc imports 2018-10-24 16:33:04 +10:00
Kenzie Togami
d1312c66e1
Ensure we flush iff it is needed 2018-10-20 19:54:13 -07:00
Kenzie Togami
a3f1c71d97
Make EditSession closeable for easy flushing 2018-10-20 19:50:35 -07:00
Kenzie Togami
1fa1ff895b
Flush or disable buffers in tools 2018-10-20 19:47:17 -07:00
Matthew Miller
dd2fcbac23
Merge pull request #430 from sk89q/feature/chunk-batching-mode
Chunk Batching
2018-10-15 13:50:10 +10:00
Matthew Miller
f8bf547c9e Added some missing bukkit registries 2018-10-14 17:55:57 +10:00
Matthew Miller
0a149a796f Make distr operation based 2018-10-12 15:28:40 +10:00
Kenzie Togami
e16dacc11e
Small patches for timed-calc post-1.12-merge 2018-10-11 17:25:06 -07:00
Kenzie Togami
21db86f26b
Register a platform for expression tests 2018-10-11 17:18:52 -07:00
Kenzie Togami
bb923aeb59
Attach a configurable timeout to expression evaluation 2018-10-11 17:18:52 -07:00
Matthew Miller
844971bca6 Java on TC doesn't compile this code for some reason. 2018-10-11 22:04:16 +10:00
Matthew Miller
495b9d07b5 Not all "north/south/east/west" are boolean 2018-10-11 21:39:41 +10:00
Kenzie Togami
2824a92c19
Fix some minor ordering bugs 2018-10-10 12:23:00 -07:00
Kenzie Togami
7d4906cfe9
Add chunk batching flag, enable by default 2018-10-10 11:38:23 -07:00
Kenzie Togami
ff391ca0b3
Update licenses 2018-10-10 11:38:23 -07:00
Kenzie Togami
f73be4b75c
Add newline to LocatedBlock.java 2018-10-10 11:38:23 -07:00
Kenzie Togami
e059490cd1
Rework block-batching, create draft of chunk batching 2018-10-10 11:38:23 -07:00
Matthew Miller
6ecbf19406 Properly rotate fences etc 2018-10-08 22:32:26 +10:00
Kenzie Togami
ff877ec03b
Make BlockType#getDefaultState like other fields 2018-10-04 17:20:07 -07:00
Kenzie Togami
ef2c07ca24
Update forge for new block API 2018-10-04 17:18:43 -07:00
Kenzie Togami
d0ea5121f2
Make some BlockType fields lazy, to avoid early Platform dependencies 2018-10-04 17:18:01 -07:00
Kenzie Togami
2cad9a2c09
Switch to a license plugin for headers 2018-10-04 00:29:34 -07:00
Kenzie Togami
36cbc5d9d0
Cleanup javadoc warnings in worldedit-core 2018-10-01 15:30:23 -07:00
Matthew Miller
59584ba10c [Experimental] Don't check for permissions on root parents. 2018-09-26 15:41:27 +10:00
Matthew Miller
fd6034fbdd Added the 1.13.1 new blocks. 2018-09-23 20:22:33 +10:00
Matthew Miller
1a2cd3a948 Fixes WORLDEDIT-3609, Message should say cut when //cut is used. 2018-09-20 17:09:50 +10:00
Matthew Miller
4969dac39c Potential minor performance improvements when checking fuzzy equality. 2018-09-20 16:56:46 +10:00
Gerrygames
934680dac2 fix sponge schematic offset 2018-09-04 14:26:50 +02:00
Brokkonaut
480f2de3af Add 1.13 chunk format for snapshots
Fixes WORLDEDIT-3714
2018-09-02 04:33:08 +02:00
Matthew Miller
8bfbc55c71 Enable experimental //walls for non-cuboid regions. 2018-08-30 16:42:50 +10:00
Matthew Miller
fdc3cd56f7 Add a mask for block categories. Eg, you can now do //replace ##wool minecraft:sand to replace all wool with sand 2018-08-30 14:51:38 +10:00
Matthew Miller
c931095736 Little bit of formatting 2018-08-27 17:24:18 +10:00
Matthew Miller
69ab1781c6 Replace FuzzyBlockMask with BlockMask, and added BlockTypeMask as a more performant mask for just block types. 2018-08-20 15:57:42 +10:00
Matthew Miller
d3b3d57041
Merge pull request #420 from sk89q/server-side-cui
Added a server side version of WorldEditCUI with limited functionality
2018-08-20 14:46:08 +10:00
Matthew Miller
7b83f97c35 Fixed NotABlockException not getting thrown 2018-08-19 14:41:09 +10:00
Matthew Miller
0f8cc99c35 Disable server CUI by default. 2018-08-19 13:46:24 +10:00
Matthew Miller
4d0df10f88 Fixed sessions not saving on shutdown 2018-08-19 13:01:08 +10:00
Matthew Miller
41c307a4b5 Set the session to dirty if the server CUI is changed. 2018-08-19 10:46:46 +10:00
Matthew Miller
dc39300af8
Merge pull request #364 from mickare/patch-1
Fix region contain method
2018-08-18 20:33:53 +10:00
Matthew Miller
eba91cac5f Added a config option to entirely disable server side cui. 2018-08-18 19:42:45 +10:00
Matthew Miller
20b67db48d Added a command to turn it on/off 2018-08-18 16:34:32 +10:00
Matthew Miller
f8585adc79 Remove debug code 2018-08-18 15:27:26 +10:00
Matthew Miller
7f419618cc Switch to using fake blocks, no more world pollution 2018-08-18 15:22:49 +10:00
Matthew Miller
cf10f8ff8a Proof of concept server-side CUI handler. Note: This pollutes the world with blocks atm 2018-08-18 14:22:08 +10:00
Matthew Miller
bc5609114b Add a material to check if air is air, because there are now 3 types of air. 2018-08-16 15:42:11 +10:00
Matthew Miller
c31161d068 Moved report framework to WorldEdit and fixed a few bugs. 2018-08-15 12:45:18 +10:00
Matthew Miller
e0e7778536 Fixed some bugs and cleanup some code. 2018-08-13 22:18:12 +10:00
Matthew Miller
f96487a2d1 Use BlockStateHolder for setBlocks 2018-08-10 20:36:00 +10:00
Matthew Miller
f54d6afb65 Make BaseBlock more memory efficient, and make it clear in the API that it's not intended to be used for every single block. 2018-08-10 20:29:06 +10:00
Matthew Miller
5f4cc3e694 Cleanup a little bit more code. 2018-08-06 19:08:15 +10:00
Matthew Miller
d11c3ae600 Fixed reading in schematics failing if they had tile entity data because of a Spigot change. 2018-08-06 17:57:40 +10:00
Matthew Miller
334143357a Added LongArrayTag support to NBT 2018-08-05 13:36:53 +10:00
Matthew Miller
38cff7c7b2 Fixed up tile entities in Sponge schematics. 2018-08-04 11:43:43 +10:00
Matthew Miller
b2769befdb Added a few utility methods. 2018-08-04 11:43:42 +10:00
Matthew Miller
b2bc043eeb Added 155:3 and 155:4 translation 2018-08-04 11:43:42 +10:00
Matthew Miller
3d265ff9b9 Added entity translations 2018-08-04 11:43:42 +10:00
Matthew Miller
2f3bc59e1b Fixed //move 2018-08-04 11:43:42 +10:00
Matthew Miller
7773ef6f9a Fixed a few issues with Sponge schematic handling. 2018-08-04 11:43:42 +10:00
Matthew Miller
2c1b234e38 Fixed some issues with Sponge schematics. 2018-08-04 11:43:42 +10:00
Matthew Miller
ea349bdbf1 Fix checkstyle issues. 2018-08-04 11:43:42 +10:00
Matthew Miller
a75d9e896b Start work on the Sponge schematic format. This should work but it may not, it's untested. 2018-08-04 11:43:42 +10:00
Matthew Miller
a4b9ceaeb2 Finish off the last of the legacy mapper warnings (Excluding TNT as I've got the 1.13.1 names) 2018-08-04 11:43:42 +10:00
Matthew Miller
c05c33cab0 Make a lot of progress on legacy conversions. 2018-08-04 11:43:42 +10:00
Matthew Miller
fdb7ada295 Added some error handling for legacy conversions of schematics. 2018-08-04 11:43:42 +10:00
Matthew Miller
57eaa5f8f2 Using toBlockPoint appears to fix a fair few issues. 2018-08-04 11:43:42 +10:00
Matthew Miller
1480606b52 Fixed a few more issues found looking over the changeset. 2018-08-04 11:43:42 +10:00
Matthew Miller
521238b4eb Fixed a few clipboard related issues. 2018-08-04 11:43:41 +10:00
Matthew Miller
db21f51a18 Fixed up data cycler command, and the fixwater & fixlava commands. 2018-08-04 11:43:41 +10:00
Matthew Miller
64e0d99696 Improvements to the legacy mapper. Still a lot of work. 2018-08-04 11:43:41 +10:00
Matthew Miller
1090c44a2e Parser must use lowercase. 2018-08-04 11:43:41 +10:00
Matthew Miller
965e977411 Fixed a few more errors, and added legacy support to the item parser. 2018-08-04 11:43:41 +10:00
Matthew Miller
bc2279f2f6 Refactor schematics to use kenzierocks registerable system. 2018-08-04 11:43:41 +10:00
Matthew Miller
3f1f52d1f1 Made a few schematic related fixes. Made the deprecation error more obvious. 2018-08-04 11:43:41 +10:00
Matthew Miller
9f9fda72b7 Re-add legacy support to block parser, and fix query tool. 2018-08-04 11:43:41 +10:00
Matthew Miller
5f551d1ed4 Include default blockstate information. 2018-08-04 11:43:41 +10:00
Matthew Miller
65420af09e Fixed //fill and //rotate 2018-08-04 11:43:41 +10:00
Matthew Miller
2239d14a01 Fixed //replace and masks with states. 2018-08-04 11:43:41 +10:00
Matthew Miller
663dd1f4d8 Added an entity, weathertype, and gamemode registry. 2018-08-04 11:43:41 +10:00
Matthew Miller
572bf04482 Cleanup the bukkit implementation, and update to the 1.13 release items/blocks. 2018-08-04 11:43:41 +10:00
Matthew Miller
c3d832c3fd State system is done. It works. Finally. Still a few rough edges that need fixing however. 2018-08-04 11:43:41 +10:00
Matthew Miller
6b5f218809 Basically finish the state system. Just 1 more bug that I'm encountering. 2018-08-04 11:43:41 +10:00
Matthew Miller
4938f419ad Almost finished the state system. Just got to have it actually load in the values. 2018-08-04 11:43:41 +10:00
Matthew Miller
3e1d438565 Get it to a point where it works minimally on 1.13 Spigot. 2018-08-04 11:43:41 +10:00
Matthew Miller
59ca29577c Remove weird TODO import and moved BlockType == Material to BukkitUtil 2018-08-04 11:43:40 +10:00
Matthew Miller
ca06a05117 Update the Bukkit adapter to the Spigot API Preview 2018-08-04 11:43:40 +10:00
Matthew Miller
724661d903 Fixed DefaultBlockParser not working for things with _ 2018-08-04 11:43:40 +10:00
kashike
ee6af8ee76 state stuff 2018-08-04 11:43:40 +10:00
kashike
40a665a509 package move 2018-08-04 11:43:40 +10:00
kashike
70208c38fd category changes 2018-08-04 11:43:40 +10:00
Matthew Miller
e1c2ea3a3b Update configs, and remove unused BlockData methods. 2018-08-04 11:43:40 +10:00
kashike
d33e2e98aa registry changes 2018-08-04 11:43:40 +10:00
kashike
a48c319e7e package move 2018-08-04 11:43:40 +10:00
Matthew Miller
7db443a69a Migrate the logic for which pass a block goes into. Also updated it and made it use tags where possible. 2018-08-04 11:43:40 +10:00
Matthew Miller
efa09001c2 Remove the 'natural only' smooth brush feature due to inaccuracies. 2018-08-04 11:43:40 +10:00
Matthew Miller
57c13ef8f4 Continue moving out of legacy BlockType 2018-08-04 11:43:40 +10:00
Matthew Miller
e291cccb94 Move simulateBlockMine up to the platforms. 2018-08-04 11:43:40 +10:00
Matthew Miller
11f5d05e7b Update BlockState to remove legacy ID usage. 2018-08-04 11:43:40 +10:00
Matthew Miller
93b225ca3c Expose a way of switching between ItemType and BlockType for ItemBlocks. 2018-08-04 11:43:39 +10:00
Matthew Miller
b06937d1c8 Setup a legacy mapper system. The file does not exist yet. 2018-08-04 11:43:39 +10:00
Matthew Miller
8e09eb3dbe Re-added wool colours to block parser 2018-08-04 11:43:39 +10:00
Matthew Miller
66d70f00e7 Removed more deprecated code 2018-08-04 11:43:39 +10:00
Matthew Miller
416480c16d Separated out fluids and blocks - they're different now 2018-08-04 11:43:39 +10:00
Matthew Miller
70aceb3837 Use default state a bit more. 2018-08-04 11:43:39 +10:00
Matthew Miller
282eca7663 Added a category system and refactored registries 2018-08-04 11:43:39 +10:00
Matthew Miller
484687a49d Further work on BlockState transition 2018-08-04 11:43:39 +10:00
Matthew Miller
e99190225e Further BaseBlock modernisation 2018-08-04 11:43:39 +10:00
Matthew Miller
811f1d4433 Rewrote block parsing, and further switch to BlockState 2018-08-04 11:43:39 +10:00
Matthew Miller
5f5a1797ad Remove legacy ServerInterface 2018-08-04 11:43:39 +10:00
Matthew Miller
e2608bc0c9 Further modernise and remove legacy item classes 2018-08-04 11:43:39 +10:00
Matthew Miller
c43109bde5 Start work on the new BaseBlock/BlockState split 2018-08-04 11:43:39 +10:00
Matthew Miller
aaaf2d5678 More deprecation removal 2018-08-04 11:43:38 +10:00
Matthew Miller
20bf6e079b Continue the great purge 2018-08-04 11:43:38 +10:00
Matthew Miller
c537a2e948 Remove a tonne of code from WorldEdit. This breaks backwards compatibility. More will be removed. Sorry :) 2018-08-04 11:43:38 +10:00
Matthew Miller
b292a39765 Fixed the fuzzy matcher 2018-08-04 11:43:38 +10:00
Matthew Miller
a71e39d777 Convert the data system to a state system. This doesn't work, needs new data 2018-08-04 11:43:38 +10:00
Matthew Miller
1cc735e359 Further work on items 2018-08-04 11:43:38 +10:00
Matthew Miller
001a3544fb Update the BaseItem classes 2018-08-04 11:43:38 +10:00
Matthew Miller
07ade0b083 Phase 1 of Item conversion 2018-08-04 11:43:38 +10:00
Matthew Miller
d12ad2548a Add block registration to Forge WorldEdit. 2018-08-04 11:43:38 +10:00
Matthew Miller
3aff57d071 Bumped version and fixed LazyBlock issue. 2018-08-04 11:43:38 +10:00
Matthew Miller
d5012bb072 Rename legacy things to bundled things. 2018-08-04 11:43:14 +10:00
Matthew Miller
f5f1d357d9 Get rid of the string equality and convert a few more ID uses over. 2018-08-04 11:43:14 +10:00
Matthew Miller
41a80064f5 I guarantee this is broken. Start some form of string ID for blocks 2018-08-04 11:43:14 +10:00
Cebtenzzre
030a07b1d6 Fix ascent and descent commands.
For seven years and two days, the algorithm for ascent and descent has had an off-by-one error, and started at the wrong level.
Also, the message for failed descent has apparently never been right.
I figured I'd follow Java's conventions (as I see them) and have a body for the loop, so instead of incrementing the counter within the loop condition, I refactored the loop and put in a break statement.  I prefer the shorter version, but POLA wins in a foreign code base.
2018-07-09 06:00:58 -04:00
Qveshn
ebd2a5b7c8 Unnecessary debug output removed
It was my mistake, I'm very sorry =(
2018-05-27 13:45:30 +03:00
Matthew Miller
9f86e71d47
Merge pull request #415 from Qveshn/feature/customlog
Customizable command log format (Date+Time are now available)
2018-05-27 16:50:26 +10:00
Qveshn
6a8ff1f4fe Fix entities double transformation
tested with commands stack,copy,rotate,paste
1. //stack 3 up (checked field "repetitions")
2. //copy -e //rotate 45 //rotate 45 //paste (checked transformation)
2018-05-19 20:07:32 +03:00
Qveshn
f680635ded Added customizable command log format (Date+Time are now available)
Added the option format to config files (config.yml + worldedit.properties). By default, current date and time are displayed.
The formatting function is implemented by analogy with the class java.util.logging.SimpleFormatter
2018-05-19 18:47:45 +03:00
Matthew Miller
f67f2ed93e
Merge pull request #408 from Brokkonaut/fix-old-sign-converting
Fix loading and converting signs in old schematics
2018-04-07 09:47:26 +10:00
Matthew Miller
ca660f1260
Merge pull request #409 from Brokkonaut/fix-wrong-block-for-snow-check
LEAVES2 should have snow on it too
2018-03-27 14:56:18 +10:00
Brokkonaut
4d2fe62d97 Fix loading and converting signs in old schematics
* Sign texts not starting with { are never valid json objects, so don't try to parse
* Else try to parse as json, but fall back to read sign text as string if not parseable
2018-03-26 06:49:39 +02:00
Brokkonaut
165fdac642 some translucent blocks were missing 2018-03-25 08:40:16 +02:00
Brokkonaut
701d80c757 LEAVES2 should have snow on it too 2018-03-25 08:38:47 +02:00
Matthew Miller
52263ac3b7 Ignore CUI connections with more than 3 failed attempts. 2018-02-28 10:59:00 +10:00
Matthew Miller
b17f2b55d7
Merge pull request #379 from boy0001/vector-fix
Vector and BlockVector should use the same hashCode
2018-02-17 16:18:35 +10:00
Matthew Miller
50f60da69f Prevent players and complex parts being pasted in schematics. 2018-01-02 20:49:36 +10:00
Matthew Miller
6fc1449837
Merge pull request #391 from sk89q/sign-fixes
Provide compatibility for legacy schematics that use the old sign NBT format
2018-01-02 20:38:00 +10:00
SlimSoftware
099987d439
Fix //snow didn't put snow on all types of leaves
For example, //snow didn't work on Oak leaves while it did work as you would expect on Dark Oak leaves. Fixed by adding leaves2 to translucent block list and checking if the block to put snow on is a leaf block when executing //snow.
2017-12-14 21:00:38 +01:00
Jesse Boyd
5c64cf2f56 Fix affine inverse (#395) 2017-09-02 00:23:30 -07:00
Kenzie Togami
d6aa1ad509
Make Java 8 detection work on Java 9
Closes #393.
2017-08-16 16:39:42 -07:00
Kenzie Togami
6c6e1b4ce2
[Forge] Officially move to Java 8 2017-08-16 16:07:18 -07:00
Kenzie Togami
f2c5b272ad
Add client-side left-click-air handler 2017-08-16 15:20:33 -07:00
Dumbo52
82bf563b3d Add beds, concrete, and concrete powder to usesDamageValue hash 2017-07-16 06:38:12 -04:00
Wyatt Childers
6b8ae6b988 Provide compatibility for legacy schematics that use the old sign NBT format 2017-07-04 14:58:18 -04:00
wizjany
b557b2b71d Revert "Some command fixes" aka "Some command breaks"
This reverts commit 4a8bba7a54.
Fixes WORLDEDIT-3574.
2017-06-09 12:46:26 -04:00
Jesse Boyd
4a8bba7a54 Some command fixes
Fix EditSession being created for commands that don't need it
Fix error from schematic list (when there are files in sub directories)
Fix dispatcher redundantly checking a huge number of permissions
2017-06-08 10:01:23 -04:00
wizjany
b2fb73582f Fixed //center not working in some cases.
Due to odd rounding and math issues, using //center on a region with an edge of even
length in quadrants with negative coordinates would only fill one of the two center blocks.

Thanks to Griffrez and up201406036 for the original PR.

Fixes WORDLEDIT-2986.
2017-06-08 10:01:23 -04:00
wizjany
a03b9cbe4c Add blocks and items for MC 1.12.
And some forgotten before...
2017-06-08 10:01:23 -04:00
wizjany
46dff16a97 Use our own firstNonNull to maintain back-compat.
Fixes WORLDEDIT-3567.
2017-06-08 10:01:23 -04:00
wizjany
41de204186 Allow copyEntities to be used in ForwardExtentCopy again.
The -e flag should now work for //copy and //cut as it used to.

Fixes WORLDEDIT-3557.
2017-03-19 11:56:04 -04:00
wizjany
e511758d99 Add rotations to various blocks that were missing them.
Up/down levers still broken.

Fixes WORLDEDIT-3490.
2017-02-26 18:56:38 -05:00
Jesse Boyd
58094c72c3
* 2017-01-10 16:12:13 +11:00
Jesse Boyd
ad7fdd19fb
Vector and BlockVector should use the same hashCode
For example, the getChunks method returns a Set<Vector2D> which is
actually comprised of BlockVector2D, so using set.contains(some vector)
will always return false.

There's unlikely to be multiple entities on the same block, or above
y=256, so using the int coords is better.
2017-01-10 16:03:10 +11:00
wizjany
66aa881b0c Copy Kernel class to WorldEdit to avoid loading AWT.
Java 8's Kernel statically loads the AWT library, which
can apparently cause some issues on some systems, for some reason.

Either way, there is no need to load AWT if it's not needed (Java pls).
2017-01-08 00:51:16 -05:00
wizjany
17aafe87d0 Add some old missing items to the db. 2016-11-30 16:22:48 -05:00
wizjany
465161145b Add new blocks and items to lookups. 2016-11-23 18:14:17 -05:00
wizjany
b0bfa4a562 Add new 1.11 blocks. 2016-11-20 03:07:28 -05:00
Michael
6c65a8a989 CuboidRegion contains use block position
Int casting would be better here than adding one to the max block
2016-09-13 23:13:47 +02:00
Michael
5de4cfced2 Fix region contain method
The region contain method was broken.
A lot of subsquent issues are caused by this bug.
E.g. in a selection the entities in the last blocks at the positive-axis border are not selected.

Max block gives the impression of an exclusive point; however it is inclusive!
A position that is anywhere between of a 1x1x1 region, would return false in the old implementation.

By simply adding a one this should solve the problem.

Greetings
2016-09-13 09:26:23 +02:00
Wizjany
2e10fe896f Fixed bad copypaste in error message for //curve. 2016-08-27 16:53:51 -04:00
Wyatt Childers
b9801ebf57 Fixed an issue where the ParametricCallable wasn't forwarding InvocationTargetExpections caused by CommandExceptions properly
Fixes WORLDEDIT-3364
2016-07-17 19:03:22 -04:00
wizjany
c957ffb95a Fix NPE when //genbiome expression was false.
Fixes WORLDEDIT-3467.
2016-07-06 11:14:11 -04:00
wizjany
28d45870e2 Apply transforms to vectors in //paste -s. 2016-06-29 00:38:11 -04:00
wizjany
e0c8776f0f Fix query function in expression masks.
Fixes WORLDEDIT-3344.
2016-06-28 23:59:34 -04:00
Wyatt Childers
6e36b5236c Fixed the automatic selection of a user's pasted area when using //paste -s
Fixes WORLDEDIT-3457
2016-06-28 20:36:46 -04:00