Commit Graph

2236 Commits

Author SHA1 Message Date
dordsor21
af890cf21d
Fix build
(cherry picked from commit dc2e1bec1eca4d7f8d24bd40e32c385d91af3099)
2021-09-13 12:31:06 +01:00
dordsor21
b6b6ba7265
Improve CachedMask a bit - no need to unwrap/wrap blockvectors, allow extents to be parsed
(cherry picked from commit 41c0ea98f16ecbfadced41e4be277ad6ceda6b1a)
2021-09-13 12:30:58 +01:00
dordsor21
f5d6d4079a
*Actually rename section index everywhere
(cherry picked from commit 3ea3bd2a78e0d8bae239de24beb72f69ac7fe619)
2021-09-13 12:30:49 +01:00
dordsor21
7876ab825e
Make blocking executor a fair policy
Safer if we're submitting lots of chunks for recursive operations. These chunks should be handled in the order they're submitted so we don't handle a chunk that's been submitted twice (possible) in the wrong order

(cherry picked from commit ce915fe04dd83676ae0045b3a675788f486e2cc6)
2021-09-13 12:30:44 +01:00
dordsor21
66b79b4ea2
Remove unneeded IQueueWrapper, clean up some queue classes slightly
(cherry picked from commit 66e22df3f4c505a0a302d47c0c10302275e2a191)
2021-09-13 12:30:39 +01:00
dordsor21
d60d178513
Rename section index to position as it's a more suitable name
(cherry picked from commit 74f1d21f6e3db8970763a080529e3fc1f03fdb81)
2021-09-13 12:30:22 +01:00
dordsor21
d9a8c047a2
don't create chunk set if it doesn't already exist when checking for biomes
It shouldn't ever create the set at this point though

