Merge pull request #6 from Fretuks/fix-swim-animation-for-knocked-player

Fix knocked swim animation for local player
This commit is contained in:
2026-01-07 13:06:50 +01:00
committed by GitHub
@@ -0,0 +1,35 @@
package net.fretux.knockedback.client;
import net.fretux.knockedback.KnockedBack;
import net.minecraft.client.Minecraft;
import net.minecraft.world.entity.Pose;
import net.minecraft.world.entity.player.Player;
import net.minecraftforge.api.distmarker.Dist;
import net.minecraftforge.event.TickEvent;
import net.minecraftforge.eventbus.api.SubscribeEvent;
import net.minecraftforge.fml.common.Mod;
@Mod.EventBusSubscriber(modid = KnockedBack.MOD_ID, value = Dist.CLIENT, bus = Mod.EventBusSubscriber.Bus.FORGE)
public class LocalKnockedPoseHandler {
@SubscribeEvent
public static void onClientTick(TickEvent.ClientTickEvent event) {
if (event.phase != TickEvent.Phase.END) {
return;
}
Player player = Minecraft.getInstance().player;
if (player == null) {
return;
}
if (ClientKnockedState.isKnocked()) {
if (player.getVehicle() != null) {
if (player.getForcedPose() == Pose.SWIMMING) {
player.setForcedPose(null);
}
} else if (player.getForcedPose() != Pose.SWIMMING) {
player.setForcedPose(Pose.SWIMMING);
}
} else if (player.getForcedPose() == Pose.SWIMMING) {
player.setForcedPose(null);
}
}
}