Commit graph

5980 Commits

Autor SHA1 Nachricht Datum
Owen
39e1a811f7
Don't apply offset to SimpleClipboard (#1751)
* Fix offset

* Don't apply offset in SimpleClipboard

Co-authored-by: Alexander Brandes <mc.cache@web.de>
2022-06-13 23:42:50 +02:00
Jordan
b797655d0c
Only implement cache to MaskingExtent when off main thread (#1789)
* Only implement cache to MaskingExtent when off main thread
 - It's possible for a [Chunk/Char]FilterBlock to be used multiple times in the same "tree" of method calls meaning the mutable paramets (particularly index) get increased within a loop, causing AIOOBs and other issues
 - This is only possible on the main thread due to the handling of submissions in SingleThreadQueueExtent, as it ensures all operation remains on the main thread to prevent deadlocks
 - Therefore safe usage of FilterBlocks requires that main-threaded operation create a new [Chunk/Char]FilterBlock instance each time
 - Further fixes #1681

* Fix typos

* Switch to LongFunction
2022-06-13 23:42:40 +02:00
Jordan
97ab47c90b
Command block messages should be sent on the main thread as it causes a block update (#1796)
- Fixes #1786
2022-06-13 23:42:26 +02:00
dordsor21
f8583fb7cb
Remove erroneous world height 256 limit 2022-06-13 15:11:39 +01:00
Alexander Brandes
a6b1b411d5
chore: Update upstream
3433e40 Fix CB watchdog, fail early if it breaks
2022-06-13 15:09:24 +02:00
Alexander Brandes
99a57f31b2
[ci skip] chore: Exclude doctools dependencies
Closes #1795
2022-06-13 09:07:47 +02:00
Jordan
63f031b01a
Only synchronise tree generation at the very lowest level (#1788)
* Only synchronise tree generation at the very lowest level
 - Fixes #1681

* Perform the generate inside try-finally and actually use the resultant copied map to place blocks to the editsession

* Check result of generateTree and return null if failed
2022-06-13 09:05:18 +02:00
Jordan
02a6bb9b27
Implement limits to image size and load times (#1790)
* Implement limits to image size and load times
 - Prevents issues caused by users attempting to load large images
 - Implements #1729

* Check dimensions given before attempting to load image
2022-06-13 09:04:59 +02:00
renovate[bot]
8377b0987c
[ci skip] build: Update dependency com.github.TownyAdvanced:Towny to v0.98.2.3 (#1791)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-06-13 09:04:30 +02:00
renovate[bot]
ab4f779445
[ci skip] build: Update dependency io.papermc.paperweight.userdev:io.papermc.paperweight.userdev.gradle.plugin to v1.3.7 (#1792)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-06-13 09:04:13 +02:00
Alexander Brandes
ccc936534b
[ci skip] chore: Update renovate ignores
Closes #1794
2022-06-13 09:03:17 +02:00
renovate[bot]
c3cb2c5ed7
[ci skip] build: Update dependency net.minecrell.plugin-yml.bukkit to v0.5.2 (#1793)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-06-13 09:01:54 +02:00
Alexander Brandes
c62f0c197f
build: Back to snapshot for development 2022-06-10 23:45:42 +02:00
Alexander Brandes
e54cae33f1
build: Release 2.3.0 2022-06-10 23:34:05 +02:00
Alexander Brandes
aa94612b70
feat: Add support for 1.19 (#1783)
* feat: Add support for 1.19

* build: Update paperweight version

* fix: obfuscated names, invalid method signatures

* avoid NPE on config access

* build: Update paperweight

* implement no-op light engine to avoid stalled tasks that never complete

* Apply DelegateSemaphore fixes to 1.19 (#1782)

* Apply DelegateSemaphore fixes to 1.19

* Fixes

* Avoid using PalettedContainerRO#recreate as much as possible. Show an error or warning when we're forced to use it to help fix (#1784)

Co-authored-by: Pierre Maurice Schwang <mail@pschwang.eu>
Co-authored-by: SirYwell <hannesgreule@outlook.de>
Co-authored-by: Jordan <dordsor21@gmail.com>
2022-06-10 23:22:06 +02:00
Jordan
da3fc2e6ea
Fix DelegateSemaphore synchronisation issues on Spigot (#1781)
* Fix DelegateSemaphore synchronisation issues on Spigot
 - Also effectively nullify it on paper - the synchronisation on the object is enough

* Remove unneeded imports
2022-06-10 19:50:16 +02:00
Alexander Brandes
7f8ce69563
[ci skip] docs: Add 1.19 to the issue template
Touches #1780
2022-06-10 15:39:00 +02:00
Alexander Brandes
3ec17f3507
chore: Drop WEManager#cancelEditSafe() logger (#1779) 2022-06-10 01:26:59 +02:00
Alexander Brandes
c5a50179f2
[ci skip] build: Switch to bom (#1778)
* build: Switch to bom

* chore: Use javax over checkerframework
2022-06-10 01:26:48 +02:00
Alexander Brandes
d7d43869e6
chore: Update upstream
31e5298 Fixed //stack erroring when given a count of 0 (2108)
2022-06-10 01:05:51 +02:00
Alexander Brandes
9b3608aada
chore: Update upstream
c515eb5 Cache properties to reduce startup memory (2103)
2022-06-10 01:02:03 +02:00
Jordan
0b33fa8757
Allow NBT stored in DiskOptimizedClipboards to be written to disk as a compressed byte array at the end of the file (#1745)
* Allow NBT stored in DiskOptimizedClipboards to be written to disk as a compressed byte array at the end of the file

* Add some deprecations/javadocs and provide the expected clipboard version on error

* Javadoc since tags and add location of clipboard folder to error

* Refactor load-from-file method into DOC class

* Refactor nbt loading code into separate method in DOC
2022-06-09 12:48:35 +02:00
Owen
af234b284b
Add block break effect to area pickaxe (#1770)
* Add block break effect to area pickaxe

* Create pos lower

* Check before queueing block effect

* comment
2022-06-09 12:48:24 +02:00
Owen
a16074cbe4
Fix //snowsmooth not working below Y0 (#1769)
* Use min y instead of 0 for SnowHeightMap

* Correctly handle rounding for height

* Revert old fix

* Use y instead of newHeight

* Remove line diff
2022-06-07 12:06:03 +02:00
renovate[bot]
d5a84d6e44
build: Update dependency org.mockito:mockito-core to v4.6.1 (#1773)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-06-06 09:49:00 +02:00
Jordan
32231b48fe
Avoid int overflow when using fillr in negative coords (#1711)
Fix int overflow when using fill and fillr in negative y-coordinates
2022-06-05 20:52:36 +02:00
Jordan
198c6b7800
Some fixes and improvements to internal queuing (#1715)
* the set array given in NMSAdapter should have get data written to it
 - Fixes #1664
 - May fix #1700

* Having target size >= 2* parallel threads allows for adjacent chunks to be loaded with issues

* "empty" chunk section doesn't need to be localised to the chunk and may be static

* Switch to slightly more performant stream method for testing for non-empty sections

* Implement lock into ChunkHolder preventing any modification to occur whilst the edit is being applied to the world
 (when ChunkHolder is called)

* Add config note about target-size

* set ordinal equal to air if both set and get are `__reserved__`

* Add note to checkAndWaitOnCalledLock method of its use

* Don't print exception and throw

* Switch to a wrapped StampedLock allowing reentrant behaviour
 - StampedLock is not reentrent
 - Allow unlock from a different thread only if it provides the correct stamp
 - This stamp can only be retrieved by the thread owning the lock

* Avoid some "doubling-up" of using checkAndWaitOnCalledLock

* Unbloat `checkAndWaitOnCalledLock`

* Add since tags
2022-06-05 20:52:28 +02:00
Jordan
8228b798e5
Implement biomes to filter blocks and use in Clipboard pasting (#1743)
- Fixes #1741
2022-06-05 20:52:14 +02:00
renovate[bot]
02eea35c3f
[ci skip] build: Update dependency com.github.TownyAdvanced:Towny to v0.98.2.2 (#1766)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-05-31 18:13:02 +02:00
Alexander Brandes
9804158865
[ci skip] chore: Update renovate schedule 2022-05-31 00:28:11 +02:00
renovate[bot]
69eae2e4bd
[ci skip] build: Update dependency org.mockito:mockito-core to v4.6.0 (#1765)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-05-30 13:59:56 +02:00
renovate[bot]
f9c56d94c5
[ci skip] build: Update dependency com.github.TownyAdvanced:Towny to v0.98.2.1 (#1764)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-05-30 13:58:43 +02:00
Alexander Brandes
a43fa912d6
[ci skip] build: Update renovate schedule 2022-05-30 13:57:26 +02:00
Alexander Brandes
8f01a5e4be
[ci skip] feat: Update Readme SVG (#1763) 2022-05-30 13:47:36 +02:00
renovate[bot]
6bb58dc113
[ci skip] build: Update dependency com.github.TownyAdvanced:Towny to v0.98.1.13 (#1759)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-05-23 13:10:57 +02:00
BlockyTheDev
d1f3ac8f76
chore: Update PaperMC repository URL (#1756)
* Migrate PaperMC Repository Endpoints

* Migrate PaperMC JavaDocs endpoints
2022-05-21 12:08:10 +02:00
Alexander Brandes
14811169e3
[ci skip] Attach assets to GH releases (#1754)
* ci: Upload release assets

* chore: Update workflow name
2022-05-19 16:17:45 +02:00
Alexander Brandes
ace325a90e
build: Back to snapshot for development 2022-05-18 21:58:07 +02:00
Alexander Brandes
3a65c64977
chore: Use correct since annoation dates 2022-05-18 21:50:20 +02:00
Alexander Brandes
3c4695bb73
build: Release 2.2.0 2022-05-18 21:46:22 +02:00
renovate[bot]
0d2ed796d8
build: Update release-drafter/release-drafter action to v5.20.0 (#1748)
* build: Update release-drafter/release-drafter action to v5.20.0

* Update release-drafter.yml

Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: Alexander Brandes <mc.cache@web.de>
2022-05-18 17:21:27 +02:00
Jordan
84f975559c
[ci skip] Add jenkins to downloads list (#1750) 2022-05-18 17:20:41 +02:00
Pierre Maurice Schwang
39d77091d9
Don't error when loading a schematic fails (#1744)
fix: Throwable#getMessage may be null
2022-05-16 13:23:21 +01:00
Alexander Brandes
2c1ffd4ef4
Ignore .DS_Store files (#1746)
chore: Ignore ds store files
2022-05-15 12:30:39 +02:00
Jordan
deaf5ad2d6
Respect clipboard settings (disk vs memory) when loading a schematic (#1742) 2022-05-14 21:10:13 +01:00
Jordan
1c7643bb58
Allow use of BlockVectorSet for large //line selections instead of LocalBlockVectorSet (#1713) 2022-05-11 13:22:10 +01:00
dordsor21
059c5f046d
"Empty" side effects is default, and default does "apply" side effects 2022-05-10 17:28:09 +01:00
Jordan
b237ddf076
Cherry pick upstream commits to fix SideEffectSet (#1737)
* Fix SideEffectSet.none() being the default set (#1620)

* Fix SideEffectSet.none() being the default set

* Remove the unnecessary private empty constructor for SideEffectSet

* Back to ImmutableMap.of

* Speed up Fast Reorder Mode and make it default (#1653)

* Speed up Fast Reorder Mode and make it default

* Make non-exposed side effects internal

* Docs on isExposed

Co-authored-by: Matthew Miller <mnmiller1@me.com>
2022-05-10 10:11:12 +02:00
Jordan
d7543884a5
Check cached bukkit player is the same as the current player online (#1732)
* Check cached bukkit player is the same as the current player online
 - If plugins do silly things like teleport, deop (anything that requires a perm-recheck) (anything that ultimately requires a BukkitPlayer at some point) then the retention of metadata by the server (as it's stored based on a string value indescriminate of player a player relogging) means that a BukkitPlayer caching an old player object will be kept, cached and retrieved by FAWE. Adding a simple memory-based equality check when the player rejoins, and then "invaliding" (redoing) the cache if the players are not equal, fixes this.
 - Fixes #1730

* Address comments

* Add comment explaining reference equality check to code
2022-05-10 10:10:59 +02:00
renovate[bot]
ec97fca440
build: Update dependency org.mozilla:rhino-runtime to v1.7.14 (#1733)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-05-09 18:55:39 +02:00