Commit Graph

6183 Commits

Author SHA1 Message Date
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
NotMyFault
6d360db753
Update adapters 2021-07-12 15:48:19 +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
dd082d4f39
Fix loading on Java versions prior to 16
- Lazy workaround continuously JitPack outages
2021-07-09 11:34:07 +02:00
NotMyFault
457861b879
Update Upstream
1f21162 Ensure the SLF4J ban is being applied
2021-07-09 11:08:17 +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]
4f4f3ea0aa
Update dependency gradle to v7.1.1 (#1165)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-07-03 11:34:30 +02:00
NotMyFault
c19b13adb4
[ci skip] We only need one 1.17 on issue templates 2021-07-02 14:24:49 +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
Matt
b0c0689887
Added 1.17 to the bug template. 2021-06-26 01:00:25 -04: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
NotMyFault
96ed367420
Closes #1121 2021-06-18 01:01:30 +02:00
renovate[bot]
17c19766f7
Update dependency gradle to v7.1 (#1124)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-06-17 13:00:24 -04:00
NotMyFault
79e8755d93
Update Upstream
eb7b79c Use require instead of strictly to reduce problems with mojang/bukkit updates (1787)
2021-06-17 10:44:19 +02:00
NotMyFault
0af60e5680
Added support for GriefDefender (#1123) 2021-06-17 10:37:53 +02:00
dordsor21
256d7c4e5d
Temporary fix for #1122 2021-06-14 06:34:05 +01:00
dordsor21
d015e6b270
Also synchronise when loading sections forcefully 2021-06-12 15:09:02 +01:00
renovate[bot]
8836d1d75c
Update dependency org.mockito:mockito-core to v3.11.1 (#1118)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: NotMyFault <mc.cache@web.de>
2021-06-11 17:20:24 +02: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
dordsor21
dd217fcb70
Don't bother trying to use a clipboard when clearing plots.
Fixes #1088
2021-06-09 17:45:57 +01:00
NotMyFault
09b2cfef56
Closes #1107 2021-06-08 23:53:19 +02:00
renovate[bot]
bae592bf91
Update dependency com.sk89q.worldguard:worldguard-bukkit to v7.0.5 (#1108)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-06-08 23:50:45 +02: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
SirYwell
e40a657faf Remove unused imports 2021-06-05 20:38:53 +02:00