From cd98b0c8117af69265577352aed8e82bf7d5bfbd Mon Sep 17 00:00:00 2001 From: Micle Date: Sun, 5 Jun 2022 13:50:05 +0100 Subject: [PATCH] Created new packet for requesting the last input tick from a client. --- .../server/RequestLastInputTickPacket.java | 30 +++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 src/main/java/dev/micle/loginprotection/network/server/RequestLastInputTickPacket.java diff --git a/src/main/java/dev/micle/loginprotection/network/server/RequestLastInputTickPacket.java b/src/main/java/dev/micle/loginprotection/network/server/RequestLastInputTickPacket.java new file mode 100644 index 0000000..6717352 --- /dev/null +++ b/src/main/java/dev/micle/loginprotection/network/server/RequestLastInputTickPacket.java @@ -0,0 +1,30 @@ +package dev.micle.loginprotection.network.server; + +import dev.micle.loginprotection.network.NetworkManager; +import dev.micle.loginprotection.network.client.LastInputTickPacket; +import net.minecraft.network.FriendlyByteBuf; +import net.minecraftforge.network.NetworkEvent; + +import java.util.function.Supplier; + +public class RequestLastInputTickPacket { + public RequestLastInputTickPacket() {} + + public static void encode(final RequestLastInputTickPacket packet, final FriendlyByteBuf buffer) { + NetworkManager.writeVersionInfo(buffer, false); + } + + public static RequestLastInputTickPacket decode(final FriendlyByteBuf buffer) { + NetworkManager.checkVersion(buffer); + return new RequestLastInputTickPacket(); + } + + public static void handle(final RequestLastInputTickPacket packet, final Supplier contextSupplier) { + final NetworkEvent.Context context = contextSupplier.get(); + context.enqueueWork(() -> { + // Send last input tick packet back to server + NetworkManager.getChannel().sendToServer(new LastInputTickPacket()); + }); + context.setPacketHandled(true); + } +}