Commit Graph

309 Commits

Author SHA1 Message Date
Jesse Boyd
2637cbc9cd
Include Javassist (bytecode manipulation)
Will be used to optimize the server jar
2017-02-16 20:32:16 +11:00
Jesse Boyd
1cd090ce01
use different method for history flushing/close 2017-02-16 01:57:03 +11:00
Jesse Boyd
47999d323b
Fix some chunk loading issues
Affected 1.8/1.7
Also improves performance for various operations
2017-02-13 02:55:19 +11:00
Jesse Boyd
85ac3dff41
preloading chunks is significantly faster
The RegionVisitor loads (default: 32) expected chunks just in time for
the operation.

TODO rewrite operations to use the new RegionVisitor
2017-02-08 14:43:34 +11:00
Jesse Boyd
0427771b7e
Re-add the forge/sponge modules 2017-02-06 13:09:44 +11:00
Jesse Boyd
81dcf26a2a
Fixes #407 2017-02-04 17:44:33 +11:00
Jesse Boyd
a9cafb13a2
Fix entity iteration/removal 2017-02-01 08:35:29 +11:00
Jesse Boyd
116a1869b1
Fixes #400 2017-01-29 13:31:08 +11:00
Jesse Boyd
ebc7ba43e6
Various
Fix biome change not sending packet
Add optimized biome get and set (AsyncWorld, EditSession etc.)
Add undo for biome changes
Fix tile entities for slow (non NMS) bukkit queue
Translate some stuff
Fix some concurrency issues with autoqueue
cuboid region geChunks() now has fixed memory cost (applies to commands
e.g. //listchunks)
Fix some undo issues
2017-01-29 09:25:53 +11:00
Jesse Boyd
a7b29ab82f
Tweak some stuff 2017-01-15 22:15:22 +11:00
Jesse Boyd
812c12fce4
Undo/Settings
Fix some disk and undo issues
FaweQueue uses Settings instance
2017-01-15 18:45:12 +11:00
Jesse Boyd
11cb7d1671
Fixes #392 2017-01-11 11:54:20 +11:00
Jesse Boyd
bc677f823e
Various
Fix for Vector/BlockVector
Use optimized LocalBlockVectorSet for various operations
- Ideally I'd like the operations to use O(1) memory, but for now it'll
use substantially reduced O(n)
Some message tweaks
Some minor entity placement optimizations
Refactor set optimization to be in the EditSession class
Fix and minor optimizations for for countBlocks()
Minor optimizations for affine transforms (//rotate etc.)
Optimizations for fuzzy block mask
2017-01-11 07:47:59 +11:00
Jesse Boyd
8a47424bc5
Fixes #385
Not sure what causes the problem though
2017-01-08 23:50:43 +11:00
Jesse Boyd
a8e18b885f
Fixes #373 2017-01-03 08:00:50 +11:00
Jesse Boyd
95715da039
Toggle worldedit /tips 2017-01-03 07:29:14 +11:00
Jesse Boyd
70812e78c8
Fix combine stages getPrevious 2017-01-03 07:10:09 +11:00
Jesse Boyd
ede846f894
Init empty section with skylight array 2016-12-30 02:09:02 +11:00
Jesse Boyd
850bb533cb
Fix packet sending for null chunk sections 2016-12-29 11:53:07 +11:00
Jesse Boyd
80417bdc2b
*revert 1.11 optimizations for now 2016-12-29 10:22:46 +11:00
Jesse Boyd
8dba2a5620
Combined stages optimizations for bukkit 1.11 2016-12-29 10:19:48 +11:00
Jesse Boyd
39f12be5f9
Update residence dependency 2016-12-29 07:44:41 +11:00
Jesse Boyd
d43dbab7c5
DL WorldEdit bukkit if they forget 2016-12-27 23:28:43 +11:00
Jesse Boyd
9d920a5510
Optimize set air for more versions 2016-12-27 05:58:14 +11:00
Jesse Boyd
32ae0f1d48
Update sponge jar 2016-12-26 18:42:33 +11:00
Jesse Boyd
59c45f0fa7
Optimize set air for 1.11 2016-12-23 17:45:04 +11:00
Jesse Boyd
5fe9aff4e4
Fix compile 2016-12-23 16:11:55 +11:00
Jesse Boyd
76e037492b
Add speicifying biome/seed for regen command
//regen
//regen forest
//regen desert 5336
2016-12-23 02:31:00 +11:00
Jesse Boyd
dcc0c15c03
BREAKS OLD UNDO FILES + better compression
Reduce block position entropy by encoding coordinates relative to last
position
2016-12-21 06:22:03 +11:00
Jesse Boyd
bde4749e2c
Only instantiate packets for the required versions 2016-12-15 18:32:19 +11:00
Jesse Boyd
1b07dbae1d
* 2016-12-14 09:36:28 +11:00
Jesse Boyd
e7297199c1
Send client version packet 2016-12-14 09:23:07 +11:00
Jesse Boyd
f0a36ba1fa
Zstd/disk clipboard/version/various
Better compression with Zstd
Fix disk clipboard + minor optimizations
Fix version output
Some various incomplete stuff
2016-12-12 17:41:32 +11:00
Jesse Boyd
78640aef1c
Change vault message 2016-12-12 17:37:16 +11:00
Jesse Boyd
9bea95dd22
Configurable tick limiter interval 2016-12-09 22:49:23 +11:00
Jesse Boyd
1e4397c8d1
ChunkListener fixes 2016-12-09 22:37:28 +11:00
Jesse Boyd
551b25baf6
Various (important) changes
Added command tab completion for patterns
Tick limiter:
- Ignore redstone physics
- Per chunk limiting (rather than global)
- Notify console of any limiting
Changes default settings for low memory usage rather than speed:
- Doesn't effect any existing configs, just new installs
- Uses disk and database for undo/redo/clipboard
- Uses compression level 8 instead of 1
Fixes 1.8 queue failing on no isDirty field
Fixes rare chunk skipping
Fixes queue staging issue
Tweak undo/redo failure messages to provide more info
Added sand/gravel sphere message so that people don't ask me "why it no
work!?"
2016-12-09 01:47:50 +11:00
Jesse Boyd
1c948cf0ed
Various
Add #clipboard transform
Add #fullcopy pattern
- similar to transform, it pastes the full clipboard at any changed
block
- e.g. //replace <marker> #fullcopy
Async block get optimizations for bukkit by running tasks multiple times
during a single tick
Tweak the OOM message to be more informative
Tweak the max memory config comment to be more informative
Restructured transforms to use resettable extent + reduce code
duplication
Clipboards can now be streamed to a schematic file without significant
memory overhead
- This means you can now load/paste/copy/save arbitrarily large sizes
with fixed memory usage
Optimizations to the various clipboard implementations
Add optimized extent block translation (no additional object creation
for set block)
Optimized forward extent block copy
- use optimized extent transform/translate
- pre calculate required functions/extents outside iterations
- short circuit certain functions depending on input parameters
Use edit session for patterns rather than world (faster/safer)
2016-12-06 15:58:28 +11:00
Lax
165690f80e Minor text fixes.
http://i.imgur.com/0uMMZUt.png
2016-12-04 23:39:35 -08:00
Jesse Boyd
6b0c2b9ef9
Fix sendBlocks + lever rotation 2016-12-03 12:57:17 +11:00
Jesse Boyd
aa27d01fc4
Tile entity fixes + send block update 2016-12-02 17:03:57 +11:00
Jesse Boyd
158ed391b4
Fix for 1.7.10 2016-12-02 11:50:54 +11:00
Jesse Boyd
4e1aacb566
Potentially fixes #348 2016-12-01 13:58:31 +11:00
Jesse Boyd
90e0ab574d
Load without throwing errors without WorldEdit
It's just functional enough to print a message saying it won't function
without WorldEdit
2016-11-30 18:45:30 +11:00
Jesse Boyd
90ba392692
Fix forge regen 2016-11-29 19:15:45 +11:00
Jesse Boyd
9b7b30ac1b
Fixes #322 2016-11-29 15:20:00 +11:00
Jesse Boyd
fd539a9412
auto updater 2016-11-29 15:05:18 +11:00
Jesse Boyd
0df745c399
Force FAWE adapter as WE for 1.11 broke entities
good job WorldEdit
2016-11-29 13:17:48 +11:00
Jesse Boyd
5b0ce58f6b
Fix removal of light sources 2016-11-28 14:34:12 +11:00
Jesse Boyd
951a6a88b9
*Fix compile 2016-11-25 16:46:36 +11:00
Jesse Boyd
9c1bb58a09
Restructure
Now uses a single jar for bukkit
I'm going to seperate the injector so FAWE can be used (API wise)
without WorldEdit.
2016-11-24 17:36:44 +11: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
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
00c9e40b1d *Remove debug 2016-04-23 02:12:38 +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
d38db03600 Rollback optimizations / features 2016-04-22 05:59:24 +10:00
Jesse Boyd
63ad22a021 Forgot to load the chunk, whoops. Also bumping the version 2016-04-22 02:31:20 +10:00
Jesse Boyd
61ae58f3f2 * 2016-04-22 01:41:54 +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
aa02b34d7c Fix for global region 2016-04-21 08:15:54 +10:00
Jesse Boyd
b4c4dc2e5c Bump version 2016-04-21 07:56:02 +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
01d5601b5b Fix for CuboidClipboard rotation 2016-04-20 09:03:50 +10:00
Jesse Boyd
3ed58f0d37 Bump version 2016-04-20 06:33:17 +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
6c141f462a Fallback on async relight failure 2016-04-20 04:24:21 +10:00
Jesse Boyd
8f8c4f2c66 v3.3.16 2016-04-20 04:14:44 +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
c5cd3e1ecc *wrong version 2016-04-19 16:14:24 +10:00
Jesse Boyd
492d5ea07f bump preciousstones version 2016-04-19 15:41:12 +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
d2128ab045 Bump version 2016-04-19 04:33:00 +10:00
Jesse Boyd
8c7b431e10 Possible invis block fix 2016-04-19 02:28:06 +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
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
f55f767e2f Bump version 2016-04-15 06:31:00 +10:00
Jesse Boyd
2012d56900 Remove version from build 2016-04-15 03:27:50 +10:00
Jesse Boyd
b546a75e00 v3.3.11 2016-04-15 02:35:20 +10:00
Jesse Boyd
969c800509 Fixes #32 2016-04-15 02:22:20 +10:00
Jesse Boyd
f3db4be8ae Bump version 2016-04-15 00:20:11 +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
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
fabdf0b08a Fixes #18 2016-04-06 03:51:52 +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
491b6bc646 BUmp version, add check for op 2016-04-03 17:26:17 +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