package pneumaticCraft.common.block.pneumaticPlants; import java.util.Random; import net.minecraft.entity.item.EntityItem; import net.minecraft.item.ItemStack; import net.minecraft.world.World; import pneumaticCraft.common.item.ItemPlasticPlants; import pneumaticCraft.common.item.Itemss; import pneumaticCraft.common.network.NetworkHandler; import pneumaticCraft.common.network.PacketPlaySound; import pneumaticCraft.lib.Textures; public class BlockCreeperPlant extends BlockPneumaticPlantBase{ @Override protected int getSeedDamage(){ return ItemPlasticPlants.CREEPER_PLANT_DAMAGE; } @Override protected String getTextureString(){ return Textures.ICON_CREEPER_PLANT_LOCATION; } @Override protected boolean canGrowWithLightValue(int lightValue){ return lightValue >= 10; } @Override public boolean skipGrowthCheck(World world, int x, int y, int z){ return world.getBlockMetadata(x, y, z) == 14; } /** * Returns the quantity of items to drop on block destruction. */ @Override public int quantityDropped(Random par1Random){ return par1Random.nextInt(2) + 1; } @Override public void executeFullGrownEffect(World world, int x, int y, int z, Random rand){ if(world.getBlockMetadata(x, y, z) == 14) { if(!world.isRemote) { world.createExplosion(null, x + 0.5D, y + 0.5D, z + 0.5D, 0.5F, false); EntityItem item = new EntityItem(world, x + 0.5D, y + 0.5D, z + 0.5D, new ItemStack(Itemss.plasticPlant, 1, ItemPlasticPlants.CREEPER_PLANT_DAMAGE)); item.motionX = (rand.nextGaussian() - 0.5D) / 2; item.motionY = rand.nextDouble(); item.motionZ = (rand.nextGaussian() - 0.5D) / 2; item.lifespan = 300; ItemPlasticPlants.markInactive(item); world.spawnEntityInWorld(item); world.setBlock(x, y, z, this, world.getBlockMetadata(x, y, z) - 2, 3); } } else { world.setBlockMetadataWithNotify(x, y, z, 14, 3); NetworkHandler.sendToAllAround(new PacketPlaySound("creeper.primed", x + 0.5D, y + 0.5D, z + 0.5D, 1.0F, 1.0F, true), world); world.scheduleBlockUpdate(x, y, z, this, 60); } } @Override public void randomDisplayTick(World world, int x, int y, int z, Random rand){ if(world.getBlockMetadata(x, y, z) == 14) world.spawnParticle("largesmoke", x + 0.5D, y + 0.9D, z + 0.5D, 0, 0, 0); } }