76 lines
1.7 KiB
Java
76 lines
1.7 KiB
Java
package de.skate702.craftingkeys.manager;
|
|
|
|
import de.skate702.craftingkeys.util.Logger;
|
|
import net.minecraft.inventory.container.Container;
|
|
|
|
/**
|
|
* Manages a Enchantment Table GUI Inventory.
|
|
*/
|
|
public class EnchantmentManager extends ContainerManager {
|
|
|
|
private static EnchantmentManager instance = null;
|
|
|
|
/**
|
|
* Creates a new Enchantment Manager with the given container.
|
|
*
|
|
* @param container The container from a crafting GUI
|
|
*/
|
|
private EnchantmentManager(Container container) {
|
|
super(container);
|
|
}
|
|
|
|
/**
|
|
* Returns a Enchantment Manager Instance operating on the given container
|
|
*
|
|
* @param container A container from a GUI
|
|
* @return manager-singleton
|
|
*/
|
|
public static EnchantmentManager getInstance(Container container) {
|
|
if (instance == null) {
|
|
instance = new EnchantmentManager(container);
|
|
} else {
|
|
instance.container = container;
|
|
}
|
|
return instance;
|
|
}
|
|
|
|
@Override
|
|
protected int specificKeyToSlotIndex() {
|
|
//TODO: check for v1.11
|
|
return mapKeyToSlot(-1, 0, 1, -1, 0, 1, -1, -1, -1);
|
|
|
|
}
|
|
|
|
@Override
|
|
protected int getInventoryStartIndex() {
|
|
// TODO: check for v1.11
|
|
return 2;
|
|
}
|
|
|
|
@Override
|
|
protected int getInteractionSlotIndex() {
|
|
return 0;
|
|
}
|
|
|
|
@Override
|
|
protected int[] getDropSlots() {
|
|
//TODO: check for v1.11
|
|
return new int[] {0, 1};
|
|
}
|
|
|
|
@Override
|
|
protected void interact() {
|
|
clickOnItem();
|
|
}
|
|
|
|
/**
|
|
* Sends a click on the enchanted item
|
|
*/
|
|
private void clickOnItem() {
|
|
|
|
Logger.info("clickOnCraftingOutput()", "Clicked on Crafing Output.");
|
|
leftClick(0);
|
|
|
|
}
|
|
}
|