package kpc.common.blocks; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import kpc.api.computer.Computer; import kpc.common.computer.ServerComputer; import kpc.common.tile.TileEntityComputer; import net.minecraft.block.BlockContainer; import net.minecraft.block.material.Material; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.IIcon; import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; public final class BlockComputer extends BlockContainer{ @SideOnly(Side.CLIENT) private static final IIcon[] icons = new IIcon[6]; public BlockComputer(){ super(Material.iron); this.setCreativeTab(CreativeTabs.tabBlock); this.setHardness(5.0F); this.setResistance(5.0F); this.setBlockName("computer"); } @Override @SideOnly(Side.CLIENT) public void registerBlockIcons(IIconRegister register){ icons[ForgeDirection.NORTH.ordinal()] = register.registerIcon("kpc:computer/front"); icons[ForgeDirection.SOUTH.ordinal()] = register.registerIcon("kpc:computer/back"); icons[ForgeDirection.WEST.ordinal()] = register.registerIcon("kpc:computer/right"); icons[ForgeDirection.EAST.ordinal()] = register.registerIcon("kpc:computer/left"); icons[ForgeDirection.DOWN.ordinal()] = register.registerIcon("kpc:computer/bottom"); icons[ForgeDirection.UP.ordinal()] = register.registerIcon("kpc:computer/top"); } @Override @SideOnly(Side.CLIENT) public IIcon getIcon(int side, int meta){ ForgeDirection dir = ForgeDirection.getOrientation(side); return icons[dir.ordinal()]; } @Override public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float fx, float fy, float fz) { ((TileEntityComputer) world.getTileEntity(x, y, z)).interact(player); return true; } @Override public void onBlockPreDestroy(World world, int x, int y, int z, int p_149725_5_) { super.onBlockPreDestroy(world, x, y, z, p_149725_5_); Computer comp = ((TileEntityComputer) world.getTileEntity(x, y, z)).createComputer(); if(comp instanceof ServerComputer){ ((ServerComputer) comp).broadcastDelete(); } } @Override public TileEntity createNewTileEntity(World p_149915_1_, int p_149915_2_) { return new TileEntityComputer(); } }