Commit Graph

811 Commits

Author SHA1 Message Date
dordsor21
197e08a937
use ConcurrentHashMap 2020-10-01 16:48:02 +01:00
dordsor21
987ab7d2b6
reduce the amount of synchronisation/locks being used unneecessarily and add nullcheck 2020-10-01 14:33:34 +01:00
dordsor21
13cfd638d6
Fix incorrtect field references 2020-09-29 10:11:29 +01:00
Aurora
48cd763d3b
fix performance issues in BukkitPlayer permission (#665)
* fix performance issues in BukkitPlayer permission stuff

* Put PermissionAttachmentManager in seperate file

Co-authored-by: @weaondara
2020-09-28 19:11:28 +02:00
dordsor21
82bcc0e9a5
Allow "post processing" of chunks (#658)
* begin allowing "post processing" of chunks
 - restores legacy capability to continue saving edits in the background after sending the chunks
 - speeds up the edit clientside
 - nail in the coffin of the terrible and staticly coded coreedit
 - We should totally make IronGolem work so Core* is no longer used by anyone

* begin allowing background history saving

* Handle post processors in queues properly

* Use futures for postprocessing so we're not waiting for them needlessly

* better use of closed boolean

* Reword
2020-09-28 11:13:02 +01:00
Aurora
3b2fe2ffde
Fix toggle permission (#644)
* Fixes #529
* fix superperms perm toggling

Co-authored-by: @weaondara <wea_ondara@alpenblock.net>
2020-09-21 17:07:35 +02:00
dordsor21
218f570cb1
Fix LimitExtent and processing of Plot regions
Fixes #627
Fixes #609
2020-09-18 17:40:55 +01:00
dordsor21
8e8bd810b5
Relight after completing P2 operations
teporarily fix #629
2020-09-18 12:38:17 +01:00
N0tMyFaultOG
371460a1ce Relocate metrics 2020-09-16 16:10:00 +02:00
N0tMyFaultOG
241e85e491 Strip 1.14 2020-09-16 16:01:49 +02:00
IronApollo
a49ce02bd0 Delete DummyFawe on startup 2020-09-15 19:18:16 -04:00
IronApollo
cd5691b819 Fix styling 2020-09-15 19:07:52 -04:00
IronApollo
64a71600f9 Add DummyFawe detector 2020-09-14 22:10:37 -04:00
IronApollo
4af36217b1 Merge branch '1.16' into vault-fix 2020-09-14 21:19:52 -04:00
IronApollo
9431f7c189 Fix Vault integration + remove DummyFAWE 2020-09-14 21:18:06 -04:00
dordsor21
3d2052b0c8
Better skylight handling and fix opacity on materials 2020-09-14 18:33:35 +01:00
dordsor21
d6c9a887ac
Fixlighting now also calculates heightmaps
Fixes #386 and #438 seems fixed, but that might be something else that fixed?
2020-09-14 14:19:23 +01:00
Matt
d00899e177
More support for 3D biomes (#608)
* More support for 3D biomes

* Resolved merge conflicts
2020-09-12 15:31:42 +02:00
dordsor21
a8f53d6414
Use correct trustEdges value 2020-09-11 17:24:02 +01:00
wea_ondara
fec938dac2 just send PacketPlayOutChunkMap for chunk updates 2020-09-06 16:50:22 +02:00
Octavia Togami
f7e1f70e19 Replace BlockStates reading with new 1.16 logic (#1413)
* Replace BlockStates reading with new 1.16 logic

* Account for running on older platforms

Splits out the new reading to AnvilChunk16, uses data version to detect
the appropriate version.

* Move data versions to Constants

Also fixes some logic hiccups that become obvious with the new names.

* Fix LegacyMapper DFU handling

* Fix factor indexing

(cherry picked from commit 8c171f0929e8530aab1731d122649adc58c5161f)
2020-09-02 11:25:50 -04:00
Aurora
dd85fc254f
actually do the file path stuff how it's supposed to work 2020-08-30 11:45:37 +02:00
NotMyFault
aa93f192c6
Merge pull request #587 from aurorasmiles/fixnms
improve performance of chunk updates for 1.16.2
2020-08-26 21:05:38 +02:00
wea_ondara
9515f3abfc fix for spigot boooooooooooooooooooooooooooooooooooooooooooo 2020-08-26 20:46:48 +02:00
wea_ondara
b117c35580 improve performance of chunk updates for 1.16.2 2020-08-26 20:15:23 +02:00
NotMyFault
32ee30d593
Merge pull request #585 from aurorasmiles/fixnms
Fixes NMS on 1.16.2
2020-08-26 16:24:37 +02:00
Aurora
f969403b54
Fix NMS for Chunk Updates on 1.16.2 2020-08-26 16:05:22 +02:00
Aurora
add1d96313
Update WorldEditPlugin.java 2020-08-25 21:36:19 +02:00
Aurora
041029168f
Fix NMS in 1.16.2. Still not working properly. 2020-08-25 20:43:07 +02:00
Aurora
38007ed1d5
reimplement 1.16.1 support 2020-08-25 17:09:31 +02:00
N0tMyFaultOG
e1f53934fa Fix nms 2020-08-25 15:19:33 +02:00
libraryaddict
87fe1a2a21 Fix builds for paper 1.16.2 2020-08-26 00:23:01 +12:00
MattBDev
48d9044366 Fix ItemTypes 2020-08-24 23:01:45 -04:00
MattBDev
02886b0387 Updated the WorldEdit license using find and replace 2020-08-24 21:31:47 -04:00
MattBDev
ce078aad70 Updated many exception classes 2020-08-24 21:29:34 -04:00
MattBDev
75a18b9d5b Update BukkitImplLoader 2020-08-24 21:20:18 -04:00
MattBDev
fd8cf1ebba Merge branch '1.16' of https://github.com/IntellectualSites/FastAsyncWorldEdit into 1.16 2020-08-24 21:17:53 -04:00
N0tMyFaultOG
91c7390734 Fix paperlib 2020-08-24 19:53:51 +02:00
MattBDev
525da53462 Update WorldEditPlugin 2020-08-24 12:54:22 -04:00
MattBDev
fd336feb46 Upstream merge of TranslationManager and ResourceLoader 2020-08-24 12:38:30 -04:00
Aurora
07c5e65166
fix critical error 2020-08-23 18:31:33 +02:00
Aurora
7cf88aff65
fix 1.16.2 support 2020-08-23 18:28:51 +02:00
N0tMyFaultOG
6cb8352686 1.16.2
- My IJ is broke but this should work. Dunno if I got all nms changes, but we will see.
2020-08-23 17:18:29 +02:00
NotMyFault
1e070b3a71
Merge pull request #518 from aurorasmiles/fixEntities
start reimplementing entities
2020-08-21 18:27:25 +02:00
aurorasmiles
7f0fd182bb
Add comment regarding createentitiy 2020-08-19 11:06:04 +02:00
MattBDev
49f1658f0b Merge remote-tracking branch 'origin/1.16' into 1.16 2020-08-18 15:50:00 -04:00
MattBDev
79b5612311 Upstream merge of the region package and things that may have broken with it. 2020-08-18 15:48:31 -04:00
Aurora
3aa041aa7e Merge remote-tracking branch 'upstream/1.16' into fixEntities 2020-08-16 17:01:45 +02:00
Aurora
313701a836 setup vault after loading 2020-08-15 15:34:40 +01:00
N0tMyFaultOG
bbff5c60b2 Fix metrics 2020-08-14 15:04:06 -04:00
wea_ondara
ae23794b43 fix //cut -e 2020-07-29 22:43:52 +02:00
Aurora
b411ea9af4 Merge branch '1.16' of https://github.com/IntellectualSites/FastAsyncWorldEdit into fixEntities 2020-07-26 19:03:46 +02:00
wea_ondara
50971ee311 fix entity undo 2020-07-26 15:52:51 +02:00
dordsor21
72269e08e6
Force sync teleports with trySetPosition
Fixes #542
2020-07-24 20:29:08 +01:00
dordsor21
d3ff4131a3
Fix incorrect light array reference.
Possibly fixes #531 and #535
2020-07-24 20:21:05 +01:00
dordsor21
28837c7106
Fix P2 clear area 2020-07-24 11:42:33 +01:00
MattBDev
3bc692ff11 Part 1 of upstream merge and format 2020-07-13 22:50:59 -04:00
MattBDev
1e80c0429a Merge remote-tracking branch 'origin/1.16' into 1.16 2020-07-13 13:09:55 -04:00
MattBDev
2a493ac9c6 Update trySetPosition 2020-07-13 13:09:03 -04:00
dordsor21
eb9ed098bb
use z not x 2020-07-11 12:41:33 +01:00
dordsor21
ef58cf567b
Clean up P2 v5 hook a little.
Should be a good step at removing any OOBs and incorrect-height-sets
2020-07-11 12:39:27 +01:00
Octavia Togami
4c299bc0b8 Replace setPosition with trySetPosition (#1403)
Allows cancellation information to be fed back into the ascend/descend
algorithms.

(cherry picked from commit 71e104bcb187a5313e88dda5df79059c8ffbc1fe)
2020-07-10 13:22:48 -04:00
dordsor21
33b2b634ac
Allow specific P2 queue hooks to be disabled 2020-07-09 22:14:24 +01:00
dordsor21
d92cded832
add biomes, and do it all at once using a clipboard. Crude, but eh 2020-07-04 12:45:00 +01:00
Aurora
bc45a112ee Merge branch '1.16' of https://github.com/IntellectualSites/FastAsyncWorldEdit into fixEntities 2020-07-03 19:54:08 +02:00
Aurora
94b1233d98
implement entities in paste -e 2020-07-03 19:52:55 +02:00
dordsor21
63bc151f6c
Hopefully allow for unloaded world to be referenced after GC.
Possibly fixes #504
2020-07-03 13:27:26 +01:00
dordsor21
f1d4104480
Bunch of changes to help masks 2020-07-02 22:09:12 +01:00
dordsor21
18c9da372c
GetBlocks should default to air not reserved 2020-07-02 18:16:15 +01:00
dordsor21
b58877a57b
Use BlockType not BlockState 2020-07-02 14:51:09 +01:00
dordsor21
d3afc9c65d
Update to p2 5.12.2 and implement clear pipeline 2020-07-02 14:34:05 +01:00
dordsor21
ce406e404b
We shouldn't be setting REGENERATIVE_CLEAR to false 2020-07-01 19:46:43 +01:00
Aurora
34298f7dee
Add back the getEntity Stuff since it seems to work fine 2020-07-01 19:28:38 +02:00
dordsor21
3e40f82d9a
fix error on loading for some versions 2020-07-01 15:05:38 +01:00
dordsor21
6be429cc96
Lighting:
- bring fixes to 1.16
- Fix for all lighting where it only set sky lighting if not present, even if it was trying to set block lighting (unlikely to have caused issues as block lighting seems always to be present, but wrong nonetheless)
2020-07-01 12:55:58 +01:00
dordsor21
3b19738ea0
Merge branch '1.15' into 1.16
# Conflicts:
#	worldedit-bukkit/src/main/java/com/boydti/fawe/bukkit/adapter/mc1_16_1/BukkitGetBlocks_1_16_1.java
#	worldedit-bukkit/src/main/java/com/boydti/fawe/bukkit/wrapper/AsyncWorld.java
#	worldedit-bukkit/src/main/java/com/boydti/fawe/bukkit/wrapper/state/AsyncDataContainer.java
2020-07-01 12:47:04 +01:00
dordsor21
3f3c49c0a8
Looks like working block setting and removal 2020-07-01 12:41:20 +01:00
dordsor21
4ca19acb48
implement 1.16 methods 2020-06-30 13:51:27 +01:00
dordsor21
f84958957c
Fix various lighting issues
fixes #496
possibly fixes #497
2020-06-30 13:44:26 +01: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
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
IronApollo
f2bc8d86fc Work towards 1.16 compatibility
This commit will allow the branch to build properly but the plugin will not function properly due to the lack of a proper adapter implementation. Proceeding will require the implementation of the SideEffects system from upstream (865c3a24d2 (diff-8fd33296e427c87d0296ad7f3ccc050a)).
2020-06-26 19:08:45 -04:00
MattBDev
aab10adb79 Fixed all but one remaining API changes in 1.16.1
No testing has been performed yet.
2020-06-25 20:57:06 -04:00
MattBDev
b7debce4d4 1.16.1 Prep work 2020-06-25 20:29:09 -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
7cc1994e20 Use StandardCharsets 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
MattBDev
9f6e0ebd5c Minor changes to NMS logic 2020-06-12 21:45:48 -04:00
aurorasmiles
6965fe2b90
Update PlotSquaredFeature.java 2020-05-30 10:46:05 +02:00
Aurora
5602b33b78
Fix a few links 2020-05-30 09:17:21 +02:00
dordsor21
75153d8da8 Fix getLightOpacity 2020-05-27 17:25:03 +01: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
Aurora
1f898cd0d1 Negate "hasCollision" for isTranslucent() also for 1.15.0 and 1.14 2020-05-25 19:00:16 +01:00
Aurora
d9240c5626 Negate "hasCollision" for isTranslucent() 2020-05-25 19:00:16 +01:00
dordsor21
4e4b812fdd dum 2020-05-20 09:47:57 +01:00
dordsor21
9085365165 Override P2's /plot set 2020-05-20 09:44:59 +01:00
dordsor21
a6514f8a78 Ultimately the Striped locks will have no affect, even if kinda cool. 2020-05-20 07:58:14 +01:00
dordsor21
fd3604beba replace synchronisation with Striped access semaphore locks 2020-05-18 16:52:33 +01:00
dordsor21
31cc5e0b60 Synchronise on the nmsWorld so we're not attempting to load two chunks at the same time.
Possibly fixes #471
2020-05-18 16:04:10 +01:00
dordsor21
5be11c541b Put the synchronisation higher up the food chain 2020-05-14 22:32:32 +01:00
dordsor21
3a7c23be45 Fix #443
Temp as it's performance-degrading, but works well enough for now
2020-05-14 22:10:09 +01:00
dordsor21
35169230ad Sort of fix biome getting
It seems to want to put random blocks where the biome isn't
2020-05-14 16:27:24 +01:00
dordsor21
bdc129cf7b Update to latest p2 v5
(implement FAWE biome setting)
2020-05-14 16:20:17 +01:00
dordsor21
5225099ec0 Fix biome setting in 1.15 2020-05-14 16:17:29 +01:00
dordsor21
be58cd42ac Add option to disable ticking existing blocks when not fastmode 2020-05-11 16:09:31 +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
MattBDev
a813cbfcdf Update world interface 2020-05-10 20:57:24 -04:00
dordsor21
0dee452e1a Don't attempt to set field on null ChunkSection 2020-05-09 17:42:40 +01:00
dordsor21
56175ffe0f Revert this so it compiles on the ci for now. 2020-05-09 16:30:28 +01:00
dordsor21
b1f1c0f4f0 Possible fix for #331
- Should ensure the server doesn't tick the chunksection while we're editing it
- Basically using the old issue with FAWE breaking block ticking by setting this to zero :)
2020-05-09 16:23:38 +01:00
dordsor21
8f60544aad Override some methods in AsyncWorld 2020-05-09 15:11:40 +01:00
dordsor21
56c720914e Settings.IMP is terrible. Don't initialise it thousands of times. 2020-05-08 18:17:47 +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
IronApollo
65afa79c17 Remove WorldguardFlag.java
The main functionality of WorldguardFlag.java was ported to Worldguard.java. This *shouldn't* break functionality of either the Worldguard or WorldguardFlag features, but users should be cautious and provide prompt feedback if any unintended changes are found.
2020-05-03 19:45:04 -04:00
dordsor21
0ca81e9d67
Fix FAWE killing chunk ticks. Also allow ticking for set blocks. (#439)
* Fix FAWE killing chunk ticks. Also allow ticking for set blocks.

* Reduce for-loop to being one loop in createPalette

* set the value in the set array and break so we don't continue onwards in the set's ordinal switch statement
2020-05-03 17:50:09 +01:00
MattBDev
5fb18259d5 Merge remote-tracking branch 'origin/1.15' into 1.15 2020-04-30 16:27:08 -04: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
9869cf09c6 Apply fda7d00747 to other versions so numpties that use old versions for no reason stop complaining too 2020-04-30 15:14:59 +01: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
600a1a5daa Implement previously unsupported methods in DelegateLock 2020-04-29 11:29:02 -04:00
MattBDev
3265a9e794 Remove unused regenerate method 2020-04-28 11:16:51 -04:00
MattBDev
491be025cc Minor changes to urls and todo's 2020-04-27 17:35:04 -04:00
Josh Knight
915fa5f00c
Merge pull request #416 from Sauilitired/tile-entity
Properly remove tile entities in BukkitGetBlocks_1_15_2
2020-04-22 14:57:49 -04:00
dordsor21
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
Alexander Söderberg
c478dbd249
Backport changes 2020-04-21 23:58:14 +02:00
Alexander Söderberg
8a19c4c38c
Don't mark the chunk as dirty. 2020-04-21 15:40:53 +02:00
Alexander Söderberg
2c85ff1673
Properly remove tile entities in BukkitGetBlocks_1_15_2 2020-04-21 15:23:23 +02:00
dordsor21
952aaf8b43 Fix p2 compatibility and replace empcraft.com/maven2 2020-04-21 11:39:42 +01:00
MattBDev
8d1efcfb21 Update Bukkit Interfaces to allow for compilation 2020-04-10 13:25:56 -04:00
IronApollo
16df4abd18 Reflection field name changes
Old ones were outdated. Brush visualization is still WIP and can result in client being kicked from the server for bad packets.
2020-04-01 00:20:25 -04:00
MattBDev
6e1cb4cfbc Remove more useless messages 2020-03-31 19:39:37 -04:00
dordsor21
a6a4400317 Port fixed for #389 from 1.15.2 adapter to other adapters. 2020-03-31 10:26:23 +01:00
dordsor21
318e367cf0 Correctly unregister player on quit and close clipboard if using disk. 2020-03-30 17:41:41 +01:00
Marco
342da647d7 Fixing that the PlayerDropItemEvent was not fired 2020-03-29 11:53:31 +02:00
dordsor21
8ffdd8a9e9 Better reading of schematic biomes.
Use biomes in the P2 schematic handler and save as a .schem not .schematic (when it's enabled again)
2020-03-28 10:44:51 +00:00
MattBDev
8d61f84466 Stop messing with the PlotSquared queue system
Stops synchronized chunk loading on PlotSquared and our queue didn't really do anything better than what PlotSquared did.
2020-03-27 12:28:09 -04:00
IronApollo
46d24fff0f Update AsyncWorld.java 2020-03-26 17:11:07 -04:00
IronApollo
fa738504a8 Fix some important chunk issues
This commit should properly synchronize the initialization of the adapter's ibdToStateOrdinal (the char array FAWE uses to convert NMS IBlockData objects to an internal ordinal for chunk operations) so references to this array do not push incorrect characters down the line.

Potentially fixes #373
Fixes #363
Fixes #332
2020-03-26 16:08:36 -04:00
MattBDev
e648b35b95 Small code quality changes 2020-03-24 12:32:36 -04:00
MattBDev
89ee1cb21a Merge remote-tracking branch 'origin/1.15' into 1.15 2020-03-22 14:10:13 -04:00
MattBDev
7ef02dfbde Lighting in AyncBlock is set to 15 (at least for now) 2020-03-22 14:05:51 -04:00
Matt
8f2c3df61b
Merge pull request #359 from tsao-chi-fork/patch-1
use JavaPlugin.getResource() instead of JarFile.getEntry()
2020-03-21 17:32:14 -04:00
MattBDev
45ac55185f Merge remote-tracking branch 'origin/1.15' into 1.15 2020-03-20 21:19:37 -04:00
MattBDev
a49a09a042 Added clarification for debugging message because of people thinking it is an error. 2020-03-20 20:04:31 -04:00
thislooksfun
a22bcb1c2a
Fix tab completion 2020-03-19 17:23:11 -05:00
MattBDev
9f07894f28 Performance improvement based on case study by @me4502 2020-03-19 13:08:25 -04:00
MattBDev
8a70f97445 Mask and Pattern modifications 2020-03-17 23:05:52 -04:00