diff --git a/src/main/java/com/atsuishio/superbwarfare/mixins/ClientPlayerEntityMixin.java b/src/main/java/com/atsuishio/superbwarfare/mixins/ClientPlayerEntityMixin.java new file mode 100644 index 000000000..321c1a107 --- /dev/null +++ b/src/main/java/com/atsuishio/superbwarfare/mixins/ClientPlayerEntityMixin.java @@ -0,0 +1,25 @@ +package com.atsuishio.superbwarfare.mixins; + +import com.atsuishio.superbwarfare.entity.VehicleEntity; +import com.mojang.authlib.GameProfile; +import net.minecraft.client.multiplayer.ClientLevel; +import net.minecraft.client.player.AbstractClientPlayer; +import net.minecraft.client.player.LocalPlayer; +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.injection.At; +import org.spongepowered.asm.mixin.injection.Inject; +import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable; + +@Mixin(LocalPlayer.class) +public class ClientPlayerEntityMixin extends AbstractClientPlayer { + public ClientPlayerEntityMixin(ClientLevel world, GameProfile profile) { + super(world, profile); + } + + @Inject(method = "isCrouching()Z", at = @At("HEAD"), cancellable = true) + public void ia$isCrouching(CallbackInfoReturnable cir) { + if (getRootVehicle() instanceof VehicleEntity) { + cir.setReturnValue(false); + } + } +} diff --git a/src/main/resources/mixins.superbwarfare.json b/src/main/resources/mixins.superbwarfare.json index f502ef740..d5e4c37fd 100644 --- a/src/main/resources/mixins.superbwarfare.json +++ b/src/main/resources/mixins.superbwarfare.json @@ -9,6 +9,7 @@ ], "client": [ "CameraMixin", + "ClientPlayerEntityMixin", "GameRendererMixin", "ItemInHandLayerMixin", "KeyMappingMixin",