Commit Graph

1330 Commits

Author SHA1 Message Date
Alexander Brandes
b05e64a7ec
Fetch userdev plugin from plugin portal (#2136) 2023-03-07 15:35:33 +01:00
Hannes Greule
526e1902ca
Fix FAWE using exclusive build height from PlotSquared (#2123)
Use inclusive build height maximum
2023-03-02 00:47:28 +01:00
Hannes Greule
321a39f121
Remove PlayerMoveEvent listener and deprecate MovableTool (#2083)
Remove PlayerMoveEventListener and deprecate MovableTool
2023-02-07 23:07:57 +01:00
Alexander Brandes
07217d0b81
[ci skip] Document metrics addition 2023-02-07 22:50:21 +01:00
Alexander Brandes
b65f3ce1f8
Add metrics for Residence (#2081) 2023-02-07 10:47:49 +01:00
Alexander Brandes
a9ed8431cd
Use the connection field on 1.19->1.19.3 rather than networkManager 2022-12-27 14:05:41 +01:00
Alexander Brandes
b0ac500fa1
Bump paperweight 2022-12-13 22:52:30 +01:00
Alexander Brandes
f98e526fa0
Add support for 1.19.3 (#2042)
* 1.19.3

* More fixes

* fix: compile time issues for 1.19.3

* fix: new mappings and GeneratorStructureState

* Add 1.19.3 to release and issue template

* Update dependencies for 1.19.3

* Update worldedit-bukkit/adapters/adapter-1_19_3/build.gradle.kts

Co-authored-by: Pierre Maurice Schwang <mail@pschwang.eu>
2022-12-11 18:36:13 +01:00
Alexander Brandes
62f561cb56
Update dev bundle versions (#2040) 2022-12-09 12:38:10 +01:00
Hannes Greule
79c23e06c3
Clean up starlight usage (#2029)
clean up starlight usage
2022-12-04 18:56:41 +01:00
Alexander Brandes
1771a04ef9
Release 2.4.10 2022-11-15 19:35:25 +01:00
Pierre Maurice Schwang
4c2119e404
Fix error on latest paper while copying entities (#2006) 2022-11-10 17:45:35 +00:00
Pierre Maurice Schwang
2fe54a04b5
Adjust platform specific code to recent changes (#1997)
* chore: remove usage of MCUtil in StarlightRelighter

* chore: cleanup of unused imports

* hacky shit-fuckery for papers new chunksystem und refactor

* chore: address review comments

* Update dependency io.papermc.paperweight.userdev:io.papermc.paperweight.userdev.gradle.plugin to v1.3.9 (#2001)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* fix: suppress exceptions for field retrieval, cache fields / methods

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-11-02 09:41:20 +01:00
Hannes Greule
bbc1db9bd2
Read minecraft version from paper if available (#2002)
* read version from paper if available

* fix for versions without release information
2022-11-01 23:39:42 +01:00
Jordan
0d112b2913
fix: move main-thread call to be implementation from WorldWrapper (#1991)
- Fixes #1990
2022-10-23 21:22:53 +02:00
Hannes Greule
13eb1f815f
Fix mappings issue with biome-based regen on 1.18.2 (#1982)
access correct fields
2022-10-13 19:20:01 +02:00
Jordan
878509406b
fix: Add items to a player's inventory on the main thread (#1977)
- Fixes #1954
2022-10-12 20:48:56 +02:00
Alexander Brandes
33be942176
[ci skip] Rewrite README for modrinth (#1979)
docs: Rewrite README for modrinth
2022-10-09 16:41:22 +02:00
Pierre Maurice Schwang
598cd6ba19
Don't error when NPC-annotated "entity" leaves the server (#1969)
fix: no need to remove never-added attachment
2022-10-08 13:34:50 +02:00
Alexander Brandes
ad38d88642
[ci skip] Link to GH releases (#1970)
chore: Link to GH releases
2022-10-04 13:28:10 +02:00
Alexander Brandes
a32d8dcbdb
Release to Modrinth (#1968)
* feat: Release to Modrinth

* chore: List-ify gameVersions
2022-10-02 21:50:16 +02:00
Hannes Greule
5da558e24c
feature: support paper chunk system (#1884)
* avoid usage of ticking chunk future on paper

* fix entity handling

* fix entity handling but on spigot

* seems like no one uses spigot

Co-authored-by: Alexander Brandes <mc.cache@web.de>
2022-09-04 23:30:32 +02:00
Hannes Greule
a51863c6f0
fix: use proper level data for regen (#1921) 2022-08-27 15:49:01 +01:00
Alexander Brandes
e78277e158
build: Update paperweight (#1901) 2022-08-06 22:41:03 +02:00
Alexander Brandes
a414fd308e
Add 1.19.2 (#1898)
feat: Add 1.19.2
2022-08-05 17:05:15 +02:00
Alexander Brandes
50ee45fedd
feat: Add support for 1.19.1 (#1887) 2022-07-28 10:26:43 +02:00
peaches
77a929f6a1
fix: use servers removeGameEventListener instead of reimpl (#1881)
* fix: use servers removeGameEventListener instead of reimpl

* fix: 1.18.2 impl
2022-07-25 18:49:10 +02:00
Alexander Brandes
ffd98ad6d9
build: Update paperweight
Follow up to renovate PR
2022-06-28 17:38:46 +02:00
dordsor21
9762e4e220
Add Object2ObjectArrayMap to "DoNotMinimiseThese" class
- Fixes #1839
2022-06-24 10:43:21 +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
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
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
dordsor21
462bba4f87
Fix biome history on 1.19 2022-06-15 18:52:49 +01:00
Alexander Brandes
5b2f8502fb
fix: Run GriefPrevention region check in sync (#1804)
* fix: Run GP check in sync

Fixes #1692

* refactor: Sync on last condition only
2022-06-15 13:37:08 +02:00
Alexander Brandes
1a3b0dc133
chore: Rename legacy adapters artifact to improve matching with FAWE (#1813)
chore: Rename adapters artifact
2022-06-14 23:59:53 +02:00
Alexander Brandes
aae696686d
fix: Don't export Paster transitively on the core module (#1808) 2022-06-14 17:02:11 +02:00
Alexander Brandes
8a85225523
fix: Suppress Tuinity light exception on 1.16 (#1801)
* fix: Suppress Tuinity light exception on 1.16

Fixes #1591

* chore: mv'd to the right directory
2022-06-14 09:21:31 +02:00
Jordan
97ab47c90b
Command block messages should be sent on the main thread as it causes a block update (#1796)
- Fixes #1786
2022-06-13 23:42:26 +02:00
dordsor21
f8583fb7cb
Remove erroneous world height 256 limit 2022-06-13 15:11:39 +01:00
Alexander Brandes
a6b1b411d5
chore: Update upstream
3433e40 Fix CB watchdog, fail early if it breaks
2022-06-13 15:09:24 +02:00
Jordan
63f031b01a
Only synchronise tree generation at the very lowest level (#1788)
* Only synchronise tree generation at the very lowest level
 - Fixes #1681

* Perform the generate inside try-finally and actually use the resultant copied map to place blocks to the editsession

* Check result of generateTree and return null if failed
2022-06-13 09:05:18 +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
Jordan
da3fc2e6ea
Fix DelegateSemaphore synchronisation issues on Spigot (#1781)
* Fix DelegateSemaphore synchronisation issues on Spigot
 - Also effectively nullify it on paper - the synchronisation on the object is enough

* Remove unneeded imports
2022-06-10 19:50:16 +02:00
Alexander Brandes
c5a50179f2
[ci skip] build: Switch to bom (#1778)
* build: Switch to bom

* chore: Use javax over checkerframework
2022-06-10 01:26:48 +02:00
Alexander Brandes
9b3608aada
chore: Update upstream
c515eb5 Cache properties to reduce startup memory (2103)
2022-06-10 01:02:03 +02:00
Jordan
198c6b7800
Some fixes and improvements to internal queuing (#1715)
* the set array given in NMSAdapter should have get data written to it
 - Fixes #1664
 - May fix #1700

* Having target size >= 2* parallel threads allows for adjacent chunks to be loaded with issues

* "empty" chunk section doesn't need to be localised to the chunk and may be static

* Switch to slightly more performant stream method for testing for non-empty sections

* Implement lock into ChunkHolder preventing any modification to occur whilst the edit is being applied to the world
 (when ChunkHolder is called)

* Add config note about target-size

* set ordinal equal to air if both set and get are `__reserved__`

* Add note to checkAndWaitOnCalledLock method of its use

* Don't print exception and throw

* Switch to a wrapped StampedLock allowing reentrant behaviour
 - StampedLock is not reentrent
 - Allow unlock from a different thread only if it provides the correct stamp
 - This stamp can only be retrieved by the thread owning the lock

* Avoid some "doubling-up" of using checkAndWaitOnCalledLock

* Unbloat `checkAndWaitOnCalledLock`

* Add since tags
2022-06-05 20:52:28 +02:00
BlockyTheDev
d1f3ac8f76
chore: Update PaperMC repository URL (#1756)
* Migrate PaperMC Repository Endpoints

* Migrate PaperMC JavaDocs endpoints
2022-05-21 12:08:10 +02:00
Jordan
d7543884a5
Check cached bukkit player is the same as the current player online (#1732)
* Check cached bukkit player is the same as the current player online
 - If plugins do silly things like teleport, deop (anything that requires a perm-recheck) (anything that ultimately requires a BukkitPlayer at some point) then the retention of metadata by the server (as it's stored based on a string value indescriminate of player a player relogging) means that a BukkitPlayer caching an old player object will be kept, cached and retrieved by FAWE. Adding a simple memory-based equality check when the player rejoins, and then "invaliding" (redoing) the cache if the players are not equal, fixes this.
 - Fixes #1730

* Address comments

* Add comment explaining reference equality check to code
2022-05-10 10:10:59 +02:00
Jordan
210ee9f2ef
Implement getNameUnsafe method to allow an unloaded world's name to be accessed (#1712)
* Implement getNameUnsafe method to allow an unloaded world's name to be accessed
 - Fixes #1671 and #504

* Add javadoc since tag

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

Co-authored-by: Alexander Brandes <mc.cache@web.de>
2022-05-05 21:39:45 +02:00
renovate[bot]
617b0ac95c
[ci skip] build: Update dependency io.papermc.paperweight.userdev:io.papermc.paperweight.userdev.gradle.plugin to v1.3.6 (#1720)
* build: Update dependency io.papermc.paperweight.userdev:io.papermc.paperweight.userdev.gradle.plugin to v1.3.6

* build: Update paperweight

Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: NotMyFault <mc.cache@web.de>
2022-04-25 17:17:23 +02:00
Octavia Togami
f2df511263
Bump paperdev 1.17.1 version (fixes yarn dependency resolution) 2022-04-23 14:39:26 +01:00
Jordan
65349392a6
Set empty block count when using fastmode on 1.17 (#1710)
* Set empty block count when using fastmode on 1.17
Fixes #1666

* Update legacy adapters
2022-04-21 13:11:23 +02:00
Pierre Maurice Schwang
bb71a18c8c
fix: update adapters (FastAsyncWorldEdit-Adapters#67) (#1706) 2022-04-18 21:58:02 +02:00
Hannes Greule
8f1ca48bfc
lock is in PalettedContainer in 1.17 (#1697) 2022-04-11 13:59:37 +02:00
Pierre Maurice Schwang
2483eacff5
Fix memory leak by Citizen NPCs (#1693)
* fix: ignore uuid v2 for BukkitPermissionAttachmentManager

Fixes a memory leak that attaches and caches PermissionAttachments to NPCs. Citiziens uses version 2 UUIDs, which are not used for regular player uuids. Those v2 uuids are now excluded.

* fix: create Permission when required

* fix: use citizens documented way to check for NPCs
2022-04-06 16:22:53 +02:00
Kekschen
f477120661
Remove unused 'listeningImages' variable. (#1684) 2022-04-02 22:00:57 +02:00
Hannes Greule
a240b002de
simplify biome id logic (#1677)
Co-authored-by: Alex <mc.cache@web.de>
2022-04-01 19:25:48 +02:00
Pierre Maurice Schwang
2276d82d2c
//regen creates vanilla decorations without error (#1650)
* fix: Feature placement on regen should create chunk

* feat: update adapter jar

* fix: update adapter jar
2022-03-28 21:06:26 +02:00
Hannes Greule
c45b14a52d
Avoid Unsafe on paper (#1678) 2022-03-27 23:56:59 +02:00
Jordan
465c81d193
Remove hardcoding of heightmap compressed long size (#1668) 2022-03-18 21:28:25 +00:00
Alex
05f80f23b9
refactor!: Don't bundle 1.15.2 adapters anymore (#1656) 2022-03-17 09:41:50 +01:00
renovate[bot]
c672d7a0b3
build: Update dependency net.kyori:adventure-nbt to v4.9.3 (#1658)
* build: Update dependency net.kyori:adventure-nbt to v4.10.1

* build: Provide proper adventure version

Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: NotMyFault <mc.cache@web.de>
2022-03-14 16:14:10 +01:00
renovate[bot]
8afde807b6
build: Drop ProtocolLib dependency (#1659)
* build: Update dependency com.comphenix.protocol:ProtocolLib to v4.8.0

* build: Drop ProtocolLib dependency

Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: NotMyFault <mc.cache@web.de>
2022-03-14 14:32:27 +01:00
Jordan
1708584e8d
Don't call ticking_list on Spigot (#1655)
* ticking_list is paper only

* Update adapters
2022-03-14 11:08:10 +01:00
dordsor21
d8c0f8e3b1
Make sure thread-cached arrays are reset 2022-03-13 01:44:59 +00:00
NotMyFault
95512a4c0b
build: Release 2.1.0 2022-03-10 22:57:23 +01:00
NotMyFault
c3cdde9d2e
build: Update paperweight 2022-03-10 22:43:33 +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
Alex
5d18e15128
Replace JB occurrences with JSR 305 (for now) (#1651)
* refactor: Replace JB occurrences with JSR 305 (for now)

* chore: Update adapter jar
2022-03-10 14:24:44 +01:00
Jordan
f59353006a
Update to P2 extended heights (#1581) 2022-03-09 14:21:58 +01:00
Pierre Maurice Schwang
49bc675f51
Fix //regen -b on 1.18.2 (#1647)
* fix: adapt correct biome type

* fix: PaperweightPlatformAdapter#adapt should return BiomeType
2022-03-08 18:55:52 +01:00
NotMyFault
fb66ba6adf
build: Update paperweight
Closes #1649
2022-03-07 21:20:25 +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
renovate[bot]
4ffea67514
build: Update dependency net.kyori:adventure-nbt to v4.10.0 (#1638)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-03-04 00:22:01 +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
Alex
340f8dded3
tests: Remove stub server (#1629) 2022-02-28 13:53:08 +01:00
Jordan
fc2662e51e
Fix //snapshot in 1.18 and re-implement biome/entity restoration (#1620)
* Re-add "//snap" and "//snapshot"

* Place code in correct method

* Use CompoundBinaryTags in AnvilChunk18 and implement biome/entity restoration

* Address comments

* Fix biome reading

* Fix retrieval of entities from zipped snapshot world

Co-authored-by: Alex <mc.cache@web.de>
2022-02-24 10:33:25 +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
NotMyFault
0a04b0b4cd
tests: Fix StubServer 2022-02-23 11:25:10 +01:00
dordsor21
de4f73997e
Implement missing methods in tests 2022-02-12 13:38:04 +00:00
NotMyFault
15b9b8332c
fix: Make it build again 2022-02-04 11:24:11 +01:00
NotMyFault
f0136460ba
Update upstream
ab31481 Use Chunk#getNoiseBiome instead of biome container (2025)
2022-01-30 21:18:40 +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
Alex
4610688fcb
fix: Debugpaste on 1.17 and lower due GSON incompatibility (#1583) 2022-01-28 22:15:24 +01:00
NotMyFault
e309cf8f3c
build: Update PlotSquared 2022-01-27 15:30:18 +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
6b857b0f58
ci: Cleanup maven repositories (#1526) 2022-01-12 01:21:27 +01:00
NotMyFault
f0f201002a
Update adapters 2022-01-09 11:22:00 +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
dordsor21
59d4247ddb
Update legacy adapters 2022-01-05 23:53:02 +00:00
dordsor21
d6695d23f0
Replace remaining instances of worldeditregentempworld 2022-01-05 23:42:57 +00: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