Commit Graph

6406 Commits

Author SHA1 Message Date
2948eb296d Mitigate an issue when loading a spigot config with null spam exclusion entries 2025-04-15 15:54:10 +01:00
a55345f991 Add support for deserializing manually deserialized items, also add caller note 2025-04-15 09:30:44 +01:00
c0bd5688b5 Add logic for Human canUseEquipmentSlot (#12433) 2025-04-14 22:12:09 +02:00
6b4ad08259 Add PlayerRespawnEvent#isMissingRespawnBlock (#12422) 2025-04-14 19:43:19 +02:00
ed322043d0 Clone blockpos in InsideBlockEffectApplier record 2025-04-14 18:31:39 +02:00
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
33e8928f53 Add support for bonus chest configuration in WorldCreator (#12344) 2025-04-14 17:24:19 +02:00
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
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
121a7bf4eb Make GameRule a FeatureDependant (#12429) 2025-04-14 13:21:14 +02:00
91bfb6fb7e Fix freeze locked (#12434) 2025-04-14 11:47:27 +02:00
79036210c1 Remove json-simple imports from API, keep it as implementation in server 2025-04-14 10:24:42 +02:00
8ff94c6344 Update a bunch of dependencies
Either to match Vanilla or to update our own
2025-04-14 10:16:12 +02:00
1b889688a5 Add Entity#isTrackedBy (#12332) 2025-04-14 10:12:48 +02:00
de64e70458 Update spark 2025-04-14 09:19:47 +02:00
652cea57e8 Allow getAsString()-ing non-persistent entities (#12424) 2025-04-14 09:00:24 +02:00
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
f517267c0c Add passthrough for air serialization 2025-04-12 18:44:48 +01:00
93b6829e83 Also fix AbstractHorse getSize and isEmpty 2025-04-12 19:14:13 +02:00
8eede4bb8a Fix AbstractHorse get/setSaddle
Fixes #12412
2025-04-12 18:59:52 +02:00
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
0767902699 CraftBlock - fix applyBoneMeal false result (#12407) 2025-04-11 22:38:33 +01:00
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
9b1798d643 Simplify custom payload handling (#12347) 2025-03-27 14:22:38 +01:00
c467df95a2 Add ItemStack#copyDataFrom (#12224) 2025-03-24 01:12:57 +01:00
5a6ab97be6 Add config to remove player as vehicle restriction in /ride (#12327) 2025-03-24 00:55:15 +01:00
515e12ca2d Check if BUNDLE_CONTENTS is present in InventoryClickEvent (#12321) 2025-03-24 00:38:25 +01:00
37b9ca1f90 Add flush parameter to World#save (#12330) 2025-03-24 00:37:48 +01:00
7819df10a4 Add getHeight method to ChunkData (#12311) 2025-03-24 00:33:34 +01:00
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
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
2aad131e74 Add config option for command spam whitelist 2025-03-23 18:31:39 +00:00
894631f0d0 Make advancement ordering predictable (#12292) 2025-03-21 17:52:42 +01:00
f49d18df89 Add get/set customName to Skull block (#12302) 2025-03-21 17:52:00 +01:00
7cc6cb5013 Check for trailing input in ItemFactory#createItemStack (#12312) 2025-03-21 17:51:09 +01:00
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
6ea42025a4 Send all attributes on respawn (#12274) 2025-03-13 12:41:03 +01:00
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
c37b890c8b More deferred requireNonNull message creation 2025-03-13 12:27:12 +01:00
f0388e2f38 Call EntityPushedByEntityAttackEvent for Mace AoE (#12257) 2025-03-12 11:13:47 +01:00
102c8bbc54 Add config for updating equipment on player actions (#12275) 2025-03-12 11:09:27 +01:00
1a7288aa05 Adjust unloaded chunk check for block digging 2025-03-09 11:11:02 -07:00
743346a5da Force update attributes
See https://github.com/PaperMC/Paper/pull/12241/
2025-03-09 11:11:02 -07:00
e5d988df85 Revert "Fix cancelling PlayerInteractEvent at (0, 0, 0) (#12215)"
This reverts commit a2b0ff0644.
2025-03-09 18:39:08 +01:00
7afae7f465 Add client tick end event (#12199) 2025-03-09 13:14:44 -04:00
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
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
2565497897 Cancel PlayerLaunchProjectileEvent properly for enderpearls (#12223) 2025-03-08 17:02:10 -05:00
df96f8a0fa Correctly handle events for end portal (#12246) 2025-03-08 16:59:43 -05:00