Commit Graph
100 Commits
Author SHA1 Message Date
JordanandGitHub f44b1b48c7 chore: add a more informative error when parsing block properties (#2524) 2023-12-18 14:58:53 +00:00
JordanandGitHub d4b68b384b fix: add chunk loc to tile entity location when trimming (#2500)
- fixes #2499
2023-12-12 08:00:40 +01:00
JordanandGitHub 769d8b3a7a fix: set biome biome on clear (#2510)
* fix: set biome biome on clear
 - fixes #2509

* Nicer biome setting method
2023-12-07 18:24:05 +01:00
dordsor21 d1798b7408 chore: remove bad range annotations 2023-11-26 12:28:47 +00:00
JordanandGitHub 6722d73c68 fix: fixed history rollback (#2367)
- Also go ahead and clean up other parts of this, with more appropriate operators used
 - Fixes #2366
2023-11-25 20:32:29 +00:00
dordsor21 a64d24c6cf feat: more informative BoundedHeightMask error message 2023-11-18 15:02:02 +00:00
JordanandGitHub 36a892eb37 fix: chunks should only be initialised in the getOrCreateChunk method (#2462) 2023-10-26 21:14:39 +02:00
dordsor21 0566bd359e fix cursed 1.20.2 adapters
...what even how did this build??
2023-10-24 16:46:20 +01:00
JordanandGitHub 50cc9bc528 fix: clear player's history away from main thread if lock locked (#2457)
* fix: clear player's history away from main thread if lock locked
 - addresses crashing of #2448

* Correct lock usage

* remove possibility for race condition
2023-10-23 16:40:38 +02:00
JordanandGitHub f5803a09f6 fix: vastly superier handling of queue chunks (#2461)
- remove ChunkHolder locking concept as this is no longer needed
 - previously we obtained the copy from chunk GET on finalize, meaning the copy could be replaced by a "newer" one (bad)
 - work around this issue by introducing concept of "unique" keys to map chunk GET copies to
 - correctly handle resetting of various chunk-related classes to actually allow pooling to work
 - remove chunks as they are submitted when flushing a SingleThreadQueueExtenting
2023-10-22 10:04:19 +00:00
JordanandGitHub 9489e5448f fix: there is no need to synchronise chunk sending to the chunk GET instance (#2463) 2023-10-22 09:01:44 +02:00
JordanandGitHub c6a9673b4b fix: avoid tripping async catcher when getting entity from chunk (#2464) 2023-10-18 14:30:22 +01:00
dordsor21 470c75d843 minor cleanup 2023-10-14 20:27:46 +01:00
JordanandGitHub 90d52f39d9 fix: add null check for block targetted with inspect brush (#2443) 2023-10-05 14:54:52 +01:00
JordanandGitHub 971559ec23 feat: fake the copied biomes (#2359) 2023-10-04 09:39:14 +01:00
JordanandGitHub dccf82ab1b fix: set villager offers temporarily to save NBT without sending event (#2357) 2023-10-02 20:36:21 +01:00
JordanandGitHub d42854845a fix: disallowed regions can be length 0 (#2368) 2023-07-27 11:02:41 +02:00
JordanandGitHub 8b39e41a1a fix: don't warn on release build (#2369) 2023-07-27 10:59:11 +02:00
dordsor21 48be6ac94b fix: processorExtent can be null when setting masks too
- fixes #2379
2023-07-22 17:44:05 +01:00
dordsor21 2f6de996e3 fix: processorExtent can be null in editsession
- fixes #2375
2023-07-22 13:14:01 +01:00
JordanandGitHub 9543adc776 Implement async notify queue that submits to a KeyQueuedExecutorService (#2334) 2023-07-20 17:58:01 +02:00
JordanandGitHub 18df87a4e8 feat: implement a new "type swap" pattern (#2346) 2023-07-20 17:57:48 +02:00
JordanandGitHub 0a8a479214 fix: do not clash ChunkHolder recycling with processors that extend outside the chunk (#2353) 2023-07-20 17:57:29 +02:00
JordanandGitHub fe1859e9d2 fix: do not retain clipboards that completed exceptionally (#2358) 2023-07-20 17:56:30 +02:00
JordanandGitHub f65c4743bd fix: make IdMask thread-safe (#2361) 2023-07-20 17:56:11 +02:00
JordanandGitHub cdd546ee5e fix: correct NBT for spawners (#2362) 2023-07-20 17:55:59 +02:00
JordanandGitHub b1e0ad4ef7 feat: re-submit chunk load request after 10s after checking world is loaded (#2339)
- #2332 makes it seem like paper forgets to load a chunk sometimes
 - resubmit chunk load request after a second to attempt to counter this
2023-07-15 16:41:04 +01:00
JordanandGitHub e6b1308590 feat: synchronise disk clipboard loading and deletion to clipboardLock (#2342)
- another possible help towards the OverlappingFileLockException
2023-07-15 16:40:52 +01:00
JordanandGitHub f4da4b0287 fix: fix adding/getting masks to/from MaskExtent when it is a processor (#2351)
- fixes #2350
2023-07-15 16:40:29 +01:00
dordsor21 8da530ee80 gracefully handle error in EntityInBlockRemovingProcessor
-  ensures edit continues on chunk correctly
2023-07-15 12:27:33 +01:00
dordsor21 a680c7ce97 fix: fix #2352 2023-07-13 17:08:18 +01:00
dordsor21 0a19f643b6 fix #2349 2023-07-11 16:39:53 +01:00
JordanandGitHub c0e20a6fe5 feat: provide some information upon OverlappingFileLockException (#2341) 2023-07-10 23:16:05 +02:00
JordanandGitHub 1f29ab3b79 fix: fix command brush (#2347) 2023-07-10 22:04:33 +01:00
JordanandGitHub 685248d8de chore: deprecate some methods that ought to be removed (#2340) 2023-07-09 15:16:30 +01:00
JordanandGitHub d78092b4ca fix: ensure chunk is loaded when getting entities (#2323) 2023-07-07 18:36:12 +02:00
JordanandGitHub 6fbdef5252 feat: allow bracketless '%' pattern definition (#2322) 2023-07-07 18:36:02 +02:00
JordanandGitHub f38c81aa2a fix: correctly invalidate mask after a plot is merged (#2333) 2023-07-07 18:27:10 +02:00
JordanandGitHub 888683d83b fix: ignore clipboard origin when pasting to match P2 behaviour (#2336) 2023-07-07 18:23:37 +02:00
dordsor21 a669be2041 fix #2319 2023-07-05 22:03:13 +01:00
JordanandGitHub d7cc65d2f2 refactor: some changes that may help #2289 (#2307) 2023-07-03 16:37:42 +01:00
dordsor21 83a4987252 chore: queue progress messages are not implemented 2023-06-30 19:36:35 +01:00
JordanandGitHub 24325d91ba feat: improve (region) fawe mask handling (#2312)
* feat: improve fawe mask handling
 - Actually cache masks, even if the player has left the region
 - Fix P2 isValid test for single plots
 - Fixes #1946

* Fix incorrect delegated method
2023-06-28 09:24:20 +01:00
JordanandGitHub 0554b31f11 feat: implement removal of entities if they would be in a block after the edit (#2311)
- Includes some refactoring to EditSessionBuilder to prevent doubling-up of processors that are also extents
 - Better ordering of the EditSessionBuilder process/extent code to match where extents actually end up in the stack
 - Fixes #1941
2023-06-27 18:37:09 +02:00
JordanandGitHub 476ba4ab41 refactor: efficiency improvements to some editsession methods (#2304) 2023-06-27 18:36:54 +02:00
dordsor21 924805af8f fix: fix obnoxious error message if using p2 v7 with FAWE main branch 2023-06-25 13:52:13 +01:00
dordsor21 05d5ad161a chore: add obnoxious error message if using p2 v7 with FAWE main branch 2023-06-23 21:57:51 +01:00
JordanandGitHub 9f0a0dbd35 fix: ensure mask is initialised upon visiting a point in BreadthFirstSearch (#2314)
fix: ensure mask is initialised upon visiting a point in BreadFirstSearch
2023-06-22 21:32:54 +02:00
JordanandGitHub d961aa91bc fix: fix regex block masking (#2242) 2023-06-22 11:24:03 +01:00
JordanandGitHub 88533118bc fix: uncache the chunk SET at a better time in ChunkHolder to prevent "lost" changes (#2300)
- blocks could still be set to the ChunkHolder during a call
 - create a new chunk SET in that case
 - make cached get/set volatile to improve thread safety
2023-06-19 22:46:10 +02:00
JordanandGitHub 8ca25fa7d7 fix: towny max bounds are exclusive (#2301)
fix: towny max bounds are exlusive
 - Fixes #2293
2023-06-19 22:46:01 +02:00
JordanandGitHub 01be53ed65 fix: add missing BlockType constructor (#2306)
- Deprecate public BlockType constructors
 - People really should not be initialising their own block types. This can and most likely will cause issues.
 - Fixes #2290
2023-06-19 14:36:47 +01:00
JordanandGitHub a8c8a0fbd6 fix: always return the changeset from EditSessionBuilder (#2302)
- Ensure history will actually always be closed if combine-stages is false
- Fixes #2148
2023-06-19 14:34:54 +01:00
JordanandGitHub 1ede11b129 fix: use new array when creating palette (#2305)
- Fixes #2291
2023-06-19 14:34:02 +01:00
JordanandGitHub 39de48cdb1 chore: Address kotlin String#capitalize() deprecation (#2308)
* chore: Address kotlin String#capitalize() deprecation
 - Fixes #2283
 - Don't bother with the longer version that allows Locales, we don't need that

* Address comments
2023-06-18 16:31:49 +00:00
JordanandGitHub f0aef98870 fix: don't "double-up" a setblocks if a region is being set (#2299)
- Fixes #2294
2023-06-18 18:08:31 +02:00
dordsor21 135c77cfb5 chore: minor changes
- null check get tile in ThreadUnsafeCharBlocks
 - 0 to reserved ID
2023-06-18 15:03:51 +01:00
51e238c352 feat: add new tree types to tree tool and brush (#2286)
* feat: add new tree types
 - implements #2197

* Remove nonsensical test case

---------

Co-authored-by: Alexander Brandes <[email protected]>
2023-06-15 10:18:01 +02:00
JordanandGitHub 79a2c14caa fix #2292 2023-06-13 19:12:24 +02:00
JordanandGitHub dae6c69e54 feat: send one of an error message during edits if otherwise squashed by LimitExtent (#2246)
* feat: send one of an error message during edits if otherwise squashed by LimitExtent

* no region is not ingorable
2023-06-12 12:14:24 +02:00
JordanandGitHub e449910af5 feat: prevent edits outside +/- 30,000,000 blocks (#2285)
* feat: prevent edits outside +/- 30,000,000 blocks

* Remove import
2023-06-12 11:27:07 +02:00
1356cd5caa feat: implement a player-specific queue for clipboard IO tasks (#2267)
* feat: implement a player-specific queue for clipboard IO tasks
 - Addresses #2222 (hopefully fixes)

* Address comments

* Add since

---------

Co-authored-by: Alexander Brandes <[email protected]>
2023-06-07 00:35:37 +02:00
JordanandGitHub 84872cf9a2 chore: improve queue documentation and submit history to better queue (#2266) 2023-06-06 19:22:25 +02:00
JordanandGitHub b7719d17bd fix: correctly processSet with blacklist when required (#2270)
* fix: correctly processSet with blacklist when required

* Fix incorrect region
2023-06-06 19:21:18 +02:00
JordanandGitHub 5504811f11 chore: minor improvements to processing-related code (#2271) 2023-06-06 19:21:02 +02:00
dordsor21 5da5b216f3 fix #2268
-.-
2023-06-05 22:26:41 +01:00
dordsor21 e5d27c27bb chore: replace some hardcoded ordinals 2023-06-05 00:17:13 +01:00
dordsor21 46e8a37cf0 fix: improve test for polygonal region containment of cuboid
- Possibly fixes #2265
2023-06-04 23:57:51 +01:00
JordanandGitHub e9fed5a066 feat: improve error when loading biomes (#2241) 2023-06-04 18:50:08 +02:00
JordanandGitHub 0e215e98d5 fix: minor changes to fix loading blocks outside stored range in ThreadUnsafeCharBlocks (#2260)
- Fixes #2258
2023-06-04 17:22:21 +02:00
dordsor21 048dcaf327 fix: do not always set random rotate to true
- Fixes #2259
 - How'd that even get through
2023-06-03 16:34:23 +01:00
JordanandGitHub 228e84e555 fix: Improve edit processing (#2247) 2023-06-01 15:11:16 +01:00
JordanandGitHub 03487718e7 feat: configurable image hosts (#2243) 2023-05-31 16:48:45 +01:00
JordanandGitHub a553961c05 refactor: switch to EnumSet for heightmaps to improve performance (#2248) 2023-05-27 14:25:07 +02:00
JordanandGitHub 3041ff3e50 feat: add -r (random rotate) flag to schem load and clipboard brush (#2244)
- Implements #1873
2023-05-25 19:06:20 +02:00
dordsor21 362f6cc6e1 fix #2009 2023-05-22 19:43:21 +01:00
JordanandGitHub 5dca925bc3 feat: make more commands unqueued (#2235)
* feat: make more commands unqueued
 - Effectively fixes the very specific "issue" in #2223 I guess
 - Use this opportunity to clean up the command classes a bit

* Address comments
2023-05-22 20:33:59 +02:00
JordanandGitHub 435161d566 fix: only send invalid region messages with debug true (#2238)
- Addresses #2188
2023-05-22 20:33:15 +02:00
JordanandGitHub 7c01c1e95e feat: allow captions in SuggestInputParseException (#2239)
- Deprecate for removal methods using string message
 - Fixes #2026
2023-05-22 20:32:56 +02:00
JordanandGitHub 74aff920a8 fix: fix universal disallowed blocks logic in limit and EditSession compilation (#2237)
- Fixes #2184
2023-05-22 20:32:36 +02:00
JordanandGitHub 2c7b529f67 fix: create single threaded executor for use with non-concurrent generators (#2236)
- Fixes #2228
2023-05-20 20:56:46 +02:00
JordanandGitHub 85f5006a0b fix: correctly handle creation of extents in EditSessionBuilder (#2232)
- Add regionExtent process to the queue (fixes #2227)
 - Correctly wrap extents in each other
2023-05-20 20:33:18 +02:00
JordanandGitHub 1b0fb9ed48 fix: more intuitive limit permissions (#2233)
- immediately return limit if unlimited (limit combination take the "higher" value)
 - add fawe.limit.unlimited permission and it's an intuitive permission to give
2023-05-20 20:32:38 +02:00
JordanandGitHub 3a13c4aaa7 chore: remove firework-chunk-loading prevention and default tick limiter to false (#2234)
- It's very resource-intensive and probably doesn't work anyway
 - Tick limiter should not be enabled by default, it confuses a lot of people with the console logs
2023-05-20 16:25:24 +02:00
JordanandGitHub e9b781d127 fix: correctly in initialise unlimited limit (#2231) 2023-05-20 16:22:02 +02:00
JordanandGitHub 2a08ad28a4 fix: correct issues with processor scopes (#2230) 2023-05-20 16:21:11 +02:00
dordsor21 dd6197922c fix: remove invalid file length check
- NBT is stored at the end of the clipboard file
 - Fixes #2209
2023-05-10 17:27:44 +01:00
JordanandGitHub 8cfb8cb322 chore: add chunk tickets to all chunks accessed (#2163)
- This isn't necessarily targeting any fix, but I think we should be ensuring a ticket is being added to chunks "access asynchronously", as done by the getChunkAtAsync method
2023-04-22 09:45:02 +00:00
JordanandGitHub 5cd9616507 fix: Ensure BaseBlock is not returned when a BlockState is wanted in BlockTransformExtent (#2161
- NBT will be handled appropriately at another point
 - Fixes #2085
2023-04-13 17:34:16 +01:00
JordanandGitHub e4158ac084 fix: invalidate cached FaweMask when a plot is unlinked (#2157)
* fix: invalidate cached FaweMask when a plot is unlinked
 - Fixes IntellectualSites/PlotSquared#3998

* Use a weakly-referenced copy of the copnncted plots set
2023-04-13 17:34:05 +01:00
a9e1d5009c fix: add null-check for brush in traceMask (#2160)
* fix: add null-check for brush in traceMask
 - Fixes #2149

* Switch to print from printError

Co-authored-by: Alexander Brandes <[email protected]>

---------

Co-authored-by: Alexander Brandes <[email protected]>
2023-03-31 20:45:34 +02:00
JordanandGitHub 508b94ddc3 feat: improvements to clipboard on disk (#2162)
* feat: improvements to clipboard on disk
 - close clipboard on instantiation failure
 - set canHaveBiomes when loading clipboard from disk (only possible cause I can find for #2151 ..?)
 - check file length and give more appropriate error if it exceeds maximum. Fixes #2151 I guess?#
 - set byteBuffer to null before invoking cleaning. Addresses #1985
 - don't catch and print all exceptions when getBlock fails - prevents large console output for what is likely to be a failed operation anyway

* Fix comments
2023-03-30 00:13:50 +02:00
dordsor21 d82bf0527e fix: use correct string for disallowed property use 2023-03-22 17:28:50 +00:00
JordanandGitHub 7ab04317fa fix: clear above and below plot gen heights if build heights are larger (#2153) 2023-03-17 21:56:48 +01:00
JordanandGitHub ae57ac5d50 fix: don't quash a cancellation FaweException in LimitExtent (#2068)
- This allowed some edits to continue after a player left the server when they shouldn't
 - Possible sort-of fix for #1985
 - Possible fix for #1955
2023-01-16 00:33:44 +01:00
JordanandGitHub 0d112b2913 fix: move main-thread call to be implementation from WorldWrapper (#1991)
- Fixes #1990
2022-10-23 21:22:53 +02:00
JordanandGitHub bf28ab47b8 fix: bring default min/max y in line with upstream in AbstractRegion (#1992)
- Fixes #1987
2022-10-23 21:22:43 +02:00
JordanandGitHub 2082df4141 fix: Add blocked blocks to the correct set (#1975)
* fix: Add blocked blocks to the correct set

* Address comment
2022-10-13 19:21:25 +02:00
JordanandGitHub 8971d7064c feat: Reduce any spam caused by exceptions thrown when writing history (#1976)
- Closes #1960
2022-10-13 19:21:02 +02:00
JordanandGitHub ccb31c0ecc fix: Do not cast y to byte in history database (#1978)
- y is/was already stored as an int
 - Fixes #1931
2022-10-13 19:20:17 +02:00