Commit Graph

560 Commits

Author SHA1 Message Date
Jesse Boyd
d6da78251e Tweak parallel startset 2016-06-17 23:20:49 +10:00
Jesse Boyd
3bab344656 Fix hasFastMode and combine stages 2016-06-17 16:38:29 +10:00
Jesse Boyd
97a0126fd1 Sync regen to the calling thread 2016-06-17 15:26:18 +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
942e32d827 Add size restrictions 2016-06-10 13:16:10 +10:00
Jesse Boyd
d6902866c4 Add structure format
(for structure blocks)
2016-06-10 13:10:40 +10:00
Jesse Boyd
92ccbfcdcd Fixes #147 2016-06-10 05:10:56 +10:00
Jesse Boyd
40c6e781a6 Update to 1.10 2016-06-09 17:50:19 +10:00
Jesse Boyd
0c8291bbc8 forge message color 2016-06-07 07:50:12 +10:00
Jesse Boyd
b30007a4e4 Fix for forge 2016-06-06 18:46:02 +10:00
Jesse Boyd
ed08bf8a9c Fixes fixlighting
Relates to #140
2016-06-06 17:04:16 +10:00
Jesse Boyd
62e40bd9b6 Fixes for unused EditSessions clogging queue 2016-06-06 10:58:13 +10:00
Jesse Boyd
c1b22fbb21 Fixes #136 2016-06-04 03:33:28 +10:00
Jesse Boyd
3c0a2bd67e Superpickaxe async 2016-05-31 00:30:16 +10:00
Jesse Boyd
cc4f654941 debug failed queue initialization 2016-05-30 00:24:24 +10:00
Jesse Boyd
a05ae2e550 Various fixes for VS / WE 2016-05-28 08:37:16 +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
4ac02d6297 Fixes #121 2016-05-23 23:00:33 +10:00
Jesse Boyd
e8d76e3f3a VS history on disk/undo/rename perform to //p 2016-05-23 06:38:59 +10:00
Jesse Boyd
8a91f09192 Fix vs mask 2016-05-23 05:01:29 +10:00
Jesse Boyd
c950b7554d async bukkit wrappers / vs hook / api changes 2016-05-23 03:37:55 +10:00
Jesse Boyd
a4353bb760 Forge fix
Fixes #119
Close #120
2016-05-22 20:36:05 +10:00
Jesse Boyd
958f40fcbf Make API methods static 2016-05-22 17:51:28 +10:00
Jesse Boyd
ba2f9159b6 Get entities sync 2016-05-20 23:49:09 +10:00
Jesse Boyd
6993e4d8ed Fixes #111 2016-05-20 18:20:53 +10:00
Jesse Boyd
987ea4110a *forgot this 2016-05-20 18:17:19 +10:00
Jesse Boyd
37f2ef9765 Avoid duplicate wrapping 2016-05-20 18:16:26 +10:00
Jesse Boyd
6c14c13ceb Fix move / 19R2 entity packet sending 2016-05-20 18:14:21 +10:00
Jesse Boyd
9e128b8d0c Fix entity create/remove 2016-05-20 04:43:28 +10:00
Jesse Boyd
54864b73d2 Various
centralize error handling
fix tile entities (undo/redo)
2016-05-19 17:41:55 +10:00
Jesse Boyd
ee38591c37 fix 2016-05-17 20:11:00 +10:00
Jesse Boyd
90b5bb2801 block registration / p2 2016-05-17 20:00:08 +10:00
Jesse Boyd
183fcccc64 Stair/Rod rotation 2016-05-15 03:01:15 +10:00
Jesse Boyd
0bc703e1b9 Forge/Sponge 3.5.0 2016-05-14 23:38:07 +10:00
Jesse Boyd
00c685cd93 Various
add git revision to jar
fix fixlighting
fix fallback bukkit queue
(currently not stable for forge/sponge)
2016-05-13 18:19:18 +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
c599e75fa6 Have NullExtent extend FaweRegionExtent instead (more uses) 2016-05-02 13:19:25 +10:00
Jesse Boyd
d7f121f8a9 Fix regen 2016-05-02 13:14:13 +10:00
Jesse Boyd
bf0903246b Use clipboard instead 2016-05-02 13:06:23 +10:00
Jesse Boyd
a7cc08a882 cap height at 255 2016-05-02 12:09:21 +10:00
Jesse Boyd
9f0602f2ec Various
Fixes #89
brush fixes
optimizations
restructure
etc
2016-05-02 12:04:28 +10:00
Jesse Boyd
ea6840535a fix translation problem 2016-05-01 21:11:16 +10:00
Jesse Boyd
024d46be78 Various
Fixes #68
Fixes #69
Fixes #80
Fixes #70
Fixes #72
added heightmap brush
2016-05-01 11:10:39 +10:00
Jesse Boyd
b9f2671166 Fix gravity brush expecting blocks to be set instantly 2016-04-30 17:07:37 +10:00
Jesse Boyd
19c0e03989 Various
Fixes #71
Fixes #65
Fixes #81
Fixes #73
Fixes center for opposite sign x/z
2016-04-30 12:49:23 +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
3b9408d381 Various 2016-04-28 15:00:49 +10:00
Jesse Boyd
4ec9ed3a8d Various 2016-04-28 08:10:17 +10:00
Jesse Boyd
72bd48a57d Fixes #58 2016-04-27 09:09:01 +10:00
Jesse Boyd
aec27d0e09 Set command optimizations 2016-04-27 05:51:22 +10:00
Jesse Boyd
9a3daaa383 Fixes #44 2016-04-26 11:15:48 +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
f5bbd59602 clean target ? 2016-04-26 01:41:07 +10:00
Jesse Boyd
644dfc512a *correct id 2016-04-25 07:07:27 +10:00
Jesse Boyd
362490938c Added option clipboard on disk 2016-04-25 06:59:25 +10:00
Jesse Boyd
912ea44cc8 Fixes
Fixes #51
Fixes #49
2016-04-25 04:54:32 +10:00
Jesse Boyd
0da4f6f63a Fixes #48 2016-04-25 02:20:26 +10:00
Jesse Boyd
053d7a6482 Restructure 2016-04-24 06:41:07 +10:00
Jesse Boyd
14dd048662 API and brush improvements. 2016-04-23 02:11:46 +10:00
Jesse Boyd
70362d348f Fix for forest / bump version 2016-04-22 09:12:38 +10:00
Jesse Boyd
e158b4d222 Minor tweaks 2016-04-22 07:10:41 +10:00
Jesse Boyd
fd37adaac8 I realize that you won't be able to see all 512 2016-04-22 06:12:40 +10:00
Jesse Boyd
d38db03600 Rollback optimizations / features 2016-04-22 05:59:24 +10:00
Jesse Boyd
7e0964c118 Use default bukkit block placer if NMS fails
The default block placer uses only the Bukkit API to perform changes.
- It's a bit laggy for larger changes
- Still a lot faster than normal WorldEdit
2016-04-22 01:41:41 +10:00
Jesse Boyd
a7763cd8fd Add support for FactionsOne 2016-04-21 15:53:37 +10:00
Jesse Boyd
bf7d066520 History on disk rollback command
Useful for undoing specific edits.
2016-04-21 14:07:28 +10:00
Jesse Boyd
652a983907 Workaround for CoreProtect logging 2016-04-21 09:40:14 +10:00
Jesse Boyd
e5590ed12f Queue optimizations + WorldGuard global region 2016-04-21 07:53:06 +10:00
Jesse Boyd
9f289f8fac Debug failed chunk load. 2016-04-21 05:05:11 +10:00
Jesse Boyd
de08ef85d7 Fix limits / add cancellation messages 2016-04-21 04:22:47 +10:00
Jesse Boyd
c1acacc208 Add bindings for different architectures 2016-04-20 23:59:21 +10:00
Jesse Boyd
bdec0b7ef4 Delete old history 2016-04-20 10:06:35 +10:00
Jesse Boyd
01d5601b5b Fix for CuboidClipboard rotation 2016-04-20 09:03:50 +10:00
Jesse Boyd
03a2dfec3f Fix method signiture for CuboidClipboard 2016-04-20 07:17:24 +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
505e99b488 Optimizations for 1.9 2016-04-20 01:22:36 +10:00
Jesse Boyd
e535f8adc9 Lastmask / preciousstones fix 2016-04-19 06:48:58 +10:00
Jesse Boyd
f8e1bb0b71 Use blocking queue 2016-04-19 05:07:50 +10:00
Jesse Boyd
9cf4f6c9f0 More optimizations!
Schematics now load in a fraction of a time. (took me 5.13 seconds to
load a 102,572,228 block schematic)

