FAWE [3.3.6]
Fixed some minor issues with copying/undoing edits with nbt data
Fixed minor issue with perm checks.
Recoded the clipboard class to encode the BaseBlock as a short array with an accompanying map for nbt
- about 10x smaller memory usage
Compression improvements
- Using java's inbuilt compression was too slow for me (gzip or deflator)
- Now using the LZ4 compression algorithm which is super fast (fast enough that there's now 1 pass of history compression by default)
- Enabling further compression will do another pass with the LZ4 high compressor.
Streamlined the queue system so it doesn't need to be fetched on each block place.
- Not a whole lot faster, but it probably makes more sense code wise.
Removed block reordering from the editsession.
- It alone took about 0.5s/mil blocks
Replaced block fetching from history extent with custom optimized algorithm
- Using primitives to represent the block where possible is a lot faster than instantiating a new BaseBlock object and populating it with the id/data/nbt
tldr;
compression=super fast,history=super fast
^ also really good ratio for uniform changes