package com.hbm.blocks.gas; import java.util.Random; import com.hbm.extprop.HbmLivingProps; import com.hbm.util.ArmorRegistry; import com.hbm.util.ArmorUtil; import com.hbm.util.ContaminationUtil; import com.hbm.util.ArmorRegistry.HazardClass; import com.hbm.util.ContaminationUtil.ContaminationType; import com.hbm.util.ContaminationUtil.HazardType; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLivingBase; import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; public class BlockGasRadon extends BlockGasBase { public BlockGasRadon() { super(0.1F, 0.8F, 0.1F); } @Override public void onEntityCollidedWithBlock(World world, int p_149670_2_, int p_149670_3_, int p_149670_4_, Entity entity) { if(!(entity instanceof EntityLivingBase)) return; EntityLivingBase entityLiving = (EntityLivingBase) entity; if(ArmorRegistry.hasAllProtection(entityLiving, 3, HazardClass.PARTICLE_FINE)) { ArmorUtil.damageGasMaskFilter(entityLiving, 1); } else { ContaminationUtil.contaminate((EntityLivingBase)entity, HazardType.RADIATION, ContaminationType.RAD_BYPASS, 0.05F); HbmLivingProps.incrementAsbestos((EntityLivingBase)entity, 1); } } @Override public ForgeDirection getFirstDirection(World world, int x, int y, int z) { if(world.rand.nextInt(5) == 0) return ForgeDirection.UP; return ForgeDirection.DOWN; } @Override public ForgeDirection getSecondDirection(World world, int x, int y, int z) { return this.randomHorizontal(world); } @Override public void updateTick(World world, int x, int y, int z, Random rand) { if(!world.isRemote && rand.nextInt(50) == 0) { world.setBlockToAir(x, y, z); return; } super.updateTick(world, x, y, z, rand); } }