Per world session history index when using disk
Configurable clipboard/history save locations
Fixed and optimized packet sending
History caching optimizations (instant now)
Also adds CPUOptimizedClipboard which has no extra compression
Note: Performance degrades if access is actually random (the buffering
optimizes sequential r/w)
Removing stream in favor of clipboard compression / disk
- In order to stream a schematic, it would need to be fully read 3 times
as tags are not ordered (dimensions -> block ids -> data + tiles +
entities)
- Much faster just using disk / memory as an intermediate step
Update to PS 3.4.1
- Added various optimizations for PlotSquared
- Support full schematic exporting (includes NBT now)
Added compression level option:
0 is no compression
1-9 = varying levels of compression at the expense of CPU
3 = Good fast compression
5 = Good high compression
8 = Lots of compression (going further has diminishing returns)
Add EditSession builder (for extra control over optimizations)
Added compression option to FaweChangeSet constructor
Added FAWE format (used for history / clipboard on disk)
Various minor optimizations
TODO bug fixes
Fix entity y value not within chunk
Fix combined stages CPUOptimizedHistory not restoring air in existing
sections on undo
Change EditSession to wait for completion on flush (you should be
flushing it async)
Added setting for edit session history with no session
fix pom
combine stages
work on efficient handling tiles / entities in changeset
other minor restructuring
(Currently only stable for bukkit 1.8 with
Settings.COMBINE_HISTORY_STAGE=true)
> /lazycopy
> 92083901 block(s) were not copied. I'll do it later, promise!
Basically it will copy it on the fly whenever you decide to do something
with it e.g. paste or save it as a schematic.
The CuboidRegion class will now queue blocks in layers for a chunk
before moving onto the next chunk. This results in higher cache hits for
history enabled queues. It also allows the block placer to start earlier
during preprocessing with edits affecting > 64 (configurable) chunks.
Note: with history on disk enabled, this means near unlimited sized
edits (for certain commands) might be feasible.
fix a few async issues (nbt setting/cut/plotsquared hook)
fixes#1
allow some debug options to be configurable (chunk wait / buffer size)
add region restriction option
Using java's inbuilt compression algorithms (gzip or deflator both) was
a bit too slow for me.
Fawe is now using the LZ4 compression algorithm, which is super fast. So
fast that I decided to add a default 1 pass of compression to history.
Enabling further compression will do an additional high LZ4 compression.