Commit Graph

39 Commits

Author SHA1 Message Date
Jesse Boyd
1ed87eabbc Various
Per world session history index when using disk
Configurable clipboard/history save locations
Fixed and optimized packet sending
History caching optimizations (instant now)
2016-08-09 14:32:51 +10:00
Jesse Boyd
c98d07039d Buffered random access clipboard compression + schematic -> clipboard streaming
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
2016-08-06 16:42:40 +10:00
Jesse Boyd
1ca5798e9d Begin rollback optimizations + other
Store rollback summary in database (option)
API improvements
Load before AWE
2016-08-03 14:43:27 +10:00
Jesse Boyd
1835748d85 1 seems to have issues right now 2016-07-27 08:29:59 +10:00
Jesse Boyd
ff60177dcc Working async relighting 2016-07-27 08:03:51 +10:00
Jesse Boyd
c52c1bee27 Relight improvements + ports
6 lighting modes (0-5), see config
forge194
forge110
bukkit1710
(untested)
2016-07-15 09:53:30 +10:00
Jesse Boyd
342c106e8c Increase default history size 2016-07-12 18:08:26 +10:00
Jesse Boyd
9ed6880d1d Various 2016-07-10 23:37:18 +10:00
Jesse Boyd
478cbbf393 Per player history size (in MB) 2016-06-28 20:22:31 +10:00
Jesse Boyd
e4b1cc376b Document some stuff 2016-06-21 20:35:09 +10:00
Jesse Boyd
4c59ffc371 Various
Fixed entity copy, tree gen, snow height, reload history limit,
2016-06-19 12:24:28 +10:00
Jesse Boyd
9bf2d2b0c3 Various
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
2016-06-16 20:25:21 +10:00
Jesse Boyd
7bc7f5841f Clipboard upload/download 2016-06-10 18:47:55 +10:00
Jesse Boyd
b168d1b336 Various
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
2016-05-26 05:29:55 +10:00
Jesse Boyd
54864b73d2 Various
centralize error handling
fix tile entities (undo/redo)
2016-05-19 17:41:55 +10:00
Jesse Boyd
b5a8eb2176 Various
update to 1.9.4
progress notifications
lighting fixes
optimizations

Only stable for bukkit 1.8/1.9
2016-05-13 18:19:18 +10:00
Jesse Boyd
1d5765e8cc Various
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)
2016-05-06 08:59:21 +10:00
Jesse Boyd
bf0903246b Use clipboard instead 2016-05-02 13:06:23 +10:00
Jesse Boyd
9f0602f2ec Various
Fixes #89
brush fixes
optimizations
restructure
etc
2016-05-02 12:04:28 +10:00
Jesse Boyd
06a548e09e Various
Fixes #62
Fixes #63
Fixes #64 (maybe)
Fixes #66
Fixes #61
Fixes #67
Minor cleanup
2016-04-30 07:24:59 +10:00
Jesse Boyd
4ec9ed3a8d Various 2016-04-28 08:10:17 +10:00
Jesse Boyd
143847816f Fix brush iterations 2016-04-26 08:39:19 +10:00
Jesse Boyd
8609741555 Lazy copying
> /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.
2016-04-26 08:08:10 +10:00
Jesse Boyd
57696f25f4 Finish clipboard on disk 2016-04-26 04:14:41 +10:00
Jesse Boyd
362490938c Added option clipboard on disk 2016-04-25 06:59:25 +10:00
Jesse Boyd
0da4f6f63a Fixes #48 2016-04-25 02:20:26 +10:00
Jesse Boyd
de08ef85d7 Fix limits / add cancellation messages 2016-04-21 04:22:47 +10:00
Jesse Boyd
bdec0b7ef4 Delete old history 2016-04-20 10:06:35 +10:00
Jesse Boyd
a8e335e23c Various
- delete session on logout
- load session on world change (disk)
- set default chunk wait to 100ms
2016-04-20 06:30:34 +10:00
Jesse Boyd
33f3cb6ba5 Optional async relighting 2016-04-20 04:11:09 +10:00
Jesse Boyd
72933df640 Add allowed extents section to config 2016-04-16 19:31:18 +10:00
Jesse Boyd
5097f0cf63 Fixes #30
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.
2016-04-15 00:18:22 +10:00
Jesse Boyd
5b3e0973f2 Fixes #21 2016-04-13 20:04:01 +10:00
Jesse Boyd
42654bd784 Various
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
2016-04-07 06:19:17 +10:00
Jesse Boyd
fb4ed9362d Various
per player limits
- max blocks
- max checks
- max fails
- max entities
- max blockstates
Also add command limit
Fix negative coord compression issue
2016-04-06 01:11:24 +10:00
Jesse Boyd
ba04eb9fc8 Cleanup / persistent history 2016-04-05 02:07:36 +10:00
Jesse Boyd
0dfbd44c72 Faster compression
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.
2016-04-04 18:39:00 +10:00
Jesse Boyd
789098dc79 Finish with sponge depend
Also fix 1.8 issue for kh498
2016-04-03 02:50:50 +10:00
Jesse Boyd
e71fd64e9c Add gradle project 2016-04-02 15:06:24 +11:00