package net.minecraft.server;
import java.util.Random;
public class BlockMagma extends Block {
public BlockMagma() {
super(Material.STONE);
this.a(CreativeModeTab.b);
this.a(0.2F);
this.a(true);
}
public MaterialMapColor r(IBlockData iblockdata) {
return MaterialMapColor.K;
}
public void stepOn(World world, BlockPosition blockposition, Entity entity) {
if (!entity.isFireProof() && entity instanceof EntityLiving && !EnchantmentManager.i((EntityLiving) entity)) {
org.bukkit.craftbukkit.event.CraftEventFactory.blockDamage = world.getWorld().getBlockAt(blockposition.getX(), blockposition.getY(), blockposition.getZ()); // CraftBukkit
entity.damageEntity(DamageSource.HOT_FLOOR, 1.0F);
org.bukkit.craftbukkit.event.CraftEventFactory.blockDamage = null; // CraftBukkit
}
super.stepOn(world, blockposition, entity);
}
public void b(World world, BlockPosition blockposition, IBlockData iblockdata, Random random) {
BlockPosition blockposition1 = blockposition.up();
IBlockData iblockdata1 = world.getType(blockposition1);
if (iblockdata1.getBlock() == Blocks.WATER || iblockdata1.getBlock() == Blocks.FLOWING_WATER) {
world.setAir(blockposition1);
world.a((EntityHuman) null, blockposition, SoundEffects.bH, SoundCategory.BLOCKS, 0.5F, 2.6F + (world.random.nextFloat() - world.random.nextFloat()) * 0.8F);
if (world instanceof WorldServer) {
((WorldServer) world).a(EnumParticle.SMOKE_LARGE, (double) blockposition1.getX() + 0.5D, (double) blockposition1.getY() + 0.25D, (double) blockposition1.getZ() + 0.5D, 8, 0.5D, 0.25D, 0.5D, 0.0D, new int[0]);
}
}
}
public boolean a(IBlockData iblockdata, Entity entity) {
return entity.isFireProof();
}
}