Commit Graph

284 Commits

Author SHA1 Message Date
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
Wyatt Childers
a091853385 Made the CommandManager responsible for exception converters as apposed to individual dispatchers
Previously some exceptions were being handled only in the ParametricCallable, which lead to other dispatchers throwing the exception, and requesting that users report them.

Fixes WORLDEDIT-3386
2016-06-28 19:37:10 -04:00
Minecrell
7a097ca56e Add new 1.10 blocks to blocks.json 2016-06-23 09:03:07 -04:00
Kenzie Togami
f689d53d62 Fix Sign json generation 2016-06-18 09:49:46 -07:00
Kenzie Togami
e42107557e [Forge] Make DefaultBlockParser behave more like vanilla. 2016-06-17 16:59:41 -07:00
wizjany
5a42a8ddb4 Update internal block and item definitions. 2016-06-11 13:07:53 -04:00
FrozenBrain
fabd7045e7 Fix NPE when rotating hanging entities (#356) 2016-05-20 20:00:30 -04:00
FrozenBrain
85d4b9f4ec Fix MathUtils.dSin 2016-05-20 17:14:04 -04:00
FrozenBrain
4a7683d5bf Apply transformations to NBT data of tile entities (fixes rotation of skulls) 2016-05-20 17:13:52 -04:00
FrozenBrain
8f50f5adfb Fix secondary-ordinal direction vectors 2016-05-20 17:13:46 -04:00
FrozenBrain
1a3ae37b73 Fix rotation of item frames 2016-05-20 17:13:39 -04:00
Wyatt Childers
7dc9a9aece Merge remote-tracking branch 'origin/master' into feature/sponge-new 2016-05-18 19:49:16 -04:00
Wizjany
03d7cd394a Fix another NPE in schematics. 2016-05-18 12:44:22 -04:00
David Ortiz
2734dc377c Add 1.9 doors to getBlockBagItem HashMap 2016-05-17 03:00:09 -05:00
David Ortiz
c3342bb7b4 Add support for 1.9 doors on MultiStageReorder 2016-05-17 01:15:50 -05:00
wizjany
b3fbe8b7a5 Update blocks.json.
This fixes a lot of issues with block rotations for various blocks.
Additionally, the //info tool will now report states (only works for
states that use data values) for easier lookups.

Note that some doors still have update issues, and //fast is needed
to paste them if they drop as items.
2016-05-15 04:02:35 -04:00
Kenzie Togami
574ed9aa41 Fix some formatting concerns. 2016-05-05 20:09:53 -07:00
Kenzie Togami
301d02c9c5 Warn when not using Java 8 or greater.
Note: this warning is not in the shared WorldEdit class because it
doesn't get loaded as early as the individual plugin/mod
implementations for some reason.
2016-05-05 17:55:22 -07:00
wizjany
c9f54ecb01 Only negative radius allowed for //butcher is -1. 2016-04-26 19:40:25 -04:00
wizjany
867e59ba3d Parse empty sign lines as empty JSON strings.
Since the server doesn't bother validating sign text, and
the client validates it by crashing. Note that this attempts
to wrap strings as JSON, but hasn't been fully tested.
2016-04-14 19:24:09 -04:00
Wyatt Childers
d3bbb40274 Merge remote-tracking branch 'origin/master' into feature/sponge-new 2016-03-19 14:44:56 -04:00
wizjany
94ae1be2d1 Fix NPE when using //schem list with not schematics present. 2016-03-08 12:42:23 -05:00
Wyatt Childers
124308c4ce Fixed an issue where an entity could fail to spawn, and this would end the edit 2016-02-05 19:33:48 -05:00
Kenzie Togami
982420369d Rewrite Closer to compile on Java 6 wrt Jar/ZipFile. 2016-01-31 22:26:30 -08:00
rlf
03f8843c20 More efficient chunk calculation of CuboidRegion 2016-01-13 19:02:46 -05:00
wizjany
62befe7594 Fix schematics in directories. 2016-01-13 18:55:49 -05:00
wizjany
629b7d56dc Merge branch 'feature/paged-schematic' of https://github.com/kenzierocks/WorldEdit 2016-01-13 17:46:10 -05:00
wizjany
2cd4412b5d Make mask parser create world-aware expression masks.
This allows things like //gmask =queryRel(...) to work.
Also the query* functions now allow -1 as a wildcard for either id or data.
2016-01-13 17:34:58 -05:00
Kenzie Togami
8cd46977f3 Add paging to //schematics.
-p <int> can be used to select a page. Defaults to page 1.

First implementation by @BangL.
2015-12-28 12:52:39 -08:00
wizjany
23d6fa7579 Add worldedit.calc permission node to //calc command. 2015-12-21 16:14:44 -05:00
wizjany
bed8a80894 Revert to Guava 17's firstNonNull.
Deprecated but Spigot doesn't include guava18 yet.
2015-11-13 20:17:56 -05:00
sk89q
0e200df5be Replace //set with new command version. 2015-10-29 18:20:27 -07:00
Albert Pham
86c6de7105 Add shortcut forest brush. 2015-10-29 13:16:22 -07:00
Albert Pham
fdfc3cdb33 Reorganize and further unify the new commands. 2015-10-29 13:05:04 -07:00
Albert Pham
25ad916611 Make ApplyCommand use SimpleCommand rather than ParameterCommand. 2015-10-28 14:08:47 -07:00
Albert Pham
6cfc60b2d6 Don't call next suggestion provider if there are no args left. 2015-10-28 14:08:29 -07:00
Albert Pham
cba32732a3 Add /br raise and /br lower as shortcuts for /br deform. 2015-10-28 13:50:07 -07:00
Albert Pham
98b61d0fbd Add a default suggested Deform expression. 2015-10-28 13:38:04 -07:00
Albert Pham
874408ad10 Make flags command executor-specific. 2015-10-28 13:37:58 -07:00
Albert Pham
f4bb5272e1 Update new commands with suggestion and help support. 2015-10-27 13:51:45 -07:00
sk89q
935de4c93d Add some experimental brush commands.
/br set <shape> <radius> <pattern>
/br deform <shape> <expression>
/br scatter <shape> <density> <generator>
/br apply <shape> <generator>

<shape> can be: cuboid, cyl[inder], sphere

<density> is 0-100

<generator> can be:
forest|tree <type>
item <item>[:<data>] (ONLY WORKS ON FORGE)

Examples:

/br deform cuboid 5 y-=0.2
/br scatter sphere 5 100 minecraft:dye:15
2015-10-26 23:14:30 -07:00
wizjany
9a65bdb72d Fix cycler tool trying to set negative data values.
Fixes WORLDEDIT-3325.
2015-07-31 12:46:51 -04:00
wizjany
1dd6faf786 Actually for real fix unit tests.
I promise this time.
Seriously though, who makes unit tests depend on some old,
hardcoded file that isn't even updated anymore.
2015-07-17 07:51:41 -04:00
Wizjany
2aad68f80d Fix BlockData causing unit test to fail
Yes, even though north/south and south/north anvils LOOK the same, they are in fact different data values.
2015-07-17 04:48:09 -04:00