Update patches to latest 1.21.4 #1
@ -0,0 +1,29 @@
|
|||||||
|
package io.papermc.paper.event.packet;
|
||||||
|
|
||||||
|
import org.bukkit.entity.Player;
|
||||||
|
import org.bukkit.event.HandlerList;
|
||||||
|
import org.bukkit.event.player.PlayerEvent;
|
||||||
|
import org.jetbrains.annotations.ApiStatus;
|
||||||
|
import org.jspecify.annotations.NullMarked;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Called when a {@code minecraft:client_tick_end} packet is received by the server.
|
||||||
|
*/
|
||||||
|
@NullMarked
|
||||||
|
public class ClientTickEndEvent extends PlayerEvent {
|
||||||
|
private static final HandlerList HANDLER_LIST = new HandlerList();
|
||||||
|
|
||||||
|
@ApiStatus.Internal
|
||||||
|
public ClientTickEndEvent(final Player player) {
|
||||||
|
super(player);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public HandlerList getHandlers() {
|
||||||
|
return HANDLER_LIST;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static HandlerList getHandlerList() {
|
||||||
|
return HANDLER_LIST;
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -70,7 +70,7 @@
|
|||||||
private double firstGoodX;
|
private double firstGoodX;
|
||||||
private double firstGoodY;
|
private double firstGoodY;
|
||||||
private double firstGoodZ;
|
private double firstGoodZ;
|
||||||
@@ -236,22 +_,39 @@
|
@@ -236,22 +_,41 @@
|
||||||
private int receivedMovePacketCount;
|
private int receivedMovePacketCount;
|
||||||
private int knownMovePacketCount;
|
private int knownMovePacketCount;
|
||||||
private boolean receivedMovementThisTick;
|
private boolean receivedMovementThisTick;
|
||||||
@ -98,6 +98,7 @@
|
|||||||
private final FutureChain chatMessageChain;
|
private final FutureChain chatMessageChain;
|
||||||
private boolean waitingForSwitchToConfig;
|
private boolean waitingForSwitchToConfig;
|
||||||
+ private static final int MAX_SIGN_LINE_LENGTH = Integer.getInteger("Paper.maxSignLength", 80); // Paper - Limit client sign length
|
+ private static final int MAX_SIGN_LINE_LENGTH = Integer.getInteger("Paper.maxSignLength", 80); // Paper - Limit client sign length
|
||||||
|
+ private final io.papermc.paper.event.packet.ClientTickEndEvent tickEndEvent; // Paper - add client tick end event
|
||||||
|
|
||||||
public ServerGamePacketListenerImpl(MinecraftServer server, Connection connection, ServerPlayer player, CommonListenerCookie cookie) {
|
public ServerGamePacketListenerImpl(MinecraftServer server, Connection connection, ServerPlayer player, CommonListenerCookie cookie) {
|
||||||
- super(server, connection, cookie);
|
- super(server, connection, cookie);
|
||||||
@ -109,6 +110,7 @@
|
|||||||
this.signedMessageDecoder = SignedMessageChain.Decoder.unsigned(player.getUUID(), server::enforceSecureProfile);
|
this.signedMessageDecoder = SignedMessageChain.Decoder.unsigned(player.getUUID(), server::enforceSecureProfile);
|
||||||
- this.chatMessageChain = new FutureChain(server);
|
- this.chatMessageChain = new FutureChain(server);
|
||||||
+ this.chatMessageChain = new FutureChain(server.chatExecutor); // CraftBukkit - async chat
|
+ this.chatMessageChain = new FutureChain(server.chatExecutor); // CraftBukkit - async chat
|
||||||
|
+ this.tickEndEvent = new io.papermc.paper.event.packet.ClientTickEndEvent(player.getBukkitEntity()); // Paper - add client tick end event
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -2598,7 +2600,7 @@
|
|||||||
this.signedMessageDecoder = chatSession.createMessageDecoder(this.player.getUUID());
|
this.signedMessageDecoder = chatSession.createMessageDecoder(this.player.getUUID());
|
||||||
this.chatMessageChain
|
this.chatMessageChain
|
||||||
.append(
|
.append(
|
||||||
@@ -1919,15 +_,17 @@
|
@@ -1919,19 +_,22 @@
|
||||||
this.server
|
this.server
|
||||||
.getPlayerList()
|
.getPlayerList()
|
||||||
.broadcastAll(
|
.broadcastAll(
|
||||||
@ -2620,6 +2622,11 @@
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void handleClientTickEnd(ServerboundClientTickEndPacket packet) {
|
public void handleClientTickEnd(ServerboundClientTickEndPacket packet) {
|
||||||
|
PacketUtils.ensureRunningOnSameThread(packet, this, this.player.serverLevel());
|
||||||
|
+ this.tickEndEvent.callEvent(); // Paper - add client tick end event
|
||||||
|
if (!this.receivedMovementThisTick) {
|
||||||
|
this.player.setKnownMovement(Vec3.ZERO);
|
||||||
|
}
|
||||||
@@ -1957,4 +_,17 @@
|
@@ -1957,4 +_,17 @@
|
||||||
interface EntityInteraction {
|
interface EntityInteraction {
|
||||||
InteractionResult run(ServerPlayer player, Entity entity, InteractionHand hand);
|
InteractionResult run(ServerPlayer player, Entity entity, InteractionHand hand);
|
||||||
|
|||||||
Reference in New Issue
Block a user