Commit Graph

1035 Commits

Author SHA1 Message Date
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
dd082d4f39 Fix loading on Java versions prior to 16
- Lazy workaround continuously JitPack outages
2021-07-09 11:34:07 +02:00
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
0af60e5680 Added support for GriefDefender (#1123) 2021-06-17 10:37:53 +02:00
d015e6b270 Also synchronise when loading sections forcefully 2021-06-12 15:09:02 +01:00
f6c87b6726 Add null check to creating default NBT data 2021-06-10 19:59:17 +01:00
7ef8b2f95e Create default TileEntity data where required.
Fixes #1093
Fixes #1042
2021-06-10 13:39:36 +01:00
dd217fcb70 Don't bother trying to use a clipboard when clearing plots.
Fixes #1088
2021-06-09 17:45:57 +01:00
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
e40a657faf Remove unused imports 2021-06-05 20:38:53 +02:00
798e18ecc2 Look up BlockBase.Info field in actual class instead of subclass 2021-06-05 20:32:09 +02:00
2bdf6ae18a Leave a proper warning if you install WE alongside FAWE 2021-06-05 20:01:06 +02:00
75fbe654ee Update Upstream
0036e06 Alter the CUI lifecycle to be more consistent and reliable (1633)
2021-06-05 11:27:27 +02:00
d1af6c38e7 Update Upstream
9516002 Register platforms and commands in a more proper way (1766)
2021-06-05 10:27:38 +02:00
b599769f8c Fixes #1098 2021-05-30 23:49:46 +02:00
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
8d35963171 Address dead Component imports 2021-05-23 23:35:08 +02:00
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
46f1882496 Exchange Me's blog article URL 2021-05-12 19:10:30 +02:00
7b6fde2579 Update ServerLib 2021-05-12 16:35:51 +02:00
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
ceacd7b669 Update Upstream
95d784f Return false if Entity#remove is unsupported
2021-04-22 20:41:49 +02:00
00641c8108 Update ServerLib 2021-04-19 11:19:31 +02:00
8b69d8a8e2 Improve outdated note even more 2021-04-14 10:05:16 +02:00
6e8cc06637 Address a few deprecations 2021-04-06 18:30:29 +02:00
01dff32597 Fine tuning captions
Fix listchunks throwing component error
2021-04-06 14:01:04 +02:00
5e534ff9e2 Finalize Captions
Follow up to a9d1202ce1
2021-04-05 19:54:49 +02:00
a9d1202ce1 Finish up transition to captions 2021-04-05 19:52:13 +02:00
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
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
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
bc64eaff1c Merge upstream 2021-03-13 10:59:17 +01:00
6476345e44 Implement missing methods 2021-03-12 12:23:44 +01:00
cde52f9f35 Implement missing methods 2021-03-09 12:41:05 +01:00
99ea64fa4e Add a couple of permissions 2021-03-06 20:22:39 +01:00
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
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
f5956b66a8 Present adventure on compile time
Co-Authored-By: Hannes Greule <SirYwell@users.noreply.github.com>
2021-02-22 11:04:12 +01:00
e8169afd64 Boost TileEntity clear performance, with extra boost on Paper 2021-02-19 19:58:36 +01:00
af987016fc Fixes #910 2021-02-15 12:24:33 +01:00
0a721b18ce Implement methods 2021-02-14 19:56:05 +01:00
83e5e8ea27 Improve note if Fawe is used on an older mc release 2021-02-10 17:49:34 +01:00
2ab207cfe9 Fix occasional NPE when removing section lighting 2021-02-05 16:05:53 +00:00
ac16c9a2ba Minor upstream merge 2021-02-03 23:08:39 +01:00
f88432a709 Fix incorrect Collections#unmodifiableSet usage 2021-02-01 15:07:54 +00:00
0bba9c5ac7 Update bStats 2021-01-24 10:44:22 +01:00
86ecd9f553 Move to ServerLib 2021-01-22 23:23:08 +01:00
67f9e54285 Enhance reload message 2021-01-21 10:19:07 +01:00
acc8a79e8e Leave a note about unsupported versions 2021-01-19 20:23:37 +01:00
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