Added more synchronization at death + added listener for teleport and window confirmation to remove warning

This commit is contained in:
Felix Cravic 2020-05-31 00:39:56 +02:00
parent 1bcd0c474f
commit 30ef05183e
5 changed files with 27 additions and 5 deletions

View File

@ -453,12 +453,12 @@ public abstract class Entity implements Viewable, EventHandler, DataContainer {
ticks++;
callEvent(EntityTickEvent.class, tickEvent); // reuse tickEvent to avoid recreating it each tick
}
// Scheduled synchronization
if (time - lastSynchronizationTime >= synchronizationDelay) {
lastSynchronizationTime = time;
sendSynchronization();
}
// Scheduled synchronization
if (time - lastSynchronizationTime >= synchronizationDelay) {
lastSynchronizationTime = time;
sendSynchronization();
}
if (shouldRemove()) {

View File

@ -1051,9 +1051,12 @@ public class Player extends LivingEntity {
sendPacketToViewers(spawnPlayerPacket);
// Update for viewers
sendPacketToViewersAndSelf(getVelocityPacket());
sendPacketToViewersAndSelf(getMetadataPacket());
playerConnection.sendPacket(getPropertiesPacket());
syncEquipments();
askSynchronization();
}
protected void refreshHealth() {

View File

@ -0,0 +1,12 @@
package net.minestom.server.listener;
import net.minestom.server.entity.Player;
import net.minestom.server.network.packet.client.play.ClientTeleportConfirmPacket;
public class TeleportListener {
public static void listener(ClientTeleportConfirmPacket packet, Player player) {
// Empty
}
}

View File

@ -8,6 +8,7 @@ import net.minestom.server.inventory.PlayerInventory;
import net.minestom.server.item.ItemStack;
import net.minestom.server.network.packet.client.play.ClientClickWindowPacket;
import net.minestom.server.network.packet.client.play.ClientCloseWindow;
import net.minestom.server.network.packet.client.play.ClientWindowConfirmationPacket;
import net.minestom.server.network.packet.server.play.SetSlotPacket;
import net.minestom.server.network.packet.server.play.WindowConfirmationPacket;
@ -122,4 +123,8 @@ public class WindowListener {
player.openInventory(newInventory);
}
public static void windowConfirmationListener(ClientWindowConfirmationPacket packet, Player player) {
// Empty
}
}

View File

@ -21,6 +21,7 @@ public class PacketListenerManager {
addListener(ClientChatMessagePacket.class, ChatMessageListener::listener);
addListener(ClientClickWindowPacket.class, WindowListener::clickWindowListener);
addListener(ClientCloseWindow.class, WindowListener::closeWindowListener);
addListener(ClientWindowConfirmationPacket.class, WindowListener::windowConfirmationListener);
addListener(ClientEntityActionPacket.class, EntityActionListener::listener);
addListener(ClientHeldItemChangePacket.class, PlayerHeldListener::heldListener);
addListener(ClientPlayerBlockPlacementPacket.class, BlockPlacementListener::listener);
@ -42,6 +43,7 @@ public class PacketListenerManager {
addListener(ClientTabCompletePacket.class, TabCompleteListener::listener);
addListener(ClientPluginMessagePacket.class, PluginMessageListener::listener);
addListener(ClientPlayerAbilitiesPacket.class, AbilitiesListener::listener);
addListener(ClientTeleportConfirmPacket.class, TeleportListener::listener);
}
public <T extends ClientPlayPacket> void process(T packet, Player player) {