Commit Graph

1087 Commits

Author SHA1 Message Date
NotMyFault
81534b3476
Ignore datapacks on 1.15 2021-08-26 10:47:00 +02:00
dordsor21
da8289f8ba
Fix #826 2021-08-25 16:19:51 +01:00
dordsor21
46fb0c9418
Add binary tag methods to IDelegateBukkitImplyAdapter 2021-08-25 12:53:37 +01:00
dordsor21
80d99073ec
Remove PluginPreloader 2021-08-25 11:19:31 +01:00
dordsor21
46c96b45fc
Fix build 2021-08-25 11:16:01 +01:00
dordsor21
ddc59809d8
Update adapters to ff01bfd70d 2021-08-23 20:59:29 +01:00
NotMyFault
869a8058cc
Skip checking for custom biomes on 1.15.2 2021-08-23 21:15:41 +02:00
SirYwell
df8b2802b2 Support custom world min heights when processing heightmaps 2021-08-21 10:52:45 +02:00
dordsor21
8e899b8524
Skip registering "custom" biome.
Update adapters to 332c1f6bb17d2ded53fe5b09f3f2a4578f3f9bfc
2021-08-20 16:30:51 +01:00
dordsor21
3dd943f961
Avoid paper-only method 2021-08-20 15:53:12 +01:00
dordsor21
cf68caff99
Correct default biome loading method 2021-08-19 14:12:55 +01:00
dordsor21
f412796f28
Load default biomes into registry at earliest convenience, then load custom biomes later. 2021-08-19 13:48:24 +01:00
NotMyFault
73a237d75e
Update adapters 2021-08-17 23:22:03 +02:00
dordsor21
1d9b1a3d5e
Remove hardcoding of world limits (#1199)
* Remove hardcoding of world limits
 - seems to be working fine without the datapack for world height changing
 - particular attention should be given to LocalBlockVectorSet and MathMan changes

* update adapters

* Override getMinY in various classes and ensure selections have a world attached to them

* no message

* Address comments
 - Fix for lighting mode 1

* A few more changes

* Fix LocalBlockVectorSet

* Fix range statement

* Various fixes/comment-addressing
- There's not much point in having a different file name now for history. We've broken it before...
- Fix history read/write
- Fix range on for loops in CharBlocks

* undo bad CharBlocks change

* Fix history y level

* Fix biome history

* Fix lighting

* Fix /up

* Make regen fail not because of these changes

* Fixes for y < 0

* Fix isEmpty where only the uppermost chunksection is edited

* Fix javadocs/FAWE annotations

* Better explain why BiomeMath is removed

* If history task throws an error, it should only be caught and printed if not completing now.

* Min|max world heights for new patterns

* Load biomes from NMS instead of bukkit (#1200)

* Update adapters

* Update adapters

* Don't initialise BlockTypes when biomes aren't set up yet so all BiomeTypes.BIOME are no longer null thanks.

* Address some comments.

* rename layer -> sectionIndex to imply inclusivity

* Javadoctored.

Co-authored-by: NotMyFault <mc.cache@web.de>
Co-authored-by: Hannes Greule <SirYwell@users.noreply.github.com>
2021-08-17 22:13:51 +01:00
NotMyFault
5b2bd45d86
091200e1f80576175cfdf147928583b28275f437 2021-08-17 22:10:37 +02:00
dordsor21
f7161ea890
Update adapters 2021-08-17 18:45:08 +01:00
dordsor21
51eee01eef
Update adapters 2021-08-17 17:52:28 +01:00
dordsor21
da7aca8ef8
Add basic preloading (#1221) 2021-08-16 20:47:09 -04:00
dordsor21
50137b31c4
Update adapters 2021-08-15 15:59:30 +01:00
dordsor21
c287739be7
Minecraft uses the global block palette if there are more than 8 bits per entry in a chunk section
- Fixes #1228
2021-08-14 14:29:57 +01:00
dordsor21
98673b5743
Update adapters 2021-08-13 11:59:24 +01:00
dordsor21
3c75ed7d46
javadoc 2021-08-13 11:51:05 +01:00
dordsor21
c65c72b249
Allow adapters to override World#getEntities to avoid AsyncCatcher
- Even if we access (cache) the entities synchronously, we'd then be doing stuff asynchronously so adapters can override this and either use the world#getEntities normally (pre 1.17) or get entities async anyway.
2021-08-13 11:44:18 +01:00
Pierre Maurice Schwang
7d3a9ff36d
Fixed Unit Tests (BlockVector3.isLongPackable) (#1168)
* Fixed Unit Tests (BlockVector3.isLongPackable)

* Re-enable tests for ci

* Address gh action dependency complaints

* Fix "invalid usage of tag &" for MinecraftVersion.java

* Simple StubServer for BukkitWorldTest.java

* Add parallelgzip to test runtime, fixed javadoc encoding, make gradlew executable and patch StubServer for latest spigot / paper release

* Move Javadoc UTF-8 to PlatformConfig.kt

* Revert "make gradlew executable"
Was required for act to run, but not required for GH actions - Weird behavior

* Mark upstream changes, move class + apply editorconfig

Co-authored-by: NotMyFault <mc.cache@web.de>
Co-authored-by: Matt <4009945+MattBDev@users.noreply.github.com>
2021-08-10 09:31:37 +01:00
dordsor21
31b41235ac
Update adapters 2021-08-09 14:34:39 +01:00
NotMyFault
a1e6839cae
Improve jd of MinecraftVersion#getPackageVersion 2021-08-09 11:36:50 +02:00
dordsor21
6562f8adbd
Update adapters 2021-08-08 12:09:05 +01:00
dordsor21
08ebef2905
Break file to make git notice it 2021-08-08 12:08:55 +01:00
dordsor21
c58b143552
Update adapters to 3f6df1adee 2021-08-08 12:03:52 +01:00
dordsor21
346223977d
Add javadoc comments to generateTree 2021-08-07 16:28:41 +01:00
dordsor21
e90b261196
Trees should be generated on the main thread
- Also remove warning when using tree tool
2021-08-07 16:19:41 +01:00
dordsor21
0d84967853
Fixes #1219 2021-08-07 16:12:03 +01:00
Aurélien
abaa347ad4
Fix major security bugs (3 brushes + superpickaxe)! (#1213)
* Fix major security bugs (3 brushes + superpickaxe)!
- Due to some recent changes, FAWE could edit everything in the world, no matter other plugin protections such as PS or WG.
- Fix superpickaxe allow to bypass protections => Fix SurvivalModeExtent not taking into account protections plugins due to breaking blocks naturally to get drops.

* Adress requests
- Revert some unsuitabe changes
- Add FAWE diff comments

* Clean imports

* Adress requests

Co-authored-by: NotMyFault <mc.cache@web.de>
2021-08-07 11:09:33 +02:00
Matt
14b3fd2085 Fixed parameter name 2021-08-05 17:38:44 -04:00
NotMyFault
c468d22120
Fixes #1208 2021-08-05 15:55:20 +02:00
NotMyFault
a5e84dcfea
Switch to version catalogs
- Closes #1204
- Switch to security advisory
- Move fawe-tests to fawe packages
2021-08-01 19:28:51 +02:00
NotMyFault
678fb0a8b3
Fixes #1201 2021-07-30 01:31:25 +02:00
NotMyFault
e1d18dc896
(Temporarily) Include datapacks in debugpaste 2021-07-26 20:40:18 +02:00
NotMyFault
39f6a2e17f
Update adapters 2021-07-26 01:14:01 +02:00
dordsor21
8c0195970b
Add and apply .editorconfig from P2 (#1195)
* Consistenty use javax annotations.
 - Unfortunately jetbrains annotations seem to be exposed transitively via core somewhere, but with the correct IDE settings, annotations can be defaulted to javax
 - Cleaning up of import order in #1195
 - Must be merged before #1195

* Add and apply .editorconfig from P2
 - Does not rearrange entries

* Address some comments

* add back some javadoc comments

* Address final comments

Co-authored-by: NotMyFault <mc.cache@web.de>
2021-07-24 16:34:05 +01:00
dordsor21
f2ee2248e0
Consistenty use javax annotations. (#1197)
- Unfortunately jetbrains annotations seem to be exposed transitively via core somewhere, but with the correct IDE settings, annotations can be defaulted to javax
 - Cleaning up of import order in #1195
 - Must be merged before #1195

Co-authored-by: NotMyFault <mc.cache@web.de>
2021-07-24 15:52:08 +02:00
dordsor21
5e9535db41
Re-add shading/relocation of fastutils and add a dumb class because minimise doesn't scan worldedit-adapters 2021-07-24 14:12:59 +01:00
dordsor21
8f55d3f9a4
update adapters 2021-07-24 13:14:19 +01:00
dordsor21
39defaea5e
and reupdate adapters without a borked jar file because the hash wasn't different the first time round 2021-07-23 21:57:06 +01:00
dordsor21
c37ce767d7
update adapters 2021-07-23 21:54:49 +01:00
dordsor21
4341001a1c
Update adapters 2021-07-23 21:03:02 +01:00
NotMyFault
ae9c5f8490
Update adapters 2021-07-23 18:31:18 +02:00
NotMyFault
50ab8ad5c7
Feature/propagate diff and object cleanup (#1190)
* Feature/main/propagate diff annotations (#1187)

* 25% done

* More work

* More work

* 50%

* More work

* 75%

* 100% & cleanup

* Update adapters

* Squish squash, applesauce

commit 275ba9bd84
Author: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Date:   Sat Jul 17 01:10:20 2021 +0200

    Update dependency com.comphenix.protocol:ProtocolLib to v4.7.0 (#1173)

    Co-authored-by: Renovate Bot <bot@renovateapp.com>

commit 9fd8984804
Author: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Date:   Sat Jul 17 01:09:29 2021 +0200

    Update dependency org.checkerframework:checker-qual to v3.16.0 (#1184)

    Co-authored-by: Renovate Bot <bot@renovateapp.com>

commit 861fb45e5c
Author: dordsor21 <dordsor21@gmail.com>
Date:   Fri Jul 16 19:07:02 2021 +0100

    Fix #1075

commit 420c45a29a
Author: dordsor21 <dordsor21@gmail.com>
Date:   Fri Jul 16 18:48:21 2021 +0100

    Entity removal should be on the main thread as we're just passing through rather than doing chunk operations
     - Fixes #1164
     - Not working: butcher/remove history

commit 4d4db7dcd0
Author: SirYwell <hannesgreule@outlook.de>
Date:   Fri Jul 16 17:52:44 2021 +0200

    Make sure leaves category is loaded for heightmaps (fixes #1176)

commit c98f6e4f37
Author: dordsor21 <dordsor21@gmail.com>
Date:   Fri Jul 16 10:44:52 2021 +0100

    Do not allow generation commands to generate outside selection

commit 2485f5eccc
Author: dordsor21 <dordsor21@gmail.com>
Date:   Fri Jul 16 10:43:15 2021 +0100

    EditSession needs to override some Extent methods to ensure block changes are correctly set through the various extents
    Fixes #1152

commit d9418ec8ae
Author: dordsor21 <dordsor21@gmail.com>
Date:   Fri Jul 16 09:52:44 2021 +0100

    Undo part of 41073bb1a0
    Fixes #1178

* Update Upstream

fb1fb84 Fixed typo and grammar

* We don't support custom heights yet

* Casing inconsistency

* Address a few comments

* Address comments

* Don't refactor to AP classpath

* Document annotation style

* Refactoring & shade cleanup

* Address a few comments

* More work

* Resolve comments not being resolved yet

* Feature/main/propagate diff annotations (#1187) (#1194)

* Remove beta package, fix history packages, move classes out of object package

* Resolve comments not being resolved yet

* Remove beta package, fix history packages, move classes out of object package

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

* brushes should be under brush

* More refactoring
 - Filters/processors should be in the same place and are related to extents
 - Transforms are in `extent.transform` in upstream

* Move history classes under history

* Update adapters

Co-authored-by: dordsor21 <dordsor21@gmail.com>
2021-07-23 17:48:51 +02:00
dordsor21
6acd8498b2
Update adapters 2021-07-22 17:59:48 +01:00
dordsor21
e6b18cf230
Run residence permission playerHas check on main thread 2021-07-18 13:18:55 +01:00
NotMyFault
bcceadee6b
Propagate FAWE diff annotations down the bukkit module
- Minor upstream merge
2021-07-14 14:40:20 +02:00
NotMyFault
6d360db753
Update adapters 2021-07-12 15:48:19 +02:00
NotMyFault
0434b86d8e
Feature/1.17.1 (#1172)
* Update adapters for 1.17.1

* Fixes #1074

* fd10efa56b51d915302d616302145c74c3f079ee

* Fix `//chunkinfo` message

* 9fc85704e9570304f1b336612039afc85bb17064

* 03b4437023

* JitPack decided to work again
2021-07-09 16:07:48 +02:00
NotMyFault
dd082d4f39
Fix loading on Java versions prior to 16
- Lazy workaround continuously JitPack outages
2021-07-09 11:34:07 +02:00
dordsor21
aa3ae63682
Feature/1.17 (#1120)
* start v6

* Update classes to v6 method signatures

* change rootVersion to signify p2v6 compat

* Use 16 as toolchain version but target 11 for build output

* add minimessage as api

* Require v6 and don't attempt to "setup" hook from FAWE

* Address comments

* *address /all/ comments

* FAWE classes should only act as a delegate

* Uppercase logger

* Settings for v6-hook have moved to P2-v6, remove unneeded if statements

* Rename classes to Delegate

* add whenDone task to setCuboids

* Remove bad spaces

* Fix plot swap

* Initial work on 1.17 support

* Remove data versions from the Bukkit adapters (#1507)

* Remove data versions from the Bukkit adapters

* Don't allow saving schematics without an adapter in place on Bukkit.

* Removed confusing line

(cherry picked from commit 2056218b4a8644836b1d127105dfa289e9cdbc1c)

* More progress

* Fix chunk sending

* Repackage from com.boydti to com.fastasyncworldedit.<module> (#1119)

* Preliminary work on repackaging

* Rename build artifacts matching our pattern

* Finish up repackaging

* Fix a few field accesses and old imports

* Dirty fix for chunks container ChunkSections outside of 0-15

* Correctly read from NibbleArrays for lighting

* Fix getSections and BlockMaterial for 1.17

* Fix writing blocks to the world.
 - The issue isn't the presence of a "-1" chunk, it's the constructor for ChunkSection requiring the layer (0 to 15) rather than the y chord

* Fix more field accesses

* More work towards 1.17

* Update Upstream

a57f66f Fix watchdog, add negative y support. (1782)

* Add azalea tree to `/tool tree`

* Don't define toolchain twice

* Repackage GriefDefender

* Relocate under new namespace

* Bye bye ecma left overs

* Add 1.17 to issue templates and instructions

* Move to adventure-nbt (#918)

* Initial work for adventure-nbt

* Some more FAWE specific stuff

* Fix erroneous deprecation check

* Workflow change

* Continued merging all adventure NBT related changes

* Continued merging all adventure NBT related changes

* Made a constructor public again

This needs to be public for BlockTransformExtent.java

* Finished converting all NBT data to adventure.

* Make this compile

* Fix conflicts

Co-authored-by: Matt <4009945+MattBDev@users.noreply.github.com>

* Update adapters to 1.17

* Change build prefix to 1.17

* Move more nms classes to adapters

* Move left over nms classes

* Move Spigot 1.17 class

* Remove unneeded adapter loader code
The loader will find the appropriate class now itself

* Update adapters

* Update adapters

* Lazy fix tests

* Update adapters

* Update Upstream

43da91a Remove method reflection for getMinHeight in BukkitWorld. (1796)

* Relocate adventure-nbt under proper namespace

* Add LazyCompoundTag as a non-version-specific class to be used by adapters

* Better integration between old NBT and Adventure NBT - begin fixing the issues seen recently

* Correctly NBT conversion method

* LazyCompoundTags should actually be overriding and correctly returning a CompoundBinaryTag.

* Update worldedit-adapters
Fixes #1141

* Remove unnecessary massive lag machine

* Refactor apply to applyBlock in subclasses

* applyBlock should be overriden by all subclasses.
Default apply to applyBlock

* Closes #1130 Closes #1132

* Squashed commit of the following:

commit a9bfa1a07c77083c844a0c3ba62f4bd94bed107c
Author: NotMyFault <mc.cache@web.de>
Date:   Sun Jun 27 21:53:21 2021 +0200

    [ci skip] Update gradle wrapper validation

commit aa7471f95317d28a16f62e4b200de8d0fea2fa95
Author: Matthew Miller <mnmiller1@me.com>
Date:   Sat Oct 10 15:49:13 2020 +1000

    Add ^x,y,z relative offset support to the offset parser (#1545)

    * Add ^x,y,z relative offset support to the offset parser

    * Wrap in a try-catch

    (cherry picked from commit 28bdf7ff9254bbc85bb4f5f792b303943a3930a8)

* Add `fawe.error.schematic.not.found` translation key

* Update Upstream

728a152 Skip notify if chunk section doesn't exist (1794)

* Fixed #1157

* Add a null check to prevent NPE in nbt code

* Update adapters

* Update Upstream

fbb047a Optimize legacy schematic loading (1808)

* Hurr durr I don't want to update Java

* Update Upstream

0790e6e Fix CLI Mess (1811)

* Fixes #1160

* Expose minimessage transitively thru PlotSquared

Touches #32

* [ci skip] Remove unneeded maven repository

* Steal tab completion from PlotSquared for P2 related commands

* Don't error on startup when building locally

Co-Authored-By: goldfishapp <8278196+goldfishapp@users.noreply.github.com>

* [ci skip] Update gh actions to Java 16

* Update textures to grab 1.17 jar

Co-authored-by: NotMyFault <mc.cache@web.de>
Co-authored-by: SirYwell <hannesgreule@outlook.de>
Co-authored-by: Matthew Miller <mnmiller1@me.com>
Co-authored-by: Matt <4009945+MattBDev@users.noreply.github.com>
Co-authored-by: goldfishapp <8278196+goldfishapp@users.noreply.github.com>
2021-07-01 22:16:25 +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
dordsor21
f6c87b6726
Add null check to creating default NBT data 2021-06-10 19:59:17 +01: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
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
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
NotMyFault
8d35963171
Address dead Component imports 2021-05-23 23:35:08 +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
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
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
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
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
99ea64fa4e
Add a couple of permissions 2021-03-06 20:22:39 +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
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
af987016fc
Fixes #910 2021-02-15 12:24:33 +01:00
NotMyFault
0a721b18ce
Implement methods 2021-02-14 19:56:05 +01: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
0bba9c5ac7
Update bStats 2021-01-24 10:44:22 +01:00
NotMyFault
86ecd9f553
Move to ServerLib 2021-01-22 23:23:08 +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
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
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
dordsor21
e08fda0ac2
cache the correct number of blocks for FAWE
fixes #747
2020-12-17 22:06:32 +00:00
dordsor21
884ec322b8
Ensure chunk sections are reloaded for every edit/chunk read
Add an option for force-reloading the cached chunk sections when a layer is updated
2020-12-17 22:04:49 +00:00
dordsor21
b57c472b86
Save the get blocks to the set chunk after history is written when post-processing 2020-12-17 14:09:54 +00:00
dordsor21
61fd8c0de5
Update generate tree to match upstream 2020-12-16 17:20:33 +00:00
dordsor21
6676d77aaa
Stop writing corrupt tile entities to schematics
also make some stuff definitely immutable.
2020-12-13 21:06:36 +00:00
dordsor21
56cf49c167
Send chunks if they're in the paper no-tick-distance
Fixes #766 and #677
2020-12-11 15:36:42 +00:00
N0tMyFaultOG
3af1f45b4c
Add note about outdated java version 2020-12-08 00:12:39 +01:00
Aurora
0c941465b1
Change Method on 1.16 R2 2020-12-07 17:21:02 +01:00
N0tMyFaultOG
1bdac416d0
Add missing upstream methods 2020-12-02 17:12:04 +01:00
Aurora
3b201536a8
Maybe we should actually load the 1.16.4 adapter as well (#764) 2020-12-02 13:55:24 +00:00
N0tMyFaultOG
f88106886b Update website url 2020-11-16 13:53:25 +01:00
N0tMyFaultOG
679b9d203d Add -w flag to butcher for water mobs
beb784e0ffe1d8a8cf678912dbd6207e96afcfc8

Co-Authored-By: Lewis B <17665267+lewisjb@users.noreply.github.com>
2020-11-13 21:46:11 +01:00
NotMyFault
48ee33847c
Identify as Fawe when using an outdated version 2020-11-11 17:37:59 +01:00
Hannes Greule
428f8e201d
Upstream changes (#717)
* Perform part of the move of //fast to //perf (#1377)

This re-adds a deprecated `//fast` and moves the current logic to
`//perf`. Later `//perf` will have its syntax reworked, when Piston
finally supports sub-commands properly!

* Names via Translation (#1268)

* Deprecate BiomeRegistry, etc.

* Update some libraries, e.g. text

* Move to new translation renderer

* Revert "Deprecate BiomeRegistry, etc."

This reverts commit 59a5d6c92aec52739a8dc68ac3d23898af7593dd.

This was not a good idea for potential mod shenanigans.

* Move BiomeData#getName to BiomeRegistry, use i18n

* Use getRichName instead of getName

* Implement getRichName for NullBiomeRegistry

* Add getRichName for blocks

* Relocate net.kyori.minecraft

* Update adapters for getRichBlockName

* Add getRichName for items

* Update adapters for getRichItemName

* Update adapters JAR for merge

(cherry picked from commit cfd26253b6fb59ff6c65a0157a6780be7db4ea5a)

* Follow-up fixes for 92f877679622a27b16b9e5cd61cfec1a6545be33

* Don't send deprecation warning and improve info message

* Fix click command for perf box

(cherry picked from commit 7ee60060c31df2f8b41212b430a0875312189339)

* update R3 adapter§

Co-authored-by: Octavia Togami <octavia.togami@gmail.com>
Co-authored-by: NotMyFault <mc.cache@web.de>
Co-authored-by: Aurora <21148213+aurorasmiles@users.noreply.github.com>
Co-authored-by: Aurora <aurora@relanet.eu>
2020-11-09 10:38:10 +01:00
Aurora
49052d73ce
Update FAWE to 1.16.4 (#734)
* Start work on 1.16.4, doesn't compile yet

* Update FAWE to 1.16.4

* Update GitHub ci build to 1.16.4

* Fix AsyncChunk

* Update issue template for 1.16.4

Co-authored-by: dordsor21 <dordsor21@gmail.com>
Co-authored-by: NotMyFault <mc.cache@web.de>
2020-11-03 19:46:54 +01:00
N0tMyFaultOG
0a233e82a0 Update adapters for 1.16.4 2020-11-03 00:36:19 +01:00
N0tMyFaultOG
b728989355 Refactor Jars to ThirdPartyManager 2020-11-01 20:56:45 +01:00
dordsor21
c6ef1bc1de
Full support for 3D biomes (#714)
* Full support for 3D biomes
Since we're only supporting 1.15+ there's no need to try anything other than compatibility

* this is not part of the PR

* Clipboards should still always be y 0 for biomes
(this "bug" has existed for ages)
2020-10-22 22:18:16 +01:00
NotMyFault
28f5a7072d
Merge pull request #707 from IronApollo/biome-regen
Implement biome-specific regen
2020-10-22 10:57:49 +02:00
IronApollo
27f16d97b3 Optimize biome retrieval 2020-10-14 23:10:55 -04:00
dordsor21
5508b415c9
Allow nullable BukkitPlayers for whatever reason WorldGuard needs them for I guess? (#706) 2020-10-14 19:56:16 +01:00
IronApollo
e6b083554b Implement biome-specific regen
- initial biome-specific regen implementation
- RegenOptions modified to include biomeType option (null if not specified)
- Matched upstream's regen command
2020-10-13 22:43:11 -04:00
Aurora
3c6280b11e
Re-Implement //regen (#598)
* start reimplementing regen command

* start reimplementing regen command

* Formatting and logic tweaks.

Regen will now throw exceptions but they are not caught yet.
ConversionSessions will now be closed when no longer being used instead of left open.

* fix //regen crashing server

* added //regen support for 1.16.1 and 1.15.2

* cleanup

* Update the issue template

* improve performance of regen by a factor of 40, approx 1.2 millon blocks/second

* Update the issue template

* Update the issue template & add a config (#640)

* Update the issue template

* Add a config.yml to the issue template

* improve performance of regen by a factor of 40, approx 1.2 millon blocks/second

* Fix entity rotation (#642)

* fix entity rotation
fixes #577 
Co-authored-by: wea_ondara <wea_ondara@alpenblock.net>

* Fix toggle permission (#644)

* Fixes #529
* fix superperms perm toggling

Co-authored-by: @weaondara <wea_ondara@alpenblock.net>

* Fix #647

* Squash errors and debug to aid fixing #652 properly

* cleanup imports

* cleanup imports 2

* cleanup imports 3

* cleanup imports 4

* add patch by @SirYwell

* aysnc world gen with features and stuff and some minor issues

* optimizations, full chunkstatus, block populators

* optimizations, cleanup

* optimizations

* fix feature regeneration, fix temp folder deletion

* cleanup

* make chunk gen multithreaded

* fix precomputation of chunk lists for RegionLimitedWorldAccess again

* added regenerator abstraction, fix aioobe while running through chunk stati

* remove override for getChunkAt in freshnmsworld

* don't use concurrent chunk gen if custom chunk generators do not support it

* distinct between generator types

* improve regen speed for overworlds

* mix

* Add message that regen might take a while

* use a shared map for FastAreaLazy, cleanup imports

* use custom concurrency levels for chunk stati and process accordingly

* implement new regen in 1.15.2 and 1.16.1 as well

Conflicts:
	worldedit-bukkit/src/main/java/com/sk89q/worldedit/bukkit/adapter/impl/FAWE_Spigot_v1_15_R2.java
	worldedit-bukkit/src/main/java/com/sk89q/worldedit/bukkit/adapter/impl/FAWE_Spigot_v1_16_R1.java

* woops

* further abstraction, finalized regen impl

* Formatting

* Fix some typos, remove debug

* replace wildcard imports

* cleanup debug

* braces

* serr -> logger

* move regen impls to seperate classes

* fix world init for 1.16.1

* fix world init for 1.15.2

* fix world init for 1.15.2 #2

* use original world name for regeneration

* Update Regen_v1_15_R2.java

* Update worldedit-bukkit/src/main/java/com/sk89q/worldedit/bukkit/adapter/impl/FAWE_Spigot_v1_15_R2.java

Co-authored-by: Matt <4009945+MattBDev@users.noreply.github.com>

* Update worldedit-bukkit/src/main/java/com/sk89q/worldedit/bukkit/adapter/impl/FAWE_Spigot_v1_15_R2.java

Co-authored-by: Matt <4009945+MattBDev@users.noreply.github.com>

* Update worldedit-bukkit/src/main/java/com/sk89q/worldedit/bukkit/adapter/impl/FAWE_Spigot_v1_16_R1.java

Co-authored-by: Matt <4009945+MattBDev@users.noreply.github.com>

* improve documentation, use parallel task count for fawe settings

* fix compile

Co-authored-by: wea_ondara <wea_ondara@alpenblock.net>
Co-authored-by: MattBDev <4009945+MattBDev@users.noreply.github.com>
Co-authored-by: dordsor21 <dordsor21@gmail.com>
2020-10-10 11:57:12 +02:00
N0tMyFaultOG
d42e152348 Update adapters 2020-10-09 22:39:36 +02:00
N0tMyFaultOG
67cc5fb984 Merge branch 'logging' into main 2020-10-09 10:03:13 +02:00
dordsor21
5b97c0abcd
Several fixes to actual, probable and possible synchronocity issues (#691)
* Several fixes to actual, probable and possible synchronocity issues
 - Ensure that all edits are queued onto the same AsyncNotifyQueue by actually delegating to the parent player in PlayerProxy
 - Ensure that the order editsessions are being remembered on the LocalSession is being respected by using a fair ReentrentLock
 - Ensure a chunk cannot be called when an update is being called

* Don't add locks to GetBlocks
2020-10-08 21:15:05 +01:00
MattBDev
f5a42c63a7 Better logger support 2020-10-06 14:44:33 -04:00
Matt
96dcb95b7c
Javadoc and Formatting fixes. (#619)
Javadoc and Formatting fixes.

Also, extremely minor code changes which have been tested.
This commit is only part one of two commits that aim to fix problems with formatting in our project. In part two I will modify the Google Java Style Guide (since it closely matches our code style) for our project so there is guidance on how to format and document. 

* Updated PlotSquared URL
* Removed plugin acronyms
* Fixed a typo
* Fixed grammar
* Use modern block id's
* Update YouTube video URL
2020-10-05 13:41:41 -04:00
N0tMyFaultOG
9f232a9690 Enhance debugpaste information 2020-10-04 16:52:43 +02:00
dordsor21
88e64a0632
Simplify further as using ConcurrentHashMap 2020-10-01 17:08:29 +01:00
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
c7369e2cc0 Update plugin.yml 2020-09-16 16:12:20 +02: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
d741a8a905 Delete DummyFawe.src 2020-09-14 21:30:27 -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
N0tMyFaultOG
7baaed946e 1.16.3 2020-09-11 01:11:56 +02:00
wea_ondara
fec938dac2 just send PacketPlayOutChunkMap for chunk updates 2020-09-06 16:50:22 +02:00
N0tMyFaultOG
ec141ecb46 Merge branch '1.16' into update-adapters 2020-09-02 17:41:08 +02:00
N0tMyFaultOG
aa125b29d4 Update worldedit-adapters.jar 2020-09-02 17:31:27 +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