Commit Graph

1238 Commits

Author SHA1 Message Date
Spottedleaf
2f083acbed Ensure player entity schedulers are ticked when they are dead
If the player dies, then they are removed from the world and
as a result are not present in the world entity map.

To guarantee that the player entity scheduler is ticked, we can
tick all schedulers for players in the server player list, and
then skip all players we find in the world entity map.

This problem is not present on Folia since Folia must guarantee
that the player remains in the world.
2025-06-24 05:12:58 -07:00
Spottedleaf
38c1ddb52a Add and use FeatureHooks.getAllEntities
The ServerLevel#getAllEntities function only returns entities which
are accessible. FeatureHooks#getAllEntities will return all
entities, whether or not they are accessible.

Use the new hook in the EntityCommand, which allows server admins
to inspect entities in unloaded chunks.

Use the hook as well for ticking the EntityScheduler. This fixes
an issue whether unloaded entities did not have their scheduler ticked.
2025-06-24 04:55:58 -07:00
Spottedleaf
46b4b0b8d5 Improve keepalive ping system
Send more keepalives, record all transactions within the last minute.
We send more keepalives so that the latency calculation is more
accurate. Since we send more keepalives, we track all pending
keepalives in case multiple end up in flight.

Additionally, replace the latency calculation with a true
average over the last 5 seconds of keepalive transactions.
2025-06-24 04:23:08 -07:00
Spottedleaf
d0e808f44c Move player to correct position in vehicle move packet handler
We add the change to guarantee that the player position moves
in-sync with the vehicle's. As a result, it should be teleporting
the player using the new position of the vehicle rather than the
old.
2025-06-24 02:09:39 -07:00
Pedro
803baf0ba6 Support hidden entities in Waypoints (#12715) 2025-06-22 13:42:06 -04:00
Owen
5edcf6ddf6 Cleanup/command dispatching (#12713) 2025-06-21 21:44:07 -04:00
Strokkur24
186e9e331b Relocate CommandMap#registerServerAliases() call to after lifecycle events have been run (#12601) 2025-06-21 14:44:07 -04:00
CraftBukkit/Spigot
e714de6365 Fix excess slot updates
By: AJ Ferguson <fergusonjva@gmail.com>
2025-06-21 13:16:55 +02:00
Owen
71b0c76861 Adds support for vanilla negative explosions (#12705)
Fixes #10460
2025-06-21 00:54:53 -04:00
Owen
839c6a1845 Fix #11169 (#12706)
This technically fixes the improperly updated patch, and also no longer checks canPickUpLoot.
2025-06-20 19:22:27 -04:00
Owen
6a51c44ec2 Cleanup Primed TNT Fix (#12704)
This option should probably be removed as its a descendant of an option that allows "old tnt cannon" behavior before ~1.9 But this improves the fix so properly update the velocity/position rather than the questionable way it was doing it before.
2025-06-20 18:22:37 -04:00
Owen
4b3f967e49 Improve Fix MC-44654 (#12703)
This more properly implement spigot's fix for teleportation area effect clouds, now however supporting many other entity types specified in this bug report.

Currently, this is not an issue for (all) hanging blocks since they have a fix identical to this inside of setPos. Note however the client does not nicely support moving these entities anyways.
2025-06-20 16:02:24 -04:00
Bjarne Koll
023e6c2953 Ensure waypoints are per world 2025-06-17 23:43:05 +02:00
Bjarne Koll
a24f9b204c 1.21.6 dev
Co-authored-by: Bjarne Koll <git@lynxplay.dev>
Co-authored-by: Jake Potrebic <jake.m.potrebic@gmail.com>
Co-authored-by: Jason Penilla <11360596+jpenilla@users.noreply.github.com>
Co-authored-by: Lulu13022002 <41980282+Lulu13022002@users.noreply.github.com>
Co-authored-by: Noah van der Aa <ndvdaa@gmail.com>
Co-authored-by: Owen1212055 <23108066+Owen1212055@users.noreply.github.com>
Co-authored-by: Spottedleaf <Spottedleaf@users.noreply.github.com>
2025-06-17 15:45:25 +02:00
David
320f25cb04 fix sponge-absorb deleting chest content (#12647) 2025-06-07 22:28:37 +01:00
David Polt
03efecf0d3 Do not fire PlayerDropItemEvent for /give command 2025-06-07 12:22:48 +02:00
Shane Freeder
4eda045b15 Backport fix for MC-296337 (Fixes #12617) (#12619) 2025-06-06 19:05:30 +01:00
Nassim Jahnke
a033e3b9ef Fix ancient player custom name converter
Who knows for how long it's been broken, but it only came up now given DataConverter isn't applied
Fixes #12565
Supersedes #12568
2025-05-25 09:24:49 +02:00
Newwind
84ee4249c9 Add Map filled event (#12574) 2025-05-24 22:45:32 +02:00
Bjarne Koll
ee3b405316 Replace spigot check with generation check 2025-05-24 22:43:48 +02:00
Bjarne Koll
b8fe22c9cd Do not call EntityRemoveEvent during worldgen (#12588)
Ports the follow commits from spigot to paper.
All credits to go the respective commit authors listed below.

CraftBukkit: 3b4fd5b321f4440a2b3a67f3945739b45e6e687f

By: md_5 <git@md-5.net>
2025-05-24 22:17:42 +02:00
Pedro
220b57add4 Fixs and Improvements for EndermanEscapeEvent (#12570) 2025-05-24 21:53:02 +02:00
Md5Lukas
3efaf477c4 Add API for client-side signs (#11903) 2025-05-24 21:16:23 +02:00
Pedro
87349c317f Fix CombatTracker stale on death (#12562) 2025-05-21 18:19:08 +02:00
brickmonster
fa360aa836 Add some missing annotations and an incorrect one (#12204) 2025-05-18 18:31:49 -04:00
Pedro
cc38032bee Deprecate TeleportCause CHORUS_FRUIT for CONSUMABLE_EFFECT (#12546) 2025-05-18 16:33:21 +02:00
Nassim Jahnke
28d7df75ac Backport HeroesOfTheVillage datafixer fix
Fixes #12515
2025-05-18 16:13:19 +02:00
Pedro
841d634230 Fix ItemStack#addUnsafeEnchantment ignored for missing enchantment component (#12549) 2025-05-17 16:13:08 +02:00
Namiu/うにたろう
d683970d40 Add FishHookStateChangeEvent (#12165) 2025-05-15 20:17:32 +02:00
Nassim Jahnke
358e72ec0d Remove simplify remote item matching stuff for now
Twas broken for some time and I haven't had time to address it, this may be revisited later in a different way
2025-05-09 14:47:24 +02:00
David
cbcf75a57c Update visual fire handling with TriState support (#12303)
Replaced the Boolean-based visual fire system with TriState for improved clarity and flexibility, enabling three distinct states: TRUE, FALSE, and NOT_SET. Deprecated older methods in favor of new ones and updated internal handling to reflect these changes. Adjusted serialization and deserialization logic to accommodate the new TriState implementation.
2025-05-07 23:33:41 +02:00
Jakub Zacek
ab0253fecd Expand PlayerDeathEvent API (#12221) 2025-05-06 20:14:58 -04:00
Bert Towne
e2da5d2f0a Registry API for supported Mob Variants (#12417)
---------

Co-authored-by: Bjarne Koll <git@lynxplay.dev>
2025-05-06 17:13:00 -04:00
Owen
42a2a6c2b5 Supports the ability for commands to be registered internally (#12520) 2025-05-06 16:05:00 -04:00
Tamion
53d1d04ec5 Disable Item Obfuscation for entity related stacks (#12297) 2025-05-03 20:52:33 +02:00
Mart
88a3a87015 Configurable xp orb merge group count (#12503) 2025-05-03 20:51:19 +02:00
Pedro
6f1f5b67e0 Fix ArmorStand items for canceled EntityDeathEvent (#12288)
Co-authored-by: Tamion <70228790+notTamion@users.noreply.github.com>
2025-05-02 23:19:15 +02:00
David
825685f82f Add PlayerPickBlockEvent and PlayerPickEntityEvent (#12425)
Extensions of the existing PlayerPickItemEvent that allow more fine grained access to relevant context, like the picked block or the entity.
2025-05-02 22:14:27 +02:00
TonytheMacaroni
1074237311 Pass correct draw strength for EntityShootBowEvent (#12308) 2025-05-02 16:05:50 -04:00
Pedro
d637ae85dd Fix NoSuchElementException in EntityTransformEvent for slimes (#12510) 2025-05-02 21:15:58 +02:00
Shane Freeder
cb3ffd0b4a Don't store empty PDCs on raids 2025-05-02 20:02:34 +01:00
Shane Freeder
93246a0730 Fix errors when loading raid files without a PDC 2025-05-02 19:43:06 +01:00
Lulu13022002
567f63ae34 Parity for respawn events (#11792) 2025-04-30 20:04:24 +02:00
Miles
2754d7c3b9 Add Throw EntityChangeBlockEvent for BrushableBlockEntity#brush (#12133) 2025-04-30 14:03:40 -04:00
Pedro
5acfdd6af4 Fix save/load NaN Entity Motion (#12269) 2025-04-30 19:53:32 +02:00
Illia Bondar
e663f99982 Add combat tracker API (#11853) 2025-04-30 19:24:33 +02:00
Dqu1J
646b80ca53 Fix unnecessary map data saves (#12296) 2025-04-30 11:51:13 -04:00
Warrior
1e930763d2 Fix ipv6 loopback addresses being able to get connection throttled (#12155) 2025-04-30 11:50:18 -04:00
Bjarne Koll
b9d3147d3b Use correct placed block position for sound (#12410)
Previously the server attempted to compute the block placed by using the
BlockPlaceContext. This approach however fails on replacable blocks, as
the BlockPlaceContext computes this during its construction, which
happened after the actual world modification.

The commit reworks this approach and now stores metadata in the
InteractionResult which can later be read.
The diff is structured to allow for easy future expansion of the tracked
metadata.
2025-04-27 14:19:42 +02:00
Gero
3e3b42cdf5 Update player chat session sync (#12382) 2025-04-26 23:26:20 +02:00