Update patches to latest 1.21.4 #1

Merged
Chaoscaot merged 242 commits from update/1.21.4 into main 2025-04-23 22:27:11 +02:00
242 Commits
Author SHA1 Message Date
Chaoscaot 956a7cc263 Rename and update patches to align with new feature structure.
SteamWarCI Build failed
2025-04-23 19:58:03 +02:00
Chaoscaot 0eb6b0403e Merge remote-tracking branch 'upstream/main' into update/1.21.4 2025-04-23 19:50:01 +02:00
Chaoscaot 42581a1d4b Fix Build
SteamWarCI Build failed
2025-04-23 19:49:07 +02:00
wizjanyandGitHub 55f2020926 Fix CCE in LingeringPotionSplashEvent (#12463) 2025-04-22 21:08:29 +01:00
Illia BondarandGitHub a820bdaeb9 [ci skip] Some javadoc fixes 2025-04-22 13:55:41 +02:00
Pedro AguiarandGitHub df429932ca Fix floating warning log when the kick event is canceled (#12374) 2025-04-22 11:44:55 +02:00
Jakub ZacekandGitHub d22644aada Expand cooldown API (#12435) 2025-04-22 11:30:00 +02:00
Isaac - The456andGitHub def0532ffc Fix writing headers and update to be more papery (#12459) 2025-04-21 20:38:07 +02:00
PedroandGitHub 04b91129a5 Update projects dependents GitHub Action (#12436) 2025-04-21 20:28:15 +02:00
Spottedleaf 5f0b82925e Re-add chunk position check to regionfile recalculation patch 2025-04-19 12:40:59 -07:00
PedroandGitHub 89cdcba573 [ci skip] Replace wiki mention for BlockType#isOccluding (#12446) 2025-04-17 19:27:57 +02:00
Bjarne Koll 6c2b0378fe Use correct saved data key for maps 2025-04-16 20:26:53 +02:00
Shane Freeder 2948eb296d Mitigate an issue when loading a spigot config with null spam exclusion entries 2025-04-15 15:54:10 +01:00
Shane Freeder a55345f991 Add support for deserializing manually deserialized items, also add caller note 2025-04-15 09:30:44 +01:00
PedroandGitHub c0bd5688b5 Add logic for Human canUseEquipmentSlot (#12433) 2025-04-14 22:12:09 +02:00
DavidandGitHub 6b4ad08259 Add PlayerRespawnEvent#isMissingRespawnBlock (#12422) 2025-04-14 19:43:19 +02:00
Bjarne Koll ed322043d0 Clone blockpos in InsideBlockEffectApplier record 2025-04-14 18:31:39 +02:00
EmilyandGitHub 723b511fe1 Clone exit location passed to teleport event (#12354)
The exit location passed to PlayerTeleportEvent/PlayerTeleportEndGatewayEvent in ServerPlayer#teleport(TeleportTransition) needs to be cloned, as it is later compared in case it was changed. Not cloning it results in the ability for plugins to mutate it but such changes will be ignored, as the instance of the Location being the same results in a successful equality check.

It is not necessary to clone the location in other instantiations of the event (or subclasses) as those are not compared afterwards to change the outcome.
2025-04-14 17:28:29 +02:00
DavidandGitHub 33e8928f53 Add support for bonus chest configuration in WorldCreator (#12344) 2025-04-14 17:24:19 +02:00
Bjarne KollandGitHub de410d13ef Fix reobf mappings regression in GameRules.Type (#12437)
The recent commit 121a7bf4eb added
the interface FeatureElement to the GameRules.Type class to expose the
stored feature flags of gamerules.
This however messed with the reobf mappings spigot uses, as the now
overridden method requiredFeatures needs to be mapped to the same
obfuscated name as FeatureElement#requiredFeatures.

To avoid having this in the mappings patch, the commit removes the
inheritance again and instead exposes a wrapper method.
2025-04-14 17:05:01 +02:00
Bjarne KollandGitHub 7d5695d774 Improve ItemMeta#hasCustomModelData compatibility (#12414)
Ports the follow commits from spigot to paper.
All credits to go the respective commit authors listed below.

Bukkit: 47480cd07c0957a94b220f3087b851594b063e54
CraftBukkit: c6c8165aa0d5679b9b015b209c1645a222f8c3a6
CraftBukkit: d275d3b96e041f6421f3bb7de1e6022ea8be5456

By: md_5 <git@md-5.net>
By: Doc <nachito94@msn.com>
2025-04-14 13:23:39 +02:00
DerEchtePilzandGitHub 121a7bf4eb Make GameRule a FeatureDependant (#12429) 2025-04-14 13:21:14 +02:00
KioProjectandGitHub 91bfb6fb7e Fix freeze locked (#12434) 2025-04-14 11:47:27 +02:00
Nassim Jahnke dcb755acc6 Update log4j jd link
No longer available on javadoc.io apparently after 2.20.0
2025-04-14 11:28:43 +02:00
Nassim Jahnke 79036210c1 Remove json-simple imports from API, keep it as implementation in server 2025-04-14 10:24:42 +02:00
Nassim Jahnke 8ff94c6344 Update a bunch of dependencies
Either to match Vanilla or to update our own
2025-04-14 10:16:12 +02:00
TonytheMacaroniandGitHub 1b889688a5 Add Entity#isTrackedBy (#12332) 2025-04-14 10:12:48 +02:00
Nassim Jahnke de64e70458 Update spark 2025-04-14 09:19:47 +02:00
Illia BondarandGitHub 652cea57e8 Allow getAsString()-ing non-persistent entities (#12424) 2025-04-14 09:00:24 +02:00
Bjarne Koll 8f62e0fb31 Correctly order getArmorContents
Mojangs EQUIPMENT_SLOT_MAPPING uses an Int2ObjectArrayMap and hence
technically does provide iteration stability, however it is filled from
a MapN, which destroys the well order of the entries.
To iterate from smallest to largest inventory index correctly, this
commit introduces a sorted array based on the EQUIPMENT_SLOT_MAPPING.
2025-04-13 11:41:59 +02:00
masmc05andGitHub 4511edb849 [ci skip] Don't promote checking enchantment by legacy lore (#12421) 2025-04-13 11:28:03 +02:00
Shane Freeder f517267c0c Add passthrough for air serialization 2025-04-12 18:44:48 +01:00
Nassim Jahnke 93b6829e83 Also fix AbstractHorse getSize and isEmpty 2025-04-12 19:14:13 +02:00
Nassim Jahnke 8eede4bb8a Fix AbstractHorse get/setSaddle
Fixes #12412
2025-04-12 18:59:52 +02:00
+1 f00727c57e 1.21.5
Co-authored-by: Bjarne Koll <git@lynxplay.dev>
Co-authored-by: Jake Potrebic <jake.m.potrebic@gmail.com>
Co-authored-by: Lulu13022002 <41980282+Lulu13022002@users.noreply.github.com>
Co-authored-by: MiniDigger | Martin <admin@minidigger.dev>
Co-authored-by: Nassim Jahnke <nassim@njahnke.dev>
Co-authored-by: Noah van der Aa <ndvdaa@gmail.com>
Co-authored-by: Owen1212055 <23108066+Owen1212055@users.noreply.github.com>
Co-authored-by: Shane Freeder <theboyetronic@gmail.com>
Co-authored-by: Spottedleaf <Spottedleaf@users.noreply.github.com>
Co-authored-by: Tamion <70228790+notTamion@users.noreply.github.com>
Co-authored-by: Warrior <50800980+Warriorrrr@users.noreply.github.com>
2025-04-12 17:27:00 +02:00
Shane BeeandGitHub 0767902699 CraftBlock - fix applyBoneMeal false result (#12407) 2025-04-11 22:38:33 +01:00
Bjarne KollandGitHub 0cf731589a Bump to adventure 4.20.0 (#12391)
* Update adventure to 4.19.0

The update only includes a new configuration for MiniMessage,
specifically one to prevent it from emitting virtual components.
As virtual components break the generated component tree, items quickly
become unstackable with items generated before adventure 4.18.

Plugin developers may construct their own mini message instance which
will emit virtual components if they so choose.

* Bump to adventure 4.20.0
2025-04-07 13:29:57 +02:00
Chaoscaot da0ba1e34b Update patches to latest 1.21.4
SteamWarCI Build failed
2025-03-30 12:24:13 +02:00
Chaoscaot 6bc3fc6acd Merge remote-tracking branch 'upstream/main' into update/1.21.4 2025-03-30 11:43:18 +02:00
Nassim JahnkeandGitHub 9b1798d643 Simplify custom payload handling (#12347) 2025-03-27 14:22:38 +01:00
TonytheMacaroniandGitHub c467df95a2 Add ItemStack#copyDataFrom (#12224) 2025-03-24 01:12:57 +01:00
Shane BeeandGitHub 5a6ab97be6 Add config to remove player as vehicle restriction in /ride (#12327) 2025-03-24 00:55:15 +01:00
TamionandGitHub 515e12ca2d Check if BUNDLE_CONTENTS is present in InventoryClickEvent (#12321) 2025-03-24 00:38:25 +01:00
Strokkur24andGitHub 37b9ca1f90 Add flush parameter to World#save (#12330) 2025-03-24 00:37:48 +01:00
Shane BeeandGitHub 7819df10a4 Add getHeight method to ChunkData (#12311) 2025-03-24 00:33:34 +01:00
PedroandGitHub f225858235 Fix firework entity not being removed when FireworkExplodeEvent is cancelled (#12268)
* Fix Firework not removed when FireworkExplodeEvent is canceled

* JUnit require pass null

* tweaks
2025-03-24 00:20:14 +01:00
MilesandGitHub 058455e4ca InventoryView QOL open method (#12282)
* Add QOL open method to InventoryView

* Check to ensure the opening isn't a InventoryMenu, allow HorseMenus

* Fix instanceof against API instaed of AbstractContainerMenu

* [ci skip] Remove suggested comment
2025-03-23 23:46:10 +01:00
Nassim Jahnke bb3b7e6979 Fix annotation mistakes 2025-03-23 22:33:28 +01:00
Shane Freeder 2aad131e74 Add config option for command spam whitelist 2025-03-23 18:31:39 +00:00
Matthew PetersandGitHub 894631f0d0 Make advancement ordering predictable (#12292) 2025-03-21 17:52:42 +01:00
Shane BeeandGitHub f49d18df89 Add get/set customName to Skull block (#12302) 2025-03-21 17:52:00 +01:00
TonytheMacaroniandGitHub 7cc6cb5013 Check for trailing input in ItemFactory#createItemStack (#12312) 2025-03-21 17:51:09 +01:00
PedroandGitHub 72f13f8bbb [ci skip] Mention API Checks for CONTRIBUTING.md (#12315) 2025-03-21 17:50:58 +01:00
Nassim Jahnke 9f00461456 Update a whole lot of deprecated annotations 2025-03-21 17:50:04 +01:00
bb1beda67b feat: add event to wind charge explode (#12248)
* feat: add event to wind charge explode

* fix: use correct parameters

* feat: allow setters to work

* fix: use consts

* Unify paper comments

---------

Co-authored-by: Warrior <50800980+Warriorrrr@users.noreply.github.com>
2025-03-17 10:54:49 +01:00
Nassim JahnkeandGitHub aaaeb4e1e6 [ci skip] Make compilation logs actually readable (#12276)
* [ci skip] Make compilation logs actually readable

* Specifically disable deprecation and removal warnings instead
2025-03-17 10:53:56 +01:00
2d3a1385f1 [ci skip] Refine recipe management API documentation. (#12287)
* Refine recipe management API documentation.

Improve Javadoc clarity for recipe addition methods, specifying client update behavior and stability considerations. Adjust formatting for better readability and consistency.

* Fix typo in original javadoc

---------

Co-authored-by: david <mrminecraft00@gmail.com>
2025-03-17 10:53:06 +01:00
TamionandGitHub 6ea42025a4 Send all attributes on respawn (#12274) 2025-03-13 12:41:03 +01:00
Nassim Jahnke 310f52293b Add unsupported config option and internal API to simplify remote item matching
This is important for 1.21.5 servers/clients and non-Vanilla clients that may not be able to match 1.21.5 data hashes anymore
2025-03-13 12:32:50 +01:00
Nassim Jahnke c37b890c8b More deferred requireNonNull message creation 2025-03-13 12:27:12 +01:00
PedroandGitHub f0388e2f38 Call EntityPushedByEntityAttackEvent for Mace AoE (#12257) 2025-03-12 11:13:47 +01:00
TamionandGitHub 102c8bbc54 Add config for updating equipment on player actions (#12275) 2025-03-12 11:09:27 +01:00
Github-CitizenandGitHub f4f275519f [ci skip] Clarify BlockFadeEvent#getNewState javadocs (#12250) 2025-03-09 21:58:56 +01:00
SpottedleafandSpottedleaf 1a7288aa05 Adjust unloaded chunk check for block digging 2025-03-09 11:11:02 -07:00
0x22andSpottedleaf 743346a5da Force update attributes
See https://github.com/PaperMC/Paper/pull/12241/
2025-03-09 11:11:02 -07:00
Bjarne Koll e5d988df85 Revert "Fix cancelling PlayerInteractEvent at (0, 0, 0) (#12215)"
This reverts commit a2b0ff0644.
2025-03-09 18:39:08 +01:00
WarriorandGitHub 7afae7f465 Add client tick end event (#12199) 2025-03-09 13:14:44 -04:00
MiniDigger | Martin 3d13b11514 fix: switch back to using a snapshot for velocity-natives
we delete old snapshots (age > 10 days), keeping only the last 5 at minimum
2025-03-09 10:28:05 +01:00
Shane BeeandGitHub 34c794dc51 ServerTickManager#requestGameToSprint - Silence command like feedback (#12220)
* CraftServerTickManager - silence feedback when sprinting

* CraftServerTickManager - forgot secondary note

* ServerTickRateManager - only set to silent if not already sprinting
2025-03-08 17:09:40 -05:00
Lulu13022002andGitHub 2565497897 Cancel PlayerLaunchProjectileEvent properly for enderpearls (#12223) 2025-03-08 17:02:10 -05:00
Lulu13022002andGitHub df96f8a0fa Correctly handle events for end portal (#12246) 2025-03-08 16:59:43 -05:00
a2b0ff0644 Fix cancelling PlayerInteractEvent at (0, 0, 0) (#12215)
---------

Co-authored-by: Warrior <50800980+warriorrrr@users.noreply.github.com>
2025-03-08 16:52:10 -05:00
EsophoseandGitHub 43f37b1b5e Remove ItemFactory#enchantWithLevels range check for vanilla parity (#12209) 2025-03-08 15:38:14 -05:00
TamionandGitHub 20df25d3a5 Don't resync all attributes when updating scaled health (#12232) 2025-03-08 12:31:21 -08:00
TonytheMacaroniandGitHub 2526fe063a Add type to represent unimplemented data component types (#12222) 2025-03-08 15:20:53 -05:00
Shane BeeandGitHub 8e69d981fa Player - Expose player score (#12243) 2025-03-08 11:38:50 -08:00
Spottedleaf 4519857817 Set old position / rotation for newly created entities
Set the old pos/rot to be the same as the current pos/rot for new
entities as the default value for the old pos/rot is zero.

Fixes https://github.com/PaperMC/Folia/issues/302
2025-03-08 06:33:29 -08:00
Lulu13022002andGitHub ce30016218 Skip alpha channel for custom model data component (#12205) 2025-03-07 23:27:05 -05:00
Lulu13022002andGitHub a6ce734fd0 Fix zombie villager not dropping item once cured (#12230) 2025-03-07 23:13:25 -05:00
Lulu13022002andGitHub 7a3d0c4e98 Fix recipe being always null in PrepareItemCraftEvent from the api (#12237) 2025-03-07 23:11:12 -05:00
0x22andGitHub 0a4eb8f3bb Send the pong response packet immediately. This packet is similar to the keep alive packet and is processed async. (#12242) 2025-03-07 19:40:58 -08:00
Vincenzo ReinaandGitHub 5538d24d72 Fix "DEFAULT" SpawnReason of fish spawned by bucket (#12227)
* Add SpawnReason "Bucket". Fix "DEFAULT" SpawnReason for entity spawning from mob bucket

* Clarify SpawnReason description for bucket entity spawning
2025-03-05 13:28:25 +01:00
tgbhyandGitHub a866e366b2 Fix MenuType.SMITHING JavaDocs (#12226) 2025-03-05 10:45:16 +01:00
DylanandGitHub 8de7e356fa Add null check to level ref in Entity constructor (#12218) 2025-03-03 17:46:20 +01:00
WarriorandGitHub 1d5e5a57e9 Document replacement for Skull owner profile methods (#12195) 2025-02-28 20:51:39 +01:00
WarriorandGitHub b506626824 Remove unused light queue size option (#12201) 2025-02-28 17:58:45 +01:00
okx-codeandGitHub 0a6e7435b3 Fix invulnerability damage and armour (#12190) 2025-02-26 14:06:42 +01:00
Jake PotrebicandGitHub 9421f22372 Make CustomArgumentType use parse(reader,source) (#12191) 2025-02-26 13:12:23 +01:00
WarriorandGitHub f63dbeafde Fix cancelled HangingPlaceEvent inventory desync (#12161) 2025-02-25 22:33:35 +01:00
PedroandGitHub fc56c728c0 Add methods for Creaking (#12094) 2025-02-25 22:23:47 +01:00
Lulu13022002andGitHub 9b9f046f41 Remove broken code (#12171) 2025-02-25 22:14:21 +01:00
_Novit_andGitHub 7f3d3591de Use MiniMessage#deserialize(String, Pointered) in sendRichMessage for send messages (#12177) 2025-02-25 22:06:20 +01:00
WarriorandGitHub a501c45918 Deprecate server config getters (#12189) 2025-02-25 22:03:38 +01:00
WarriorandGitHub ca2610904b Don't process empty rcon commands (#12188) 2025-02-25 22:03:14 +01:00
GliczandGitHub b00875f86d Add a method on Registry to get the size (#12182) 2025-02-25 22:02:48 +01:00
WarriorandGitHub 5f2ee83ed4 Fix first execution of async delayed/repeating tasks being sync (#12166) 2025-02-25 21:45:33 +01:00
WarriorandGitHub 1d9b399427 Add config option for failed beehive release cooldowns (#12186) 2025-02-25 21:45:18 +01:00
Nassim Jahnke f12d33f04e Track codec writing 2025-02-25 21:45:02 +01:00
Bjarne KollandGitHub 9be4e07a3e Pin snapshot dependencies (#12185)
Additionally pins configurate-core as a transitive dependency of
configurate-yml, as the yaml snapshot depends on a snapshot itself.
2025-02-25 21:44:42 +01:00
Spottedleaf 636ae0cd87 Add missing Paper comments to player movement patch 2025-02-24 21:32:39 -08:00
Jason PenillaandSpottedleaf fcb2e81590 Clear lastSection on game event listener removal
Fixes https://github.com/Tuinity/Moonrise/issues/87

See comments in code
2025-02-24 21:32:39 -08:00
e5a8ee849f Hide soul speed particles for vanished players (#12152)
Co-authored-by: Tamion <70228790+notTamion@users.noreply.github.com>
2025-02-21 12:02:32 +01:00
Bjarne Koll 7b4d44f573 Revert "Always pass event block to damage source (#12158)"
This reverts commit ab984a0711.

The block damage is null *and has been* null in cases where the block
has already been cleared. Consumers are supposed to use the
getDamagerBlockState instead.
2025-02-21 11:52:04 +01:00
Bjarne KollandGitHub ab984a0711 Always pass event block to damage source (#12158)
Always passes the respective block to a damage source when passing a
block state. While we could technically use the damageSourcePosition
here by, we'd have to translate it back to a block position by
subtracting .5 from all its components.
Such behaviour however relies on the caller logic's mutation of the
damageSourcePosition and will break once this position is not the centre
of the block.

Passing in the block at the specific callsite is a lot more future
proof.
2025-02-20 20:22:46 +01:00
Emilia KondandGitHub 5e2a3bc0e2 Call EntityChangeBlockEvent with correct block when waxing (#12154) 2025-02-20 10:46:11 +01:00
WarriorandGitHub edda0db18b Fix server crash when no enchantments are present (#12149) 2025-02-18 15:44:52 +01:00
WarriorandGitHub 09f1f88f58 Fix getForwards/SidewaysMovement for players (#12140) 2025-02-18 01:03:48 +01:00
Jake PotrebicandGitHub f070081825 Remove Experimental from TypedKey (#12134) 2025-02-17 15:33:26 -08:00
Jake PotrebicandGitHub b386a8f527 Add simpler JavaPlugin command registration (#12142) 2025-02-18 00:21:29 +01:00
EpicandGitHub e494f2894e Correctly call BlockFadeEvents (#12141) 2025-02-18 00:19:30 +01:00
Bjarne KollandGitHub 142695eb00 Default minecraft alias to redirect (#12146)
While the running server will still be using the recently introduced
copy-mechanic for vanilla command namespacing, the data converter logic
relies on the fact that namespaced aliases were redirects as well.

To not break the converted, the commands type now takes a modern flag
only set by the running server.
2025-02-18 00:09:54 +01:00
Jake PotrebicandGitHub d26a9e90c8 Fix plugin commands (#12144) 2025-02-17 15:00:06 -08:00
Bjarne KollandGitHub 3b9106c7d1 Readd dead redirect recovery (#12136)
While the paper command system no longer uses redirects for namespaced
registration, vanilla still does. This means that removal of vanilla
redirecting target nodes still causes issues, e.g. the removal of the
vanilla 'msg' node in favour of a command alias one.
Redirecting nodes like tell, minecraft:msg and minecraft:tell are broken
by this and need to by flattened before sending them to the client.
2025-02-17 23:51:52 +01:00
Dqu1JandGitHub fd69140d80 Fix disable-tripwire-updates option not cancelling tripwire hook updates (#12129) 2025-02-17 20:07:02 +01:00
MilesandGitHub 8eb8e44ac3 Allow For Default Titles in InventoryView Builders (#12013) 2025-02-16 23:07:00 +01:00
Jake PotrebicandGitHub 84609dc046 Don't auto-create any brig redirects (#11954) 2025-02-16 13:55:27 -08:00
FlorianMichaelandGitHub 88cdd22076 Fixup luck and random implementation in CB loot-tables (#11926) 2025-02-16 13:06:01 -08:00
WarriorandGitHub b27e11cce6 Fix bad world to chunk coordinate example in javadocs (#12131) 2025-02-16 13:04:15 -08:00
TamionandGitHub 60394c5b98 Fix PlayerReadyArrowEvent cancellation desync (#12111) 2025-02-16 21:44:08 +01:00
Jake Potrebic 28d07dc5ab use correct spigot plugin count 2025-02-16 12:18:29 -08:00
PedroandGitHub 06f96dd655 Improvement in /plugins command (#12121) 2025-02-16 12:10:45 -08:00
TonytheMacaroniandGitHub 2a4a115432 Add EntityEquipmentChangedEvent (#12011) 2025-02-16 20:46:59 +01:00
CreeamandGitHub a3781ff3be Separate tick count to ensure vanilla parity (#12077) 2025-02-16 20:46:37 +01:00
Chaosdave34andGitHub b9023b5dc3 Add EntityAttemptSmashAttackEvent (#12113) 2025-02-16 20:19:28 +01:00
Lulu13022002andGitHub 7bee99714a Cleanup damage source a bit (#12106) 2025-02-16 20:14:00 +01:00
Jake PotrebicandGitHub 608f004a2c add method on ItemStack to edit pdc (#12022) 2025-02-16 11:01:37 -08:00
PedroandGitHub 00701267c8 [ci skip] improvement example in javadoc for DatapackRegistrar (#12122) 2025-02-16 19:19:42 +01:00
PedroandGitHub cb25c0cf31 [ci skip] Fix annotation fields used in NMS getBukkitEntity (#12120) 2025-02-16 19:17:26 +01:00
WarriorandGitHub a6e82d90ce [ci skip] Clarify getChunkAtAsyncUrgently javadocs (#12125) 2025-02-16 19:13:35 +01:00
404167841d [ci-skip] Mention missing World#regenerateChunk implementation in jd (#12109)
* Mention missing impl

* Clean the implementation out of years old code

* Change the jd comment

* Move to default method

---------

Co-authored-by: Bjarne Koll <lynxplay101@gmail.com>
2025-02-15 23:31:42 +01:00
EpicandGitHub c62252e19f Add lore content guard (#12116)
* add content guard

* use preconditions for null check
2025-02-15 23:30:32 +01:00
Space WalkerandGitHub 9b9de82706 Update Alternate Current patch to v1.9.1 (#12115) 2025-02-15 12:40:31 +01:00
DavidandGitHub 6cfa2f7f31 [ci skip] Add missing nullability annotation to sendEquipmentChange method (#12112)
Marked ItemStack parameter as `@Nullable` to explicitly indicate it can be null. This improves clarity, avoids nullability problems, and aligns with the method's documented behavior for handling null values.
2025-02-14 18:39:44 +01:00
DavidandGitHub 46f4fdaae3 Add support for rotation argument handling (#12090) 2025-02-12 23:30:41 +01:00
PedroandGitHub 0680485095 Expand TrialSpawner API (#12025) 2025-02-12 23:24:46 +01:00
Lulu13022002andGitHub 0a04c3fe22 Fix some NPEs (#12105) 2025-02-12 23:15:37 +01:00
WarriorandGitHub e616498ed7 Add Vault block API (#12068) 2025-02-12 23:15:22 +01:00
Lulu13022002andGitHub a06179a018 Update entity effect (#12104) 2025-02-12 23:14:07 +01:00
WarriorandGitHub 1be2e5f311 Fix vanilla map decorations sending when not dirty (#12098) 2025-02-12 23:13:34 +01:00
TamionandGitHub 072a8317b2 Add proper attached blocks API to AbstractArrow (#12099) 2025-02-12 23:13:07 +01:00
PedroandGitHub cf7c6c7483 [ci skip] Fix incomplete example in javadocs for PostFlattenTagRegistrar (#12103) 2025-02-12 11:27:13 +01:00
PedroandGitHub db2aa1803d [ci skip] Fix incomplete example in javadocs for PreFlattenTagRegistrar (#12102) 2025-02-12 11:16:40 +01:00
aerulionandGitHub 13c80a5eb3 [ci skip] Fix PlayerShearBlockEvent javadoc typos (#12101) 2025-02-12 11:06:42 +01:00
DavidandGitHub 3bd69f2e56 [ci skip] Enhance javadoc for World#setAutoSave method (#12088)
Clarify that disabling auto-save does not stop all saving operations. This addition explicitly mentions that the world will still save on shutdown and explains the intended purpose of the method.
2025-02-10 23:07:46 +01:00
OwenandGitHub fa5824e4c8 Add skipTripwireHookPlacementValidation (#12091)
This allows for the configuration of tripwire hook duping.
2025-02-10 23:04:38 +01:00
DreeamandGitHub cafef9ce9b [ci skip] Move EntityUtil to correct directory (#12092) 2025-02-10 13:34:52 +01:00
Bjarne KollandGitHub edacfdf462 Do not queue player info packets (#12080)
Player info packets carry chat state to other clients since the
introduction of chat signatures. Queuing these packets while force
pushing chat packets allows for potentially inverted packet order, which
may cause chain corruption on clients.
2025-02-09 11:51:11 +01:00
Lulu13022002andGitHub eff617b8f8 [ci skip] Deprecate Server#setSpawnRadius (#12024) 2025-02-08 22:10:08 +01:00
Lulu13022002andGitHub 1a04e96ab7 Fix EntityBreedEvent cancellation (#12046) 2025-02-08 20:59:13 +01:00
Jason PenillaandGitHub 61312fdb59 Switch to jspecify annotations for Player (#12042)
Fixes compilation issues for plugins from recent API addition with double-annotated parameter (JetBrains annotations are type-use and parameter, so nonnull array of nonnull elements ends up with duplicates)
2025-02-08 20:57:35 +01:00
Lulu13022002andGitHub 51acc802b8 Prevent duplicate raider in RaidSpawnWaveEvent list (#12040) 2025-02-08 20:55:57 +01:00
Roni ÄikäsandGitHub cb6c57e0f8 Fix Squid and Dolphin spawn height (#12045) 2025-02-08 20:24:07 +01:00
masmc05andGitHub 786ddf53c6 Default piston block entity direction to DOWN (#12039) 2025-02-08 20:17:45 +01:00
DavidandGitHub 53ae5c95b7 Make Sittable interface extend Entity (#12016) 2025-02-08 20:16:23 +01:00
Shane FreederandGitHub 597dcfffb9 Add support for lz4 (#12053)
Mojang added this early 2024, however, it wasn't ever added to the actual config option
inside of paper
2025-02-08 19:07:43 +01:00
WarriorandGitHub 742968e078 [ci skip] Increase outdated build delay to two weeks (#12063) 2025-02-04 18:34:11 +00:00
WarriorandGitHub 5395ae37bd Fix composter block setting bukkit owner twice (#12058) 2025-02-02 22:38:01 +01:00
Spottedleaf 8927091a08 Do not record movement for vehicles/players unaffected by blocks
If the player is not affected by movement through blocks, then
storing the movement would eventually invoke logic to apply effects
caused by moving through such blocks. For example, moving through
a portal in spectator mode and then later switching to creative mode
would portal the player.
2025-02-02 11:16:59 -08:00
Lulu13022002andGitHub e0711af5d5 Deprecate UnsafeValues#getSpawnEggLayerColor (#12041) 2025-01-31 13:17:45 +01:00
Lulu13022002andGitHub 5bcfb12a99 Fix activation range config and water animal status (#12047) 2025-01-31 13:13:14 +01:00
Lulu13022002andGitHub d4a957849c Experimental annotation changes (#12028) 2025-01-30 20:02:14 +01:00
Spottedleaf 54b2e9d973 Add buffer to CraftWorld#warnUnsafeChunk
This allows plugins to access chunks slightly outside of the
max world border (such as ones which may be loaded naturally
by players) without tripping any logs.
2025-01-28 17:43:30 -08:00
Spottedleaf e2f0efd1af Remove nms.Entity#isChunkLoaded
This method was used pre 1.17 era where an Entity was explicitly
tied to a (then called) Chunk's entity slices. If an entity
was not inside a Chunk, then it was considered invalid as
it was not possible to save the entity.

In 1.17+, entities are now tied to a separately tracked entity
section management system. This system is far more reliable now
as it no longer requires a full chunk load to properly track
entities for saving. As a result, an Entity if inside the world
is always attached to some entity chunk section (except in rare
cases in Vanilla which are fixed in Moonrise).

As a result, whether the chunk the entity is in is loaded is no
longer an indication of whether they are tracked in the world
and we can reliably infer that the entity is correctly in the
world through the valid field alone.

Additionally drop the isInWorld() check, as valid=true implies
isInWorld=true. More importantly, the isInWorld() check invokes
getHandle which may trip a thread check on Folia. This will fix
World#getEntities() and friends exploding on Folia.

However, World#getEntities() on Folia still cannot reliably return
all entities in the world as actions such as cross-region
(not cross-world) teleporting will remove entities from the world.
2025-01-28 17:33:48 -08:00
Spottedleaf 1004374a83 Add further information to thread check errors
The entity data is more complete, which will help debug problems
on Folia.
2025-01-28 13:43:34 -08:00
Spottedleaf a392d475c2 Make Watchdog thread extend TickThread
This allows the watchdog thread to be seen as the
primary thread during shutdown, which prevents it
from tripping thread checks in various areas.

Fixes https://github.com/PaperMC/Paper/issues/12030
2025-01-27 16:35:23 -08:00
Spottedleaf 5a34bf0425 Correctly retrun true for empty input shapes in EntityGetter#isUnobstructed
Vanilla will return true for empty shapes, so we should as well.
2025-01-27 13:45:44 -08:00
7e21cb8181 fix PlayerChangedMainHandEvent javadoc (#12020)
* fix PlayerChangedMainHandEvent javadoc

* Obsolete

---------

Co-authored-by: Bjarne Koll <lynxplay101@gmail.com>
2025-01-26 14:00:32 -08:00
masmc05andGitHub 3af5e77132 Add Player#give (#11995) 2025-01-26 21:19:00 +01:00
EnZaXDandGitHub fb5b173c6a Add PlayerClientLoadedWorldEvent (#11940) 2025-01-25 21:47:08 +01:00
PedroandGitHub 2477f1f6a9 [ci skip] fix and improvements for docs in ConsumeEffect component (#11998) 2025-01-25 21:39:25 +01:00
WarriorandGitHub ce95b5d653 Use proper default for setting null display background color (#12010) 2025-01-25 21:33:47 +01:00
CreeamandGitHub 81bb82f521 Fix wrong piston world border check (#12007) 2025-01-25 21:13:21 +01:00
TamionandGitHub 939bb7828f Add RayTraceConfigurationBuilder (#11907) 2025-01-25 20:58:16 +01:00
CreeamandGitHub 336ea9dfeb Check for empty when sending equipment changes (#12008) 2025-01-25 20:04:47 +01:00
Spottedleaf 88bbead13b Flush regionfiles on save configuration option
The windows file system does not write metadata unless
the FileChannel is explicitly flushed with metaData=true.

Note: Setting SYNC (not DSYNC) on the FileChannel does not appear
to write the metadata.

Specifically, we are interested in writing the last modified
timestamp so that fs watchers can detect when RegionFiles are
modified.
2025-01-22 11:55:39 -08:00
TomTomandGitHub 30046e0410 Fix a rare crash with a concurrent modification of scaled health attributes (#12002) 2025-01-22 18:58:44 +00:00
Bjarne KollandGitHub 6b7650d81b Only add goat horn once (#12001) 2025-01-22 18:20:24 +01:00
PedroandGitHub 30fdfb1aa1 [ci skip] Fix docs for DamageResistant (#11992) 2025-01-20 15:47:07 +01:00
PedroandGitHub 73f7736eb9 Drop patch for MC-273635 fixed in MC 1.21.4 (#11987) 2025-01-18 14:30:13 +01:00
Shane Freeder a35cfe93f9 Correct version of some network related dependencies 2025-01-17 15:31:45 +00:00
Shane Freeder e150ffd272 Add missing final
"muh checkstyle" more like "muh missing style config"
2025-01-17 13:49:38 +00:00
Shane Freeder 938a84fc39 Add missing TagSerializable to GsonDataComponentValue converter (Fixes #11768) 2025-01-17 13:47:28 +00:00
Jason Penilla b1b88cd316 [ci skip] Update paperweight to 2.0.0-beta.14 2025-01-15 12:58:10 -07:00
Nassim Jahnke cd9d6d6998 Allow duplicate relative flags in entity teleport
Fixes #11976
2025-01-15 12:13:58 +01:00
Jason PenillaandGitHub b6be7cd0ae [ci skip] Move generated API sources to src/generated/java (#11977)
This removes a required patch set for forks.
2025-01-14 21:38:56 -07:00
Bjarne Koll 8e80d4e158 Correctly construct StructureManager 2025-01-14 19:21:52 +01:00
Bjarne KollandGitHub 209e5f8580 Readd dropped hunk for ender dragon fight data (#11975)
Dragon fight data should be read from the now split world instead of the
main world level.dat.
Partial hunk was dropped during hardfork.
2025-01-14 19:03:30 +01:00
Bjarne KollandGitHub eeec611b9d Fix zombie villager infection chance hunk (#11974)
Dropped during hardfork, now moved to a false-ed out if statement to
prevent dropping in future updates.
2025-01-14 17:15:47 +01:00
Bjarne Koll 9f74858760 [ci skip] Cleanup test plugin 2025-01-14 14:36:30 +01:00
masmc05andGitHub e82f7e6bb6 [ci skip] Fix Inventory#setMaxStackSize jd (#11968) 2025-01-14 13:43:28 +01:00
masmc05andGitHub 85d0040f57 [ci skip] Fix getTemperature javadocs (#11967)
In 1.15 spigot changed the behavior of all temperature methods to always return height adjusted temperature.
Correctly reflect this in the javadocs.
2025-01-14 13:42:34 +01:00
masmc05andGitHub c44f891d99 Fix PlayerUseUnknownEntityEvent jd (#11969) 2025-01-14 12:11:20 +01:00
Jake Potrebic fe75eaf09a split direct holder support up from ctor accepting Holder
Enchantment shouldn't support direct holders despite the ctor
accepting a Holder type. We want to limit the types
to ones that are actually used as direct holders in the game
2025-01-13 20:12:13 -08:00
Jake Potrebic 6fde26d7f8 remove .paperassetsroot
No longer needed with new build system
2025-01-13 18:48:51 -08:00
Jason Penilla d69981b611 [ci skip] Remove redundant build configuration
This is already the default path for the reobf mappings patch.
2025-01-13 13:51:40 -07:00
1bb3677651 Remove deprecation from EntityRemoveEvent (#11961)
Bukkits entity remove event is called at a different time than the
existing paper event, specifically it is called after an entity has been
stored during chunk unloads.

This means that, while the bukkit event can have a defined reason, it
does not allow modification to the entity data. In this regard it
differs from the paper implementation and prevents developers from using
the paper event as an alternative.

Co-authored-by: TonytheMacaroni <tonythemacaroni123@gmail.com>
2025-01-13 17:51:58 +01:00
TamionandGitHub ab1b312064 Call PlayerItemDamageEvent for tridents (#11899) 2025-01-12 15:29:52 -08:00
Jake PotrebicandGitHub 5e23d28ad2 Remove entity tag selector tag completion fix (#11964)
The fix was causing too many issues, it really needs a client-side fix
MC-235045
2025-01-12 15:07:24 -08:00
masmc05andGitHub 3709150bc1 Expose all possible block data states (#11958) 2025-01-12 14:56:56 -08:00
EmilyandGitHub 50c2c59c4e Fix unstable Suggestion comparison by sorting int suggestions before text ones (#11941) 2025-01-12 23:49:29 +01:00
PedroandGitHub ad74b673fa Fix client visual desync if cooldown events are cancelled (#11892) 2025-01-12 22:56:11 +01:00
Lulu13022002andGitHub 2ea6aee343 Deprecate Turtle#isDigging (#11959) 2025-01-12 12:49:25 -08:00
CreeamandGitHub 86c6308faf Fix locate command dist overflow/underflow (#11956) 2025-01-12 17:55:45 +01:00
caramelandGitHub 76617ddf43 Add EntityEffectTickEvent (#11838) 2025-01-12 17:50:22 +01:00
TamionandGitHub eb4db794eb Make CommandSourceStack respect hidden players (#11898) 2025-01-12 17:50:08 +01:00
Bjarne KollandGitHub e5542cfdc3 Hide unnecessary decorated pot data (#11957)
Prevent decorated pots from sending their contents to clients as
contents are not needed for rendering.
2025-01-12 17:49:49 +01:00
Nassim Jahnke 9746d73ade Add back known movement check 2025-01-12 15:29:07 +01:00
masmc05andGitHub 08ac057fda Rename getPotentialBedLocation to getPotentialRespawnLocation (#11950) 2025-01-12 02:17:46 +01:00
ed75b0e54b Disallow calling JavaPlugin#getCommand during onEnable for Paper plugins (#11914)
Co-authored-by: leguan <longboard.noah@gmail.com>
2025-01-11 22:46:36 +01:00
Strokkur24andGitHub c2f24e1567 Feat: Add 'with' methods to CommandSourceStack (#11868) 2025-01-11 13:29:16 -08:00
MilesandGitHub c94922514a MenuType API addition InventoryView Builders (#11816) 2025-01-11 20:21:24 +01:00
DavidandGitHub 775002a357 [ci skip] Remove nullable from SyncedEntityData#packAll (#11949) 2025-01-11 20:03:13 +01:00
Jake PotrebicandGitHub ac3aaa248b Don't use delayed registries in impl anywhere (#11918) 2025-01-11 20:02:28 +01:00
TamionandGitHub 19ddbeff9e Fix InventoryAction wrong for Bundles (#11902) 2025-01-11 19:50:24 +01:00
MilesandGitHub 79ffcd1536 Fix vanilla parity on enchantable items with no targets (#11896) 2025-01-11 18:44:20 +01:00
Spottedleaf 3ad3fbc19a Update to Concurrentutil 0.0.3 2025-01-11 06:28:56 -08:00
Spottedleaf 3d9ecc4e08 Log thread check parameters when the thread check fails
This provides additional debug information that may be useful.
2025-01-11 04:56:54 -08:00
Shane BeeandGitHub 3e42518b34 Fix snow accumulating in custom biomes without precipitation (#11854) 2025-01-11 11:10:32 +01:00
SoSeDiKandGitHub b242f1eb15 Prevent day cycle on the client when using fixed time (#11924) 2025-01-11 10:59:50 +01:00
OwenandGitHub ea7b961926 Fix MapItem incorectly fetching water biomes on treasure maps (#11936) 2025-01-11 10:49:31 +01:00
Spottedleaf 6316a50dbd Make CraftServer#isPrimaryThread use TickThread check
This diff was accidentally dropped when updating to hard fork.

This diff importantly:
 - Does not return true if the async catcher is disabled
 - Does not return true during shutdown
 - Returns true for any instance of TickThread (enables
   watchdog and Folia threads to be considered main)
2025-01-11 00:13:45 -08:00
Jason Penilla b03d39b5ce [ci skip] Update paperweight to 2.0.0-beta.13 2025-01-10 21:01:17 -07:00
Bjarne KollandGitHub 1b38f2810e Fix reading recipes used on furnace (#11947) 2025-01-10 19:49:58 +01:00
Bjarne KollandGitHub 400717174e Correct obfuscation of oversized items (#11944) 2025-01-10 14:38:50 +01:00
PedroandGitHub 5e14504f20 [ci skip] Add missing deprecated docs for isEnabledByFeature (#11938) 2025-01-09 21:08:28 +01:00
spring-dependency-managementandGitHub 08fc33ca03 Update CustomTimingsHandler Nag Message (#11923) 2025-01-09 19:02:03 +01:00
55f3f280cb Reimplement ItemStack Obfuscation (#11817)
Reimplementation of the itemstack obfuscation config that
leverages the component patch map codec to drop
unwanted components on items or replaces them with
sanitized versions.

Co-authored-by: Bjarne Koll <git@lynxplay.dev>
Co-authored-by: Jake Potrebic <jake.m.potrebic@gmail.com>
2025-01-09 18:58:18 +01:00
Isaac - The456andGitHub efdcaa25ee Fix removing the "LootTable" nbt tag from Block entities (#11929)
This bug affects vanilla, and was reported as MC-279196
2025-01-09 18:44:50 +01:00
WarriorandGitHub b34ae4fb3c Fix wolves ignoring result of damage event (#11932) 2025-01-08 21:46:58 +01:00
Lulu13022002andGitHub 49d15f6345 Fix DiscoveredDatapack#getSource (#11928) 2025-01-07 19:40:45 +01:00
WarriorandGitHub 337557044e Fix MapCanvas#drawImage (#11865) 2025-01-07 13:54:34 +01:00
Jake PotrebicandGitHub 486e521105 Re-add droped MapLike spam fix (#11917) 2025-01-05 19:07:35 +01:00
TamionandGitHub 9f90b4c324 Fix ItemDamageEvents called for 0 damage (#11900) 2025-01-04 21:54:40 +01:00
PedroandGitHub f367f107cf Add rotation helpers to Location (#11908) 2025-01-04 21:54:27 +01:00
PedroandGitHub 33a590bca6 Fix TargetHitEvent#getSignalStrength() post-hard-fork (#11897) 2025-01-04 21:30:41 +01:00
ChromMobandGitHub 6ab13521b7 Improve performance of PoiCompetitorScan by unrolling stream (#11871) 2025-01-04 21:23:21 +01:00
Shane BeeandGitHub 4106da712c Fix retain passengers teleport flag (#11858) 2025-01-04 21:19:07 +01:00
PedroandGitHub edde7264c6 [ci skip] Add missing Nullable annotations for NMS DamageSource (#11875) 2025-01-03 11:22:20 -08:00
Hannes GreuleandGitHub daddcf6742 Fix JOML javadoc URL (#11883) 2025-01-02 08:15:47 +00:00
Noah van der AaandGitHub 83995d7e80 Fix settings changes not being saved (#11881)
Closes #11878
2025-01-01 21:56:23 +01:00
Nassim Jahnke 1dd52bed49 Use playerlist whitelist status instead of properties
The actual property value is final, only the serialized output is changed. This uses the correct value from PlayerList instead
Fixes #11878
2025-01-01 18:53:23 +01:00
powercas_gamerandGitHub bdfad1c838 Add sendRich/PlainMessage methods to Server (#11872) 2024-12-31 19:47:57 -05:00