public UICraftingTable(EntityPlayer p, int x, int y)
    {
        super(p, 47);
        this.posX = x;
        this.posY = y;
        
        for(int i = 0 ; i < 10 ; i++)
        {
            this.slots[i] = new UIInventorySlot(BlockyMain.width / 2 - 16 - (32 * 4) - 12 + i * 32 + i + 3, BlockyMain.height / 2 - 32-50 - 3 - 32 - 20);
        }
        
        for(int i = 0 ; i < 10 ; i++)
        {
            this.slots[i + 10] = new UIInventorySlot(BlockyMain.width / 2 - 16 - (32 * 4) - 12 + i * 32 + i + 3, BlockyMain.height / 2-50 - 32 - 3);
        }
        
        for(int i = 0 ; i < 10 ; i++)
        {
            this.slots[i + 20] = new UIInventorySlot(BlockyMain.width / 2 - 16 - (32 * 4) - 12 + i * 32 + i + 3, BlockyMain.height / 2-50);
        }
        
        for(int i = 0 ; i < 10 ; i++)
        {
            this.slots[i + 30] = new UIInventorySlot(BlockyMain.width / 2 - 16 - (32 * 4) - 12 + i * 32 + i + 3, BlockyMain.height / 2-50 + 32 + 3);
        }
        
        for(int i = 0;i<6;i++)
        {
            this.slots[i + 40] = new UIInventorySlot(BlockyMain.width / 2 - 16 - (32 * 4) - 12 + 2 * 32+32*i + i+2 + 3, BlockyMain.height / 2-25+35 + 32 + 3);
            this.slots[i + 40].addListener(this);
        }
        
        slots[46] = new UICraftResultSlot(BlockyMain.width / 2 - 16 - (32 * 4) - 12 + 2 * 32+(int)(32*2.5f) + 3+2 + 3, BlockyMain.height / 2+25+35 + 32 + 3);
        
        slots[46].addListener(this);
        
        for(int i = 0 ; i < p.inv.getInventorySize() ; i++)
        {
            this.slots[i].setStack(p.inv.getStackIn(i));
        }
    }