Commit Graph

1661 Commits

Author SHA1 Message Date
Octavia Togami
d232dc28e3 Cherry-pick WNA, minor changes. 1.16 VERY WIP
First noticed incident of operations ruining ChunkSections. Do not build and use this unless you're testing.

Rushed some of the changes, gotta sleep. Would be nice to get a review of this one from @mattbdev and @dordsor21
2020-06-29 22:08:16 -04:00
Matthew Miller
4604aa5920 Additional work towards 1.16 compatibility
- Very basic implementation of the SideEffects system. Will definitely need fine tuning for it to be functional, but is not considered a priority in my opinion.
- Minor changes to the World interface and World implementations related to the SideEffects system. Shouldn't be the cause of any new bugs but be on the lookout.
- Included debug in BukkitImplLoader.java to assist contributors in understanding what needs to be implemented for the adapter to load properly.

Still very WIP but we're a few steps closer. So far, this is coming along better than I anticipated. Hopefully we can keep the momentum.
2020-06-29 22:08:16 -04:00
Octavia Togami
b59b95c282 Cherry-pick WNA, minor changes. 1.16 VERY WIP
First noticed incident of operations ruining ChunkSections. Do not build and use this unless you're testing.

Rushed some of the changes, gotta sleep. Would be nice to get a review of this one from @mattbdev and @dordsor21
2020-06-29 22:05:41 -04:00
MattBDev
2517aca66f Removed some unnecessary code. 2020-06-28 17:31:13 -04:00
Matthew Miller
82adab77b4 Additional work towards 1.16 compatibility
- Very basic implementation of the SideEffects system. Will definitely need fine tuning for it to be functional, but is not considered a priority in my opinion.
- Minor changes to the World interface and World implementations related to the SideEffects system. Shouldn't be the cause of any new bugs but be on the lookout.
- Included debug in BukkitImplLoader.java to assist contributors in understanding what needs to be implemented for the adapter to load properly.

