diff --git a/bukkit/src/main/java/net/momirealms/craftengine/bukkit/entity/furniture/BukkitFurnitureManager.java b/bukkit/src/main/java/net/momirealms/craftengine/bukkit/entity/furniture/BukkitFurnitureManager.java index 3066082fb..d2d48310d 100644 --- a/bukkit/src/main/java/net/momirealms/craftengine/bukkit/entity/furniture/BukkitFurnitureManager.java +++ b/bukkit/src/main/java/net/momirealms/craftengine/bukkit/entity/furniture/BukkitFurnitureManager.java @@ -277,6 +277,10 @@ public class BukkitFurnitureManager implements FurnitureManager { return this.furnitureByCollisionEntitiesId.get(entityId); } + public boolean isFurnitureCollisionEntity(int entityId) { + return this.furnitureByCollisionEntitiesId.containsKey(entityId); + } + protected void handleBaseFurnitureUnload(Entity entity) { int id = entity.getEntityId(); LoadedFurniture furniture = this.furnitureByBaseEntityId.remove(id); diff --git a/bukkit/src/main/java/net/momirealms/craftengine/bukkit/plugin/network/BukkitNetworkManager.java b/bukkit/src/main/java/net/momirealms/craftengine/bukkit/plugin/network/BukkitNetworkManager.java index c87622e84..b5f4b4db2 100644 --- a/bukkit/src/main/java/net/momirealms/craftengine/bukkit/plugin/network/BukkitNetworkManager.java +++ b/bukkit/src/main/java/net/momirealms/craftengine/bukkit/plugin/network/BukkitNetworkManager.java @@ -450,6 +450,7 @@ public class BukkitNetworkManager implements NetworkManager, Listener, PluginMes NMSPacketEvent event = new NMSPacketEvent(packet); onNMSPacketSend(player, event, packet); if (event.isCancelled()) return; + System.out.println("Packet sent: " + packet); super.write(context, packet, channelPromise); channelPromise.addListener((p) -> { for (Runnable task : event.getDelayedTasks()) { diff --git a/bukkit/src/main/java/net/momirealms/craftengine/bukkit/plugin/network/PacketConsumers.java b/bukkit/src/main/java/net/momirealms/craftengine/bukkit/plugin/network/PacketConsumers.java index c8ec39fe2..388c8553f 100644 --- a/bukkit/src/main/java/net/momirealms/craftengine/bukkit/plugin/network/PacketConsumers.java +++ b/bukkit/src/main/java/net/momirealms/craftengine/bukkit/plugin/network/PacketConsumers.java @@ -644,6 +644,9 @@ public class PacketConsumers { if (BukkitFurnitureManager.instance().isFurnitureBaseEntity(entityId)) { event.setCancelled(true); } + if (BukkitFurnitureManager.instance().isFurnitureCollisionEntity(entityId)) { + event.setCancelled(true); + } } catch (Exception e) { CraftEngine.instance().logger().warn("Failed to handle ClientboundEntityPositionSyncPacket", e); }