package zmaster587.advancedRocketry.block; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.block.material.Material; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; import net.minecraft.tileentity.TileEntity; import net.minecraft.world.World; import zmaster587.advancedRocketry.tile.station.TileDockingPort; import zmaster587.advancedRocketry.tile.station.TileLandingPad; import zmaster587.libVulpes.LibVulpes; import zmaster587.libVulpes.block.BlockFullyRotatable; import zmaster587.libVulpes.inventory.GuiHandler; public class BlockStationModuleDockingPort extends BlockFullyRotatable { public BlockStationModuleDockingPort(Material par2Material) { super(par2Material); } @Override public boolean hasTileEntity(int metadata) { return true; } @Override @SideOnly(Side.CLIENT) public void registerBlockIcons(IIconRegister icon) { top = icon.registerIcon("libvulpes:machineGeneric"); rear = sides = bottom = top; front = icon.registerIcon("advancedrocketry:satelliteBay"); } @Override public TileEntity createTileEntity(World world, int metadata) { return new TileDockingPort(); } @Override public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int par6, float par7, float par8, float par9) { if(!world.isRemote) player.openGui(LibVulpes.instance, GuiHandler.guiId.MODULAR.ordinal(), world, x, y, z); return true; } @Override public void onBlockPlacedBy(World world, int x, int y, int z, EntityLivingBase player, ItemStack items) { super.onBlockPlacedBy(world, x, y, z, player, items); TileEntity tile = world.getTileEntity(x, y, z); if(tile instanceof TileDockingPort) { ((TileDockingPort) tile).registerTileWithStation(world, x, y, z); } } @Override public void onBlockPreDestroy(World world, int x, int y, int z, int oldMeta) { super.onBlockPreDestroy(world, x, y, z, oldMeta); TileEntity tile = world.getTileEntity(x, y, z); if(tile instanceof TileLandingPad) { ((TileDockingPort) tile).unregisterTileWithStation(world, x, y, z); } } }