9
0
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:
jhqwqmc
2025-04-02 15:51:50 +08:00
parent 21e663b187
commit ff7da2d942
3 changed files with 8 additions and 0 deletions

View File

@@ -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);

View File

@@ -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()) {

View File

@@ -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);
}