diff --git a/src/main/java/com/atsuishio/superbwarfare/mixins/FishingHookMixin.java b/src/main/java/com/atsuishio/superbwarfare/mixins/FishingHookMixin.java new file mode 100644 index 000000000..e4a903434 --- /dev/null +++ b/src/main/java/com/atsuishio/superbwarfare/mixins/FishingHookMixin.java @@ -0,0 +1,21 @@ +package com.atsuishio.superbwarfare.mixins; + +import com.atsuishio.superbwarfare.entity.vehicle.base.VehicleEntity; +import net.minecraft.world.entity.Entity; +import net.minecraft.world.entity.projectile.FishingHook; +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(FishingHook.class) +public class FishingHookMixin { + + @Inject(method = "canHitEntity(Lnet/minecraft/world/entity/Entity;)Z", at = @At("HEAD"), cancellable = true) + private void canHook(Entity entity, CallbackInfoReturnable cir) { + if (entity instanceof VehicleEntity) { + cir.setReturnValue(false); + cir.cancel(); + } + } +} diff --git a/src/main/resources/mixins.superbwarfare.json b/src/main/resources/mixins.superbwarfare.json index 5bfc77eb9..fa85e6a15 100644 --- a/src/main/resources/mixins.superbwarfare.json +++ b/src/main/resources/mixins.superbwarfare.json @@ -6,6 +6,7 @@ "mixins": [ "ClientboundSetPassengersPacketMixin", "EntityMixin", + "FishingHookMixin", "LivingEntityMixin", "PlayerMixin" ],