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 99c8d82e5..21a2b347d 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 @@ -487,7 +487,6 @@ public class BukkitNetworkManager implements NetworkManager, Listener, PluginMes @Override public void write(ChannelHandlerContext context, Object packet, ChannelPromise channelPromise) throws Exception { - boolean isWrote = false; try { NMSPacketEvent event = new NMSPacketEvent(packet); onNMSPacketSend(player, event, packet); @@ -497,23 +496,9 @@ public class BukkitNetworkManager implements NetworkManager, Listener, PluginMes } else { super.write(context, packet, channelPromise); } - isWrote = true; - if (channelPromise instanceof VoidChannelPromise) { // 从 1.21.6 开始大量使用 VoidChannelPromise - if (!event.getDelayedTasks().isEmpty()) { - plugin.logger().warn("Delayed tasks are not supported for void promises"); - } - return; - } - channelPromise.addListener((p) -> { - for (Runnable task : event.getDelayedTasks()) { - task.run(); - } - }); } catch (Throwable e) { plugin.logger().severe("An error occurred when reading packets. Packet class: " + packet.getClass(), e); - if (!isWrote) { - super.write(context, packet, channelPromise); - } + super.write(context, packet, channelPromise); } } diff --git a/core/src/main/java/net/momirealms/craftengine/core/plugin/network/NMSPacketEvent.java b/core/src/main/java/net/momirealms/craftengine/core/plugin/network/NMSPacketEvent.java index e95726ddb..d1b69a194 100644 --- a/core/src/main/java/net/momirealms/craftengine/core/plugin/network/NMSPacketEvent.java +++ b/core/src/main/java/net/momirealms/craftengine/core/plugin/network/NMSPacketEvent.java @@ -11,7 +11,6 @@ import java.util.Optional; public class NMSPacketEvent implements Cancellable { private final Object packet; private boolean cancelled; - private List delayedTasks = null; private Object newPacket = null; public NMSPacketEvent(Object packet) { @@ -34,17 +33,6 @@ public class NMSPacketEvent implements Cancellable { return newPacket; } - public void addDelayedTask(Runnable task) { - if (delayedTasks == null) { - delayedTasks = new ArrayList<>(); - } - delayedTasks.add(task); - } - - public List getDelayedTasks() { - return Optional.ofNullable(delayedTasks).orElse(Collections.emptyList()); - } - @Override public boolean isCancelled() { return cancelled;