mirror of
https://github.com/plexusorg/Plex-FAWE.git
synced 2025-02-02 04:00:07 +00:00
Spottedleaf
0d18b15393
Workaround for replacing PlayerChunkMap#visibleChunks field
I run a fork of paper which replaces the visibleChunks and updatingChunks field for gc performance reasons - visibleChunks is updated via cloning updatingChunks, and at high chunk counts this causes gc issues due to the humongous allocation. Unfortunately the only solution is to not clone the map - which is why the field is removed. Instead of BukkitAdapter#getPlayerChunk using the visibleChunks field, it now uses a MethodHandle for PlayerChunkMap#getVisibleChunk. This method is present on spigot & paper (only protected on spigot - which is why reflection is required), and I preserve the same thread-safety it provides in my fork - so this solution will not break compatibility with craftbukkit, spigot, and paper.
FAWE is a fork of WorldEdit that has huge speed and memory improvements and considerably more features
Links
Downloads
1.13+
< 1.12.2
Building
FAWE uses gradle to build
You can safely ignore gradlew setupDecompWorkspace
if you are not planning to work on the forge side of FAWE.
$ gradlew setupDecompWorkspace
$ gradlew build
Contributing
Have an idea for an optimization, or a cool feature?
- We will accept most PR's
- Let us know what you've tested / what may need further testing
- If you need any help, create a ticket or discuss on Discord
Description
Blazingly fast world manipulation for artists, builders and everyone else. Modified for Plexus.
Languages
Java
99.2%
Kotlin
0.5%
JavaScript
0.3%