Commit Graph

217 Commits

Author SHA1 Message Date
wizjany
526b3366b5 Add more schematic compat, cleanup. 2019-04-26 16:41:39 +10:00
Kenzie Togami
56ef786415 Don't touch the Direction tag, as possibly only Facing changed. 2019-04-26 16:41:39 +10:00
Brokkonaut
6415d0d964 Fix typo 2019-04-23 18:24:32 -07:00
Jesse Boyd
a4f63ec6f0
Check type, not state 2019-04-14 12:16:15 +10:00
Jesse Boyd
110f782a5c
Optimize entity get (lazy nbt) 2019-04-14 00:00:38 +10:00
Jesse Boyd
6996a97027
various minor
CFI works without PlotSquared
tab completion
biome tweaks
WIP on anvil
document disallowed-blocks in legacy config
2019-04-11 21:32:32 +10:00
Jesse Boyd
21be61f03a
fix block mask inverse 2019-04-11 03:25:19 +10:00
Jesse Boyd
31ac2b69d1
Fix block rotation 2019-04-07 17:41:26 +10:00
Jesse Boyd
0afae082c2
Remove string switches for BlockType 2019-04-06 03:34:11 +11:00
Jesse Boyd
99db2d557a
optimize repeating extent pattern 2019-04-06 01:05:48 +11:00
Jesse Boyd
be5541b61b
revert some changes 2019-04-05 15:48:41 +11:00
Jesse Boyd
94d5d8df8e
Merge branch 'master' into breaking 2019-04-05 15:47:04 +11:00
Jesse Boyd
33f5322fda
WIP merge (i'll finish this later) 2019-04-05 01:24:47 +11: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
8897109dc4
wip upstream merge 2019-04-04 00:25:16 +11:00
Jesse Boyd
7086eb8b3e
continue with merge 2019-04-03 22:28:57 +11:00
Jesse Boyd
4cd8d08134
merge with upstream (broken) 2019-04-03 16:53:58 +11:00
Jesse Boyd
f361619037
Merge remote-tracking branch 'upstream/master' into breaking 2019-04-03 16:53:34 +11:00
matt
122236f6c7 Too lazy to write a commit message 2019-04-02 23:36:32 -04:00
Jesse Boyd
c820406e8c
Fix binding order 2019-04-01 23:55:15 +11:00
Jesse Boyd
64a134a9ee
Merge remote-tracking branch 'refs/remotes/origin/master' into new-vector-system
# Conflicts:
#	build.gradle
#	worldedit-core/build.gradle
#	worldedit-core/src/main/java/com/boydti/fawe/util/IncendoPaster.java

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

#	worldedit-core/src/main/java/com/sk89q/worldedit/extent/clipboard/io/SpongeSchematicReader.java
2019-04-01 23:50:16 +11:00
Jesse Boyd
92a7bd5e44
minor tweak for mutable vectors 2019-04-01 03:09:20 +11: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
matt
699783ba72 Another selective merge 2019-03-28 15:02:37 -04:00
matt
acc8eb0a99 Lambda's and References and Cleanups! Oh My! 2019-03-27 12:17:05 -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
matt
9fcf805148 Pattern doesn't need to be deprecated 2019-03-26 16:35:22 -04:00
matt
85bfd16d7c Code cleaning
Most notable change: Remove redundant type parameters and replaced with <>. This is a small step to bring us closer to upstream parity.
2019-03-25 19:55:32 -04:00
IronApollo
3236bdd78e Changes to NBT-handling in operations and extents, changes to match the widely supported setBlock functionality, minor code cleanup 2019-03-25 13:42:11 -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
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
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
0656ef1920 Fix LayerVisitor stopping early instead of skipping covered columns. 2019-03-01 19:25:10 -05:00
Matthew Miller
1b101740fe Use a proper registry for biomes 2019-02-16 17:27:00 +10: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
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
IronApollo
511c279153 Fixed issues regarding block transformations and using the BaseBlock to apply a function. 2019-02-07 09:04:14 -05:00
Kenzie Togami
590b7e23a9 Remove all raw usages of BSH, improve API generics 2019-02-03 05:01:39 -05:00
IronApollo
e53535319d Plenty of changes to core block behavior to become more compatible with upstream WorldEdit (still more to be done!) 2019-01-31 10:08:58 -05:00
Cygaan
6046fa1cec Only copy entities from within the region 2019-01-28 17:36:39 +01:00
Cygaan
d48ea909b5 Actually filter out players, not everything else 2019-01-28 17:31:29 +01:00
IronApollo
271b45f3ba Final changes for the Vector update (probable fix for the "copying player entity" bug) 2019-01-17 05:23:47 -05:00
IronApollo
f74381b93f Merge remote-tracking branch 'refs/remotes/isfawe/new-vector-system' into new-vector-system 2019-01-13 02:00:14 -05:00
Matthew Miller
628c9cc0b7 Make BaseBlock more memory efficient, and make it clear in the API that it's not intended to be used for every single block. 2019-01-10 09:54:21 -05:00
Kenzie Togami
4d6045813c Move vectors to static creators, for caching 2019-01-10 07:17:04 -05:00
Byron Marohn
ab6aed703d Merge current FAWE master (227d6d91) into new-vector-system
Signed-off-by: Byron Marohn <combustible@live.com>
2019-01-09 22:35:26 -08:00
IronApollo
a9919d130c Current progress #4 2019-01-09 03:32:38 -05:00
IronApollo
842b1307c7 Current Progress #3 2019-01-09 02:13:44 -05:00
Kenzie Togami
3fefcbf971
Remove all raw usages of BSH, improve API generics 2018-12-26 16:39:10 -08:00
IronApollo
d4157b7e0e Current progress with update 2018-12-23 11:19:33 -05:00
SirYwell
cf96c478be change entity list to ignore player when pasting 2018-12-22 00:46:05 +01:00
Byron Marohn
c0fa1602ad Restore the formatting of many things to upstream WorldEdit - no code changes
This patch touches many files but changes absolutely no functionality.
The goal here is to make future merges with worldedit produce fewer
conflicts that have to be resolved.

This patch was made by painstakingly diff'ing files and copying changes
over from the last upstream merge commit (02c6f11b) into this codebase.

Signed-off-by: Byron Marohn <combustible@live.com>
2018-12-20 11:33:56 -08: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
Matthew Miller
dd2fcbac23
Merge pull request #430 from sk89q/feature/chunk-batching-mode
Chunk Batching
2018-10-15 13:50:10 +10:00
Jesse Boyd
1a12c065a1
Various minor fixes
Fix drain
Fix some messages lacking prefix
Fix non persistent brushes
2018-10-13 15:15:38 +11:00
Matthew Miller
0a149a796f Make distr operation based 2018-10-12 15:28:40 +10:00
Kenzie Togami
ff391ca0b3
Update licenses 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
Jesse Boyd
cfbf7dbec0
Update from sk89q/master 2018-09-25 15:35:21 +10:00
Jesse Boyd
82ede1d42b
freebuild region restrictions 2018-09-05 05:10:15 +10:00
Jesse Boyd
b24d322d29
Update from sk89q/master 2018-09-03 00:10:38 +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
Jesse Boyd
abd886acd7
some hasty refactoring 2018-08-28 02:56:28 +10:00
Matthew Miller
c931095736 Little bit of formatting 2018-08-27 17:24:18 +10:00
Jesse Boyd
dbd31ea347
Fixes boy0001/FastAsyncWorldedit#1090 2018-08-24 01:22:30 +10:00
Jesse Boyd
f43faae917
Update favs 2018-08-23 06:02:04 +10:00
Jesse Boyd
c55353e5b1
Various command (use es6 if java9 + nashorn) 2018-08-22 03:22:37 +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
Jesse Boyd
44c5447edb
Parse instead of get block for masks 2018-08-17 23:05:34 +10:00
Jesse Boyd
177bfaa930
Rename setCopyEntities to setCopyingEntities 2018-08-17 18:33:37 +10:00
Jesse Boyd
2172ebba83
Fix some issues with java 9 / reflection 2018-08-16 19:56:31 +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
Jesse Boyd
659ed09bf1
Fix compile 2018-08-16 00:04:16 +10:00
Jesse Boyd
1740c845d2
What are the dud BlockCategories? 2018-08-14 11:00:44 +10:00
Jesse Boyd
0632a9ce96
Fix some merge issues 2018-08-14 00:38:33 +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
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
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
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
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
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
kashike
a48c319e7e package move 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
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
aaaf2d5678 More deprecation removal 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
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
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
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
Matthew Miller
50f60da69f Prevent players and complex parts being pasted in schematics. 2018-01-02 20:49:36 +10: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
e0c8776f0f Fix query function in expression masks.
Fixes WORLDEDIT-3344.
2016-06-28 23:59:34 -04:00
FrozenBrain
fabd7045e7 Fix NPE when rotating hanging entities (#356) 2016-05-20 20:00:30 -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
1a3ae37b73 Fix rotation of item frames 2016-05-20 17:13:39 -04: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
Albert Pham
fdfc3cdb33 Reorganize and further unify the new commands. 2015-10-29 13:05:04 -07:00
Albert Pham
cba32732a3 Add /br raise and /br lower as shortcuts for /br deform. 2015-10-28 13:50:07 -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
642f2a1f58 Fix entities copying to original location.
Fixes WORLDEDIT-3275.
2015-05-29 16:18:58 -04:00
sk89q
2009344058 Fix entity rotation. 2015-02-20 21:23:54 -08:00
sk89q
7257c7bb2b Don't transform entity positions if the isIdentity() == true. 2015-02-20 21:09:48 -08:00
sk89q
7192780251 Switch to Gradle. Use git log --follow for history.
This converts the project into a multi-module Gradle build.

By default, Git does not show history past a rename, so use git log
--follow to see further history.
2014-11-14 11:27:39 -08:00