Commit Graph

329 Commits

Author SHA1 Message Date
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