Commit Graph

1966 Commits

Author SHA1 Message Date
Jordan
fe1859e9d2
fix: do not retain clipboards that completed exceptionally (#2358) 2023-07-20 17:56:30 +02:00
Chris Lang
e0507e6440
Added cone generation command (#2251)
* Added cone generation command

* Fix formatting problems

---------

Co-authored-by: Madeline Miller <mnmiller1@me.com>
2023-07-15 21:18:09 +01:00
Jordan
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
Jordan
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
Alexander Brandes
1745c50878
Improve error behaviour of //generate 2023-07-15 09:26:00 +02: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
Jordan
1f29ab3b79
fix: fix command brush (#2347) 2023-07-10 22:04:33 +01:00
Jordan
d7cc65d2f2
refactor: some changes that may help #2289 (#2307) 2023-07-03 16:37:42 +01:00
1af72ba98f
Merge branch 'IntellectualSites:main' into main 2023-07-02 23:37:39 -05:00
Jordan
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
Jordan
476ba4ab41
refactor: efficiency improvements to some editsession methods (#2304) 2023-06-27 18:36:54 +02:00
Jordan
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
Jordan
d961aa91bc
fix: fix regex block masking (#2242) 2023-06-22 11:24:03 +01:00
Jordan
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
Jordan
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
Jordan
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 <mc.cache@web.de>
2023-06-15 10:18:01 +02:00
c609aa97ce
Merge branch 'IntellectualSites:main' into main 2023-06-14 15:46:43 -05:00
Jordan
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
ca501e08b4
Merge branch 'IntellectualSites:main' into main 2023-06-09 19:44:27 -05:00
Alexander Brandes
bb14d93a8d
Add Console/CommandBlock support to Fabric/Forge/Sponge (2317) 2023-06-09 13:58:45 +02:00
Alexander Brandes
e7876c4eba
Update to 1.20 (#2276)
* Towards 1.20

* Init bukkit

* Update YAML to 2.0

* Fixes for 1.20 adapters

* Update obfuscated field names

* Remove getHandle workaround

* entityManager is obfuscated

* Update paperweight

* [ci-skip] Add 1.20 to modrinth task

---------

Co-authored-by: Phillipp Glanz <p.glanz@madfix.me>
Co-authored-by: SirYwell <hannesgreule@outlook.de>
2023-06-09 12:53:42 +02:00
80ffba7a63 Merge https://github.com/IntellectualSites/FastAsyncWorldEdit 2023-06-07 13:15:02 -05:00
Jordan
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 <mc.cache@web.de>
2023-06-07 00:35:37 +02:00
Jordan
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
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
Jordan
03487718e7
feat: configurable image hosts (#2243) 2023-05-31 16:48:45 +01:00
Jordan
3041ff3e50
feat: add -r (random rotate) flag to schem load and clipboard brush (#2244)
- Implements #1873
2023-05-25 19:06:20 +02:00
Jordan
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
Jordan
7c01c1e95e
feat: allow captions in SuggestInputParseException (#2239)
- Deprecate for removal methods using string message
 - Fixes #2026
2023-05-22 20:32:56 +02:00
Jordan
74aff920a8
fix: fix universal disallowed blocks logic in limit and EditSession compilation (#2237)
- Fixes #2184
2023-05-22 20:32:36 +02:00
Alexander Brandes
4c0b535e6e
Ensure non-Double types are boxed in expression function calls. 2023-05-21 09:50:10 +02:00
Alexander Brandes
5e3222c55d
Ensure blockmap uniqueness across TE values 2023-05-20 21:00:35 +02:00
Alexander Brandes
7f43e448d5
fix(core): Properly reinit convex CUI selection on primary click 2023-05-20 20:58:47 +02:00
Alexander Brandes
85214c944f
Keep extending cuboid selector after //paste -s/n 2023-05-20 20:54:52 +02:00
Alexander Brandes
264185a323
Add method to check initialize state in PlatformManager, deny access to registries when uninitialized 2023-05-20 20:52:03 +02:00
Jordan
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
Marco Neuhaus
52723439dd
Fix reading of tile entities with "id" instead of "Id" tag (#2211) 2023-05-20 09:57:13 +00:00
Hannes Greule
a14035d430
Revert "Actually delegate in AbstractDelegateExtent" (#2229) 2023-05-16 10:32:03 +02:00
Phillipp Glanz
c57fee5b86
Fixes command context for bukkit console command sender (#2193) 2023-05-12 12:12:08 +01:00
Hannes Greule
2987550e9b
Actually delegate in AbstractDelegateExtent (#2196)
* actually delegate in AbstractDelegateExtent

* exclude enableHistory method
2023-05-04 18:33:04 +02:00
d9b6d04fca
Merge branch 'IntellectualSites:main' into main 2023-04-21 19:41:30 -05:00
Hannes Greule
86acb1c4d4
Simplify command dispatch to ensure command order (#2131) 2023-04-18 16:28:38 +01:00
Jordan
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
Jordan
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 <mc.cache@web.de>

---------

Co-authored-by: Alexander Brandes <mc.cache@web.de>
2023-03-31 20:45:34 +02:00
dordsor21
d82bf0527e
fix: use correct string for disallowed property use 2023-03-22 17:28:50 +00:00
9c42dead48
Merge branch 'IntellectualSites:main' into main 2023-03-19 16:32:00 -05:00
Phillipp Glanz
b54e3a5112
Add nether tress into floating tree remover (#2146)
* Add nether tress into floating tree remover

* Add nether stems
2023-03-17 21:58:53 +00:00
221b9ea844 Merge changes from FAI 2023-03-11 15:24:45 -06:00
eztaK-red
211e8034ff
Fix off by one error for negative coordinates when using -r with //deform (#2092)
The problem: Off by one error for negative coordinates. Source: Behaviour of rounding coordinates (doubles) after deform.

The off by error came down to rounding using casts (int) and rounding using Math.floor()

(int)( 1.8) = 1
(int)(-1.8) = -1
(int)Math.floor( 1.8) = 1
(int)Math.floor(-1.8) = -2

Looking at the original WorldEdit implementation a Math.floor call is present too. It was missing FAWE which resulted in the bug.

Co-authored-by: Alexander Brandes <mc.cache@web.de>
2023-03-06 13:53:07 +01:00
Bernhard
5e8bc5c2ad
fix regex and remove forbidden windows characters (#2012)
refactor: fix regex and remove forbidden windows characters
2023-01-16 00:34:53 +01:00
TheJonstone✓
0f558425f5
Fix: remove unnecessary bypass permission (#2060)
Fix: remove unnecessary permission
2023-01-16 00:34:28 +01:00
Hannes Greule
bb0e201c52
Remove usages of JoinedCharSequence (#2062) 2023-01-11 00:07:24 +01:00
Bernhard
c3ce162fd5
Feature: add "h" as alias for "hand" and "oh" for "offhand" (#2033) 2022-12-11 18:36:33 +01:00
Pierre Maurice Schwang
f33d93591a
Fix Chorus-Plant tree type generation (#2015)
fix: chorusplant tree type must generate inside end_stone
2022-11-14 22:58:54 +01:00
Jordan
bf28ab47b8
fix: bring default min/max y in line with upstream in AbstractRegion (#1992)
- Fixes #1987
2022-10-23 21:22:43 +02:00
Jordan
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
Alexander Brandes
aa216a990a
Update upstream
7e61ff1 Work around invalid legacy values in schematics (2171)
2022-08-29 17:21:21 +02:00
Hannes Greule
a6a0b5eb66
fix: avoid recursive LegacyMapper initialization (#1922) 2022-08-27 15:48:54 +01:00
Alexander Brandes
d5acb4ec51
fix: Lazy fix macro stacktrace (#1911) 2022-08-24 10:02:25 +02:00
Hannes Greule
ab659eadde
fix: upstream missing Region#getBoundingBox() (#1908)
Use block change limit for //copy and //cut

(cherry picked from commit fd8dbdd7b7b8b561db98a45b4eae3810dedb1551)
2022-08-19 13:41:24 +02:00
Alexander Brandes
5c2679f95d
Update Upstream
55e2d3d Catch InvalidPathException in safeFile handler (2167)

Closes #1872
2022-08-10 09:47:53 +02:00
Alexander Brandes
c520e1a686
Update upstream
54ed9e8 Add support for Y-offsets with back direction (2164)
2022-08-07 09:13:09 +02:00
Alexander Brandes
8414e64bab
build: Release 2.4.2 2022-07-28 10:29:59 +02:00
Alexander Brandes
e10774598e
chore: Reword light command messages (#1885) 2022-07-25 18:49:18 +02:00
Alexander Brandes
4fc2a25a9a
Update Upstream
d7b3c4c Clone the returned getRegion on BlockArrayClipboard (2144)
2022-07-16 11:08:42 +02:00
Aeliios
92518f71be
Correct return type for CuboidRegion#getFaces() upstream compatibility (#1866) 2022-07-03 12:43:13 +01:00
Alexander Brandes
f812fc14ab
build: Release 2.4.0 2022-06-27 13:52:50 +02:00
Jordan
34ea713d29
Fix walls command on 1D/2D selection (#1821) 2022-06-24 15:04:11 +01:00
Jordan
800988aae7
Assume a file not being in a subdirectory of root means a symlink is used (#1838) 2022-06-23 17:32:21 +01:00
Jordan
704f87da23
Re-implement incremental schematic names in a folder (#1833)
* Re-implement incremental schematic names in a folder
 - Fixes #1545

* Move fawe end comment

* Slight cleanup
2022-06-23 10:23:22 +02:00
Jordan
100288ada5
Implement a "sensitivity" setting, a mask, and an option to only distinguish air vs blocks to blendball (#1832) 2022-06-22 12:50:22 +01:00
Jordan
d498996cbd
Use Material rather than legacy int/data when specifying block break effect type (#1829) 2022-06-22 12:50:09 +01:00
Jordan
968799503f
Re-implement full Entity support in history, entity removal, entity creation, etc. (#1812)
Co-authored-by: Alexander Brandes <mc.cache@web.de>
2022-06-21 14:52:02 +01:00
Jordan
dacb89a480
Bring stack in line with upstream using offset rather than direction (#1822)
Co-authored-by: Alexander Brandes <mc.cache@web.de>
2022-06-20 10:46:19 +02:00
Jordan
396faf6732
Support using //distr on console properly (#1827) 2022-06-19 22:35:36 +01:00
Jordan
dac3610bcf
Implement generation of biome decorations to //regen <biome> and add option for a random seed to be used (#1819) 2022-06-19 22:33:16 +01:00
Jordan
692a010c39
Actually apply source mask when using //paste -m <mask> (#1810) 2022-06-19 22:33:01 +01:00
Jordan
aadd35c0c4
Don't limit split size for extra block data (signs, spawner, etc.) (#1818) 2022-06-19 00:58:59 +01:00
Jordan
907ad8528e
Don't do the unbelievable bad use of a MutableBlockVector2 in the creation of a set (#1825)
* Don't do the unbelievable bad use of a MutableBlockVector2 in the creation of a set
 - Fixes IntellectualSites/PlotSquared#3683

* Clean up remnants of the use of MutableBlockVector2
2022-06-17 23:41:25 +02:00
Jordan
fd00635533
Fixes to BlockMask and "char" masks (#1787)
* If a char mask  is successfully created from the full input, return it

* Don't double-up adding a block to a BlockMaskBuilder (if adding by regex is successful)
 - InputParseException is thrown if unsuccessful

* Fix optimisation of BlockMask for negation of a single block type
 - Fixes #1755

* Allow early returning of an optimized MaskIntersection to avoid unnecessary work

* Actually allow underscore in isAlphanumericUnd
 - Fixes #1626

* Replace a few more hard-coded air internal IDs

* Don't fail silently if BlockMaskBuilder#addRegex doesn't work when testing all block types

* Remove unused import
2022-06-16 16:24:48 +02:00
Jordan
f2bab901f4
The extent minY check in clipboard paste is un-needed as it is handled gracefully by FAWE (#1806)
- Fixes #1771
2022-06-16 16:24:00 +02:00
Jordan
1da987d594
Fix PNGWriter exporting blank PNGs (#1807)
* Fix horrendous variable assignment in PNGWriter
 - Fixes #1679

* More detailed information on PNG format

* Avoid a larger number of blocks that do nto have a color assigned in TextureUtil

* Don't error in PNGWriter if biomes aren't saved to clipboard and grass is present
2022-06-16 16:23:52 +02:00
Jordan
ac11da855a
Processor should be added to queue, not extent (#1809)
- Fixes #1559 root cause
2022-06-16 16:23:45 +02:00
Jordan
9395b3c575
Prevent unhinged tree generation by doing a sanity check on the block below/block of the tree placement (#1811) 2022-06-16 16:23:37 +02:00
Jordan
cb6e200ca6
Use the correct CuboidRegion constructor to prevent clipboard height being limited when loading schematics (#1798)
Use the correct CuboidRegion constructor to prevent clipboard height being limited when loading schematicsd
 - Fixes #1757
2022-06-15 13:37:32 +02:00
Jordan
ea434163c4
Only create entities during a restore if they are contained by the region and the editsession's mask (#1800) 2022-06-15 13:37:20 +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
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
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
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
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
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
8228b798e5
Implement biomes to filter blocks and use in Clipboard pasting (#1743)
- Fixes #1741
2022-06-05 20:52:14 +02:00
Alexander Brandes
3a65c64977
chore: Use correct since annoation dates 2022-05-18 21:50:20 +02:00