87e7ee7e79
If a sync load was triggered, it would process pending join events, causing them to be added to the world in the middle of the entity ticking process. This caused their add to be queued instead of immediate, causing "Illegal Tracking" errors. This schedules it to fire at the players next Connection Tick, which is exactly where this entire process use to run anyways. Also added missing tab complete and syntax for syncloadinfo debug command
27 Zeilen
1.4 KiB
Diff
27 Zeilen
1.4 KiB
Diff
From 12534ede5c4556d34e7e207fb7970b92b7ead475 Mon Sep 17 00:00:00 2001
|
|
From: Mariell Hoversholm <proximyst@proximyst.com>
|
|
Date: Sun, 19 Apr 2020 12:25:20 +0200
|
|
Subject: [PATCH] Allow sleeping players to float
|
|
|
|
This change lets players who are in their bed have a position which is above
|
|
ground for a longer period of time. This is because of the server not setting
|
|
their position to the ground/exit location when entering the bed, resulting in
|
|
the server believing they're still in the air.
|
|
|
|
diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java
|
|
index 8800a8fcf9..38ec22f4c0 100644
|
|
--- a/src/main/java/net/minecraft/server/PlayerConnection.java
|
|
+++ b/src/main/java/net/minecraft/server/PlayerConnection.java
|
|
@@ -162,7 +162,7 @@ public class PlayerConnection implements PacketListenerPlayIn {
|
|
this.player.setLocation(this.l, this.m, this.n, this.player.yaw, this.player.pitch);
|
|
++this.e;
|
|
this.processedMovePackets = this.receivedMovePackets;
|
|
- if (this.B) {
|
|
+ if (this.B && !this.player.isSleeping()) { // Paper - #3176 Allow sleeping players to float
|
|
if (++this.C > 80) {
|
|
PlayerConnection.LOGGER.warn("{} was kicked for floating too long!", this.player.getDisplayName().getString());
|
|
this.disconnect(com.destroystokyo.paper.PaperConfig.flyingKickPlayerMessage); // Paper - use configurable kick message
|
|
--
|
|
2.26.2
|
|
|