Commit graph

2186 Commits

Autor SHA1 Nachricht Datum
dordsor21
0aadef97d0
Quick fix for SnowHeightMap 2021-08-23 21:26:59 +01:00
dordsor21
1a0f7df3f4
Fix #1243 2021-08-23 13:08:10 +01:00
dordsor21
2e0de7b197
Fix nullability issue with SnowHeightMap mask, apply some cleanup and reduce needless object creation 2021-08-23 11:57:00 +01:00
NotMyFault
cf671ad7ff
Update Upstream
ed28089 Don't crash if fields are null in ChunkDeleter (1874)
f049d56 Revert "Use a Guava Cache instead of a ThreadLocal (1859)"
c5a4450 Internally use a negated mask class to prevent russian doll wrapping (1877)
1397ec7 Add Snow Smooth Tools (1580)

Fixes #955
Fixes #858
2021-08-22 11:56:39 +02:00
SirYwell
df8b2802b2 Support custom world min heights when processing heightmaps 2021-08-21 10:52:45 +02:00
dordsor21
cd576a2a87
Fix #1241 2021-08-20 16:33:58 +01:00
dordsor21
563ad7761a
Fix LocalBlockVectorSet
- Fixes #1238
2021-08-19 13:10:09 +01:00
NotMyFault
188e4b6215
Fix unknown direction exception missing key 2021-08-18 14:57:14 +02:00
dordsor21
6a932f2eda
Preloading is paper only. 2021-08-17 22:34:51 +01:00
dordsor21
1d9b1a3d5e
Remove hardcoding of world limits (#1199)
* Remove hardcoding of world limits
 - seems to be working fine without the datapack for world height changing
 - particular attention should be given to LocalBlockVectorSet and MathMan changes

* update adapters

* Override getMinY in various classes and ensure selections have a world attached to them

* no message

* Address comments
 - Fix for lighting mode 1

* A few more changes

* Fix LocalBlockVectorSet

* Fix range statement

* Various fixes/comment-addressing
- There's not much point in having a different file name now for history. We've broken it before...
- Fix history read/write
- Fix range on for loops in CharBlocks

* undo bad CharBlocks change

* Fix history y level

* Fix biome history

* Fix lighting

* Fix /up

* Make regen fail not because of these changes

* Fixes for y < 0

* Fix isEmpty where only the uppermost chunksection is edited

* Fix javadocs/FAWE annotations

* Better explain why BiomeMath is removed

* If history task throws an error, it should only be caught and printed if not completing now.

* Min|max world heights for new patterns

* Load biomes from NMS instead of bukkit (#1200)

* Update adapters

* Update adapters

* Don't initialise BlockTypes when biomes aren't set up yet so all BiomeTypes.BIOME are no longer null thanks.

* Address some comments.

* rename layer -> sectionIndex to imply inclusivity

* Javadoctored.

Co-authored-by: NotMyFault <mc.cache@web.de>
Co-authored-by: Hannes Greule <SirYwell@users.noreply.github.com>
2021-08-17 22:13:51 +01:00
dordsor21
664cd4e33d
Preloader is null for spigot users 2021-08-17 18:06:57 +01:00
dordsor21
347bd04065
Fix initialisation 2021-08-17 17:09:52 +01:00
dordsor21
4cae37fbbf
Add back extra angle mask prefixes 2021-08-17 17:07:37 +01:00
dordsor21
569fdc3861
Reimplement radius mask, fix wall mask 2021-08-17 17:03:25 +01:00
dordsor21
46f6395279
Improve mask parsing
- Fixes #1230
2021-08-17 17:02:11 +01:00
NotMyFault
f6676cf6a3
Follow up to 1ee4de0edf 2021-08-17 16:57:35 +02:00
dordsor21
0ffab8ee69
Add null check to preloader 2021-08-17 15:38:47 +01:00
dordsor21
8c11ba7fea
Preload chunks up to the configured limit, cancel preloading on EditSession complete 2021-08-17 12:07:48 +01:00
dordsor21
da7aca8ef8
Add basic preloading (#1221) 2021-08-16 20:47:09 -04:00
dordsor21
d4d98708f9
Re-implement richer mask and transform parsing (#1223)
Co-authored-by: dordsor21 <dordsor21@gmail.com>
Co-authored-by: Hannes Greule <SirYwell@users.noreply.github.com>
2021-08-16 09:03:06 +00:00
dordsor21
3e4f1d5cd8
Better Mathman#isInteger 2021-08-11 20:38:52 +01:00
dordsor21
00a6a2d917
Fix stash failure 2021-08-11 15:03:59 +01:00
dordsor21
3ba42df321
Use more MutableBlockVector3s 2021-08-11 14:56:10 +01:00
dordsor21
6f5430a940
Some cleanup of mutables 2021-08-11 14:00:12 +01:00
dordsor21
8928556c1d
Minor improvement to MathMan#isInteger 2021-08-11 12:32:46 +01:00
Pierre Maurice Schwang
7d3a9ff36d
Fixed Unit Tests (BlockVector3.isLongPackable) (#1168)
* Fixed Unit Tests (BlockVector3.isLongPackable)

* Re-enable tests for ci

* Address gh action dependency complaints

* Fix "invalid usage of tag &" for MinecraftVersion.java

* Simple StubServer for BukkitWorldTest.java

* Add parallelgzip to test runtime, fixed javadoc encoding, make gradlew executable and patch StubServer for latest spigot / paper release

* Move Javadoc UTF-8 to PlatformConfig.kt

* Revert "make gradlew executable"
Was required for act to run, but not required for GH actions - Weird behavior

* Mark upstream changes, move class + apply editorconfig

Co-authored-by: NotMyFault <mc.cache@web.de>
Co-authored-by: Matt <4009945+MattBDev@users.noreply.github.com>
2021-08-10 09:31:37 +01:00
Maddy Miller
e2b2feb7c5
Use MethodHandle for faster event bus (#1865)
* Use MethodHandle for faster event bus

* Implement hashCode/equals

* Apply review comments

* Bind to the object directly
2021-08-09 10:21:42 +01:00
dordsor21
57f7c93033
Fix history rollback
- Fixes #959
2021-08-08 19:35:57 +01:00
Maddy Miller
f06ba41f91
Fix Cycler tool not using full block data (#1868)
(cherry picked from commit 8ee45137aa5d7a3b80b661601ab14e48f13756ec)
2021-08-08 17:33:45 +01:00
Joseph Thomas
d10b038e84
Create SurfaceAngleMask (#1215) 2021-08-08 09:59:42 +00:00
dordsor21
2376ce8d9d
Add thickness to //hcyl and //br cylinder -h
- Closes #753
2021-08-08 10:02:58 +01:00
NotMyFault
75b888a9f0
Add missing translation keys 2021-08-08 01:52:28 +02:00
dordsor21
9af77c06b8
Fix ParallelQueueExtent#setBlocks(Region, <B extends BlockStateHolder>)#
- Fixes removeabove/removebelow
2021-08-07 17:38:09 +01:00
dordsor21
346223977d
Add javadoc comments to generateTree 2021-08-07 16:28:41 +01:00
dordsor21
e90b261196
Trees should be generated on the main thread
- Also remove warning when using tree tool
2021-08-07 16:19:41 +01:00
Aurélien
abaa347ad4
Fix major security bugs (3 brushes + superpickaxe)! (#1213)
* Fix major security bugs (3 brushes + superpickaxe)!
- Due to some recent changes, FAWE could edit everything in the world, no matter other plugin protections such as PS or WG.
- Fix superpickaxe allow to bypass protections => Fix SurvivalModeExtent not taking into account protections plugins due to breaking blocks naturally to get drops.

* Adress requests
- Revert some unsuitabe changes
- Add FAWE diff comments

* Clean imports

* Adress requests

Co-authored-by: NotMyFault <mc.cache@web.de>
2021-08-07 11:09:33 +02:00
NotMyFault
14fc2dbf9b
Fix fawe-deprecation javadoc linking 2021-08-05 18:33:19 +02:00
NotMyFault
3ccb5e0aed
Use translation message for brush assignment 2021-08-04 22:44:24 +02:00
NotMyFault
2bcf3eedf1
Add //br snow
Apparently an upstream addition we forgot to pull.
2021-08-04 22:29:43 +02:00
NotMyFault
45a8030aeb
Update Upstream
b9f0416 Use a Guava Cache instead of a ThreadLocal (1862)
2021-08-02 22:10:21 +02:00
NotMyFault
a5e84dcfea
Switch to version catalogs
- Closes #1204
- Switch to security advisory
- Move fawe-tests to fawe packages
2021-08-01 19:28:51 +02:00
NotMyFault
9f3a451ef6
Fixes #756 2021-07-31 14:18:04 +02:00
dordsor21
d62a1b5ad3
Always trim chunk GET in ChunkHolder
- Possibly something to do with #1169
2021-07-29 20:37:10 +01:00
NotMyFault
84b9dce6be
Move debug notes to logger factory 2021-07-29 21:11:23 +02:00
NotMyFault
69067fe8c8
Leave a note about (temporary) not undoable tree tools 2021-07-27 19:45:31 +02:00
NotMyFault
b4f9ade5bd
Fixes #1071 2021-07-26 17:05:54 +02:00
NotMyFault
92b4524dd6
Update Upstream
f414af5 Fix the offset mask forcing negation of itself (1656)
2021-07-26 00:48:38 +02:00
NotMyFault
f479e32b5f
Update contributing url 2021-07-24 19:28:28 +02:00
dordsor21
8c0195970b
Add and apply .editorconfig from P2 (#1195)
* Consistenty use javax annotations.
 - Unfortunately jetbrains annotations seem to be exposed transitively via core somewhere, but with the correct IDE settings, annotations can be defaulted to javax
 - Cleaning up of import order in #1195
 - Must be merged before #1195

* Add and apply .editorconfig from P2
 - Does not rearrange entries

* Address some comments

* add back some javadoc comments

* Address final comments

Co-authored-by: NotMyFault <mc.cache@web.de>
2021-07-24 16:34:05 +01:00
dordsor21
3b4beba7d6
Improve performance of various commands/actions
- Add chunk preloading to RegionVisitor if supplied with a suitable Extent
 - Where extents are used in masks, set EditSession as the extent as they are otherwise initialised with WorldWrapper that is very slow
 - Fixes #1073
2021-07-24 15:47:22 +01:00
dordsor21
f2ee2248e0
Consistenty use javax annotations. (#1197)
- Unfortunately jetbrains annotations seem to be exposed transitively via core somewhere, but with the correct IDE settings, annotations can be defaulted to javax
 - Cleaning up of import order in #1195
 - Must be merged before #1195

Co-authored-by: NotMyFault <mc.cache@web.de>
2021-07-24 15:52:08 +02:00
dordsor21
41f4aadf40
Update to 1.17.1 texture jar 2021-07-24 12:19:44 +01:00
dordsor21
d46af0136b
Fix nullable world in regions 2021-07-24 10:04:04 +01:00
dordsor21
0be8746c11
Add more directionals
- Fixes #1122
 - Levers and buttons can be flipped/rotated vertically
2021-07-23 20:15:22 +01:00
renovate[bot]
0d26dad397
Update dependency com.github.luben:zstd-jni to v1.5.0-4 (#1189)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-07-23 20:17:43 +02:00
NotMyFault
50ab8ad5c7
Feature/propagate diff and object cleanup (#1190)
* Feature/main/propagate diff annotations (#1187)

* 25% done

* More work

* More work

* 50%

* More work

* 75%

* 100% & cleanup

* Update adapters

* Squish squash, applesauce

commit 275ba9bd84
Author: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Date:   Sat Jul 17 01:10:20 2021 +0200

    Update dependency com.comphenix.protocol:ProtocolLib to v4.7.0 (#1173)

    Co-authored-by: Renovate Bot <bot@renovateapp.com>

commit 9fd8984804
Author: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Date:   Sat Jul 17 01:09:29 2021 +0200

    Update dependency org.checkerframework:checker-qual to v3.16.0 (#1184)

    Co-authored-by: Renovate Bot <bot@renovateapp.com>

commit 861fb45e5c
Author: dordsor21 <dordsor21@gmail.com>
Date:   Fri Jul 16 19:07:02 2021 +0100

    Fix #1075

commit 420c45a29a
Author: dordsor21 <dordsor21@gmail.com>
Date:   Fri Jul 16 18:48:21 2021 +0100

    Entity removal should be on the main thread as we're just passing through rather than doing chunk operations
     - Fixes #1164
     - Not working: butcher/remove history

commit 4d4db7dcd0
Author: SirYwell <hannesgreule@outlook.de>
Date:   Fri Jul 16 17:52:44 2021 +0200

    Make sure leaves category is loaded for heightmaps (fixes #1176)

commit c98f6e4f37
Author: dordsor21 <dordsor21@gmail.com>
Date:   Fri Jul 16 10:44:52 2021 +0100

    Do not allow generation commands to generate outside selection

commit 2485f5eccc
Author: dordsor21 <dordsor21@gmail.com>
Date:   Fri Jul 16 10:43:15 2021 +0100

    EditSession needs to override some Extent methods to ensure block changes are correctly set through the various extents
    Fixes #1152

commit d9418ec8ae
Author: dordsor21 <dordsor21@gmail.com>
Date:   Fri Jul 16 09:52:44 2021 +0100

    Undo part of 41073bb1a0
    Fixes #1178

* Update Upstream

fb1fb84 Fixed typo and grammar

* We don't support custom heights yet

* Casing inconsistency

* Address a few comments

* Address comments

* Don't refactor to AP classpath

* Document annotation style

* Refactoring & shade cleanup

* Address a few comments

* More work

* Resolve comments not being resolved yet

* Feature/main/propagate diff annotations (#1187) (#1194)

* Remove beta package, fix history packages, move classes out of object package

* Resolve comments not being resolved yet

* Remove beta package, fix history packages, move classes out of object package

Co-authored-by: NotMyFault <mc.cache@web.de>

* brushes should be under brush

* More refactoring
 - Filters/processors should be in the same place and are related to extents
 - Transforms are in `extent.transform` in upstream

* Move history classes under history

* Update adapters

Co-authored-by: dordsor21 <dordsor21@gmail.com>
2021-07-23 17:48:51 +02:00
dordsor21
ad102ab7a9
clipboard brush is supposed to be -o not -p 2021-07-23 11:27:14 +01:00
dordsor21
8e16acde1d
Fix error in clipboard brush switches 2021-07-23 09:54:30 +01:00
dordsor21
1e49f59001
Much better hinge handling 2021-07-21 20:00:39 +01:00
dordsor21
1ec927f30c
Add check when obtaining BlockState from id to prevent edits losing large amounts of data 2021-07-20 20:49:47 +01:00
dordsor21
5f8addbb5b
Fix #1185
TODO: fix door hinge placement on rotate/flip sometimes
2021-07-20 20:49:13 +01:00
dordsor21
ca1744aa97
Likely fix for rotation issue
fixes #996
2021-07-19 20:33:50 +01:00
dordsor21
6ab927fa4d
Fix #1167 2021-07-19 20:28:36 +01:00
dordsor21
861fb45e5c
Fix #1075 2021-07-16 19:07:02 +01:00
dordsor21
420c45a29a
Entity removal should be on the main thread as we're just passing through rather than doing chunk operations
- Fixes #1164
 - Not working: butcher/remove history
2021-07-16 18:48:21 +01:00
SirYwell
4d4db7dcd0 Make sure leaves category is loaded for heightmaps (fixes #1176) 2021-07-16 17:54:18 +02:00
dordsor21
c98f6e4f37
Do not allow generation commands to generate outside selection 2021-07-16 10:44:52 +01:00
dordsor21
2485f5eccc
EditSession needs to override some Extent methods to ensure block changes are correctly set through the various extents
Fixes #1152
2021-07-16 10:43:15 +01:00
dordsor21
d9418ec8ae
Undo part of 41073bb1a0
Fixes #1178
2021-07-16 09:52:44 +01:00
NotMyFault
bcceadee6b
Propagate FAWE diff annotations down the bukkit module
- Minor upstream merge
2021-07-14 14:40:20 +02:00
NotMyFault
d7763c8542
Fixes #1181 2021-07-13 17:20:37 +02:00
NotMyFault
3cf283a65b
Update Upstream
954210d Fix //outline for non-cuboid regions (1827)
2021-07-13 10:59:04 +02:00
dordsor21
41073bb1a0
More exact testing for scaling/flipping in AffineTransform and only combine transforms when not equal in ForwardExtentCopy
- Fixes #1162
 - Also fixes rotation in x/z axes
2021-07-10 19:47:39 +01:00
dordsor21
338be0ff31
Undo/redo should not be allowed outside allowed regions by default.
Fixes #949
2021-07-10 14:14:34 +01:00
NotMyFault
0434b86d8e
Feature/1.17.1 (#1172)
* Update adapters for 1.17.1

* Fixes #1074

* fd10efa56b51d915302d616302145c74c3f079ee

* Fix `//chunkinfo` message

* 9fc85704e9570304f1b336612039afc85bb17064

* 03b4437023

* JitPack decided to work again
2021-07-09 16:07:48 +02:00
NotMyFault
a183425642
Update Upstream
40ded93 Fix loading legacy invalid blocks
2021-07-06 13:13:54 +02:00
NotMyFault
22f11abce8
Remove unneeded maven repos 2021-07-05 22:26:14 +02:00
NotMyFault
35b1202951
Mitigate logger spam introduced in 256d7c4e5d
Touches #1122, #1166
2021-07-04 00:43:57 +02:00
renovate[bot]
af1a3c3ddb
Update dependency net.kyori:adventure-nbt to v4.8.1 (#1161)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-07-01 22:57:52 +02:00
NotMyFault
876d84aec0
Fix typo 2021-07-01 22:49:10 +02:00
dordsor21
aa3ae63682
Feature/1.17 (#1120)
* start v6

* Update classes to v6 method signatures

* change rootVersion to signify p2v6 compat

* Use 16 as toolchain version but target 11 for build output

* add minimessage as api

* Require v6 and don't attempt to "setup" hook from FAWE

* Address comments

* *address /all/ comments

* FAWE classes should only act as a delegate

* Uppercase logger

* Settings for v6-hook have moved to P2-v6, remove unneeded if statements

* Rename classes to Delegate

* add whenDone task to setCuboids

* Remove bad spaces

* Fix plot swap

* Initial work on 1.17 support

* Remove data versions from the Bukkit adapters (#1507)

* Remove data versions from the Bukkit adapters

* Don't allow saving schematics without an adapter in place on Bukkit.

* Removed confusing line

(cherry picked from commit 2056218b4a8644836b1d127105dfa289e9cdbc1c)

* More progress

* Fix chunk sending

* Repackage from com.boydti to com.fastasyncworldedit.<module> (#1119)

* Preliminary work on repackaging

* Rename build artifacts matching our pattern

* Finish up repackaging

* Fix a few field accesses and old imports

* Dirty fix for chunks container ChunkSections outside of 0-15

* Correctly read from NibbleArrays for lighting

* Fix getSections and BlockMaterial for 1.17

* Fix writing blocks to the world.
 - The issue isn't the presence of a "-1" chunk, it's the constructor for ChunkSection requiring the layer (0 to 15) rather than the y chord

* Fix more field accesses

* More work towards 1.17

* Update Upstream

a57f66f Fix watchdog, add negative y support. (1782)

* Add azalea tree to `/tool tree`

* Don't define toolchain twice

* Repackage GriefDefender

* Relocate under new namespace

* Bye bye ecma left overs

* Add 1.17 to issue templates and instructions

* Move to adventure-nbt (#918)

* Initial work for adventure-nbt

* Some more FAWE specific stuff

* Fix erroneous deprecation check

* Workflow change

* Continued merging all adventure NBT related changes

* Continued merging all adventure NBT related changes

* Made a constructor public again

This needs to be public for BlockTransformExtent.java

* Finished converting all NBT data to adventure.

* Make this compile

* Fix conflicts

Co-authored-by: Matt <4009945+MattBDev@users.noreply.github.com>

* Update adapters to 1.17

* Change build prefix to 1.17

* Move more nms classes to adapters

* Move left over nms classes

* Move Spigot 1.17 class

* Remove unneeded adapter loader code
The loader will find the appropriate class now itself

* Update adapters

* Update adapters

* Lazy fix tests

* Update adapters

* Update Upstream

43da91a Remove method reflection for getMinHeight in BukkitWorld. (1796)

* Relocate adventure-nbt under proper namespace

* Add LazyCompoundTag as a non-version-specific class to be used by adapters

* Better integration between old NBT and Adventure NBT - begin fixing the issues seen recently

* Correctly NBT conversion method

* LazyCompoundTags should actually be overriding and correctly returning a CompoundBinaryTag.

* Update worldedit-adapters
Fixes #1141

* Remove unnecessary massive lag machine

* Refactor apply to applyBlock in subclasses

* applyBlock should be overriden by all subclasses.
Default apply to applyBlock

* Closes #1130 Closes #1132

* Squashed commit of the following:

commit a9bfa1a07c77083c844a0c3ba62f4bd94bed107c
Author: NotMyFault <mc.cache@web.de>
Date:   Sun Jun 27 21:53:21 2021 +0200

    [ci skip] Update gradle wrapper validation

commit aa7471f95317d28a16f62e4b200de8d0fea2fa95
Author: Matthew Miller <mnmiller1@me.com>
Date:   Sat Oct 10 15:49:13 2020 +1000

    Add ^x,y,z relative offset support to the offset parser (#1545)

    * Add ^x,y,z relative offset support to the offset parser

    * Wrap in a try-catch

    (cherry picked from commit 28bdf7ff9254bbc85bb4f5f792b303943a3930a8)

* Add `fawe.error.schematic.not.found` translation key

* Update Upstream

728a152 Skip notify if chunk section doesn't exist (1794)

* Fixed #1157

* Add a null check to prevent NPE in nbt code

* Update adapters

* Update Upstream

fbb047a Optimize legacy schematic loading (1808)

* Hurr durr I don't want to update Java

* Update Upstream

0790e6e Fix CLI Mess (1811)

* Fixes #1160

* Expose minimessage transitively thru PlotSquared

Touches #32

* [ci skip] Remove unneeded maven repository

* Steal tab completion from PlotSquared for P2 related commands

* Don't error on startup when building locally

Co-Authored-By: goldfishapp <8278196+goldfishapp@users.noreply.github.com>

* [ci skip] Update gh actions to Java 16

* Update textures to grab 1.17 jar

Co-authored-by: NotMyFault <mc.cache@web.de>
Co-authored-by: SirYwell <hannesgreule@outlook.de>
Co-authored-by: Matthew Miller <mnmiller1@me.com>
Co-authored-by: Matt <4009945+MattBDev@users.noreply.github.com>
Co-authored-by: goldfishapp <8278196+goldfishapp@users.noreply.github.com>
2021-07-01 22:16:25 +02:00
NotMyFault
78acb857da
Closes #1129 Closes #1128 2021-06-19 10:17:43 +02:00
dordsor21
a0e84d7a44
Fix superpickaxe item dropping
Fixes #1079
2021-06-18 23:48:23 +01:00
NotMyFault
7af06a533b
Split up worldedit.anyblock and worldedit.anyblock.nbt for specific nbt operations 2021-06-18 20:58:10 +02:00
dordsor21
391869cf3a
Fix up LimitExtent
- Correctly handle block state limit checks.
- Don't quash exceptions thrown in a region operation by having a "max-fails" check that can only be hit once....
Fixes #1127
2021-06-18 18:00:42 +01:00
dordsor21
256d7c4e5d
Temporary fix for #1122 2021-06-14 06:34:05 +01:00
dordsor21
b796106dd7
Add directionals for chests and slabs "type" block state
Fixes #987
2021-06-11 15:25:52 +01:00
dordsor21
da264b52e1
Fix #1116 2021-06-11 15:05:52 +01:00
dordsor21
f6c87b6726
Add null check to creating default NBT data 2021-06-10 19:59:17 +01:00
dordsor21
717a1b5db4
Replace ImmutableBaseBlock with BlanketBaseBlock
- ImmutableBaseBlock is no longer needed as NBT was made immutable previously
 - BlanketBaseBlock represents to masks that the block has NBT, but does not need to match a specific state
 - Allow FuzzyBlockState to create BaseBlocks without NBT data (fixed tab completion issues)
2021-06-10 19:47:34 +01:00
renovate[bot]
e11a2d7f6d
Update dependency com.github.luben:zstd-jni to v1.5.0-2 (#1113)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-06-10 17:37:15 +02:00
dordsor21
1fa5f4d725
Begin fixing layer brush
- Required new argument parser, which should ultimately be made into a singe blockstate parser for best results, and proper tab-completion
 - The layer brush itself is broken because of the changes to internal block retrieval from legacy
2021-06-10 16:19:23 +01:00
dordsor21
7ef8b2f95e
Create default TileEntity data where required.
Fixes #1093
Fixes #1042
2021-06-10 13:39:36 +01:00
dordsor21
71130025e8
Allow ^ mask to be used between blocks that may have different properties, only keeping the shared properties
Fixes #1092
2021-06-10 12:46:19 +01:00
renovate[bot]
75935f91e9
Update dependency com.github.luben:zstd-jni to v1.5.0-1 (#1106)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-06-08 23:46:46 +02:00
dordsor21
f6af9925e8
Char block null check (#1030)
**Add a null-check to CharBlocks FULL section layer-retrieval.**
 - It is possible to trim CharBlocks whilst it is attempting to read data due to the batching of chunks to help reduce memory
 - This is done when the number of chunks sitting loaded in memory with having been "submitted" to the queue for writing to disk becomes high
 - Seconday operations such as heightmap processing and lighting will quickly load chunks, meaning many chunks are submitted early
 - This leads to much higher chances of the chunk being submitted and subsequently trimmed given heightmap and light processing is done layer-by-layer over many chunks, rather than chunk-by-chunk - thus leading to NPEs.
 - By adding synchronisation to and around only the specific sections when loading/updating, and not blocking the whole chunk, many access can still be thread-safe without causing deadlocks
 - This allows removal of lots of the needless and very-slowing synchronisation on get**Block** methods

**Remove much of the synchronisation from ChunkHolder**
 - We shouldn't be synchronising with call() and safety should be added elsewhere. (plus it's making edits very very slow when queue target size is hit)
 - Also remove much of synchronisation because we've added the null-check and section-specific synchronisation to CharBlocks
 
**Some QOL/thread-safe data access changes**
- Replaces the Array#clone seen in the get blocks classes with System#arraycopy as deep cloning is not required, and is also slower than arraycopy
- Add System#arraycopy when accessing chunk section data via history to ensure it is not altered whilst being written
- Renaming EMPTY to empty means it is not implied to be a static variable

Fixes https://github.com/IntellectualSites/FastAsyncWorldEdit/issues/1028
Fixes https://github.com/IntellectualSites/FastAsyncWorldEdit/issues/1025
Fixes https://github.com/IntellectualSites/FastAsyncWorldEdit/issues/1089
Fixes https://github.com/IntellectualSites/FastAsyncWorldEdit/issues/1091
Fixes https://github.com/IntellectualSites/FastAsyncWorldEdit/issues/1097
2021-06-08 14:28:16 +00:00
dordsor21
1cd2d8d121
Send before history is acttually safer at the moment
- avoids deadlocks
2021-06-08 14:15:43 +01:00
NotMyFault
ef5211d5b5
Update Wiki link 2021-06-06 21:17:24 +02:00
NotMyFault
75fbe654ee
Update Upstream
0036e06 Alter the CUI lifecycle to be more consistent and reliable (1633)
2021-06-05 11:27:27 +02:00
NotMyFault
d1af6c38e7
Update Upstream
9516002 Register platforms and commands in a more proper way (1766)
2021-06-05 10:27:38 +02:00