Commit Graph

319 Commits

Author SHA1 Message Date
Jesse Boyd
7ed96ec358
Add property pattern 2018-08-16 00:12:07 +10:00
Jesse Boyd
659ed09bf1
Fix compile 2018-08-16 00:04:16 +10:00
Jesse Boyd
13d2ae20d5
Make end tag singleton 2018-08-15 17:02:17 +10:00
Jesse Boyd
1d3cf75d06
*Fix merge 2018-08-15 14:13:41 +10:00
Jesse Boyd
a67441bbff
Merge remote-tracking branch 'refs/remotes/sk89q/master'
# Conflicts:

#	worldedit-bukkit/src/main/java/com/sk89q/worldedit/bukkit/BukkitWorld.java
#	worldedit-core/src/main/java/com/sk89q/worldedit/blocks/BaseBlock.java
#	worldedit-core/src/main/java/com/sk89q/worldedit/world/NullWorld.java
2018-08-15 14:02:51 +10:00
Matthew Miller
c31161d068 Moved report framework to WorldEdit and fixed a few bugs. 2018-08-15 12:45:18 +10:00
Jesse Boyd
db65e96700
Ignore invalid properties 2018-08-14 20:57:32 +10:00
Jesse Boyd
ced4fed9db
Create pom 2018-08-14 20:41:52 +10:00
Jesse Boyd
131fd39f63
Various minor
Add entity registry
Re-add AbstractLoggingExtent
Fill in missing nbt on entity load
2018-08-14 19:24:10 +10:00
Jesse Boyd
55d34343dd
Fix some api compatibility issues 2018-08-14 17:18:49 +10:00
Jesse Boyd
1740c845d2
What are the dud BlockCategories? 2018-08-14 11:00:44 +10:00
Jesse Boyd
76a55b7712
Merge remote-tracking branch 'refs/remotes/sk89q/master'
# Conflicts:

#	worldedit-bukkit/src/main/java/com/sk89q/worldedit/bukkit/BukkitAdapter.java
#	worldedit-core/src/main/java/com/sk89q/util/yaml/YAMLProcessor.java
#	worldedit-core/src/main/java/com/sk89q/worldedit/blocks/BlockType.java

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

#	worldedit-core/src/main/java/com/sk89q/worldedit/command/tool/BlockReplacer.java

#	worldedit-core/src/main/java/com/sk89q/worldedit/command/tool/LongRangeBuildTool.java

#	worldedit-core/src/main/java/com/sk89q/worldedit/extent/reorder/MultiStageReorder.java

#	worldedit-core/src/main/java/com/sk89q/worldedit/world/block/BlockType.java

#	worldedit-core/src/main/java/com/sk89q/worldedit/world/item/ItemType.java
2018-08-14 01:36:00 +10:00
Jesse Boyd
1601ea07a8
Clear the command/method map after registration 2018-08-14 00:39:19 +10:00
Jesse Boyd
0632a9ce96
Fix some merge issues 2018-08-14 00:38:33 +10:00
Jesse Boyd
025360753f
Update german translations 2018-08-14 00:38:02 +10:00
Jesse Boyd
fce706c78f
Add API method for creation schematic visualizer 2018-08-14 00:37:47 +10:00
Matthew Miller
e0e7778536 Fixed some bugs and cleanup some code. 2018-08-13 22:18:12 +10:00
Jesse Boyd
7fb3899bb7
Use BlockState for player inventory getBlock 2018-08-13 03:31:26 +10:00
Jesse Boyd
6f04022738
And these stubs 2018-08-13 03:23:53 +10:00
Jesse Boyd
e7c27b08bf
Remove stub injector methods 2018-08-13 02:36:39 +10:00
Jesse Boyd
fa06ff357e
Use current PlayerDirection 2018-08-13 01:43:20 +10:00
Jesse Boyd
289707b410
Missed this 2018-08-13 01:28:23 +10:00
Jesse Boyd
a629d15c74
Copy paste/merge FAWE classes to this WorldEdit fork
- so certain people can look at the diff and complain about my sloppy code :(

Signed-off-by: Jesse Boyd <jessepaleg@gmail.com>
2018-08-13 00:03:07 +10:00
Jesse Boyd
a920c77cb8
update legacy.sjon to fix some issues
added some missing entries to the legacy.json using a script
2018-08-12 23:52:46 +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
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