mirror of
https://github.com/Xiao-MoMi/craft-engine.git
synced 2025-12-25 09:59:20 +00:00
fix(bukkit): 阻止发送仅实体包
This commit is contained in:
@@ -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);
|
||||
|
||||
@@ -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()) {
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user