3
0
Mirror von https://github.com/IntellectualSites/FastAsyncWorldEdit.git synchronisiert 2024-11-05 02:50:05 +01:00
Commit graph

1039 Commits

Autor SHA1 Nachricht Datum
NotMyFault
78acb857da
Closes #1129 Closes #1128 2021-06-19 10:17:43 +02:00
NotMyFault
96ed367420
Closes #1121 2021-06-18 01:01:30 +02:00
NotMyFault
0af60e5680
Added support for GriefDefender (#1123) 2021-06-17 10:37:53 +02:00
dordsor21
d015e6b270
Also synchronise when loading sections forcefully 2021-06-12 15:09:02 +01:00
renovate[bot]
8836d1d75c
Update dependency org.mockito:mockito-core to v3.11.1 (#1118)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: NotMyFault <mc.cache@web.de>
2021-06-11 17:20:24 +02:00
dordsor21
f6c87b6726
Add null check to creating default NBT data 2021-06-10 19:59:17 +01:00
renovate[bot]
e11a2d7f6d
Update dependency com.github.luben:zstd-jni to v1.5.0-2 (#1113)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-06-10 17:37:15 +02:00
dordsor21
7ef8b2f95e
Create default TileEntity data where required.
Fixes #1093
Fixes #1042
2021-06-10 13:39:36 +01:00
dordsor21
dd217fcb70
Don't bother trying to use a clipboard when clearing plots.
Fixes #1088
2021-06-09 17:45:57 +01:00
NotMyFault
09b2cfef56
Closes #1107 2021-06-08 23:53:19 +02:00
renovate[bot]
bae592bf91
Update dependency com.sk89q.worldguard:worldguard-bukkit to v7.0.5 (#1108)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-06-08 23:50:45 +02:00
renovate[bot]
75935f91e9
Update dependency com.github.luben:zstd-jni to v1.5.0-1 (#1106)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-06-08 23:46:46 +02:00
dordsor21
f6af9925e8
Char block null check (#1030)
**Add a null-check to CharBlocks FULL section layer-retrieval.**
 - It is possible to trim CharBlocks whilst it is attempting to read data due to the batching of chunks to help reduce memory
 - This is done when the number of chunks sitting loaded in memory with having been "submitted" to the queue for writing to disk becomes high
 - Seconday operations such as heightmap processing and lighting will quickly load chunks, meaning many chunks are submitted early
 - This leads to much higher chances of the chunk being submitted and subsequently trimmed given heightmap and light processing is done layer-by-layer over many chunks, rather than chunk-by-chunk - thus leading to NPEs.
 - By adding synchronisation to and around only the specific sections when loading/updating, and not blocking the whole chunk, many access can still be thread-safe without causing deadlocks
 - This allows removal of lots of the needless and very-slowing synchronisation on get**Block** methods

**Remove much of the synchronisation from ChunkHolder**
 - We shouldn't be synchronising with call() and safety should be added elsewhere. (plus it's making edits very very slow when queue target size is hit)
 - Also remove much of synchronisation because we've added the null-check and section-specific synchronisation to CharBlocks
 
**Some QOL/thread-safe data access changes**
- Replaces the Array#clone seen in the get blocks classes with System#arraycopy as deep cloning is not required, and is also slower than arraycopy
- Add System#arraycopy when accessing chunk section data via history to ensure it is not altered whilst being written
- Renaming EMPTY to empty means it is not implied to be a static variable

Fixes https://github.com/IntellectualSites/FastAsyncWorldEdit/issues/1028
Fixes https://github.com/IntellectualSites/FastAsyncWorldEdit/issues/1025
Fixes https://github.com/IntellectualSites/FastAsyncWorldEdit/issues/1089
Fixes https://github.com/IntellectualSites/FastAsyncWorldEdit/issues/1091
Fixes https://github.com/IntellectualSites/FastAsyncWorldEdit/issues/1097
2021-06-08 14:28:16 +00:00
SirYwell
e40a657faf Remove unused imports 2021-06-05 20:38:53 +02:00
SirYwell
798e18ecc2 Look up BlockBase.Info field in actual class instead of subclass 2021-06-05 20:32:09 +02:00
NotMyFault
2bdf6ae18a
Leave a proper warning if you install WE alongside FAWE 2021-06-05 20:01:06 +02:00
NotMyFault
75fbe654ee
Update Upstream
0036e06 Alter the CUI lifecycle to be more consistent and reliable (1633)
2021-06-05 11:27:27 +02:00
NotMyFault
d1af6c38e7
Update Upstream
9516002 Register platforms and commands in a more proper way (1766)
2021-06-05 10:27:38 +02:00
renovate[bot]
f139088b6e
Update dependency org.mockito:mockito-core to v3.11.0 (#1103)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-06-04 09:07:50 +02:00
renovate[bot]
c87a19da5a
Update dependency org.checkerframework:checker-qual to v3.14.0 (#1102)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-06-03 00:31:30 +02:00
NotMyFault
b599769f8c
Fixes #1098 2021-05-30 23:49:46 +02:00
Hannes Greule
53681ccc59
Feature/unsafe over reflections (#1082)
* Use Unsafe to replace Lock

* Start cleaning up everything that has to do with CleanableThreadLocal

* Make cancellation work

Co-authored-by: NotMyFault <mc.cache@web.de>
2021-05-28 18:47:46 -04:00
renovate[bot]
04610822a2
Update dependency org.jetbrains:annotations to v21 (#1084)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-05-24 12:01:29 +02:00
NotMyFault
8d35963171
Address dead Component imports 2021-05-23 23:35:08 +02:00
Matt
aa0ad16a1b
Update to Gradle 7 (#1078) 2021-05-14 23:42:37 +02:00
NotMyFault
be624d5fe2
Closes #1066 2021-05-13 21:26:16 +02:00
Hannes Greule
ff728478c6
Relight using starlight engine on Tuinity & perform heightmap updates (#1023)
* Relight using starlight engine on Tuinity

* Make use of invokeExact

* Cache MethodHandle

* Address some requested changes

* Remove random *

Co-authored-by: NotMyFault <mc.cache@web.de>

* Simplify and clean up sendChunk
Hopefully, that doesn't cause any issues

* Add naive HeightmapProcessor

* Make HeightmapProcessor more efficient

* Remove heightmap code from NMSRelighter

* Recognize fluid for waterlogged blocks

* Remove config option for heightmaps as they should always be updated

* Batch relighting for Starlight

* Dirty workaround for CharBlocks blocks NPE

* Revert "Dirty workaround for CharBlocks blocks NPE"

This reverts commit 737606a7
It only caused the heightmap to be wrong again and didn't help much with the original issue

* Adapt better chunk sending on older versions

* Adapt requested changes for HeightMapType

* Relight all changed chunks, batched
Also, address some requested changes

* Avoid deadlocks

* Clean up tuinity relighter and add some comments

* Minor changes to HeightmapProcessor

Co-authored-by: BuildTools <unconfigured@null.spigotmc.org>
Co-authored-by: NotMyFault <mc.cache@web.de>
Co-authored-by: Aurora <21148213+aurorasmiles@users.noreply.github.com>
2021-05-13 11:29:11 -04:00
NotMyFault
46f1882496
Exchange Me's blog article URL 2021-05-12 19:10:30 +02:00
NotMyFault
9ff47d3404
Relocate zstd 2021-05-12 18:04:21 +02:00
NotMyFault
7b6fde2579
Update ServerLib 2021-05-12 16:35:51 +02:00
Pierre Maurice Schwang
036e8473b4
Fix unit tests + Version Determination (#1055)
* Fixed unit tests and determine chunksStretched based on package version

* Fixed requested changes
2021-05-07 23:47:35 +02:00
NotMyFault
7e3525a6a2
Closes #1018
And update serverlib
2021-04-27 11:16:12 +02:00
NotMyFault
ceacd7b669
Update Upstream
95d784f Return false if Entity#remove is unsupported
2021-04-22 20:41:49 +02:00
NotMyFault
00641c8108
Update ServerLib 2021-04-19 11:19:31 +02:00
NotMyFault
8b69d8a8e2
Improve outdated note even more 2021-04-14 10:05:16 +02:00
NotMyFault
6e8cc06637
Address a few deprecations 2021-04-06 18:30:29 +02:00
NotMyFault
01dff32597
Fine tuning captions
Fix listchunks throwing component error
2021-04-06 14:01:04 +02:00
NotMyFault
5e534ff9e2
Finalize Captions
Follow up to a9d1202ce1
2021-04-05 19:54:49 +02:00
NotMyFault
a9d1202ce1 Finish up transition to captions 2021-04-05 19:52:13 +02:00
NotMyFault
b96cea75b8
Update Upstream
609c7b8 Scrapped Logging Framework 4 Java

Closes #997
Closes #998
Closes #999
Closes #1000
Closes #1001
Closes #1002
2021-03-29 15:29:16 +02:00
NotMyFault
784db1e9c8
Include project name in jar 2021-03-26 21:21:45 +01:00
untuned
adb99903de
Include //sel in the basic permpack (#982)
Allows users to de-select their region or change the region type
2021-03-26 16:23:53 +00:00
NotMyFault
4af7316118
Remove freebuild regions (#991)
* Remove freebuild regions

* Remove configuration option of freebuild

Co-authored-by: Matt <4009945+MattBDev@users.noreply.github.com>
2021-03-25 08:40:09 +01:00
NotMyFault
786baf09f4
Closes #957 2021-03-14 15:19:07 +01:00
NotMyFault
bc64eaff1c
Merge upstream 2021-03-13 10:59:17 +01:00
NotMyFault
6476345e44
Implement missing methods 2021-03-12 12:23:44 +01:00
NotMyFault
cde52f9f35
Implement missing methods 2021-03-09 12:41:05 +01:00
NotMyFault
c8db3e0c87
Closes #946 2021-03-08 21:12:42 +01:00
NotMyFault
99ea64fa4e
Add a couple of permissions 2021-03-06 20:22:39 +01:00
NotMyFault
6bd866bdf7
Making renovate happy
Closes #940
Closes #933
Closes #931
2021-02-27 15:52:50 +01:00
NotMyFault
0b65533294
Show a message with install instructions when running the jar file
Co-Authored-By: Matthew Miller <mnmiller1@me.com>
2021-02-25 22:58:17 +01:00
renovate[bot]
bc686a611d
Update dependency com.comphenix.protocol:ProtocolLib to v4.6.0 (#921)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-02-23 23:46:29 +01:00
Hannes Greule
d632c642ff
Don't add entities to chunk on regen (#927)
Co-authored-by: NotMyFault <mc.cache@web.de>
2021-02-22 11:11:13 +01:00
NotMyFault
f5956b66a8
Present adventure on compile time
Co-Authored-By: Hannes Greule <SirYwell@users.noreply.github.com>
2021-02-22 11:04:12 +01:00
NotMyFault
e8169afd64
Boost TileEntity clear performance, with extra boost on Paper 2021-02-19 19:58:36 +01:00
NotMyFault
e3ab9035a8
Fixes #911 2021-02-15 19:40:38 +01:00
NotMyFault
af987016fc
Fixes #910 2021-02-15 12:24:33 +01:00
NotMyFault
0a721b18ce
Implement methods 2021-02-14 19:56:05 +01:00
NotMyFault
366ff738e2
Update bStats
Closes #912
Closes #913
2021-02-14 19:40:15 +01:00
MattBDev
20304bf7ad Cherry-pick build-script changes from upstream 2021-02-11 12:00:28 -05:00
NotMyFault
83e5e8ea27
Improve note if Fawe is used on an older mc release 2021-02-10 17:49:34 +01:00
dordsor21
2ab207cfe9
Fix occasional NPE when removing section lighting 2021-02-05 16:05:53 +00:00
NotMyFault
ac16c9a2ba Minor upstream merge 2021-02-03 23:08:39 +01:00
dordsor21
f88432a709
Fix incorrect Collections#unmodifiableSet usage 2021-02-01 15:07:54 +00:00
NotMyFault
09ba78d1e9
Relocate serverlib properly 2021-02-01 15:23:47 +01:00
NotMyFault
bfc37f1628
Update ServerLib 2021-01-30 13:14:48 +01:00
NotMyFault
dd65cffe86
Relocate properly 2021-01-24 12:01:03 +01:00
NotMyFault
0bba9c5ac7
Update bStats 2021-01-24 10:44:22 +01:00
NotMyFault
86ecd9f553
Move to ServerLib 2021-01-22 23:23:08 +01:00
Renovate Bot
e9da3daf9e
Update dependency it.unimi.dsi:fastutil to v8.4.4 2021-01-21 12:53:43 +00:00
N0tMyFaultOG
ef596664bc
Properly name repositories 2021-01-21 13:34:33 +01:00
N0tMyFaultOG
a300abae41
Properly define WorldGuard version 2021-01-21 13:21:54 +01:00
N0tMyFaultOG
c35ebd7b53
Only scan used repositories 2021-01-21 13:07:17 +01:00
N0tMyFaultOG
67f9e54285
Enhance reload message 2021-01-21 10:19:07 +01:00
N0tMyFaultOG
acc8a79e8e
Leave a note about unsupported versions 2021-01-19 20:23:37 +01:00
MattBDev
06dc92b7ce Merge branch 'main' of https://github.com/IntellectualSites/FastAsyncWorldEdit
 Conflicts:
	worldedit-bukkit/build.gradle.kts
2021-01-18 15:59:51 -05:00
MattBDev
2ce493ae68 Miscellaneous improvements to build scripts. 2021-01-18 15:58:50 -05:00
dordsor21
0f6b56572a
Update to NMS given by 1.16.5.
Since there's no new NMS revision (we're still on R3...?!) but there were changes, it would be more difficult to maintain both 1.16.4 and 1.16.5. Therefore, let's just stop supporting 1.16.4 as 1.16.5 is a minor update regardless.
Fixes #859
2021-01-18 16:13:42 +00:00
N0tMyFaultOG
6895fe3b2c Update adapters to 1.16.5 2021-01-16 09:55:04 +01:00
dordsor21
bad3d31d90
Fix removing section lighting
- Paper and spigot differ in methods
 - Also don't clone it as we're trying to fill the actual data...
2021-01-14 17:03:32 +00:00
dordsor21
54712e268a
Synchronize access to Bukkit#createBlockData to prevent occasional ConcurrentModification exceptions
- This isn't actually used anymore given the previous commit, however it's still best to keep it safe.
2021-01-14 12:47:02 +00:00
dordsor21
be9866ddb3
Fix a lot of FAWE-freezing properly
- Add a "loadPrivately" method to be used when GetChunks are called to avoid synchronocity issues with super classes being used on different threads
 - Synchronise the call method so we're not attempting to call whilst also loading/updating
2021-01-13 19:02:51 +00:00
dordsor21
f69b1bfb21
properly load nms chunk for lighting operations 2021-01-13 17:09:18 +00:00
dordsor21
b4d7562b87
Looks like automagical relighting (#838)
Fixes #686
2021-01-11 19:29:16 +00:00
dordsor21
febf5b0175
Slight change to wna caching
- We don't want to flush if we're setting from the main thread, as that's going to be another plugin doing it
 - It's better to have a concurrent error thrown than use a concurrent set, so concurrency issues can actually be fixed rather than handled unsafely
 - Only send chunk packets up to once a tick (it really doesn't use any memory to cache IntPairs).
2021-01-10 17:11:55 +00:00
dordsor21
bd079421a3
fix wna/loading on non-paper servers 2021-01-10 12:37:41 +00:00
dordsor21
6bc3dd2293
Fix wna when used internally 2021-01-09 21:27:55 +00:00
MattBDev
9058ecdf34 Slight performance improvement during dependency resolution 2021-01-07 21:31:24 -05:00
dordsor21
89cc2f9d9f
Large memory use reduction when PostProcessing history 2021-01-05 15:03:47 +00:00
Alexander Söderberg
3f0b9a2a92
Reorder BuildInClipboardFormat and document changed JNBT classes (#807)
* Get rid of FastSchematicReader/Writer and document changed JNBT classes

This commit includes changes from upstream to the schematic classes
(`com.sk89q.worldedit.extent.clipboard.io`). It also documents the JNBT
classes, specifying what has been changed in FAWE. This was done in preparation
for the upcoming move to adventure-nbt.

The PlotSquared schematic handler classes will now use SpongeSchematicReader/Writer rather than FastSchematicReader/Writer.

This is yet untested and the entire branch is a W.I.P.

* Fix JNBT mutability misuse in FAWE

FAWE previously had mutable compound and list tags. The previous commit changed that, and this commit will fix misuse of the tag API.

I've tried to identify the places where mutability was assumed, but I might have missed something. This needs quite extensive testing.

This is yet another change which increases upstream compatibility in FAWE.

* Fix FAWE_Spigot_<..>#getEntity

* Fix JNBT usage in the AsyncBlockState code

* Readd FastSchematicReader/Writer and add a new schematic format (`FAST`)

* Update dead repository

* Implement missing AsyncChunk#getTileEntities

* handle entities properly and add "brokenentity" format

* Fix fast schematic reader
lazily reading means it's read in order of appearance in the inputstream so we need to read schematic version first (skip past everything) and then reset the stream

* Fix p2 FAWE

* Go back to fast schematics in P2/CompressedSchematicTag (#819)

* Fix compile

Co-authored-by: N0tMyFaultOG <mc.cache@web.de>
Co-authored-by: Alexander Söderberg <Sauilitired@users.noreply.github.com>
Co-authored-by: dordsor21 <dordsor21@gmail.com>
Co-authored-by: Aurora <aurora@relanet.eu>
2021-01-04 19:18:23 +01:00
dordsor21
efcca5b66f
it's better not to bother with tickets to avoid tickets not being removed all the time 2021-01-01 19:49:11 +00:00
dordsor21
580cb4a91e
add chunk tickets and don't force sync sending chunk packets 2021-01-01 18:04:30 +00:00
dordsor21
42346b429b
Don't synchronise across the entire edit for a single ChunkSection load (speed boost) 2021-01-01 16:48:17 +00:00
dordsor21
606cfa5cbc
we don't need to "update" when copying sections 2021-01-01 16:07:57 +00:00
dordsor21
59c227b49a
actually fix AsyncBlock 2020-12-31 15:32:00 +00:00
dordsor21
935130aa0e
Fix AsyncBlock 2020-12-31 15:22:29 +00:00
Alexander Söderberg
71059505d1 Implement missing AsyncChunk#getTileEntities 2020-12-27 22:19:04 +01:00
dordsor21
6e49427b26
fix WNA 2020-12-27 21:03:09 +00:00
dordsor21
3c5041ddb7
Fix uploading/download P2 schematics with /plot save|load 2020-12-24 15:47:02 +00:00
N0tMyFaultOG
9f2baf71f7
Remove unnecessary version check
Due the provided scope and api-version it won't load on older versions anyway
2020-12-21 19:43:23 +01:00