package zmaster587.advancedRocketry.block.multiblock; import java.util.List; import net.minecraft.block.material.Material; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.IIcon; import net.minecraft.world.World; import zmaster587.advancedRocketry.tile.hatch.TileDataBus; import zmaster587.advancedRocketry.tile.hatch.TileSatelliteHatch; import zmaster587.advancedRocketry.tile.infrastructure.TileRocketFluidLoader; import zmaster587.advancedRocketry.tile.infrastructure.TileRocketFluidUnloader; import zmaster587.advancedRocketry.tile.infrastructure.TileRocketLoader; import zmaster587.advancedRocketry.tile.infrastructure.TileRocketUnloader; import zmaster587.libVulpes.block.multiblock.BlockHatch; public class BlockARHatch extends BlockHatch { public BlockARHatch(Material material) { super(material); } IIcon data, satellite, fluidLoader, fluidUnloader; @Override public void registerBlockIcons(IIconRegister iconRegister) { super.registerBlockIcons(iconRegister); data = iconRegister.registerIcon("advancedrocketry:dataHatch"); satellite = iconRegister.registerIcon("advancedrocketry:satelliteBay"); fluidLoader = iconRegister.registerIcon("libvulpes:fluidInput"); fluidUnloader = iconRegister.registerIcon("libvulpes:fluidOutput"); } @Override public IIcon getIcon(int side, int meta) { if((meta & 7) == 0) { return data; }else if((meta & 7) == 1 ) { return satellite; }else if((meta & 7) == 2) { return output; }else if((meta & 7) == 4) { return fluidUnloader; } else if((meta & 7) == 5) return fluidLoader; else return blockIcon; } @Override public void getSubBlocks(Item item, CreativeTabs tab, List list) { list.add(new ItemStack(item, 1, 0)); list.add(new ItemStack(item, 1, 1)); list.add(new ItemStack(item, 1, 2)); list.add(new ItemStack(item, 1, 3)); list.add(new ItemStack(item, 1, 4)); list.add(new ItemStack(item, 1, 5)); } @Override public TileEntity createTileEntity(World world, int metadata) { //TODO: multiple sized Hatches if((metadata & 7) == 0) return new TileDataBus(4); else if((metadata & 7) == 1) return new TileSatelliteHatch(1); else if((metadata & 7) == 2) return new TileRocketUnloader(4); else if((metadata & 7) == 3) return new TileRocketLoader(4); else if((metadata & 7) == 4) return new TileRocketFluidUnloader(); else if((metadata & 7) == 5) return new TileRocketFluidLoader(); return null; } }