net.minecraft.inventory

## Class ContainerEnchantment

- java.lang.Object
- - net.minecraft.inventory.Container
  - - net.minecraft.inventory.ContainerEnchantment

-     public class ContainerEnchantment
      extends Container

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `int[]` | `enchantLevels` 3-member array storing the enchantment levels of each slot
    `long` | `nameSeed` used as seed for EnchantmentNameParts (see GuiEnchantment)
    `IInventory` | `tableInventory` SlotEnchantmentTable object with ItemStack to be enchanted

    - ### Fields inherited from class net.minecraft.inventory.Container

      `inventoryItemStacks, inventorySlots, windowId`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `ContainerEnchantment(InventoryPlayer par1InventoryPlayer, World par2World, int par3, int par4, int par5)`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `addCraftingToCrafters(ICrafting par1ICrafting)`
    `boolean` | `canInteractWith(EntityPlayer par1EntityPlayer)`
    `void` | `detectAndSendChanges()` Looks for changes made in the container, sends them to every listener.
    `boolean` | `enchantItem(EntityPlayer par1EntityPlayer, int par2)` enchants the item on the table using the specified slot; also deducts XP from player
    `void` | `onCraftGuiClosed(EntityPlayer par1EntityPlayer)` Callback for when the crafting gui is closed.
    `void` | `onCraftMatrixChanged(IInventory par1IInventory)` Callback for when the crafting matrix is changed.
    `ItemStack` | `transferStackInSlot(EntityPlayer par1EntityPlayer, int par2)` Called when a player shift-clicks on a slot.
    `void` | `updateProgressBar(int par1, int par2)`

    - ### Methods inherited from class net.minecraft.inventory.Container

      `calcRedstoneFromInventory, func_94525_a, func_94527_a, func_94528_d, func_94529_b, func_94530_a, func_94531_b, func_94532_c, func_94534_d, getInventory, getNextTransactionID, getSlot, getSlotFromInventory, isPlayerNotUsingContainer, putStackInSlot, putStacksInSlots, removeCraftingFromCrafters, setPlayerIsPresent, slotClick`

    - ### Methods inherited from class java.lang.Object

      `equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### tableInventory

          public IInventory tableInventory

      SlotEnchantmentTable object with ItemStack to be enchanted

    - #### nameSeed

          public long nameSeed

      used as seed for EnchantmentNameParts (see GuiEnchantment)

    - #### enchantLevels

          public int[] enchantLevels

      3-member array storing the enchantment levels of each slot

  - ### Constructor Detail

    - #### ContainerEnchantment

          public ContainerEnchantment(InventoryPlayer par1InventoryPlayer,
                              World par2World,
                              int par3,
                              int par4,
                              int par5)

  - ### Method Detail

    - #### addCraftingToCrafters

          public void addCraftingToCrafters(ICrafting par1ICrafting)

      Overrides:
        `addCraftingToCrafters` in class `Container`

    - #### detectAndSendChanges

          public void detectAndSendChanges()

      Looks for changes made in the container, sends them to every listener.
      Overrides:
        `detectAndSendChanges` in class `Container`

    - #### updateProgressBar

          public void updateProgressBar(int par1,
                               int par2)

      Overrides:
        `updateProgressBar` in class `Container`

    - #### onCraftMatrixChanged

          public void onCraftMatrixChanged(IInventory par1IInventory)

      Callback for when the crafting matrix is changed.
      Overrides:
        `onCraftMatrixChanged` in class `Container`

    - #### enchantItem

          public boolean enchantItem(EntityPlayer par1EntityPlayer,
                            int par2)

      enchants the item on the table using the specified slot; also deducts XP from player
      Overrides:
        `enchantItem` in class `Container`

    - #### onCraftGuiClosed

          public void onCraftGuiClosed(EntityPlayer par1EntityPlayer)

      Callback for when the crafting gui is closed.
      Overrides:
        `onCraftGuiClosed` in class `Container`

    - #### canInteractWith

          public boolean canInteractWith(EntityPlayer par1EntityPlayer)

      Specified by:
        `canInteractWith` in class `Container`

    - #### transferStackInSlot

          public ItemStack transferStackInSlot(EntityPlayer par1EntityPlayer,
                                      int par2)

      Called when a player shift-clicks on a slot. You must override this or you will crash when someone does that.
      Overrides:
        `transferStackInSlot` in class `Container`