package net.geforcemods.securitycraft.blocks.mines; import java.util.Random; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.geforcemods.securitycraft.api.IOwnable; import net.geforcemods.securitycraft.blocks.BlockOwnable; import net.geforcemods.securitycraft.gui.GuiHandler; import net.geforcemods.securitycraft.main.mod_SecurityCraft; import net.geforcemods.securitycraft.tileentity.TileEntityIMS; import net.geforcemods.securitycraft.util.BlockUtils; import net.minecraft.block.material.Material; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.tileentity.TileEntity; import net.minecraft.world.World; public class BlockIMS extends BlockOwnable { public BlockIMS(Material par1) { super(par1); this.setBlockBounds(0F, 0F, 0F, 1F, 0.45F, 1F); } public boolean isOpaqueCube(){ return false; } public boolean isNormalCube(){ return false; } public int getRenderType(){ return -1; } public boolean onBlockActivated(World par1World, int par2, int par3, int par4, EntityPlayer par5EntityPlayer, int par6, float par7, float par8, float par9){ if(!par1World.isRemote){ if(((IOwnable) par1World.getTileEntity(par2, par3, par4)).getOwner().isOwner(par5EntityPlayer)){ par5EntityPlayer.openGui(mod_SecurityCraft.instance, GuiHandler.IMS_GUI_ID, par1World, par2, par3, par4); return true; } } return false; } public void updateTick(World par1World, int par2, int par3, int par4, Random par5Random){ if(!par1World.isRemote){ BlockUtils.destroyBlock(par1World, par2, par3, par4, false); } } /** * A randomly called display update to be able to add particles or other items for display */ @SideOnly(Side.CLIENT) public void randomDisplayTick(World par1World, int par2, int par3, int par4, Random par5Random){ if(par1World.getTileEntity(par2, par3, par4) != null && ((TileEntityIMS) par1World.getTileEntity(par2, par3, par4)).getBombsRemaining() == 0){ double d0 = par2 + 0.5F + (par5Random.nextFloat() - 0.5F) * 0.2D; double d1 = par3 + 0.4F + (par5Random.nextFloat() - 0.5F) * 0.2D; double d2 = par4 + 0.5F + (par5Random.nextFloat() - 0.5F) * 0.2D; double d3 = 0.2199999988079071D; double d4 = 0.27000001072883606D; par1World.spawnParticle("smoke", d0 - d4, d1 + d3, d2, 0.0D, 0.0D, 0.0D); par1World.spawnParticle("smoke", d0 + d4, d1 + d3, d2, 0.0D, 0.0D, 0.0D); par1World.spawnParticle("smoke", d0, d1 + d3, d2 - d4, 0.0D, 0.0D, 0.0D); par1World.spawnParticle("smoke", d0, d1 + d3, d2 + d4, 0.0D, 0.0D, 0.0D); par1World.spawnParticle("smoke", d0, d1, d2, 0.0D, 0.0D, 0.0D); par1World.spawnParticle("flame", d0 - d4, d1 + d3, d2, 0.0D, 0.0D, 0.0D); par1World.spawnParticle("flame", d0 + d4, d1 + d3, d2, 0.0D, 0.0D, 0.0D); } } public TileEntity createNewTileEntity(World var1, int var2) { return new TileEntityIMS(); } }