package com.someluigi.slperiph.block; import java.util.List; import net.minecraft.block.Block; import net.minecraft.block.material.Material; import net.minecraft.client.renderer.texture.IconRegister; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.item.ItemStack; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.Icon; import net.minecraft.world.World; import com.someluigi.slperiph.ccportable.shared.TileEntityTransmitter; import com.someluigi.slperiph.tileentity.TileEntityHTTPD; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import dan200.computer.api.ComputerCraftAPI; public class SLPBlock extends Block { public Icon heatVentIcon; public SLPBlock(int par1, int par2, Material par3Material) { super(par1, Material.rock); this.setCreativeTab(ComputerCraftAPI.getCreativeTab()); } /** * Called whenever the block is added into the world. Args: world, x, y, z */ @Override public void onBlockAdded(World par1World, int par2, int par3, int par4) { par1World.setBlockTileEntity( par2, par3, par4, this.createNewTileEntity(par1World, par1World.getBlockMetadata(par2, par3, par4))); } // this.o /** * Returns the TileEntity used by this block. */ public TileEntity createNewTileEntity(World world, int metadata) { switch (metadata) { case 0: return new TileEntityHTTPD(); case 1: // PP: Transmitter return new TileEntityTransmitter(); } return null; } /** * each class overrides this to return a new <className> */ public TileEntity createNewTileEntity(World var1) { return new TileEntityHTTPD(); } @Override public boolean hasTileEntity(int metadata) { return true; } @Override @SideOnly(Side.CLIENT) // Client side only public Icon getBlockTextureFromSideAndMetadata(int side, int meta) { // Tells // it // which // texture // from // the // sprite // sheet switch (meta) { case 0: // HTTP Server switch (side) { case 1: return this.heatVentIcon; case 0: return this.heatVentIcon; } return this.blockIcon; case 1: // PP: Transmitter // return; } return this.blockIcon; } public String getTextureFile() { return "com/someluigi/slperiph/res/textures.png"; } @Override @SuppressWarnings({ "unchecked", "rawtypes" }) public void getSubBlocks(int i, CreativeTabs tab, List list) { list.add(new ItemStack(i, 1, 0)); } @Override public int damageDropped(int i) { return i; } @Override @SideOnly(Side.CLIENT) public void registerIcons(IconRegister ir) { this.blockIcon = ir .registerIcon("slperiph:blockhttpserver-server"); this.heatVentIcon = ir .registerIcon("slperiph:blockhttpserver-vents"); } }