From ff960cb0445255c7f792ecd0f0cb55410e205a43 Mon Sep 17 00:00:00 2001 From: throwaway180185 Date: Sun, 12 Dec 2021 22:35:31 -0500 Subject: [PATCH] Allow player to take certian damage while in vehicle allowed damage types: magic (poison, instant damage, /kill) wither starve on fire out of world (void) allows status effects to persist while in vehicle --- src/main/java/com/flansmod/common/PlayerHandler.java | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/flansmod/common/PlayerHandler.java b/src/main/java/com/flansmod/common/PlayerHandler.java index c9ea79711..bc41a7cd8 100644 --- a/src/main/java/com/flansmod/common/PlayerHandler.java +++ b/src/main/java/com/flansmod/common/PlayerHandler.java @@ -9,6 +9,7 @@ import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.network.NetHandlerPlayServer; +import net.minecraft.util.DamageSource; import net.minecraft.world.WorldServer; import net.minecraftforge.common.MinecraftForge; import net.minecraftforge.event.entity.living.LivingAttackEvent; @@ -54,7 +55,12 @@ public void onEntityHurt(LivingAttackEvent event) if(event instanceof LivingAttackEvent && (entity.getRidingEntity() instanceof EntityDriveable || entity.getRidingEntity() instanceof EntitySeat)) { //TODO Set Drivable damage - event.setCanceled(true); + if((event.getSource() != DamageSource.MAGIC) + && (event.getSource() != DamageSource.WITHER) + && (event.getSource() != DamageSource.STARVE) + && (event.getSource() != DamageSource.ON_FIRE) + && (event.getSource() != DamageSource.OUT_OF_WORLD)) + event.setCanceled(true); } }