package net.fretux.knockedback; import net.minecraft.network.FriendlyByteBuf; import net.minecraft.server.level.ServerPlayer; import net.minecraftforge.network.NetworkEvent; import java.util.function.Supplier; public class HelpUpKnockedPacket { private final boolean helping; public HelpUpKnockedPacket(boolean helping) { this.helping = helping; } public static void encode(HelpUpKnockedPacket msg, FriendlyByteBuf buf) { buf.writeBoolean(msg.helping); } public static HelpUpKnockedPacket decode(FriendlyByteBuf buf) { return new HelpUpKnockedPacket(buf.readBoolean()); } public static void handle(HelpUpKnockedPacket msg, Supplier ctx) { ctx.get().enqueueWork(() -> { ServerPlayer helper = ctx.get().getSender(); if (helper == null) return; if (msg.helping) { HelpUpHandler.startHelpUp(helper); } else { HelpUpHandler.cancelHelpUpByHelper(helper.getUUID()); } }); ctx.get().setPacketHandled(true); } }