--- ../src-base/minecraft/net/minecraft/inventory/Slot.java
+++ ../src-work/minecraft/net/minecraft/inventory/Slot.java
@@ -1,5 +1,6 @@
 package net.minecraft.inventory;
 
+import net.minecraft.client.Minecraft;
 import net.minecraft.entity.player.EntityPlayer;
 import net.minecraft.item.ItemStack;
 import net.minecraftforge.fml.relauncher.Side;
@@ -86,7 +87,7 @@
     @SideOnly(Side.CLIENT)
     public String func_178171_c()
     {
-        return null;
+        return backgroundName;
     }
 
     public ItemStack func_75209_a(int p_75209_1_)
@@ -109,4 +110,64 @@
     {
         return true;
     }
+
+    /*========================================= FORGE START =====================================*/
+    protected String backgroundName = null;
+    protected net.minecraft.util.ResourceLocation backgroundLocation = null;
+    protected Object backgroundMap;
+    /**
+     * Gets the path of the texture file to use for the background image of this slot when drawing the GUI.
+     * @return String: The texture file that will be used in GuiContainer.drawSlotInventory for the slot background.
+     */
+    @SideOnly(Side.CLIENT)
+    public net.minecraft.util.ResourceLocation getBackgroundLocation()
+    {
+        return (backgroundLocation == null ? net.minecraft.client.renderer.texture.TextureMap.field_110575_b : backgroundLocation);
+    }
+
+    /**
+     * Sets the texture file to use for the background image of the slot when it's empty.
+     * @param textureFilename String: Path of texture file to use, or null to use "/gui/items.png"
+     */
+    @SideOnly(Side.CLIENT)
+    public void setBackgroundLocation(net.minecraft.util.ResourceLocation texture)
+    {
+        this.backgroundLocation = texture;
+    }
+
+    /**
+     * Sets which icon index to use as the background image of the slot when it's empty.
+     * Getter is func_178171_c
+     * @param icon The icon to use, null for none
+     */
+    public void setBackgroundName(String name)
+    {
+        this.backgroundName = name;
+    }
+
+    @SideOnly(Side.CLIENT)
+    public net.minecraft.client.renderer.texture.TextureAtlasSprite getBackgroundSprite()
+    {
+        String name = func_178171_c();
+        return name == null ? null : getBackgroundMap().func_110572_b(name);
+    }
+
+    @SideOnly(Side.CLIENT)
+    protected net.minecraft.client.renderer.texture.TextureMap getBackgroundMap()
+    {
+        if (backgroundMap == null) backgroundMap = Minecraft.func_71410_x().func_147117_R();
+        return (net.minecraft.client.renderer.texture.TextureMap)backgroundMap;
+    }
+
+    /**
+     * Retrieves the index in the inventory for this slot, this value should typically not
+     * be used, but can be useful for some occasions.
+     *
+     * @return Index in associated inventory for this slot.
+     */
+    public int getSlotIndex()
+    {
+        return field_75225_a;
+    }
+    /*========================================= FORGE END =====================================*/
 }
