private List<Packet<?>> queue = new ArrayList<>();
private int ticks = 0;
public void onEventTick(EventTick event) {
ticks++;
if (ticks >= 5) {
flush();
ticks = 0;
}
}
public void onEventPacket(EventPacket event) {
if (event.isSend()) {
queue.add(event.getPacket());
event.cancel();
}
}
private void flush() {
if (queue.isEmpty()) return;
if (mc.getNetworkHandler() != null) {
for (Packet<?> packet : queue) {
mc.getNetworkHandler().getConnection().send(packet);
}
}
queue.clear();
}