Commit Graph

961 Commits

Author SHA1 Message Date
NotMyFault
95512a4c0b
build: Release 2.1.0 2022-03-10 22:57:23 +01:00
Jordan
e9db749e2f
Add fluid ticking and refactor post-processing a bit (#1554)
* Make postProcessSet a default method and change to void

* Throwable#getMessage is nullable

* Move (re-)ticking to a post-processor per "platform"
 - Add fluid ticking

* chore: Ignore (for us) irrelevant rules

* chore: Fix correct toml syntax?

* Re-add removed method for API-compliance and refactor it to have a use

* Switch to javax annotations

* Switch to recalcBlockCounts for ticking blocks.

* No need to set air count anymore either

* We can still "not tick" in fast mode in 1.17.2

* update adapters

* Let paper create the chunk section if biomes are null

* Adjust notes to settings

* 1.17.2 didn't exist

* Add 1.18.2

* Don't attempt to cache plains biome ID

* Use correct annotation

Co-authored-by: NotMyFault <mc.cache@web.de>
2022-03-10 15:27:25 +01:00
Jordan
f59353006a
Update to P2 extended heights (#1581) 2022-03-09 14:21:58 +01:00
Alex
345785a25e
feat: Support for 1.18.2 (#1641)
* feat: Preliminary work for 1.18.2

* Update SpigotNames to 1.18.2 (#1642)

* 1.18.2 / Biome-Holders, regeneration (#1645)

* 1.18.2 / Biome-Holders, regeneration

* fix: reuse old structure sets

* build: Update dev bundles

* fix: Don't log regen world generation

* fix: Run DataConverter with CBT

* fix: Override `#toNativeBinary`

* fix: Exception on regen

Co-Authored-By: Pierre Maurice Schwang <mail@pschwang.eu>

* refactor: Minor cleanup

Co-authored-by: Aurora <21148213+aurorasmiles@users.noreply.github.com>
Co-authored-by: Pierre Maurice Schwang <mail@pschwang.eu>
2022-03-07 15:20:05 +01:00
Pierre Maurice Schwang
668227ee6c
Update Upstream (#1643)
44863cf Don't access PluginClassLoader directly (#2045)
2022-03-05 18:19:58 +01:00
NotMyFault
dafcd16a14
Update Upstream
eac5b51 Play dirty because bukkit classloading is bad. (2043)
2022-03-02 20:48:49 +01:00
NotMyFault
7db06061f0
Update upstream
e2ab12c Change the class source validator to use classloaders for detection. (2039)
2022-02-28 15:42:03 +01:00
Jordan
49d5183685
Load legacy config file before firing PlatformsRegisteredEvent (#1623)
Fixes #1622

Co-authored-by: Alex <mc.cache@web.de>
2022-02-24 10:33:06 +01:00
Jordan
28a0239437
Fix clipboards to allow proper heights by allowing extended CuboidRegion heights (#1624)
* Fix clipboards to allow proper heights by allowing extended CuboidRegion heights
Fixes #1534

* Add @since

* Fix javadoc comment

Co-authored-by: Alex <mc.cache@web.de>
2022-02-24 10:32:45 +01:00
Jordan
178604bbb7
Only call org.bukkit.World height methods if they're present (1.17+) (#1551)
* Only call org.bukkit.World height methods if they're present (1.17+)

* Switch to WorldEdit get height methods in GPFeature
2022-01-29 13:12:16 +01:00
ahdg
806ca62485
fix: GriefDefender filter (#1546)
* Fix: GriefDefender filter

* Update libs.versions.toml

* Now it only work with 2.1.0.
2022-01-23 18:29:01 +01:00
NotMyFault
4d2a34fd21
refactor: Update upstream
0ad3ab1 Remove extra label from bukkit command usage string.
2022-01-17 13:20:16 +01:00
Alex
9e40b972b1
refactor: Put Fawe version information at debugpaste to (#1533) 2022-01-12 01:22:24 +01:00
Alex
9ba90d8c83
refactor: Drop custom snakeyaml implementation (#1523)
* refactor: Drop custom snakeyaml implementation

* Merge branch 'main' into chore/main/remove-snakeyaml-wannabe-abstraction
2022-01-09 10:55:16 +01:00
Alex
64442a8051
refactor: Tackle a few Semgrep and ErrorProne violations (#1520)
* refactor: Tackle a few Semgrep and ErrorProne violations

* Address comments
2022-01-07 12:45:53 +01:00
NotMyFault
f4658cc668
docs: Document a few undocumented annotations 2022-01-04 21:15:45 +01:00
NotMyFault
b8399abfe1
refactor: Deprecate tick limiter API for public use 2022-01-04 20:33:05 +01:00
dordsor21
0994ea1e67
Fix issue with offset/origin when pasting a clipboard via API without wrapping into a BlockArrayClipboard 2021-12-30 16:05:16 +00:00
dordsor21
9faacb38ef
Warn user if using small-edit history setting with extended world heights 2021-12-30 16:01:23 +00:00
dordsor21
9e8f0e7325
Refactor: getVersionMin/MaxY -> versionMin/MaxY 2021-12-29 16:44:41 +00:00
dordsor21
8d565b93f7
Compress switch statements a bit using enhanced 2021-12-29 16:39:44 +00:00
NotMyFault
19de815ab4
chore: Format our loggers properly 2021-12-29 17:13:20 +01:00
Jordan
177d731957
Add back statically-set reserved IDs for air blocks only, make it clear they're "reserved" (#1502)
* Add back statically-set reserved IDs for air blocks only, make it clear they're "reserved"
Also:
 - Ensure that reserved is never returned in GET block operations
 - "empty" thus doesn't exist in the GET update methods; remove the needless checks
 - Allow GET/SET chunks to determine their own default values for non-present blocks/sections

* Add comments
2021-12-29 16:17:20 +01:00
dordsor21
bca3a1b04d
More precise method names in MinecraftVersion
- Also ensure correct comparisons are made in FaweBukkit and BukkitServerInterface
 - Fixes #1504
2021-12-29 14:46:30 +00:00
dordsor21
d19369401f
Don't force tick limiter enable/disable 2021-12-29 00:18:12 +00:00
dordsor21
f236934a39
Add get default version min/max world height to platform
- Fixes #1500
2021-12-28 22:46:19 +00:00
SirYwell
07695786ca return air instead of reserved on get blocks 2021-12-26 19:52:02 +01:00
SirYwell
a717df3c5f implement 1.18 regen 2021-12-26 16:20:39 +01:00
NotMyFault
7da921e075
refactor: Deprecate IMP initializors in favor of builders 2021-12-22 20:58:23 +01:00
dordsor21
34f971c729
Add classes with the correct minor version to the start of the adapter candidates list 2021-12-22 12:19:20 +00:00
dordsor21
d98f626ba6
Reverse a "debug" change to BukkitImplLoader 2021-12-22 11:37:01 +00:00
Jordan
6b6c94556a
refactor! Remove deprecations marked for removal that are not present in upstream (#1483) 2021-12-22 01:53:45 +01:00
Jordan
d6e3c331d4
Make 1.18 to be effectively in a usable state (#1452)
* Update swathes of easy-to-update-sort-of-code.
 - Untested
 - Should compile but NMF broken something
 - Several todos:
  - biome history//better support (move to biome sections in core)
  - regen (haha lol no thanks, someone else can do that)
  - probably actually do the palette stuff that probably won't work in PaperweightPlatformAdapter

* ci: Provide basic Jenkinsfile for ghprb pipeline

* build: Update paperweight

* upstream: Update Upstream

de6fa17 Add getBrush helper for use with instanceof pattern matching (1926)

* FAWE will now load on startup

* it....works?

* Begin to allow biome edits (and fix biomes reverting to plains upon editing blocks)

* Add new blocks/block properties

* Only create biome palette if supplies is null

* Fix biome operations

* Finally get removing BlockID done (major version change allows it)

* refactor!: Drop PlotSquared v4

Fawe 2.0.0 and newer requires Java 17, PlotSquared v4 supports 1.13 and 1.14, Fawe wont work on these versions nevertheless and refuses to load due Java version incompatiblities with older versions. Newer versions can use PlotSquared v6.

* docs: Update readme

* Added and removed some comments

* Added and removed some comments

* refactor: Rename worldedit configuration

* build: Re-add 1.17 module

This the a very nasty commit

* chore: Implement missing methods

* build: Update paperweight

* upstream: Update upstream

6df194e Remove finalize, use a Cleaner instead (1943)
9843a4f Fix snapshots in 1.18 (1959)

* ci: Escape workflows

* build: Update paperweight to 1.18.1

* build: Update Paster

* Fix compilation

* Bump to 1.18.1

* Do both 1.18 and 1.18.1

Co-authored-by: Alex <mc.cache@web.de>

* Fix single-block lookups

* Reserve ordinals 0 through 3 for air/"reserved"

* Create block palette data with values

* Fix classpath for testing for starlight

* Correctly use block rather than sky light layer [not used in paper]

Co-authored-by: NotMyFault <mc.cache@web.de>
Co-authored-by: Matt <4009945+MattBDev@users.noreply.github.com>
2021-12-20 21:12:04 +00:00
NotMyFault
1f975ac044
Update templates, address JEP deprecations and place a few TODOs 2021-11-30 21:30:46 +01:00
NotMyFault
e296a329c2
Port initial paperweight classes to 1.18 folder structure 2021-11-30 12:35:34 +01:00
Owen1212055
fc4517fe4c
feat: Sort plugins on debugpaste (#1429)
* Replace plugins with an array and sort them by their name.

Resolves #1428

* Use comparator

Co-authored-by: Alex <mc.cache@web.de>
2021-11-20 16:28:18 +00:00
Alex
4c6e707fcf
fix: Error when setting PS v4's config option (#1427)
Fixes https://github.com/IntellectualSites/FastAsyncWorldEdit/issues/1372
2021-11-19 09:42:33 +00:00
dordsor21
95ecb5609d
Check for worldguard bypass permissions 2021-11-05 19:04:15 +00:00
dordsor21
4e6aee6bfb
Don't consider global region for blacklisting WG regions 2021-10-25 14:12:21 +01:00
dordsor21
75be38925f
Fix #1378 2021-10-25 14:11:17 +01:00
NotMyFault
ad640532dc
Update Upstream
d48530c Don't allow editing without a Bukkit Impl Adapter. (1920)
2021-10-24 12:21:23 +02:00
NotMyFault
c55bc8c05f
refactor: Move update checker to core
feat: Add permission for tracing
2021-10-23 19:36:59 +02:00
NotMyFault
c07ba4e88e
Merge branch 'feature/region-blacklist' 2021-10-21 17:13:13 +02:00
dordsor21
8ed4736066
Add override and correct default method for fromNative
- Fixes #1370
2021-10-20 13:47:55 +01:00
dordsor21
13be5a22ad
Fix #1370
- Actually override toNative in adapter
 - Correctly assign generic-type
 - Better default method for BinaryTag retrieval in adapter
2021-10-19 15:14:25 +01:00
dordsor21
b5479e480d
Don't attempt to run null P2 tasks 2021-10-19 13:35:00 +01:00
NotMyFault
bd9476a175
refactor: Address .editorconfig violations 2021-10-18 23:09:21 +02:00
NotMyFault
74486fc8c9
chore: Update adapters 2021-10-17 17:33:48 +02:00
dordsor21
8fe610311d
Comments 2021-10-17 15:53:19 +01:00
dordsor21
c7c00021b2
Cleanup 2021-10-17 15:53:19 +01:00
dordsor21
7d894228d0
Implement region blacklisting 2021-10-17 15:53:04 +01:00
NotMyFault
f0880a27a0
feat: Paperweight support (#1362)
* Initial work towards paperweight

* feat: Port Fawe classes to paperweight

- Hide UnsafeUtilities in javadocs
- Fix typo in Regenerator
- Create fawe tmp directory for fawe regen

* Update adapters

* chore: Update MiniMessage

* Address todos

* Fix leftover Tuinity loggers
2021-10-17 16:32:36 +02:00
NotMyFault
27865dc785
chore: Exchange debug log levels & component-ify a few messages (#1342) 2021-10-17 14:50:42 +02:00
NotMyFault
5db9a601b1
feat: (Re-) Add update notifications (#1361)
* feat: (Re-) Add update notifications

Fixes #1348

* Move update notification to seperate class

- Add a couple of linebreaks to the chat messages
2021-10-17 09:55:25 +02:00
dordsor21
6895234815
Don't allow edits on plots when owner is offline and player is only added (#1313) 2021-10-04 12:34:40 +00:00
dordsor21
c10e48320b
Fix inverted expectFail boolean 2021-09-30 12:35:17 +01:00
dordsor21
e94b85a0fc
Don't load clipboard more than once. Deprecate BukkitPlayer constructors as it's more efficient to use cached players 2021-09-28 14:11:12 +01:00
dordsor21
40b024fbba
Set legacy ID when adapter is loaded to enable reading/writing anvil 2021-09-22 16:15:18 +01:00
dordsor21
a3d50585c2
Don't print error message if we're expecting it on biome loading 2021-09-22 15:58:11 +01:00
dordsor21
268d8cff49
Apply list of properties everywhere 2021-09-21 18:53:37 +01:00
dordsor21
e750e014ab
Properties can have the same string name
Make map of all properties string against list
2021-09-21 18:34:31 +01:00
NotMyFault
3617a29ba8
Address javadoc violations 2021-09-21 17:40:53 +02:00
dordsor21
84b896151f
Lazy fix for #1271 2021-09-21 14:39:14 +01:00
dordsor21
0fcf996c78
Fix #1314 2021-09-20 23:54:26 +01:00
dordsor21
017a28b3dd
Implement getAllProperties to code and adapters 2021-09-20 16:00:50 +01:00
dordsor21
d5be6940c7
Add default getAllProperties method 2021-09-20 14:46:51 +01:00
Matt
4f68fb0e26
Add tracing feature to EditSessions (Upstream 1301) (#1112)
Co-authored-by: Octavia Togami <octavia.togami@gmail.com>
Co-authored-by: dordsor21 <dordsor21@gmail.com>
Co-authored-by: NotMyFault <mc.cache@web.de>
2021-09-19 20:02:41 +00:00
renovate[bot]
8cc93a2255
Update dependency com.sk89q.worldguard:worldguard-bukkit to v7.0.6 (#1305)
* Update dependency com.sk89q.worldguard:worldguard-bukkit to v7.0.6

* Make it compile

Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: NotMyFault <mc.cache@web.de>
2021-09-18 21:59:29 +02:00
dordsor21
bd95d5a86d
Adjust mask managers
- Add list of "exclusive" managers to config to aid users in having some sort of prioritisation.
 - Fixes #960 if PlotSquared is added to exclusive managers, otherwise, there's no particularly sane way of adding prioritisation without requiring a treemap be added to YAML config, or for us to decide upon it ourselves
2021-09-18 03:19:27 +01:00
dordsor21
4182d7473c
Slightly improve regen workflow, update adapters to a9c745a600 2021-09-16 17:42:31 +01:00
dordsor21
5d31b7034d
Deprecate sponge schematic reader/writer and tell users why (#1287) 2021-09-13 10:51:58 +02:00
dordsor21
333b9c184e
Go into more detail about tree types not being there because version 2021-09-11 12:54:09 +01:00
dordsor21
195a13a23c
some codestyle application 2021-09-08 16:39:43 +01: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
NotMyFault
81534b3476
Ignore datapacks on 1.15 2021-08-26 10:47:00 +02:00
dordsor21
da8289f8ba
Fix #826 2021-08-25 16:19:51 +01:00
dordsor21
46fb0c9418
Add binary tag methods to IDelegateBukkitImplyAdapter 2021-08-25 12:53:37 +01:00
dordsor21
80d99073ec
Remove PluginPreloader 2021-08-25 11:19:31 +01:00
dordsor21
46c96b45fc
Fix build 2021-08-25 11:16:01 +01:00
NotMyFault
869a8058cc
Skip checking for custom biomes on 1.15.2 2021-08-23 21:15:41 +02:00
dordsor21
8e899b8524
Skip registering "custom" biome.
Update adapters to 332c1f6bb17d2ded53fe5b09f3f2a4578f3f9bfc
2021-08-20 16:30:51 +01:00
dordsor21
3dd943f961
Avoid paper-only method 2021-08-20 15:53:12 +01:00
dordsor21
cf68caff99
Correct default biome loading method 2021-08-19 14:12:55 +01:00
dordsor21
f412796f28
Load default biomes into registry at earliest convenience, then load custom biomes later. 2021-08-19 13:48:24 +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
da7aca8ef8
Add basic preloading (#1221) 2021-08-16 20:47:09 -04:00
dordsor21
c287739be7
Minecraft uses the global block palette if there are more than 8 bits per entry in a chunk section
- Fixes #1228
2021-08-14 14:29:57 +01:00
dordsor21
3c75ed7d46
javadoc 2021-08-13 11:51:05 +01:00
dordsor21
c65c72b249
Allow adapters to override World#getEntities to avoid AsyncCatcher
- Even if we access (cache) the entities synchronously, we'd then be doing stuff asynchronously so adapters can override this and either use the world#getEntities normally (pre 1.17) or get entities async anyway.
2021-08-13 11:44:18 +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
NotMyFault
a1e6839cae
Improve jd of MinecraftVersion#getPackageVersion 2021-08-09 11:36:50 +02: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
dordsor21
0d84967853
Fixes #1219 2021-08-07 16:12:03 +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
Matt
14b3fd2085 Fixed parameter name 2021-08-05 17:38:44 -04:00
NotMyFault
c468d22120
Fixes #1208 2021-08-05 15:55:20 +02:00
NotMyFault
678fb0a8b3
Fixes #1201 2021-07-30 01:31:25 +02:00
NotMyFault
e1d18dc896
(Temporarily) Include datapacks in debugpaste 2021-07-26 20:40:18 +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