add "Help Up" feature for knocked players, improve execution handling, and update mod version to 1.6.0
This commit is contained in:
@@ -0,0 +1,36 @@
|
||||
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);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user