Commit Graph

2649 Commits

Author SHA1 Message Date
ffa25b1d9a Fixes #452
- ChunkSections containing only air are technically null according to NMS Chunks
- Therefore if we're replacing air, we should ignore the result of get.hasSection(layer) by using "full = true" as it returns false if the chunksection is only air
- We also then need to ensure that the masks correctly identify that the block is "air"
2020-05-09 13:39:41 +01:00
c757b01803 By default only allow existing blocks to tick.
- Revert back to default FAWE behaviour where placed blocks do not tick by default (until a restart, or another edit is done in the same chunksection without changing the block)
2020-05-08 16:16:08 +01:00
56972ee40b Trim performance (#451)
* Increase performance slightly when trimming.
If the chunk section is all one blocks (common in plotworlds) it'll be a nice little boost.

* Cache whether blocks are ticking or not. Greatly reduces the time required to create a palette

* collapse 5 lines to 2.

* Also apply to 14 and 15 for the numpties

* Cleanup
Actually ignore the exception - remove my debug print.
Remove double semi-colon

* Apparently 1.14/15 matter too still.
2020-05-07 23:00:13 +01:00
a2b0a5e622 Fix offset mask (< and >) 2020-05-07 19:38:42 +01:00
8b1a0bbc34 Fix #417
This commit aims to fix existing issues regarding the "0/-1 blocks affected" bug. Introducing the new LinkedFilter class allows us to use multiple filters for single-filter operations, e.g. applying a pattern to blocks while also counting the amount of blocks applied to. SetFilter.java was also removed due to not being used.
2020-05-07 12:29:18 -04:00
afba834b83 Don't commit murder to console or log files 2020-05-06 20:55:30 +01:00
0c539b4e84 Fix replace patterns
Fixes #445 #440 #372
2020-05-06 15:50:57 +01:00
3abf964620 Better logic for selecting schematic format.
- You had to specifically use //schem load <schematic>.schematic mcedit to load legacy schematics, now if you're loading .schematic it assumes you're wanting mcedit format
 - If you end up attempting to load an mcedit schematic with the sponge reader it now throws an exception.
2020-05-05 16:16:27 +01:00
6dec0ab2ba Override #equals method in AbstractRegion.java
This is an attempt to fix CPU spikes which do not reduce and continue mounting until the server reaches ~300%-500% usage. This override should allow prompt equality checks for regions based on the world, the minimum point, the maximum point, and area covered by the region.

Issues found regarding this change should be quickly reported so this can be reverted and replaced with another appropriate solution.
2020-05-03 19:51:48 -04:00
a6f2cd0fb5 add // to mask and range 2020-05-02 18:34:49 +01:00
ef3642d521 Small spring cleaning
I changed really small bits and pieces of code. If you have questions just comment and I'll answer them.
2020-04-30 16:26:52 -04:00
508d595b8d Merge branch '1.15' of https://github.com/IntellectualSites/FastAsyncWorldEdit into 1.15 2020-04-29 21:30:28 +01:00
847d22f7d6 This seems to fix #429
- the undo remove or add block removal adding thing.
2020-04-29 21:30:15 +01:00
aae760c625 Merge branch '1.15' of https://github.com/IntellectualSites/FastAsyncWorldEdit-1.13 into 1.15 2020-04-29 14:17:48 -04:00
8247f78e9d Override hashCode method in AbstractRegion
This commit fixes the PlotSquared issue where running a PlotSquared command could result in intense lag on the main thread. This was mainly seen with running the /p info command on an extremely large plot.

Since #world can be null, the uniqueness of this hashCode is not the best, but since it's essentially just a collection of BlockVector3's, I don't believe this change will break anything. If it does, please let me know! Feedback on the uniqueness of this is welcomed.
2020-04-29 14:17:05 -04:00
f9a40599fb Fix typos 2020-04-29 19:36:34 +02:00
fda7d00747 A more verbose fix to #329 and similar issues.
- Re-read chunksections the first time they're "loaded" for an operation
 - Reset the chunksection if there are block changes when setting blocks via reflection
 - These are maybe gonna affect performance a bit? Idk. Seems to be alright for me
 - These are maybe gonna make more issues? Yeah maybe, but I couldn't find any
2020-04-29 18:17:21 +01:00
6faa93f3d4 Merge remote-tracking branch 'origin/1.15' into 1.15 2020-04-29 10:58:57 -04:00
d9829614f2 Fixes #408
The issue seems to be that a some upstream code was removed for likely "performance" reasons. Obviously, wrong since it broke stuff.
2020-04-28 22:26:16 -04:00
058990f6fe schem.intellectualsites.com (points to athion.net but cnamed) 2020-04-28 11:25:24 +01:00
4307e3a671 Transpile using Babel
This is pretty slow right now, but works as a proof-of-concept.
2020-04-27 23:18:21 -04:00
4f8ac056ab Correct typo in region selector docs
(cherry picked from commit 9a11c57846ab2e18faad4572d8f4655b617d9260)
2020-04-27 23:15:07 -04:00
aeb2820d89 Add debug message to addProcessor 2020-04-27 19:17:23 -04:00
b13dea19c5 Add debug messages 2020-04-27 19:04:20 -04:00
491be025cc Minor changes to urls and todo's 2020-04-27 17:35:04 -04:00
004a60d145 allow parallel threads to be changed.
- Interesting behaviour with forwardextendcopy stuff (move, stack etc) though.
2020-04-25 11:57:59 +01:00
864d160102 Update Piston to fix bugs
Closes #1292 via Piston fixes.

(cherry picked from commit dc56b602c0367fbd24f954de2b8be4e864add59f)
2020-04-24 16:05:15 -04:00
3426e0103b Make the null-result case visible to the user
Fixes #1303.

(cherry picked from commit 83438644dcdc470517f67c0d55ff4889f71cc435)
2020-04-24 15:57:34 -04:00
ee3a30d582 Don't suggest default namespaces.
This just ends adding a lot of `minecraft:` to otherwise short commands.

(cherry picked from commit d2601851835201d11e5805250ecffc703d0b0cd6)
2020-04-24 15:57:07 -04:00
396b03edf7 Add compatibility handlers for beds and banners for MCEdit Schematics (#561)
* Add compatibility handlers for beds and banners

* IntTag#getValue does not return null so do not check that

(cherry picked from commit 53ac21aa8723d71040d580902cfeae551a9cabf6)
2020-04-24 15:56:22 -04:00
77a2f1bc41 Remove unneeded repository
PlotSquared 4 and PlotSquared 5 are both on the same maven repo
2020-04-24 15:54:40 -04:00
820ae19dc2 Read processors in reverse order.
- EditSessionBuilder always assigns the history processors before the limit extents, meaning the limit did not get properly flushed to history, but because spigot is notified of the changes after the processes have taken place, the correct edit was displayed to the player and placed into the world.
 - This might break other stuff...
2020-04-23 23:46:43 +01:00
69bd0274dd Fix undo for stack, move
- Most/anything using ForwardCopyExtent basically
2020-04-23 17:07:34 +01:00
29b82d4e51 Remove a load of soft errors in EditSession. 2020-04-23 17:07:01 +01:00
c714e26f68 Reformat paste in ClipboardCommands because it was ugly 2020-04-23 17:01:17 +01:00
8bde932354 Add p2 v4 compat.
Anyone that hasn't built FAWE before won't be able to build it again as the v4 repo doesn't exist - it relies on local gradle cache.
2020-04-22 08:10:17 +01:00
9636f35e45 Fix typo 2020-04-21 16:43:25 +02:00
952aaf8b43 Fix p2 compatibility and replace empcraft.com/maven2 2020-04-21 11:39:42 +01:00
330fc39dde Further non-standard selection fixes as per #393
- Fix incorrect usage of initChunk (it's run in the right place now)
 - Fix poorly implemented //sel sphere "improvements"
2020-04-19 19:46:41 +01:00
b52fc46f19 Regarding #393
- Fix CharFilterBlock not being properly created (the chunk X and Z were never set)
 - Replace BlockVector3#divide with bitshift because you can't divide down and then bitshift back up with the correct results for negative values
2020-04-19 13:56:02 +01:00
7b9a64e9a6 add a bunch of // aliases for commands 2020-04-19 11:43:30 +01:00
415e91b519 Re-apply 374ad99
Accidentally fixed the EntryMaker issue before I pulled 374ad99. Should reflect upstream now.
2020-04-16 20:41:59 -04:00
8b97a11fa4 Merge branch '1.15' of https://github.com/IntellectualSites/FastAsyncWorldEdit-1.13 into 1.15 2020-04-16 20:27:47 -04:00
e1ba16b699 Fix #403 2020-04-16 20:27:38 -04:00
ff47e6f717 Cherry-pick to fix EntryMaker issue 2020-04-16 20:26:55 -04:00
97d73889cc Remove _ from tree type as easy fix for actually typing the correct tree type 2020-04-16 17:22:22 +01:00
cba7c21ce5 Fix special masks issue
This fixes the issue where masks other than SimpleBlock masks (like Offset mask or negate mask) would not work.

The issue was caused by parseFromListInput() who would throw SuggestInputParseException if the input was not a valid block definition.
But as the parser was catching NoMatchException only, this was causing an error and the MaskFactory was broken.
2020-04-13 22:34:15 +02:00
735a37ffd0 Use custom radix sort for ordering blocks (#1277)
* Use custom radix sort for ordering blocks

* Licenses :P

* Fix ordering, add test for it

* Grant Gradle more memory (thx Fabric)

* Increase (?) / Specify memory for core tests

* Many attempts at fixing OOM

(cherry picked from commit bb013aa89b8457c4649e2546eef0aa94b9fc4020)
2020-04-10 13:42:27 -04:00
374ad992a2 Properly close all files when dealing with archives (#1274)
* Properly close all files when dealing with archives

* Move file utils to SafeFiles class

* Licenses

(cherry picked from commit a600266d41151eec4f2239cf90e202bb99fa3a8b)
2020-04-10 13:38:14 -04:00
092bf98ea5 Odd sort-of fix for allowing //stack to be undone 2020-04-10 13:25:27 -04:00