electrodynamics/src/main/scala/edx/quantum/blocks/BlockToxicWaste.scala
2015-01-26 20:35:38 +08:00

43 lines
1.4 KiB
Scala

package edx.quantum.blocks
import java.util.Random
import edx.quantum.QuantumContent
import net.minecraft.block.material.Material
import net.minecraft.entity.{Entity, EntityLivingBase}
import net.minecraft.util.DamageSource
import net.minecraft.world.World
import net.minecraftforge.fluids.BlockFluidClassic
import resonantengine.lib.poison.PoisonRadiation
import resonantengine.lib.transform.vector.Vector3
class BlockToxicWaste extends BlockFluidClassic(QuantumContent.getFluidToxicWaste, Material.water)
{
//Constructor
setTickRate(20)
override def randomDisplayTick(par1World: World, x: Int, y: Int, z: Int, par5Random: Random)
{
super.randomDisplayTick(par1World, x, y, z, par5Random)
if (par5Random.nextInt(100) == 0)
{
val d5: Double = x + par5Random.nextFloat
val d7: Double = y + this.maxY
val d6: Double = z + par5Random.nextFloat
par1World.spawnParticle("suspended", d5, d7, d6, 0.0D, 0.0D, 0.0D)
}
if (par5Random.nextInt(200) == 0)
{
par1World.playSound(x, y, z, "liquid.lava", 0.2F + par5Random.nextFloat * 0.2F, 0.9F + par5Random.nextFloat * 0.15F, false)
}
}
override def onEntityCollidedWithBlock(par1World: World, x: Int, y: Int, z: Int, entity: Entity)
{
if (entity.isInstanceOf[EntityLivingBase])
{
entity.attackEntityFrom(DamageSource.wither, 3)
PoisonRadiation.INSTANCE.poisonEntity(new Vector3(x, y, z), entity.asInstanceOf[EntityLivingBase], 4)
}
}
}