Commit Graph

206 Commits

Author SHA1 Message Date
Jesse Boyd
8948645832
Add catenary brush 2017-08-11 17:23:38 +10:00
Jesse Boyd
7ba4e51a22
Various minor
fix parallel threads for sponge
remove static modifier for some fields
2017-08-08 22:25:22 +10:00
Jesse Boyd
1cc9a37520
Some more message interaction 2017-08-01 15:42:42 +10:00
Jesse Boyd
8dfcb0f914
Various
Start work on interactive commands (//help, //biomelist, //pos1/2)
Added clipboard and world remapping (between mcpe/pe)
//schematic remap
//anvil remapall
Added anvil -> leveldb converter (run Nukkit jar or /anvil2leveldb)
Added safe zstd decompressor
Angle mask fixes
Fix paste air issues with fawe format (which no-one uses anyway)
Fix cfi file:// with an absolute path
FIx schematic format and addBlocks
Update forge to 1.12
Fixes #663
2017-07-28 15:12:58 +10:00
Jesse Boyd
a79003f2a3
Fixes #640 2017-07-11 20:09:52 +10:00
Jesse Boyd
03b4aaad3c
Various
FAVS
- Support for //gmask
- Support for //gsmask
- Support for //gtransform
- Suport for /v <pattern>
improved ingame changelog info
Increase tick limiter default item spawn limit
Fixes #632
Fixes #629
Fixes #627
Fixes #628
2017-07-09 22:54:04 +10:00
Jesse Boyd
7f01ac7790
Various minor
Fix nukkit compile
Fix setBlocks with BlockPattern
MCAQueue filterCopy API (performs operations on a copy of the world)
Add //anvil trimallplots
2017-07-05 18:53:05 +10:00
Jesse Boyd
043f1e6002
minor cleanup 2017-06-20 19:00:30 +10:00
Jesse Boyd
2f8543b25e
Close #529 2017-06-20 17:31:10 +10:00
Jesse Boyd
edd8dcc552
Various minor
Tweak some messages
Add command confirmation
Optimize surface mask
Optimize angle mask (further)
Fix help formatting
Fix rollback import from disk being a shallow summary
2017-06-19 16:38:07 +10:00
Jesse Boyd
7ae2d65607
Various
Dynamic chunk rendering (experimental section in config)
Use local files for CFI heightmaps: file://<file-path>
- Root directory is plugins/FastAsyncWorldEdit/heightmap
Optimize anvil for 1.12
Add safety checks to anvil commands
Move anvil command implementation to com.boydti.fawe.jnbt.anvil.filters
Add anvil chunk delete
Add MCAWriter mca offset method
Fix count -d
Fix taskbuilder split task concurrency issue
2017-06-16 15:28:10 +10:00
Jesse Boyd
31d43b27d8
Various minor
forge 1710 - fix block extra
optimize expressions
better texture util error
memory optimize PrimitiveList
don't clear brush settings on assignment (affected craftscripts)
2017-05-21 23:40:24 +10:00
Jesse Boyd
b9c056c879
Various
Optimize for 1.12
Refactor commands / style / cleanup
Brush saving/loading
Tweak / improve ChunkListener
2017-05-15 21:33:03 +10:00
Jesse Boyd
69f4b7abd6
Change mask, pattern and transform syntax 2017-05-09 10:18:19 +10:00
Jesse Boyd
7586e87644
Various
angle patterns (using different blocks based on the angle)
pattern buffering
- only apply once to a block
- resets when the pattern is no longer being used (brushes?)
Anvil
- schematic population with heightmap
new texture patterns (will document later)
fixes texture complexity and block filtering
Some fixes to height based region commands
Surface brush
Fix line brush -s flag
Add optimized local Vector2D set
Tweak and optimize overlay behavior
Print time on command completion (if duration > 1s)
2017-05-04 13:05:25 +10:00
Jesse Boyd
17fb559f10
Various
FAWE texture support
- Put any mods or client jars in `FastAsyncWorldEdit/textures`
- These textures can be used in patterns and commands (WIP)
- Adds #color:color pattern
Added random flip to #fullcopy:<schem>:<random-rotate>:<random-flip>
Improved parsing for clipboard loading
FRB now only works in regions you are the owner of (or if you have admin
bypass)
2017-04-28 05:28:03 +10:00
Jesse Boyd
81b60f75cf
* 2017-04-24 00:06:54 +10:00
Jesse Boyd
a78a5e20ec
Fix higher compression values + message tweaks 2017-04-23 21:47:31 +10:00
Jesse Boyd
763ca00b4b
Closes #511 (add navigation message) 2017-04-23 01:03:40 +10:00
Jesse Boyd
87341ab4fe
Styling and documentation improvements 2017-04-19 05:23:02 +10:00
Jesse Boyd
eef3eff310
Various minor
Fix surfacespread pattern
Add schematic loadall
Fix brush reset
2017-04-10 20:41:07 +10:00
Jesse Boyd
554eae1fcf
Style help entry 2017-04-10 13:33:43 +10:00
Jesse Boyd
b4b7a2785f
Improved worldedit help 2017-04-10 13:25:29 +10:00
Jesse Boyd
4229665e14
Minor cleanup 2017-04-09 14:19:03 +10:00
Jesse Boyd
1d02901e39
Various minor
remove debug
Angle mask overlay option (end with o)
3rd party command registration fixes
message tweaks
2017-04-08 22:11:25 +10:00
Jesse Boyd
df15ba6cd7
Simplify config comments, messages, add permpack.
fawe.permpack.basic
2017-03-31 13:12:23 +11:00
Jesse Boyd
4cab0b223d
Various
will document in next commit
2017-03-27 05:14:28 +11:00
Jesse Boyd
d765b24b27
Some new brushes
Scatter - Set a pattern at random points on a surface
ScatterCommand - Runs a command at random points on a surface
Splatter - Recursively set blocks at random points on a surface
2017-03-11 20:50:37 +11:00
Jesse Boyd
b595ec2f2d
Various
Fixes #456
Delay command registration
WIP shatter/stencil brush
Minor FaweQueue optimization
2017-03-07 22:00:49 +11:00
Jesse Boyd
fc8fbbb0c4
Fixes #395 2017-03-07 04:31:54 +11:00
Jesse Boyd
400d0319ab
Fixes #452 2017-03-06 14:45:29 +11:00
Jesse Boyd
119a332d83
Slight changes 2017-03-06 14:00:34 +11:00
Andrew Gazelka
8d3b918441 Add option to limit //calc max execute time
This fixes players abusing //calc by spamming it, causing more
calculation threads be created than destroyed.
2017-03-05 19:57:57 -06:00
Jesse Boyd
150a5b16db
Remove clipboard load message 2017-03-06 03:22:53 +11:00
Jesse Boyd
c325f0745c
Add async relighting option 2017-03-05 02:57:59 +11:00
Jesse Boyd
b3b86bd3df
Various
Fix brush scroll
Fix spline reset
Allow setting offhand brush settings (use -h flag)
2017-03-05 01:48:04 +11:00
Jesse Boyd
8c592d1506
Assets 2017-03-04 21:33:45 +11:00
Jesse Boyd
04603b7cee
Various
Improved web integrated clipboard
Fully fledged brush visualization (modes 0-2): //br vis
Brush targeting modes (0-3): //br target
Brush scroll actions: //br scroll
- change clipboard from directory or web
- change mask
- change pattern
- change range
- change size
- change target mode
Build multi-brushes (choose the brush for left click and right click
individually)
- //br primary
- //br secondary
- Changing the pattern/mask will affect the currently selected brush,
not both
Changes to brush behavior
- spline connects by clicking the same spot twice
- line/copy brush tweaks
Schematics now default per user
- To save/load globally use "../" before the filename
Easily save a schematic to a directory
- `//schem save folder/` will choose save a the next lowest free number
Improved block parsing
Add resettable brushes
- e.g. line brush resets points by shift + left click
2017-03-04 00:54:50 +11:00
Jesse Boyd
9c74d0b981
Various (unfinished)
Fixes #439
Update to Java 8
Adds scrollable brushes to the API (action on brush scroll)
- Clipboard
- Mask
- Pattern
- Range
- Size
Adds movable brushes to the API (action on brush move)
Adds different targeting modes for brushes (see enum TargetMode)
Adds VisualBrush to API (sends client block changes instead of changing
the world)
Updater now checks every 30m for updates
Adds in game updater changelog (/fawe changelog)
Adds language option to config
Adds german translations
Adds CircleBrush (WIP)
Simplify DoubleActionBrush and DoubleActionBrushTool to extend
Brush/BrushTool
Use ImmutableBlock instead of anonymous BaseBlock for cache
Fixes CuboidRegion iteration (affected some commands)
Fixes WorldCopyClipboard schematic saving
Optimize FawePlayer -> Player by caching value
Simplified pattern and mask API by extending legacy versions
Optimize sphere, cylinder and deform
Added brush cancellation by SHIFT + LEFT CLICK
Probably some other stuff
2017-02-26 16:39:00 +11:00
Jesse Boyd
e6dfdf0ecf
Chat progress tracker 2017-02-20 11:10:23 +11:00
Jesse Boyd
32808dfc81
Some fixes to the erode brush 2017-02-20 01:50:05 +11:00
Jesse Boyd
d1682d6938
Fixes #430 2017-02-19 14:44:13 +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
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
812c12fce4
Undo/Settings
Fix some disk and undo issues
FaweQueue uses Settings instance
2017-01-15 18:45:12 +11:00
Jesse Boyd
9d2e9212fa
Add option to send packets before relight 2017-01-15 15:50:12 +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
b340ebff0f
Fixes #389 2017-01-08 23:50:16 +11:00
Jesse Boyd
95715da039
Toggle worldedit /tips 2017-01-03 07:29:14 +11:00
Jesse Boyd
75b0d5512c
Fixes #377 2017-01-01 23:29:52 +11:00
Jesse Boyd
32ae0f1d48
Update sponge jar 2016-12-26 18:42:33 +11:00
Jesse Boyd
1987f7c34a
Add direction for logs/stuff + tweak messages 2016-12-24 07:46:52 +11:00
Jesse Boyd
0e26ce6e1e
Add message prefix to the worldedit commands 2016-12-21 05:56:41 +11:00
Jesse Boyd
ba62563b72
Tweak some default settings 2016-12-21 05:41:34 +11:00
Jesse Boyd
30700559db
Masking changes
Add light related masks
- #opacity
- #brightness
- #blocklight
- #skylight
- #light
- #nolight
- #haslight
Add mask tab completion
Add source masks
- `/gsmask` and `/smask`
- Masking the source instead of the destination (e.g. with //paste)
- if there is no source, the current block/extent will be used
2016-12-15 18:36:04 +11:00
Jesse Boyd
23cb3642f1
translate selection commands 2016-12-13 15:02:05 +11:00
Jesse Boyd
e7d97d030f
Add fuzzy region selection (with mask support)
`//sel fuzzy` or `//sel fuzzy=<mask>`
- All connected blocks matching the mask (default is same id/data) will
be added.
- Left click to select the region
- Right click to add to the existing region
2016-12-12 20:48:09 +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
Jesse Boyd
5a914513b9
Updating option 2016-12-02 12:49:40 +11:00
Jesse Boyd
9f8a0456e3
*whoops 2016-11-30 19:58:05 +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
8122c9d415
Fix setlight and setskylight commands
Fixes #314
2016-11-28 14:48:09 +11:00
Jesse Boyd
50ba6427a2
Various
Fix random 1000ms brush delay
Fix brush perform location not using snapshot location
Add fall command
Add getlight debug command
Fix relight NPE
2016-11-08 07:05:42 +11:00
Jesse Boyd
295aad0f2f
Minor inventory + queue management changes 2016-10-17 18:04:33 +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
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
0251c193c1 Add transforms 2016-09-30 06:12:08 +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
8090bf9f1d Various
Increase chunk-wait
Sync packet sending
Allow up outside region
2016-09-27 02:58:16 +10:00
Jesse Boyd
50504a0fe5 Setting for disabling the physics limiter 2016-09-26 14:05:58 +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
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
35b37ac8e9 Allow multiple actions at a time
Closes #287
2016-09-16 17:47:53 +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
71071998c6 Various
nukkit fixes
add new brushes
some other minor stuff
2016-09-09 03:41:03 +10:00
Jesse Boyd
4f21126a76 Possible fix for out of bounds 2016-09-08 13:26:10 +10:00
Jesse Boyd
b18e53e79f Fix schematic downloading 2016-09-02 13:23:58 +10:00
Jesse Boyd
36a1e9f744 Fixes #265 2016-08-29 14:29:36 +10:00
Jesse Boyd
062c80e7b3 Send fail message on semi-successful edit. 2016-08-28 02:05:54 +10:00
Jesse Boyd
0f480b87bc Add replaceall command
/replaceall <world> [from] <to>
2016-08-25 12:54:12 +10:00
Jesse Boyd
9db51fbbc4 Add world compression option 2016-08-21 20:22:46 +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
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
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
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
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
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
895de11a09 Fix entity mask + More work on rollback 2016-08-04 19:46:38 +10:00