@@ -0,0 +1,1450 @@
+package org.cyclops.cyclopscore.inventory.container;%0A%0Aimport net.minecraft.entity.player.PlayerEntity;%0Aimport net.minecraft.entity.player.PlayerInventory;%0Aimport net.minecraft.inventory.container.Container;%0Aimport net.minecraft.inventory.container.INamedContainerProvider;%0Aimport net.minecraft.util.Hand;%0Aimport net.minecraft.util.text.ITextComponent;%0A%0Aimport javax.annotation.Nullable;%0A%0A/**%0A * A %7B@link INamedContainerProvider%7D for held items.%0A * @author rubensworks%0A */%0Apublic class NamedContainerProviderItem implements INamedContainerProvider %7B%0A%0A    private final int itemIndex;%0A    private final Hand hand;%0A    private final ITextComponent title;%0A    private final IContainerSupplier containerSupplier;%0A%0A    public NamedContainerProviderItem(int itemIndex, Hand hand, ITextComponent title, IContainerSupplier containerSupplier) %7B%0A        this.itemIndex = itemIndex;%0A        this.hand = hand;%0A        this.title = title;%0A        this.containerSupplier = containerSupplier;%0A    %7D%0A%0A    @Override%0A    public ITextComponent getDisplayName() %7B%0A        return this.title;%0A    %7D%0A%0A    @Nullable%0A    @Override%0A    public Container createMenu(int id, PlayerInventory playerInventory, PlayerEntity player) %7B%0A        return this.containerSupplier.create(id, playerInventory, itemIndex, hand);%0A    %7D%0A%0A    public static interface IContainerSupplier %7B%0A        public Container create(int id, PlayerInventory playerInventory, int itemIndex, Hand hand);%0A    %7D%0A%0A%7D%0A

Add NamedContainerProviderItem