Commit Graph

165 Commits

Author SHA1 Message Date
a3781ff3be Separate tick count to ensure vanilla parity (#12077) 2025-02-16 20:46:37 +01: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
8e80d4e158 Correctly construct StructureManager 2025-01-14 19:21:52 +01:00
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
93a3df085c Extend HumanEntity#dropItem API (#11810) 2024-12-28 23:47:21 +01:00
763b32d825 Fix framed maps looping through all players in world (#11819) 2024-12-25 12:31:03 +01:00
9e2d39cd26 Fix double chest identification (#11812) 2024-12-24 22:57:24 +01:00
3b0b3a0aef and some more 2024-12-21 13:45:04 +01:00
82216a59fe Apply some feature patches to files instead
They're small and/or really shouldn't be left unapplied
2024-12-21 13:21:47 +01:00
e0593e9286 More diff/changed variable name cleanup 2024-12-21 12:15:25 +01:00
6186079231 Migrate ChunkSystem class to PaperHooks 2024-12-20 09:22:42 -08:00
fd1b6b1ae9 Readd configurable auth server down kick message 2024-12-20 03:07:59 +01:00
68bbd2e202 Improve diff in ServerPlayer#openHorseInventory 2024-12-20 03:07:58 +01:00
993db46961 Comment typo 2024-12-20 03:07:58 +01:00
431303ff40 Move ChunkMap setServerViewDistance to ATs 2024-12-20 03:07:58 +01:00
a438cc45f6 Small diff cleanup 2024-12-19 15:55:01 +01:00
5922e6334b fix allowPermanentBlockBreakExploits config 2024-12-18 23:35:47 +01:00
6126012369 readd beacon effect cause 2024-12-18 19:29:39 +01:00
972266605e Remove dead code, param renames in added methods 2024-12-17 22:04:50 +01:00
d94e258d01 Clean up add/removePluginChunkTicket
No need to be that invasive to Vanilla code for simple, non-hot and small collection checks
2024-12-17 21:40:20 +01:00
88b2981e09 Readd final mod to ChunkHolder#getTickingChunk 2024-12-17 20:32:08 +01:00
9e8a2de45b readd bukkit extra data to entity tags 2024-12-16 18:07:41 +01:00
783b3b70e6 readd dropped event in InteractWithDoor 2024-12-16 17:29:46 +01:00
f8cb014d20 Move Aikar's EAR 1 into EAR 2 patch 2024-12-16 14:08:25 +01:00
a15bb2bbd0 Fix and clean up MapItemSavedData Spigot patch
It's been dysfunctional for a good while, though I don't think it's even needed. That can be investigated later
2024-12-16 09:56:45 +01:00
360006bc7f Fix bouncy items
This reverts EAR diff to be how it is paper proper-- seems like alot of this got dropped.
2024-12-15 22:27:32 -05:00
59a1f78750 Fix sleeping 2024-12-15 20:52:03 -05:00
2e14d98ebe Fix item dropping 2024-12-15 20:33:21 -05:00
4912737b8d fix issue in ServerPlayerGameMode 2024-12-15 15:20:33 -08:00
b40c4e2179 fix initial runtime errors 2024-12-15 15:07:32 -08:00
acd43900f5 remove more imports and cleanup 2024-12-15 12:51:34 -08:00
de10a277e2 fix a mis-applied hunk in Projectile 2024-12-15 12:09:18 -08:00
8cca65b8ac remove all the rest of the import hunks 2024-12-15 11:42:42 -08:00
e99a9b5e4a Remove cb null check 2024-12-15 13:05:35 +01:00
172a80cb66 Somehow a bunch of items were missed 2024-12-14 22:35:35 -08:00
35afd218f5 net/minecraft/server/level 2024-12-15 06:22:17 +01:00
45ddf764d9 Move patches to unapplied 2024-12-12 12:30:31 +01:00
d300c94ec2 Properly resend entities
This resolves some issues which caused entities to not be resent correctly.
Entities that are interacted with need to be resent to the client, so we resend all the entity
data to the player whilst making sure not to clear dirty entries from the tracker. This makes
sure that values will be correctly updated to other players.

This also adds utilities to aid in further preventing entity desyncs.

This also also fixes the bug causing cancelling PlayerInteractEvent to cause items to continue
to be used despite being cancelled on the server.

For example, items being consumed but never finishing, shields being put up, etc.
The underlying issue of this is that the client modifies their synced data values,
and so we have to (forcibly) resend them in order for the client to reset their using item state.

See: https://github.com/PaperMC/Paper/pull/1896

== AT ==
public net.minecraft.server.level.ChunkMap$TrackedEntity serverEntity
2022-12-07 17:25:19 -05:00
7acf73ce66 Call CraftPlayer#onEntityRemove for all online players 2024-11-09 22:27:58 +01:00
0d8c3dc008 Block Enderpearl Travel Exploit
Players are able to use alt accounts and enderpearls to travel
long distances utilizing the pearls in unloaded chunks and loading
the chunk later when convenient.

This disables that by not saving the thrower when the chunk is unloaded.

This is mainly useful for survival servers that do not allow freeform teleporting.

Note: Currently removed as enderpearls are ticked as long as their owner is online in 1.21.2.
Might be worth to re-add once an option to disable the above vanilla mechanic is added, to
fully prevent enderpearl travel exploits.

== AT ==
public net.minecraft.world.entity.projectile.Projectile ownerUUID
2018-04-30 17:15:26 -04:00
cf7a1191a9 Allow using old ender pearl behavior
When enabled, ender pearls will not load chunks and will save to the world instead of the player.

== AT ==
public net.minecraft.world.entity.projectile.Projectile cachedOwner
2024-10-27 12:36:53 -07:00
29e03d0439 Add startup flag to disable gamerule limits
-DPaper.DisableGameRuleLimits=true will disable gamerule limits

== AT ==
public net.minecraft.server.level.ChunkLevel ENTITY_TICKING_LEVEL
2024-10-25 14:20:40 -07:00
2742ad6a9a Fix InventoryOpenEvent cancellation 2024-08-19 18:05:26 +02:00
6863c9e6db disable forced empty world ticks 2023-03-21 23:51:46 +00:00
c6f962ba54 Prevent sending oversized item data in equipment and metadata
Co-authored-by: Jake Potrebic <jake.m.potrebic@gmail.com>
2021-12-01 12:36:25 +01:00
368ca9c145 Fix creation of invalid block entity during world generation 2024-03-30 21:06:10 +01:00
f42abdfad3 Configurable max block/fluid ticks 2024-02-19 17:39:59 +01:00
66ebf93c21 Add BlockBreakProgressUpdateEvent 2024-03-04 22:18:28 -05:00
46c2fbfb74 Reduce allocation of Vec3D by entity tracker 2020-04-27 00:04:16 -07:00
893616e851 Dont resend blocks on interactions
In general, the client now has an acknowledgment system which will prevent block changes made by the client to be reverted correctly.

It should be noted that this system does not yet support block entities, so those still need to resynced when needed.
2023-06-27 21:09:11 -04:00