Commit Graph

407 Commits

Author SHA1 Message Date
Jesse Boyd 30ea572a8e
*use correct yaw/pitch 2016-10-27 19:59:36 +11:00
Jesse Boyd 9d7a5e4344
Mask location for brushes 2016-10-27 06:23:26 +11:00
Jesse Boyd 102468c2fd
* 2016-10-27 06:05:32 +11:00
Jesse Boyd c3af25ddf7
Allow queue to use cached block value 2016-10-27 05:51:48 +11:00
Jesse Boyd 84f1ee19fc
Fixes #322 2016-10-24 23:43:11 +11:00
Jesse Boyd 3c371d2eb1
Fix rotation
fixes rotation for signs, banners and nbt data
2016-10-24 22:22:55 +11:00
Jesse Boyd f13c01a177
Fixes #340 2016-10-24 19:38:25 +11:00
Jesse Boyd b71c3ec43e
Possibly fixes #335 2016-10-22 04:07:41 +11:00
Jesse Boyd bbb6346aff
Fixes #336 - Though you should also update to Java 8 2016-10-22 00:31:10 +11:00
Jesse Boyd 4cafeb68ca
Flush EditSession on CuboidClipboard paste
- Note that using CuboidClipboard is deprecated, and flushQueue should
heve been called anyway
2016-10-22 00:27:22 +11:00
Jesse Boyd 85133067dd
Fixes #338 2016-10-21 23:19:49 +11:00
Jesse Boyd f2204fd188
Fixes chunk sending when block placement is really slow
TODO fix this properly later
- This fix works, but isn't very clean
- Queue should have a `done` stage rather than assuming empty = done
2016-10-21 02:59:01 +11:00
Jesse Boyd 0054e432ae
Fix clipboard paste error. 2016-10-21 00:54:02 +11:00
Jesse Boyd 8e91d8a6ad
Potential fix for crash 2016-10-21 00:45:40 +11:00
Jesse Boyd d5ea46a29c
PGZIP 2016-10-20 18:03:56 +11:00
Jesse Boyd 04164b9064
* 2016-10-17 18:54:35 +11:00
Jesse Boyd 295aad0f2f
Minor inventory + queue management changes 2016-10-17 18:04:33 +11:00
Jesse Boyd 135d936825
* 2016-10-04 01:46:13 +11:00
Jesse Boyd c22063edb6
Fix identical states being recorded as a change 2016-10-04 01:37:23 +11:00
Jesse Boyd 47cbc2bc8c
Proper support for WorldEdit inventory
- Per player inventory mode (0, 1, 2)
- Use mode 2 for survival (setting air doesn't give you the blocks)
- Fixes several duplications glitches
- Adds speed and placement type option per player

-
2016-10-04 01:21:27 +11:00
Jesse Boyd 7886947061
Disable combine stages for nukkit 2016-10-03 03:16:04 +11:00
Jesse Boyd d2413daca1
Only owners can rollback 2016-10-02 17:55:24 +11:00
Jesse Boyd 2682540de5
Fixes + Trim
Usage /plot trimchunks <world> <trim-unowned>
Fixes for Anvil
e.g. /plot trimchunks plotworld true
Will output the trimmed world to another folder (you need spare disk
space)
Some minor fixes.
Added WeakFaweQueueMap which will discard changes when low memory
2016-10-02 16:20:12 +11:00
Jesse Boyd 9de370ebc8
Fixes #316 2016-10-01 16:35:12 +10:00
Jesse Boyd c39f92248f
Fix latest pom output 2016-10-01 16:01:34 +10:00
Jesse Boyd 47fef5b345
Fixed #324 2016-10-01 15:33:45 +10:00
Jesse Boyd 204660d3eb Rebuild (no changes) 2016-09-30 06:18:14 +10:00
Jesse Boyd 0251c193c1 Add transforms 2016-09-30 06:12:08 +10:00
Jesse Boyd 7deeb51ca7 Fix set mask on double action brush tool 2016-09-29 00:58:18 +10:00
Jesse Boyd 5513e4cdc4 Use expression for offset/randomoffset 2016-09-28 23:49:52 +10:00
Jesse Boyd cb4821078e *Whoops 2016-09-28 23:34:48 +10:00
Jesse Boyd b414229c91 Add offset pattern 2016-09-28 23:19:00 +10:00
Jesse Boyd 7da883b9d7 Add gmask multiple mask args + fix masked pattern 2016-09-28 23:10:34 +10:00
Jesse Boyd 76b4bb4857 I forgot to commit everything 2016-09-28 22:48:20 +10:00
Jesse Boyd bd90df7635 Finish new patterns 2016-09-28 17:52:01 +10:00
Jesse Boyd 1e79ae4a0f Various
Optimize spline
Translate spline brush
Add various new patterns (#nox #noy #noz #rel `[stone,wood,blah`
#existing
Can now use percentages with patterns, not just blocks e.g.
50%#clipboard,50%stone
Add resettable patterns
2016-09-28 17:03:08 +10:00
Jesse Boyd 5b96a52e99 Not finished yet (spline brush) 2016-09-28 03:14:05 +10:00
Jesse Boyd 42a3203777 Forgot to flush VS brushes 2016-09-27 20:05:57 +10:00
Jesse Boyd 923bc9909a * 2016-09-27 12:54:45 +10:00
Jesse Boyd 8090bf9f1d Various
Increase chunk-wait
Sync packet sending
Allow up outside region
2016-09-27 02:58:16 +10:00
Jesse Boyd 27149ed67a Fixes #315 2016-09-26 14:42:22 +10:00
Jesse Boyd 50504a0fe5 Setting for disabling the physics limiter 2016-09-26 14:05:58 +10:00
Jesse Boyd 9e6c90430d Catch all progress tracker errors 2016-09-26 13:52:25 +10:00
Jesse Boyd f8a606c783 Tweak version 2016-09-26 02:42:23 +10:00
Jesse Boyd 3306bd2cdc Performance improvements + Fix packet sending
Async flush the changeset (sync flush for undo when needed)
- Not any faster, but edits will feel significantly faster
Fix incorrect bit mask for fixlighting packet sending
2016-09-26 01:53:13 +10:00
Jesse Boyd 7c96547c68 Separate schem load + url perms 2016-09-25 22:22:40 +10:00
Jesse Boyd d5e2527150 Fix stack (for real this time) 2016-09-25 22:04:27 +10:00
Jesse Boyd 861b10403d Fix NPE in NMSRelighter 2016-09-25 05:43:42 +10:00
Jesse Boyd 479c6c5172 Adjacent mask range parameter 2016-09-25 05:11:34 +10:00
Jesse Boyd c676d89aa6 * 2016-09-25 05:02:03 +10:00
Jesse Boyd fca33e5e87 Fix radius mask 2016-09-25 05:00:47 +10:00
Jesse Boyd f2e576a14f Fix adjacent mask 2016-09-25 04:50:11 +10:00
Jesse Boyd cbade2cec0 Superpickaxe + Masks
Add radius mask
Add adjacent mask
Fix superpickaxe error
Fix BFS
2016-09-25 03:37:29 +10:00
Jesse Boyd d5b7605f5e Allow third parties to register custom masks 2016-09-25 02:31:18 +10:00
Jesse Boyd 4430f14677 Possible fix for packet sending 2016-09-25 00:24:51 +10:00
Jesse Boyd 8d5fc88844 Fix stack being slow 2016-09-25 00:22:45 +10:00
Jesse Boyd 4f6abeaaff Add getClipboard() method to Schematic class 2016-09-24 23:25:15 +10:00
Jesse Boyd 64c00e4c3b Fix flushing on main thread 2016-09-24 17:55:15 +10:00
Jesse Boyd f9ee91f192 Remove debug message 2016-09-24 15:19:47 +10:00
Jesse Boyd 8461f406cf Fix region caching 2016-09-24 14:57:49 +10:00
Jesse Boyd d61c21f60e Fix error from flushing on different thread 2016-09-24 14:41:33 +10:00
Jesse Boyd 889efdcc45 Fix lastMask meta (typo) 2016-09-24 13:02:27 +10:00
Jesse Boyd b202adb2ce Fix progress tracking 2016-09-24 12:52:34 +10:00
Jesse Boyd 8a4c399b53 Fix angle mask 2016-09-24 02:55:00 +10:00
Jesse Boyd 2cb1485553 Various
Fixes #305 //sel extend bug
Translate a few messages
Add option `store-redo: true`, disabling will result in smaller history
but cannot use redo
Add option `small-edits: false` will reduce history by assuming edits <
4096x256x4096
Change FaweStreamChangeSet to use new settings, but be backwards
compatible (uses mode byte)
Add auto generated semantic version (may not be accurate)
Add recursive brush
Optimize undo/redo using mutable change objects
Tweak several classes to implement HasFaweQueue
Fix wrong cancel message for entity/biome changes
Optimized offset mask
Fixed masks not being reset after edit
Added interface ResettableMask used to reset masks after being used for
an EditSession
Added MaskTraverser for traversing and resetting inherited masks after
use
Added angle mask \#,#
Added id,data,combined mask #id #data #iddata (Must match starting block
id/data)
Added x,y,z axis mask #xaxis #yaxis #zaxis
Add mode 4 FAWE format (short location prefix + no combined from bytes)
Fix `/frb` command not respecting regions
Tweak permission for `/frb` -> worldedit.history.rollback
Translated ToolUtil commands
2016-09-23 17:11:41 +10:00
Jesse Boyd b2ef1cbc50 Fixes #302 2016-09-21 15:01:37 +10:00
Jesse Boyd 07f4f61cc2 Refactor + Fixes #300 2016-09-20 18:46:49 +10:00
Jesse Boyd 87e03f835c Fix region contains 2016-09-18 23:55:10 +10:00
Jesse Boyd 2d67aa5b9d This should work
queue commands if over limit (default = 1)
fix caclulating history size (in memory)
fix relighting in parallel
2016-09-18 23:48:16 +10:00
Jesse Boyd 35b37ac8e9 Allow multiple actions at a time
Closes #287
2016-09-16 17:47:53 +10:00
Jesse Boyd 58a1fb183e Minor tweaks| 2016-09-16 01:30:45 +10:00
Jesse Boyd f55a58a3f3 Various
Reduce max memory allocation size
- Uses multiple byte arrays instead of one large one for streams
- Faster read/write as less dependent on arraycopy
Remove world compression (it was buggy / there was no interest)\
EditSession can now be used as a world
Fix pos1/pos2 being allowed outside the world
Fixed liquid mask not being thread safe
Fixed plot upload
Reduce packet sending
- Increase delay to being able to see blocks, but more efficient
2016-09-15 19:49:29 +10:00
Jesse Boyd 911e7e7751 Fix downloaded schems + mcedit 2016-09-14 10:12:09 +10:00
Jesse Boyd 6dfea0364a * 2016-09-13 17:37:28 +10:00
Jesse Boyd 36fdbe55fe Various fixe + Restructuring + Possible breakage 2016-09-13 15:43:23 +10:00
Jesse Boyd c86f556a03 Fix jumpto 2016-09-10 21:24:14 +10:00
Jesse Boyd ab742e54a0 This is probably the issue 2016-09-09 14:05:52 +10:00
Jesse Boyd 71071998c6 Various
nukkit fixes
add new brushes
some other minor stuff
2016-09-09 03:41:03 +10:00
Jesse Boyd 733f5eabc4 Fix lrbuild 2016-09-08 16:18:45 +10:00
Jesse Boyd 4f21126a76 Possible fix for out of bounds 2016-09-08 13:26:10 +10:00
Jesse Boyd afddbb9af9 Change no region message 2016-09-06 02:31:27 +10:00
Jesse Boyd 681eac9f33 More MCPE fixes 2016-09-05 23:53:50 +10:00
Jesse Boyd c9eabe04ec Simplify some commands for MCPE 2016-09-05 21:16:59 +10:00
Jesse Boyd 56384ebba1 Fix history height for MCPE 2016-09-05 16:32:42 +10:00
Jesse Boyd e610b2fabb FIxes for MCPE
fix fixlighting
fix fixlighting
fix fawe commands not being registered
fix empty configs
fix tile placement
2016-09-05 16:01:39 +10:00
Jesse Boyd 9e297dc34a MCPE port is now async 2016-09-05 12:35:05 +10:00
Jesse Boyd 9f93f56c05 Forgot to flush changeset for VS 2016-09-04 18:14:04 +10:00
Jesse Boyd dba271ba78 *Forgot these 2016-09-03 16:57:32 +10:00
Jesse Boyd 3d924f22b5 Different message when all queued changes fail 2016-09-03 16:44:34 +10:00
Jesse Boyd 101b01cae9 Permission typo 2016-09-03 16:39:24 +10:00
Jesse Boyd 03b756b4d9 AsyncWorld.java wait for creation to finish 2016-09-03 13:30:38 +10:00
Jesse Boyd 4aeb29ebd3 I suppose this makes it simpler. 2016-09-02 14:33:01 +10:00
Jesse Boyd b18e53e79f Fix schematic downloading 2016-09-02 13:23:58 +10:00
Jesse Boyd 523f62787b Fixes #269 2016-08-30 18:05:28 +10:00
Jesse Boyd 421b992b67 Accidentally compressed twice 2016-08-29 17:58:18 +10:00
Jesse Boyd 36a1e9f744 Fixes #265 2016-08-29 14:29:36 +10:00
Jesse Boyd f2d54e6e97 move this to a directory that doesn't get deleted 2016-08-28 23:06:15 +10:00
Jesse Boyd 57fed361f0 My mistake 2016-08-28 21:08:21 +10:00
Jesse Boyd c0228054ef this might work for mvn 2016-08-28 17:57:47 +10:00
Jesse Boyd b51d41c0ac NBT streams 2016-08-28 16:44:54 +10:00
Jesse Boyd de9138b85e Fix /i 2016-08-28 13:33:27 +10:00
Jesse Boyd 062c80e7b3 Send fail message on semi-successful edit. 2016-08-28 02:05:54 +10:00
Jesse Boyd c5fc8c6ef8 *Forgot vectors weren't mutable 2016-08-28 01:40:23 +10:00
Jesse Boyd ce140a95c7 Fix rollback
inspect + y-value byte overflow
2016-08-28 01:06:09 +10:00
Jesse Boyd 5baa99ec80 Fix compile issues 2016-08-27 13:47:09 +10:00
Jesse Boyd ee272053b2 Temp fix for java 7 2016-08-25 18:01:27 +10:00
Jesse Boyd 05125ac664 Chunk deletion through API 2016-08-25 17:21:12 +10:00
Jesse Boyd b261a5c8b8 Minor tweaks
Fix tile add/remove for anvil commands
Add MCAWorld
2016-08-25 16:36:58 +10:00
Jesse Boyd b34c534bb0 Add ReplaceAllPattern anvil command 2016-08-25 14:31:05 +10:00
Jesse Boyd 5ed89f9bb6 Forgot to parallelize 2016-08-25 13:03:15 +10:00
Jesse Boyd 0f480b87bc Add replaceall command
/replaceall <world> [from] <to>
2016-08-25 12:54:12 +10:00
Jesse Boyd 151cbf5679 Various
Added first anvil command (countall)
Added parallelized filter for MCAQueue
Start on some optimizations for block queuing (reduce object creation +
casting)
Fix shortcut for set and fastmode
2016-08-25 00:34:07 +10:00
Jesse Boyd dd181d9378 Various
Reduce object creation (vector) on each block change
Fix getBlock in non allowed region
Fix command block nbt
Start work on anvil commands
2016-08-24 14:56:18 +10:00
Jesse Boyd 2d8020e415 Various
Use ForkJoinPool instead of new threads
Fix shortcut for set and fastmode
Fix relight and semi-transparent blocks
Add thread list command/debugpaste to `/fawe` command syntax
2016-08-23 21:41:19 +10:00
Jesse Boyd 50e11ee1f8 * 2016-08-23 16:27:59 +10:00
Jesse Boyd 3e0852d589 Lighting / MCA changes / Queue
Optimize queue dispatch parallelization
Fix lighting issues
Add MCAFile/Chunk listing to API
2016-08-23 16:25:31 +10:00
Jesse Boyd eee32ca27a Use FaweException for handled exception
As it's faster not to calculate the stacktrace
2016-08-22 23:30:27 +10:00
Jesse Boyd 46887623bc Allow EditSession construction with no allowed regions
Not sure why WorldEdit creates an EditSession for commands which clearly
do not need one. This change now means players without an allowed region
can use informational and navigation commands without a region.

The error will be instead thrown when the EditSession is first used.
2016-08-22 23:10:51 +10:00
Jesse Boyd 814ac60823 Fixes #253 + other stuff
Fixes clipboard on disk
Fixed hybrid MCAQueue hybrid get (tile/block/refresh)
Fixed no NMS queue messages
2016-08-22 22:18:59 +10:00
Jesse Boyd 5f87599292 Various
Optimize disk IO
Add `/fawe debugpaste`
Fix some lighting issues
Fix database insertion
Fix some rollback issues
Add database import /frb #import 0 0
Fix some typos
2016-08-22 14:43:59 +10:00
Jesse Boyd 9db51fbbc4 Add world compression option 2016-08-21 20:22:46 +10:00
Jesse Boyd 5a3182ea55 Fixes #250 2016-08-21 17:22:32 +10:00
Jesse Boyd 91b2347b96 Allow for plugins/mods to register a clipboard format
*Use reflection to add new enum instances
2016-08-21 15:47:44 +10:00
Jesse Boyd b32b633248 Fixes for anvil queue 2016-08-21 01:07:20 +10:00
Jesse Boyd 3618007052 Add new option:
Option : Default

EXPERIMENTAL_UNSTABLE_DO_NOT_ENABLE_ULTRA_SUPER_FAST_WORLD_CORRUPTING_AWESOME_DIRECT_ANVIL_QUEUE_MODE:
false
2016-08-20 22:01:43 +10:00
Jesse Boyd 4ddffb197b Various
More work on anvil API
Fix IO exception with history on disk
Optimize chunk index caching
2016-08-20 13:33:56 +10:00
Jesse Boyd 4267bf1c27 Fix biome masking 2016-08-17 15:01:32 +10:00
Jesse Boyd a2589d4493 More work on optimized MCA reader
+ Fix for 1.7.10 gson import error
2016-08-17 12:10:03 +10:00
Jesse Boyd aeb13960a4 *Will work on this later 2016-08-16 20:55:26 +10:00
Jesse Boyd 08f35d420a Fix strange schem load issue + start work on MCRExtent 2016-08-16 18:49:56 +10:00
Jesse Boyd 424bcc5d05 Fix 1.8 tile sending 2016-08-16 16:41:29 +10:00
Jesse Boyd fb33ecf71e *Fix for other clipboard implementations 2016-08-15 11:39:44 +10:00
Jesse Boyd fb9bdeca7d Fix writing tiles to schematics 2016-08-15 10:09:05 +10:00
Jesse Boyd 8ab28115a4 Fixes #236 2016-08-15 09:20:56 +10:00
Jesse Boyd eb62377c0f Optimizations for BukkitQueue_All
This queue is used to place blocks when no (fast) NMS one is found.
- Exploits a bug in vanilla relight algorithm for faster placement
2016-08-14 20:55:17 +10:00
Jesse Boyd 80045cfa6c Properly wait for queue to flush
- Ensuring the queue is flushed may wait slightly longer than necessary
2016-08-14 14:26:46 +10:00
Jesse Boyd 3a3fcca8b0 Various
Remove numerical versioning
Fix queue relighting concurrency
Fixed fixlighting async error
Fixes for 1.7.10 + thermos
Fixed non disk schematic loading
2016-08-14 10:26:51 +10:00
Jesse Boyd 4ccfab5908 Use original prefix for system messages 2016-08-12 15:14:47 +10:00
Jesse Boyd 9519fde6bd Fixes #209 2016-08-12 11:28:51 +10:00
Jesse Boyd 600219eb08 Fixes #214 2016-08-12 10:57:09 +10:00
Jesse Boyd d0b5dab2a0 Various
Rename Favs jar and print error on failed load
LocalSession history on disk size limit per player (in MB)
Possible fix for ForgeEssentials incompatibility
2016-08-11 21:34:56 +10:00
Jesse Boyd 35883cfb16 Fixes #228 2016-08-10 17:32:05 +10:00
Jesse Boyd 5c0ae62b17 Various
Keep chunks loaded for at least 10s
Optimizations for 1.10
Fix cast for 1.8
Memory/Disk Optimizations for relighting large areas in unloaded chunks
Fix for clipboard entities
2016-08-10 17:18:55 +10:00
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 7cf334d881 Fixes #224 2016-08-07 17:19:08 +10:00
Jesse Boyd 514b28caa4 Rollback changes 2016-08-07 07:19:02 +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 c11087334f Fix inspect alias 2016-08-05 17:37:17 +10:00
Jesse Boyd 8e5e2ccafa Don't wrap null player 2016-08-05 10:39:20 +10:00
Jesse Boyd bde226e7cd Fix NPE 2016-08-05 10:31:16 +10:00