(cherry picked from commit 3ea725a863c148c12884b3f5a94262eb58b5deaa)
2021-09-13 12:30:12 +01:00
dordsor21
da2a846d3d
Don't return null when adding processors to NullExtent
(cherry picked from commit 1a8ad8133ef6feae8fdf40d5317934ee6bf31314)
2021-09-13 12:29:49 +01:00
NotMyFault
cdbbedb662
Update Upstream
6008fe7 Remove class shutter
2021-09-13 10:51:58 +02:00
dordsor21
5d31b7034d
Deprecate sponge schematic reader/writer and tell users why (#1287) 2021-09-13 10:51:58 +02:00
dordsor21
8e214b1232
Javadocs to LocalBlockVectorSet 2021-09-11 16:59:00 +01:00
dordsor21
8c8419a1c5
LocalBlockVectorSet shouldn't actually be used from multiple threads. SparseBitSet is not thread safe 2021-09-11 16:41:42 +01:00
dordsor21
6e586da83e
Some code cleanup
- Simplify MaskFilter slightly
- Improve thread safety of LocalBlockVectorSet
- Simplify if statement in SingleThreadQueueExtent
- Better error in MathMan#tripleSearchCoords for handling of the error in some cases
2021-09-11 16:38:01 +01:00
dordsor21
e85586db80
Only set ParserContext extent to world if null when setting world 2021-09-11 16:25:45 +01:00
dordsor21
a923c112ee
Actually do what I said for min/max Y in HeightmapProcessor 2021-09-11 14:25:47 +01:00
dordsor21
82220ef87e
Move HeightMapType and HeightmapProcessor into own package 2021-09-11 13:37:31 +01:00
dordsor21
f84c98e721
Use given min/max y values in HeightmapProcessor 2021-09-11 12:41:06 +01:00
dordsor21
6cbd9631a0
Improve notes on getting the stored section range/refactor method name 2021-09-11 12:40:39 +01:00
dordsor21
37998ec598
Refactor heightmap classes to math where it makes more sense
(not required by heightmap processor, nor are they processors, used for heightmap brushes etc.)
2021-09-11 12:23:03 +01:00
SirYwell
5fb4434afe Fix indexing and custom world heights in HeightmapProcessor 2021-09-11 10:26:02 +02:00
NotMyFault
f29d68b16e
Update Upstream
fbf61ef Fix raise and lower deform brushes (1889)
2021-09-11 10:15:44 +02:00
dordsor21
db24b429c1
only close clipboard on error during copy
apply to //cut as well
2021-09-11 00:27:26 +01:00
dordsor21
470ba64fe4
Fix #1260 2021-09-10 17:46:21 +01:00
dordsor21
829ddc393f
Fix #1268 2021-09-10 17:14:55 +01:00
dordsor21
88ae6d9e1d
Optimise HeightmapProcessor (around 16x faster) 2021-09-10 16:53:25 +01:00
dordsor21
0e72fa5058
Specify requirement for delay-chunk-unloads-by to be set for preloading 2021-09-10 15:52:46 +01:00
dordsor21
3f182c63bc
Fix #1285 2021-09-10 14:53:07 +01:00
dordsor21
effb94623a
Fix exceptions being squashed RegionVisitor preloading 2021-09-10 14:41:15 +01:00
dordsor21
195a13a23c
some codestyle application 2021-09-08 16:39:43 +01:00
NotMyFault
8aadeb9291
Identify as Fawe when throwing unknown exceptions
Closes #1281
Closes #1279
Closes #1282
2021-09-06 15:28:54 +02:00
NotMyFault
d236470df8
Update Upstream
b1c230d Add conditional checking in help command (1888)
b4fbbc9 Move clearable checks for Bukkit to adapters (1887)
2021-09-04 10:31:31 +02:00
dordsor21
79f4be3941
Adjust some synchronisation 2021-09-02 18:06:36 +01:00
NotMyFault
09c4655be7
Setup allowed-plugins with an example plugin 2021-09-02 18:53:14 +02:00
dordsor21
f8aaf0cae3
Don't set extent to self when cancelling in AbstractDelegateExtent
#749
2021-09-02 17:13:38 +01:00
dordsor21
93dff36ee2
Fix #1265 2021-09-02 14:08:49 +01:00
dordsor21
b9e4b31c68
Clean up ChunkHolder slightly, only trim chunk get if not already present 2021-09-02 12:31:27 +01:00
dordsor21
fb7e95c440
Improve exceptions (#1256)
- Kick more exceptions further up the pipeline to be more likely to be shown to player
- Try to avoid lots of console spamming when it's the same error multiple times
- Allow parsing of FaweExceptions during commands to better give information to players
2021-09-01 16:36:03 +02:00
dordsor21
ebc38a62ad
Should fix #1237 and should fix #1236 2021-08-26 16:44:49 +01:00
dordsor21
cacfcb8c5c
LimitExtent isn't a processor 2021-08-26 16:44:08 +01:00
dordsor21
da8289f8ba
Fix #826 2021-08-25 16:19:51 +01:00
dordsor21
4050cf238f
Fix #1217 2021-08-25 15:48:39 +01:00
dordsor21
29bebcd034
Fully fix #949 2021-08-25 15:32:25 +01:00
dordsor21
4e463af1df
Remove log output from DefaultBlockParser 2021-08-25 14:12:40 +01:00
dordsor21
a66080d803
Fix build, add note 2021-08-25 14:06:12 +01:00
dordsor21
ea6b29f145
Fix up annotations in block classes and slight cleanup 2021-08-25 12:25:33 +01:00
dordsor21
df18fcef92
Fix #1250 2021-08-25 11:16:06 +01:00
dordsor21
012e55e780
Fix links 2021-08-25 11:08:14 +01:00
dordsor21
7d9abc9273
Skip corrupt tile entities in legacy schematics 2021-08-23 21:46:50 +01:00
dordsor21
6301a7adb9
Deprecate and add the warnings for BlockType#getState as it is broken 2021-08-23 21:28:06 +01:00
dordsor21
c0893a404d
Set default number of iterations for snow smooth brush to 1. 2021-08-23 21:27:35 +01:00
dordsor21
0aadef97d0
Quick fix for SnowHeightMap 2021-08-23 21:26:59 +01:00
dordsor21
1a0f7df3f4
Fix #1243 2021-08-23 13:08:10 +01:00
dordsor21
2e0de7b197
Fix nullability issue with SnowHeightMap mask, apply some cleanup and reduce needless object creation 2021-08-23 11:57:00 +01:00
NotMyFault
cf671ad7ff
Update Upstream
ed28089 Don't crash if fields are null in ChunkDeleter (1874)
f049d56 Revert "Use a Guava Cache instead of a ThreadLocal (1859)"
c5a4450 Internally use a negated mask class to prevent russian doll wrapping (1877)
1397ec7 Add Snow Smooth Tools (1580)

Fixes #955
Fixes #858
2021-08-22 11:56:39 +02:00
SirYwell
df8b2802b2 Support custom world min heights when processing heightmaps 2021-08-21 10:52:45 +02:00
dordsor21
cd576a2a87
Fix #1241 2021-08-20 16:33:58 +01:00
dordsor21
563ad7761a
Fix LocalBlockVectorSet
- Fixes #1238
2021-08-19 13:10:09 +01:00
NotMyFault
188e4b6215
Fix unknown direction exception missing key 2021-08-18 14:57:14 +02:00
dordsor21
6a932f2eda
Preloading is paper only. 2021-08-17 22:34:51 +01:00
dordsor21
1d9b1a3d5e
Remove hardcoding of world limits (#1199)
* Remove hardcoding of world limits
 - seems to be working fine without the datapack for world height changing
 - particular attention should be given to LocalBlockVectorSet and MathMan changes

* update adapters

* Override getMinY in various classes and ensure selections have a world attached to them

* no message

* Address comments
 - Fix for lighting mode 1

* A few more changes

* Fix LocalBlockVectorSet

* Fix range statement

* Various fixes/comment-addressing
- There's not much point in having a different file name now for history. We've broken it before...
- Fix history read/write
- Fix range on for loops in CharBlocks

* undo bad CharBlocks change

* Fix history y level

* Fix biome history

* Fix lighting

* Fix /up

* Make regen fail not because of these changes

* Fixes for y < 0

* Fix isEmpty where only the uppermost chunksection is edited

* Fix javadocs/FAWE annotations

* Better explain why BiomeMath is removed

* If history task throws an error, it should only be caught and printed if not completing now.

* Min|max world heights for new patterns

* Load biomes from NMS instead of bukkit (#1200)

* Update adapters

* Update adapters

* Don't initialise BlockTypes when biomes aren't set up yet so all BiomeTypes.BIOME are no longer null thanks.

* Address some comments.

* rename layer -> sectionIndex to imply inclusivity

* Javadoctored.

Co-authored-by: NotMyFault <mc.cache@web.de>
Co-authored-by: Hannes Greule <SirYwell@users.noreply.github.com>
2021-08-17 22:13:51 +01:00
dordsor21
664cd4e33d
Preloader is null for spigot users 2021-08-17 18:06:57 +01:00
dordsor21
347bd04065
Fix initialisation 2021-08-17 17:09:52 +01:00
dordsor21
4cae37fbbf
Add back extra angle mask prefixes 2021-08-17 17:07:37 +01:00
dordsor21
569fdc3861
Reimplement radius mask, fix wall mask 2021-08-17 17:03:25 +01:00
dordsor21
46f6395279
Improve mask parsing
- Fixes #1230
2021-08-17 17:02:11 +01:00
NotMyFault
f6676cf6a3
Follow up to 1ee4de0edf 2021-08-17 16:57:35 +02:00
dordsor21
0ffab8ee69
Add null check to preloader 2021-08-17 15:38:47 +01:00
dordsor21
8c11ba7fea
Preload chunks up to the configured limit, cancel preloading on EditSession complete 2021-08-17 12:07:48 +01:00
dordsor21
da7aca8ef8
Add basic preloading (#1221) 2021-08-16 20:47:09 -04:00
dordsor21
d4d98708f9
Re-implement richer mask and transform parsing (#1223)
Co-authored-by: dordsor21 <dordsor21@gmail.com>
Co-authored-by: Hannes Greule <SirYwell@users.noreply.github.com>
2021-08-16 09:03:06 +00:00
dordsor21
3e4f1d5cd8
Better Mathman#isInteger 2021-08-11 20:38:52 +01:00
dordsor21
00a6a2d917
Fix stash failure 2021-08-11 15:03:59 +01:00
dordsor21
3ba42df321
Use more MutableBlockVector3s 2021-08-11 14:56:10 +01:00
dordsor21
6f5430a940
Some cleanup of mutables 2021-08-11 14:00:12 +01:00
dordsor21
8928556c1d
Minor improvement to MathMan#isInteger 2021-08-11 12:32:46 +01:00
Pierre Maurice Schwang
7d3a9ff36d
Fixed Unit Tests (BlockVector3.isLongPackable) (#1168)
* Fixed Unit Tests (BlockVector3.isLongPackable)

* Re-enable tests for ci

* Address gh action dependency complaints

* Fix "invalid usage of tag &" for MinecraftVersion.java

* Simple StubServer for BukkitWorldTest.java

* Add parallelgzip to test runtime, fixed javadoc encoding, make gradlew executable and patch StubServer for latest spigot / paper release

* Move Javadoc UTF-8 to PlatformConfig.kt

* Revert "make gradlew executable"
Was required for act to run, but not required for GH actions - Weird behavior

* Mark upstream changes, move class + apply editorconfig

Co-authored-by: NotMyFault <mc.cache@web.de>
Co-authored-by: Matt <4009945+MattBDev@users.noreply.github.com>
2021-08-10 09:31:37 +01:00
Maddy Miller
e2b2feb7c5
Use MethodHandle for faster event bus (#1865)
* Use MethodHandle for faster event bus

* Implement hashCode/equals

* Apply review comments

* Bind to the object directly
2021-08-09 10:21:42 +01:00
dordsor21
57f7c93033
Fix history rollback
- Fixes #959
2021-08-08 19:35:57 +01:00
Maddy Miller
f06ba41f91
Fix Cycler tool not using full block data (#1868)
(cherry picked from commit 8ee45137aa5d7a3b80b661601ab14e48f13756ec)
2021-08-08 17:33:45 +01:00
Joseph Thomas
d10b038e84
Create SurfaceAngleMask (#1215) 2021-08-08 09:59:42 +00:00
dordsor21
2376ce8d9d
Add thickness to //hcyl and //br cylinder -h
- Closes #753
2021-08-08 10:02:58 +01:00
NotMyFault
75b888a9f0
Add missing translation keys 2021-08-08 01:52:28 +02:00
dordsor21
9af77c06b8
Fix ParallelQueueExtent#setBlocks(Region, <B extends BlockStateHolder>)#
- Fixes removeabove/removebelow
2021-08-07 17:38:09 +01:00
dordsor21
346223977d
Add javadoc comments to generateTree 2021-08-07 16:28:41 +01:00
dordsor21
e90b261196
Trees should be generated on the main thread
- Also remove warning when using tree tool
2021-08-07 16:19:41 +01:00
Aurélien
abaa347ad4
Fix major security bugs (3 brushes + superpickaxe)! (#1213)
* Fix major security bugs (3 brushes + superpickaxe)!
- Due to some recent changes, FAWE could edit everything in the world, no matter other plugin protections such as PS or WG.
- Fix superpickaxe allow to bypass protections => Fix SurvivalModeExtent not taking into account protections plugins due to breaking blocks naturally to get drops.

* Adress requests
- Revert some unsuitabe changes
- Add FAWE diff comments

* Clean imports

* Adress requests

Co-authored-by: NotMyFault <mc.cache@web.de>
2021-08-07 11:09:33 +02:00
NotMyFault
14fc2dbf9b
Fix fawe-deprecation javadoc linking 2021-08-05 18:33:19 +02:00
NotMyFault
3ccb5e0aed
Use translation message for brush assignment 2021-08-04 22:44:24 +02:00
NotMyFault
2bcf3eedf1
Add //br snow
Apparently an upstream addition we forgot to pull.
2021-08-04 22:29:43 +02:00
NotMyFault
45a8030aeb
Update Upstream
b9f0416 Use a Guava Cache instead of a ThreadLocal (1862)
2021-08-02 22:10:21 +02:00
NotMyFault
a5e84dcfea
Switch to version catalogs
- Closes #1204
- Switch to security advisory
- Move fawe-tests to fawe packages
2021-08-01 19:28:51 +02:00
NotMyFault
9f3a451ef6
Fixes #756 2021-07-31 14:18:04 +02:00
dordsor21
d62a1b5ad3
Always trim chunk GET in ChunkHolder
- Possibly something to do with #1169
2021-07-29 20:37:10 +01:00
NotMyFault
84b9dce6be
Move debug notes to logger factory 2021-07-29 21:11:23 +02:00
NotMyFault
69067fe8c8
Leave a note about (temporary) not undoable tree tools 2021-07-27 19:45:31 +02:00
NotMyFault
b4f9ade5bd
Fixes #1071 2021-07-26 17:05:54 +02:00
NotMyFault
92b4524dd6
Update Upstream
f414af5 Fix the offset mask forcing negation of itself (1656)
2021-07-26 00:48:38 +02:00
NotMyFault
f479e32b5f
Update contributing url 2021-07-24 19:28:28 +02:00
dordsor21
8c0195970b
Add and apply .editorconfig from P2 (#1195)
* Consistenty use javax annotations.
 - Unfortunately jetbrains annotations seem to be exposed transitively via core somewhere, but with the correct IDE settings, annotations can be defaulted to javax
 - Cleaning up of import order in #1195
 - Must be merged before #1195

* Add and apply .editorconfig from P2
 - Does not rearrange entries

* Address some comments

* add back some javadoc comments

* Address final comments

Co-authored-by: NotMyFault <mc.cache@web.de>
2021-07-24 16:34:05 +01:00
dordsor21
3b4beba7d6
Improve performance of various commands/actions
- Add chunk preloading to RegionVisitor if supplied with a suitable Extent
 - Where extents are used in masks, set EditSession as the extent as they are otherwise initialised with WorldWrapper that is very slow
 - Fixes #1073
2021-07-24 15:47:22 +01:00