From 0198540927383642459fe824b9298e9f351c4dd5 Mon Sep 17 00:00:00 2001 From: 17146 <1714673995@qq.com> Date: Fri, 6 Jun 2025 22:15:18 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B0=83=E6=95=B4=E8=BD=BD=E5=85=B7=E5=85=8D?= =?UTF-8?q?=E7=96=ABbuff=E6=9C=BA=E5=88=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../superbwarfare/event/LivingEventHandler.java | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/atsuishio/superbwarfare/event/LivingEventHandler.java b/src/main/java/com/atsuishio/superbwarfare/event/LivingEventHandler.java index 00ac9d3e9..dc21eefae 100644 --- a/src/main/java/com/atsuishio/superbwarfare/event/LivingEventHandler.java +++ b/src/main/java/com/atsuishio/superbwarfare/event/LivingEventHandler.java @@ -31,6 +31,7 @@ import net.minecraft.util.Mth; import net.minecraft.world.damagesource.DamageSource; import net.minecraft.world.damagesource.DamageType; import net.minecraft.world.damagesource.DamageTypes; +import net.minecraft.world.effect.MobEffectCategory; import net.minecraft.world.entity.Entity; import net.minecraft.world.entity.EquipmentSlot; import net.minecraft.world.entity.LivingEntity; @@ -645,7 +646,13 @@ public class LivingEventHandler { @SubscribeEvent public static void onEffectApply(MobEffectEvent.Applicable event) { - if (event.getEntity().getVehicle() instanceof ArmedVehicleEntity vehicle && vehicle.hidePassenger(event.getEntity())) { + var effectInstance = event.getEffectInstance(); + if (effectInstance == null) return; + + if (effectInstance.getEffect().value().getCategory() == MobEffectCategory.HARMFUL + && event.getEntity().getVehicle() instanceof ArmedVehicleEntity vehicle + && vehicle.hidePassenger(event.getEntity()) + ) { event.setResult(MobEffectEvent.Applicable.Result.DO_NOT_APPLY); } }