Commit Graph

68 Commits

Author SHA1 Message Date
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
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
ba62563b72
Tweak some default settings 2016-12-21 05:41:34 +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
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
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
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
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
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
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
1ca5798e9d Begin rollback optimizations + other
Store rollback summary in database (option)
API improvements
Load before AWE
2016-08-03 14:43:27 +10:00
Jesse Boyd
1835748d85 1 seems to have issues right now 2016-07-27 08:29:59 +10:00
Jesse Boyd
ff60177dcc Working async relighting 2016-07-27 08:03:51 +10:00
Jesse Boyd
c52c1bee27 Relight improvements + ports
6 lighting modes (0-5), see config
forge194
forge110
bukkit1710
(untested)
2016-07-15 09:53:30 +10:00
Jesse Boyd
342c106e8c Increase default history size 2016-07-12 18:08:26 +10:00
Jesse Boyd
9ed6880d1d Various 2016-07-10 23:37:18 +10:00
Jesse Boyd
478cbbf393 Per player history size (in MB) 2016-06-28 20:22:31 +10:00
Jesse Boyd
e4b1cc376b Document some stuff 2016-06-21 20:35:09 +10:00
Jesse Boyd
4c59ffc371 Various
Fixed entity copy, tree gen, snow height, reload history limit,
2016-06-19 12:24:28 +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
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
54864b73d2 Various
centralize error handling
fix tile entities (undo/redo)
2016-05-19 17:41:55 +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
bf0903246b Use clipboard instead 2016-05-02 13:06:23 +10:00
Jesse Boyd
9f0602f2ec Various
Fixes #89
brush fixes
optimizations
restructure
etc
2016-05-02 12:04:28 +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
4ec9ed3a8d Various 2016-04-28 08:10:17 +10:00