37 lines
1.1 KiB
Java
37 lines
1.1 KiB
Java
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<NetworkEvent.Context> 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);
|
|
}
|
|
}
|