Commit Graph
100 Commits
Author SHA1 Message Date
JordanandGitHub 7daafa97f0 fix: adjust linked filter to be left-right and do not link to new forked instances (#2913)
* fix: adjust linked filter to be left-right and do not link to new forked instances
 - Assume that child filters know about their own forks
 - fixes #1874

* Remove appliesChunk|Layer for now
2024-09-21 00:10:39 +02:00
JordanandGitHub 393f80165c fix: add timeout to reading history from exchanger (#2920) 2024-09-19 06:55:53 +02:00
JordanandGitHub d9d5b7b488 feat: improve fawe limits (#2773) (#2858)
* feat: improve fawe limits (#2773)

 - add FaweLimit implementations for increasing concurrency levels
 - allow FaweLimit to perform processing (and forcefully disable as required) to capture [tile] entities
 - Use `BlockVector3#set(Extent orDefault)` where appropriate to reduce block checks
 - fixes #2679
 - fixes #1874

(cherry picked from commit 6052fc3128)

* fix: actually apply a filter if applied from a full region chunk section
 - cannot remember why I made this change in the first place in #2773 but this fixes edits having "empty middles"
 - doesn't seem to have broken anything in testing

* Reduce limit to always atomic
2024-09-17 16:52:46 +01:00
JordanandGitHub 49b063a187 fix: compound tags can be nullable when converting state to baseblock (#2914) 2024-09-15 17:00:17 +02:00
JordanandGitHub 19370a3549 fix: account for spigot having private PalettedContainer#get(int) (#2910) 2024-09-14 10:47:07 +02:00
JordanandGitHub 3b4e849276 chore: warn when both history db and delete disk on logout are enabled (#2824)
* chore: warn when both history db and delete disk on logout are enabled

* Improve message
2024-08-25 16:20:07 +02:00
JordanandGitHub fcbd346d8f fix: do not StackOverflow when getting a section in FULL after awkward trim (#2863) 2024-08-07 07:56:33 +02:00
JordanandGitHub f93ad596c6 fix: correctly resolve file if extension is given (#2857)
* fix: correctly resolve file if extension is given

* Adjust error if ClipboardFormats#findByFile null
2024-07-31 21:08:06 +02:00
dordsor21 0301fb0124 Revert "feat: improve fawe limits (#2773)"
This reverts commit 6052fc3128.
2024-07-28 18:36:04 +01:00
JordanandGitHub d1f9d3d6d5 fix: improve FAWE stream history (#2844)
- reset "origin"/relative X/Z when larger than short min/max value so we do not write incorrect positions
 - history size can be larger than int max value
 - fixes #2583
2024-07-28 11:16:25 +02:00
JordanandGitHub 6052fc3128 feat: improve fawe limits (#2773)
- add FaweLimit implementations for increasing concurrency levels
 - allow FaweLimit to perform processing (and forcefully disable as required) to capture [tile] entities
 - Use `BlockVector3#set(Extent orDefault)` where appropriate to reduce block checks
 - fixes #2679
 - fixes #1874
2024-07-28 09:53:20 +02:00
JordanandGitHub 6fb0102e85 feat: add litematica error when failing to load schematic (#2850)
* feat: add litematica error when failing to load schematic

* Adjust
2024-07-27 10:34:25 +02:00
JordanandGitHub dac7cdbe4b chore: deprecate FaweApi#load for clipboards as it does not allow closing (#2852) 2024-07-27 10:34:10 +02:00
JordanandGitHub 8c3df59413 fix: improve schematic format selection (#2838)
- no longer allow selecting a format specifically because of the generic extension `.schem`
2024-07-25 21:05:16 +02:00
JordanandGitHub ddacb976e4 fix: improve SchemGen, allow null mask (reordered command args) (#2817)
- fixes #2815
2024-07-23 19:53:12 +02:00
JordanandGitHub 01273e0ed7 fix: use new index calculations for BlockVectorSet remove (#2842)
- fixes #2841
2024-07-21 14:59:12 +02:00
dordsor21 561ef4afdd chore: delegate to fast for checking if sponge schematic clipboard format 2024-07-17 20:45:20 +01:00
dordsor21 bf07548695 fix: add some file-extension bounds to schematic loading 2024-07-17 20:41:28 +01:00
dordsor21 b2f36facd8 fix: identify schematic format by file if not specified 2024-07-16 14:50:41 +01:00
dordsor21 5341b06813 Apply hack-fix for biomes to 1.20.6 as well 2024-07-05 17:20:13 +01:00
JordanandGitHub 8f353e8f0d fix: clone polyhedral region last triangle too if present (#2807) 2024-07-05 15:05:55 +02:00
dordsor21 b511e878a4 chore: throw exception on 1.21 regen 2024-07-02 19:46:33 +01:00
JordanandGitHub c3bb567ea7 fix: switch to 3d where 2d biomes still remain in a couple of places (#2816) 2024-07-02 20:34:11 +02:00
dordsor21 75d9475cf7 Disable regen completely on 1.21 for now 2024-07-02 19:33:35 +01:00
dordsor21 a14bb7ed2c fix: remove synchronisation on chunk GET when sending packet 2024-07-02 18:51:11 +01:00
JordanandGitHub 15c6027958 fix: override min/max pos methods from SimpleClipboard (#2803)
- fixes #2800
2024-07-01 16:19:28 +02:00
JordanandGitHub d9e69cfd58 fix: do not bother with refraction for biomes/i field, this just fixes it now 2024-06-30 21:59:06 +02:00
2ccfd50546 feat: implement 1.21 (#2808)
* feat: implement 1.21

* fix: adjust mojang mapped field name in ChunkMap

* Fix property cache

---------

Co-authored-by: Pierre Maurice Schwang <[email protected]>
2024-06-30 10:40:13 +02:00
JordanandGitHub ff04c93b48 feat: add option to prevent parsing legacy blocks to the FaweLimit (#2783)
- Closes #951
2024-06-28 21:46:51 +02:00
JordanandGitHub 4853a65e7c feat: implement graceful world bounds check where appropriate (#2804)
- closes #2494
2024-06-28 21:46:30 +02:00
dordsor21 99a58f66cd Fix property loading 2024-06-27 14:59:32 +01:00
fee9029bf0 Add a BiomeCategories API (#2338) (#2777)
* Add a BiomeCategories API (#2338)

* Add a BiomeCategories API

* licenses

* Use a supplier to retain the lazy-load & dynamicness of the existing system, but still retaining the inversion of control that this PR was intended to provide

* Minor fawe adapter cleanup

* Actually add the new files?

* Fixes

---------

Co-authored-by: Maddy Miller <[email protected]>
2024-06-27 15:15:14 +02:00
ad5739e014 ref: switch from adventure NBT to LinBus (#2778)
* Switch from adventure NBT to LinBus

* Cleanup

* Clean

* Reimplement NumberTag behaviour

* Use 0.1.0 release

* Fix build, remove fawe tags

---------

Co-authored-by: Octavia Togami <[email protected]>
2024-06-26 21:55:47 +02:00
JordanandGitHub 6dd779f90b fix: only write copied value if non null (#2802)
-  fixes #2801
2024-06-26 21:12:36 +02:00
JordanandGitHub 75af797d4c fix: extract new config option for deleting disk history on logout (#2772)
* fix: extract new config option for deleting disk history on logout
 - fixes #2663

* Copyto is nullable
2024-06-26 17:32:36 +02:00
JordanandGitHub 5708eb7aa0 fix: correct y index addition in biome history (#2797) 2024-06-23 22:33:36 +02:00
JordanandGitHub 4fe9c6bd74 fix: correctly process chunks when using worldguard region blacklists (#2789)
- fixes #2399
2024-06-21 08:49:09 +02:00
JordanandGitHub 705df34c12 fix: create new biome paletted container when writing (#2791)
- resizing a paletted container copy alters the original paletted container
 - copy is not clone
 - fixes #2790
2024-06-20 20:49:16 +02:00
JordanandGitHub d69dc97958 fix: take confirm-large from default limit for unlimited, add option to override (#2782)
- fixes #2706
2024-06-20 18:24:41 +02:00
JordanandGitHub eaeb3a633a fix: always init ChunkFilterBlock to the chunk (#2788)
- rename initFilterBlock from init to create
 - remove where we now needlessly init filter blocks
 - fixes #2662
2024-06-19 07:38:33 +02:00
JordanandGitHub 6a54c5bcb5 fix: recover from trimmed chunk (#2771)
- It's theoretically possible for the section FULL to return a null layer due to race condition with a trim operation
 - Locally cache result and if null, recover
 - I just had the error from #1592 again
 - This seems to have stopped the error, but adding logging did not log, so possibly some bigger bytecode changes?
 - Oh well
2024-06-17 17:40:59 +02:00
dordsor21 5ab79a3f61 ref: biomes refrection works on 1.20.6 2024-06-16 09:24:54 +01:00
dordsor21 49ac08d5b4 Revert "Remove self-refraction-check"
This reverts commit 2eb6b5a12306cc2dc7cfc35e8c03f38ac8f7067c.
2024-06-15 20:53:01 +01:00
JordanandGitHub 3761b5184c fix: correctly create Minecraft Structure format schematics (#2787)
- fixes #2784
 - fixes #2785
2024-06-15 15:52:11 +02:00
JordanandGitHub af83b2f9c9 fix: improve biome setting to avoid writing directly to chunk (#2757)
* fix: improve biome setting to avoid writing directly to chunk

 - Removes possibility of writing to the LevelChunkSection biomes PalettedContainer whilst it is being read for sending packets
 - I believe this occured mostly on clipboard operations where blocks are written before biomes, so chunks are being sent whilst writing biomes
 - This would explain why the error reported in the below issue (and others) is/was so rare
 - Of course I could be completely wrong about all of this, but given the line in LevelChunkSection#write that the error seems to consistently occur on is when writing biomes to the packet, and that the only place I can find in FAWE where we write to a "live" PalettedContainer is for biomes, I am reasonably confident that this is the cause
 - Should address #2729

* Remove self-refraction-check
2024-06-15 13:08:42 +02:00
JordanandGitHub 8aba1e6c06 fix: allow use of quotes to allow spaces to be used as "and" (#2786)
* fix: allow use of quotes to allow spaces to be sued as "and"
 - e.g. `//set "#mask[grass_block&<air][green_concrete][red_concrete]"`
 - fixes #1883

* Remove static
2024-06-15 13:07:29 +02:00
dordsor21 4a5ff8e306 fix: wrap immutable map in MinecraftStructure writer
- fixes #2781
2024-06-14 19:18:35 +01:00
JordanandGitHub 031fdf2efd fix: ensure config-legacy.yml is created before accessed (#2752)
* fix: ensure config-legacy.yml is created before accessed

* Stop error attempting to load FAWE config if it doesn't exist
2024-06-13 20:31:45 +02:00
JordanandGitHub 865cc55a0e feat: add #hotbar mask and pattern (#2769)
- closes #2765
2024-06-13 20:31:34 +02:00
JordanandGitHub 9843bb0188 chore: address deprecations from new records (#2768)
* Category should implement Keyed
2024-06-12 15:00:40 +02:00
Jordan 62297f9479 refactor: adjust chunk sending (#2770)
- synchronise on the chunk GET object (when available)
 - kick it off to be run at some point on the main server thread
2024-06-10 19:12:31 +01:00
JordanandGitHub 5714a52675 fix: correctly trim the max chunk section (#2753)
- fixes #2727
- fixes IntellectualSites/Plotsquared#4436
2024-06-05 21:23:12 +02:00
dordsor21 a7e4d19605 Remove debug 2024-06-03 22:01:37 +02:00
dordsor21 47b0ece377 Add since tags to new methods 2024-06-03 22:01:37 +02:00
dordsor21 a82ba31185 feat: allow NBT on wand items
- closes #2383
2024-06-03 22:01:37 +02:00
JordanandGitHub 7635eec2e4 fix: improve how we determine if using FAWE from jenkins (#2754)
- SNAPSHOT will usually only be removed if it's a release version
 - If others remove SNAPSHOT, then they're probably doing their own stuff, just use this as the "release" check
 - fixes #2744
2024-06-02 17:11:53 +02:00
dordsor21 5da6c65df6 fix: use correct coordinates in BufferedPattern2D and NoiseFilter 2024-05-31 18:52:49 +02:00
dordsor21 36d2c85fdb chore: address deprecations in vector classes 2024-05-31 18:52:49 +02:00
JordanandGitHub f9c523c173 feat: move limits for (brush, superpickaxe and normal) radii to fawe (#2635)
- closes #2587
2024-05-24 15:09:57 +02:00
JordanandGitHub c9b2f441c1 feat: only unstuck a player if configured to do so (#2723)
- also add unstuck to a couple of other commands
 - closes #2675
2024-05-14 21:30:34 +02:00
JordanandGitHub 1d9e8b60ab fix: add missing blocktypes and some minor cleanup (#2722)
- fixes #2713
2024-05-12 11:05:00 +01:00
JordanandGitHub debfabff08 feat: introduce migrating config nodes to new locations (#2642)
- Initial case of moving schematic limits from experimental to limits
 - Closes #2533
2024-05-01 17:31:06 +09:00
JordanandGitHub 23bcdb0409 fix: introduce approx size to patterns and use in ScatterBrush (#2631)
* fix: introduce approx size to patterns and use in ScatterBrush
 - fixes #2610

* Do not use patternsize in blockvectorset offset
2024-03-30 10:31:52 +01:00
dordsor21 c1c3a5f7ed fix: git did not find conflict here, remove duplicate fork method 2024-03-27 16:32:11 +00:00
JordanandGitHub b512182e1f feat: save region selector to session store (#2621)
* feat: save region selector to session store
 - closes #2397

* Move new gson adapters to FAWE packages
2024-03-17 20:25:43 +01:00
JordanandGitHub d2ca3ed6fe fix: better image reading errors (#2632)
- closes #2593
2024-03-17 20:25:09 +01:00
JordanandGitHub 2d0a3e6081 fix: do not error when attempting to parse "|" as a pattern (#2625) 2024-03-17 13:15:28 +01:00
JordanandGitHub f60539f41d chore: deprecate transform extent for removal (#2623) 2024-03-16 20:12:02 +01:00
JordanandGitHub 8363badf80 fix: correctly (de)serialise ItemType (#2620)
- InternalId changes depending on ~~magic~~ so we should not store this value
 - fixes #2589
2024-03-15 18:39:35 +01:00
JordanandGitHub facd31ce31 fix: do not forcefully direct to x,y,z methods in AbstractDelegateExtent (#2614)
- we probably shouldn't be doing this
2024-03-14 17:56:08 +01:00
JordanandGitHub d1e1d5105e fix: invalidate cached allowed regions if WG region deleted (#2572) 2024-02-05 22:44:45 +01:00
JordanandGitHub a502287906 refactor: minor adjustments to error handling (ignoring) and blocking queue (#2566) 2024-02-02 18:07:13 +01:00
JordanandGitHub 033b8e35d2 fix: always set createCopy status on chunk get as chunks are cached (#2567)
- fixes #2539
2024-02-02 18:06:57 +01:00
dordsor21 9ffe76dce3 fix: add missing methods top TestOfflinePermissible 2024-01-28 13:32:25 +01:00
JordanandGitHub e815071134 fix: fix plot swap (#2360)
- deprecate and note for internal use only Clipboard#create as it's funky
 - fixes #2076
2024-01-21 12:42:24 +01:00
JordanandGitHub 28ab5662fd fix: correct the delegated methods in AbstractDelegateExtent (#2365)
- Not all methods should be overridden: we need to keep delegating-to-setblock methods in parent classes
2023-12-21 13:11:44 +00:00
JordanandGitHub 2f92626433 feat: add switch to allow removal of entities on paste (#2525)
- closes #2395
2023-12-18 15:33:02 +00:00
JordanandGitHub 6caf4640ea feat: add config option for if the DOC should lock the file channel (#2526)
- related to #2222
- effectively just a workaround as most people would not need to worry about locking the clipboard file
2023-12-18 15:04:34 +00:00
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