Still very WIP but we're a few steps closer. So far, this is coming along better than I anticipated. Hopefully we can keep the momentum.
2020-06-26 22:14:19 -04:00
MattBDev
b7debce4d4 1.16.1 Prep work 2020-06-25 20:29:09 -04:00
Aurora
aac02ceea1
start reimplementing entities 2020-06-25 22:13:34 +02:00
NotMyFault
3d40336045
Fixes #500, Fixes #513 2020-06-19 09:12:58 +02:00
MattBDev
437d5a2a43 Minor image brush changes 2020-06-17 22:34:55 -04:00
IronApollo
33c3cb2f33 Revert portion of "Minor cleanup" to fix history bugs 2020-06-13 14:54:07 -04:00
IronApollo
238c56a3c6 Revert "Revert matt's changes"
This reverts commit bfcc6184ad.
2020-06-13 14:41:36 -04:00
N0tMyFaultOG
bfcc6184ad Revert matt's changes
Let's not break Fawe, thanks
2020-06-13 18:48:57 +02:00
MattBDev
8105088d60 Minor cleanup 2020-06-12 21:45:49 -04:00
MattBDev
1eacb91267 Make extent public (unsafe) 2020-06-12 21:45:49 -04:00
MattBDev
8a5899459f Use Integer.compare() instead of if statements. 2020-06-12 21:45:49 -04:00
MattBDev
9ce4a415cb Fix errors while using the broken commands 2020-06-12 21:45:49 -04:00
MattBDev
35c2a74c52 Implement more masks 2020-06-12 21:45:49 -04:00
Matthew Miller
33adba4a6f Use a long to refer to the volume of a region to prevent overflow (#1350)
* Use a long to refer to the volume of a region, and rename the method to getVolume

* Fixed issues noted in review

* Forgot to floor

* Fixed review notes

* Can use a long here rather than BigDecimal

* Improve javadocs

* style

(cherry picked from commit 328030fd6281e58a4ea1d0cdd0a2e274da90afbe)
2020-06-12 21:45:49 -04:00
Octavia Togami
a23b182de5 Fix vector gen, always enable BlockMap tests
The BlockMap tests got much faster, so there's no need to hide them
behind a flag.

(cherry picked from commit 1e2496af552891e3b43c5703bda8dc4129bbcc5d)
2020-06-12 21:45:49 -04:00
Octavia Togami
8d6db82764 Add licenses for test files
(cherry picked from commit 300aad3530400124d88c0416afa6c5ddb715d717)
2020-06-12 21:45:49 -04:00
Octavia Togami
518f52ea6e Test more of the math/collections, fix VectorPList
Fixes #1291

(cherry picked from commit e0346ff53b8629a368cdbf62cbd347caecfae5fd)
2020-06-12 21:45:49 -04:00
MattBDev
63b81b801b Implement remove on set/iter views of BlockMap
Fixes #1354.

(cherry picked from commit 637da62e34e676015aa7fbad490cf6f033e55b89)
2020-06-12 21:45:48 -04:00
MattBDev
9f6e0ebd5c Minor changes to NMS logic 2020-06-12 21:45:48 -04:00
MattBDev
3caf53987f Minor upstream changes 2020-06-12 21:45:48 -04:00
Aurora
5602b33b78
Fix a few links 2020-05-30 09:17:21 +02:00
dordsor21
bdc14c10c7
Fix relight and removelight (#475)
* Start work on lighting engine (does not build)

* Implement getLighting

* Setting, flushing light etc works. Getting light should be working..?

* Better queue/chunk handling

* Use correct location for lighting update

* Correct set location, remove debug

* cleanup a little

* Fix fixlight

* Apply to all versions for the numpties

* Remove lighting extent if not using

* Actually bitmask blocks when setting in chunks

* Initialise Maps and Dequeues with inital size

* format

* Documentation maybe
2020-05-27 11:45:08 +01:00
dordsor21
1ff5e7761b Comment out not working and add TODO 2020-05-27 11:39:23 +01:00
Aurora
255c20f4ad Fix recursivePickaxe 2020-05-27 11:39:23 +01:00
Aurora
2de45458d4 Compare using BlockType, not Block for AreaPickaxe, fixes #436 2020-05-25 14:36:58 +01:00
Aurora
e23c76511d correclty implement findFreePosition and setOnGround to fix navigation wand teleport issues 2020-05-24 20:01:28 +01:00
NotMyFault
8fa493cf9f
Update IncendoPaster.java 2020-05-21 18:30:59 +02:00
NotMyFault
35c4de3484
Fixes #427 2020-05-20 11:41:36 +02:00
N0tMyFaultOG
ebf3cd0837 Remove duplicated translation strings 2020-05-19 14:38:53 +01:00
Orlaando
fb06c3bf39 Update SuperPickaxeCommands.java 2020-05-19 13:29:37 +01:00
NotMyFault
10ec476239
Set debug to false by default
No need to enable it unless you are actually debugging something
2020-05-18 21:50:03 +02:00
NotMyFault
5fabd15caf
Fix superpickaxe // 2020-05-18 19:39:53 +02:00
dordsor21
5be11c541b Put the synchronisation higher up the food chain 2020-05-14 22:32:32 +01:00
IronApollo
34d40cb856 Merge branch '1.15' of https://github.com/IntellectualSites/FastAsyncWorldEdit-1.13 into 1.15 2020-05-13 17:45:17 -04:00
IronApollo
376bbe1bdb Edit change count to default to 0 instead of -1
Why was it ever defaulted to -1?
2020-05-13 17:45:11 -04:00
dordsor21
2ccda85772 Fix #468
That's not how it works
2020-05-13 22:36:08 +01:00
MattBDev
1183c7c957 Fixes #466 2020-05-13 10:23:38 -04:00
dordsor21
32c30f45fe don't read __reserved__ 2020-05-12 11:00:54 +01:00
dordsor21
999b063762 Don't write reserved to schematics 2020-05-12 10:58:43 +01:00
NotMyFault
44c5ab164c
Remove whitespace
Regarding fc537b92e0
2020-05-12 11:11:24 +02:00
MattBDev
0848e68b9f Merge branch '1.15' of https://github.com/IntellectualSites/FastAsyncWorldEdit into 1.15 2020-05-11 17:46:55 -04:00
MattBDev
7c35477b8c Remove Empcraft messages 2020-05-11 17:46:41 -04:00
NotMyFault
74f9b37a39
Fix missing space 2020-05-11 18:47:14 +02:00
dordsor21
be58cd42ac Add option to disable ticking existing blocks when not fastmode 2020-05-11 16:09:31 +01:00
dordsor21
0b30ca9dcc Merge branch '1.15' of https://github.com/IntellectualSites/FastAsyncWorldEdit into 1.15 2020-05-11 15:36:56 +01:00
dordsor21
36faf107e6 Allow fastmode to be used in a lot more places
- Option to stop fastmode from bothering to fix existing ticking blocks
2020-05-11 15:36:52 +01:00
NotMyFault
31da111e1e
Fix anvil translation string 2020-05-11 15:07:47 +02:00
dordsor21
8c38ac0fbc Fix #460 2020-05-11 13:38:06 +01:00
NotMyFault
4f2b0e6f4e
Fix missing space 2020-05-09 21:08:14 +02:00
NotMyFault
73f8f1a0a7
Fix wrong translation key 2020-05-09 20:58:47 +02:00
dordsor21
cb20cef0e6 Fix loading schematic from URLs 2020-05-09 16:45:42 +01:00
dordsor21
42d7419b4b Fixes #402
- Similar to previous commit. If the chunksection was empty, then __reserved__ was parsed to the clipboard, and then not correctly identified as air
- Now assume all __reserved__ is air when writing to clipboards
2020-05-09 13:56:41 +01:00
dordsor21
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
dordsor21
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
dordsor21
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
dordsor21
a2b0a5e622 Fix offset mask (< and >) 2020-05-07 19:38:42 +01:00
IronApollo
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
dordsor21
afba834b83 Don't commit murder to console or log files 2020-05-06 20:55:30 +01:00
dordsor21
0c539b4e84 Fix replace patterns
Fixes #445 #440 #372
2020-05-06 15:50:57 +01:00
dordsor21
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
IronApollo
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
dordsor21
a6f2cd0fb5 add // to mask and range 2020-05-02 18:34:49 +01:00
MattBDev
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
dordsor21
508d595b8d Merge branch '1.15' of https://github.com/IntellectualSites/FastAsyncWorldEdit into 1.15 2020-04-29 21:30:28 +01:00
dordsor21
847d22f7d6 This seems to fix #429
- the undo remove or add block removal adding thing.
2020-04-29 21:30:15 +01:00
IronApollo
aae760c625 Merge branch '1.15' of https://github.com/IntellectualSites/FastAsyncWorldEdit-1.13 into 1.15 2020-04-29 14:17:48 -04:00
IronApollo
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
Pierre Grimaud
f9a40599fb
Fix typos 2020-04-29 19:36:34 +02:00
dordsor21
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
MattBDev
6faa93f3d4 Merge remote-tracking branch 'origin/1.15' into 1.15 2020-04-29 10:58:57 -04:00
MattBDev
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
dordsor21
058990f6fe schem.intellectualsites.com (points to athion.net but cnamed) 2020-04-28 11:25:24 +01:00
Octavia Togami
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
Octavia Togami
4f8ac056ab Correct typo in region selector docs
(cherry picked from commit 9a11c57846ab2e18faad4572d8f4655b617d9260)
2020-04-27 23:15:07 -04:00
MattBDev
aeb2820d89 Add debug message to addProcessor 2020-04-27 19:17:23 -04:00
MattBDev
b13dea19c5 Add debug messages 2020-04-27 19:04:20 -04:00
MattBDev
491be025cc Minor changes to urls and todo's 2020-04-27 17:35:04 -04:00
dordsor21
004a60d145 allow parallel threads to be changed.
- Interesting behaviour with forwardextendcopy stuff (move, stack etc) though.
2020-04-25 11:57:59 +01:00
Octavia Togami
864d160102 Update Piston to fix bugs
Closes #1292 via Piston fixes.

(cherry picked from commit dc56b602c0367fbd24f954de2b8be4e864add59f)
2020-04-24 16:05:15 -04:00
Octavia Togami
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
wizjany
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
chickeneer
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
dordsor21
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
dordsor21
69bd0274dd Fix undo for stack, move
- Most/anything using ForwardCopyExtent basically
2020-04-23 17:07:34 +01:00
dordsor21
29b82d4e51 Remove a load of soft errors in EditSession. 2020-04-23 17:07:01 +01:00
dordsor21
c714e26f68 Reformat paste in ClipboardCommands because it was ugly 2020-04-23 17:01:17 +01:00
NotMyFault
9636f35e45
Fix typo 2020-04-21 16:43:25 +02:00
dordsor21
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
dordsor21
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
dordsor21
7b9a64e9a6 add a bunch of // aliases for commands 2020-04-19 11:43:30 +01:00
Octavia Togami
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
IronApollo
8b97a11fa4 Merge branch '1.15' of https://github.com/IntellectualSites/FastAsyncWorldEdit-1.13 into 1.15 2020-04-16 20:27:47 -04:00
IronApollo
e1ba16b699 Fix #403 2020-04-16 20:27:38 -04:00
Octavia Togami
ff47e6f717 Cherry-pick to fix EntryMaker issue 2020-04-16 20:26:55 -04:00
dordsor21
97d73889cc Remove _ from tree type as easy fix for actually typing the correct tree type 2020-04-16 17:22:22 +01:00
mrlasagne
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