Commit Graph

310 Commits

Author SHA1 Message Date
Jesse Boyd 1fac6b710d
Debug no adapter 2017-02-16 22:31:52 +11:00
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