From 21cdea67f6369e3845f391ab13713d185d61e182 Mon Sep 17 00:00:00 2001 From: Snownee <1850986885@qq.com> Date: Mon, 18 May 2020 22:13:07 +0800 Subject: [PATCH] Fix AirCurrent damage handling --- .../contraptions/components/fan/AirCurrent.java | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/simibubi/create/modules/contraptions/components/fan/AirCurrent.java b/src/main/java/com/simibubi/create/modules/contraptions/components/fan/AirCurrent.java index 7d472a462..982b5740f 100644 --- a/src/main/java/com/simibubi/create/modules/contraptions/components/fan/AirCurrent.java +++ b/src/main/java/com/simibubi/create/modules/contraptions/components/fan/AirCurrent.java @@ -17,7 +17,9 @@ import com.simibubi.create.modules.logistics.InWorldProcessing.Type; import net.minecraft.block.BlockState; import net.minecraft.block.Blocks; import net.minecraft.entity.Entity; +import net.minecraft.entity.EntityType; import net.minecraft.entity.item.ItemEntity; +import net.minecraft.entity.monster.EndermanEntity; import net.minecraft.entity.player.ServerPlayerEntity; import net.minecraft.nbt.CompoundNBT; import net.minecraft.state.properties.BlockStateProperties; @@ -113,14 +115,21 @@ public class AirCurrent { } else { switch (processingType) { case BLASTING: - entity.setFire(10); - entity.attackEntityFrom(damageSourceLava, 4); + if (!entity.isImmuneToFire()) { + entity.setFire(10); + entity.attackEntityFrom(damageSourceLava, 4); + } break; case SMOKING: - entity.setFire(2); - entity.attackEntityFrom(damageSourceFire, 2); + if (!entity.isImmuneToFire()) { + entity.setFire(2); + entity.attackEntityFrom(damageSourceFire, 2); + } break; case SPLASHING: + if (entity instanceof EndermanEntity || entity.getType() == EntityType.SNOW_GOLEM || entity.getType() == EntityType.BLAZE) { + entity.attackEntityFrom(DamageSource.DROWN, 2); + } if (!entity.isBurning()) break; entity.extinguish();