Also made some minor optimizations here and there.
2016-04-18 04:54:27 +10:00
Jesse Boyd
d6ad027fc8 Fix block rotation corrupting block cache 2016-04-17 05:15:21 +10:00
Jesse Boyd
e413318fb7 Fix regen for non cuboid / vp2 / clear sessions on logout 2016-04-16 22:31:20 +10:00
Jesse Boyd
72933df640 Add allowed extents section to config 2016-04-16 19:31:18 +10:00
Jesse Boyd
04e281e72d Fix deform 2016-04-16 18:16:08 +10:00
Jesse Boyd
3f9e202f3a clipboard optimizations
Encode the block as a single byte if possible
Don't bother storing air
Use the block cache where possible
2016-04-15 18:39:36 +10:00
Jesse Boyd
aa06bc19d2 Workaround for WorldEdit's sign bug 2016-04-15 06:29:30 +10:00
Jesse Boyd
2012d56900 Remove version from build 2016-04-15 03:27:50 +10:00
Jesse Boyd
e87f804236 Fixes #28 2016-04-15 02:30:02 +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
caa0e475ad Have regen respect protection 2016-04-14 19:22:13 +10:00
Jesse Boyd
9f57b89756 Fixes #27 (/up and /ceil)
Also change the commands to go through the editSession so it can be
restricted/undone
2016-04-14 18:27:02 +10:00
Jesse Boyd
04dab97460 Added regen for forge (#23) 2016-04-14 18:07:51 +10:00
Jesse Boyd
fff311a99f Fixes #23 2016-04-14 07:31:02 +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
ab4af2741f Prefix 2016-04-06 03:02:15 +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
fb15a425a7 Queue, editsession and history optimizations
Streamlined the queue so now the queue doesn't need to be fetched on
each block
Removed block reording from editsession as it alone takes half a
second/million blocks
Replaced block fetch from history extent with optimized algorithm.
2016-04-04 04:03:35 +10:00
Jesse Boyd
0c55e3c7cb Clipboard compression
Reduce the size of the clipboard by encoding the BaseBlock as a short
array, with an accompanying map for nbt.
2016-04-03 17:13:22 +10:00
Jesse Boyd
d11bb1ac0a Fix for nbt 2016-04-03 05:19:14 +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
fb8863cd06 Start work on forge port 2016-04-02 16:58:42 +11:00
Jesse Boyd
a924dcd66a Fix errors 2016-04-02 15:25:04 +11:00
Jesse Boyd
e71fd64e9c Add gradle project 2016-04-02 15:06:24 +11:00