Added all GUIs. Nothing more to do here. Last step: New GUI. And then: Release! Finally =D

This commit is contained in:
0xSeb
2015-11-03 00:50:37 +01:00
parent 4860972bef
commit 3a73cef7b3
11 changed files with 307 additions and 11 deletions
@@ -0,0 +1,66 @@
package de.skate702.craftingkeys.manager;
import de.skate702.craftingkeys.util.Logger;
import net.minecraft.inventory.Container;
/**
* Manages a Brewing Stand GUI Inventory.
*/
public class BrewingManager extends ContainerManager {
private static BrewingManager instance = null;
/**
* Creates a new Brewing Manager with the given container.
*
* @param container The container from a crafting GUI
*/
private BrewingManager(Container container) {
super(container);
}
/**
* Returns a Brewing Manager Instance operating on the given container
*
* @param container A container from a GUI
* @return manager-singleton
*/
public static BrewingManager getInstance(Container container) {
if (instance == null) {
instance = new BrewingManager(container);
} else {
instance.container = container;
}
return instance;
}
@Override
protected int specificKeyToSlotIndex() {
return mapKeyToSlot(-1, 3, -1, 0, 1, 2, -1, -1, -1);
}
@Override
protected int getInventoryStartIndex() {
return 4;
}
@Override
protected int getInteractionSlotIndex() {
return -1;
}
@Override
protected void onInteractionKeyPressed() {
Logger.info("onInteractionKeyPressed()", "Brewing stands have no interaction!");
}
@Override
protected int[] getDropSlots() {
return new int[]{0, 1, 2, 3};
}
@Override
protected void interact() {
}
}
@@ -0,0 +1,66 @@
package de.skate702.craftingkeys.manager;
import de.skate702.craftingkeys.util.Logger;
import net.minecraft.inventory.Container;
/**
* Manages a Dispenser GUI Inventory.
*/
public class DispenserManager extends ContainerManager {
private static DispenserManager instance = null;
/**
* Creates a new Dispenser Manager with the given container.
*
* @param container The container from a crafting GUI
*/
private DispenserManager(Container container) {
super(container);
}
/**
* Returns a Dispenser Manager Instance operating on the given container
*
* @param container A container from a GUI
* @return manager-singleton
*/
public static DispenserManager getInstance(Container container) {
if (instance == null) {
instance = new DispenserManager(container);
} else {
instance.container = container;
}
return instance;
}
@Override
protected int specificKeyToSlotIndex() {
return mapKeyToSlot(0, 1, 2, 3, 4, 5, 6, 7, 8);
}
@Override
protected int getInventoryStartIndex() {
return 9;
}
@Override
protected int getInteractionSlotIndex() {
return -1;
}
@Override
protected void onInteractionKeyPressed() {
Logger.info("onInteractionKeyPressed()", "Dispenser have no interaction!");
}
@Override
protected int[] getDropSlots() {
return new int[]{0, 1, 2, 3, 4, 5, 6, 7, 8};
}
@Override
protected void interact() {
}
}
@@ -0,0 +1,75 @@
package de.skate702.craftingkeys.manager;
import de.skate702.craftingkeys.util.Logger;
import net.minecraft.inventory.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() {
return mapKeyToSlot(-1, 0, -1, -1, 0, -1, -1, -1, -1);
// return mapKeyToSlot(-1, 0, 1, -1, 0, 1, -1, -1, -1);
}
@Override
protected int getInventoryStartIndex() {
return 1;
// return 2;
}
@Override
protected int getInteractionSlotIndex() {
return 0;
}
@Override
protected int[] getDropSlots() {
return new int[]{0};
// 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);
}
}
@@ -66,7 +66,7 @@ public class FurnaceManager extends ContainerManager {
*/
private void clickOnFurnaceOutput() {
Logger.info("clickOnFurnaceOutput()", "Clicked on Crafing Output.");
Logger.info("clickOnFurnaceOutput()", "Clicked on Furnace Output.");
rightClick(2);
}
@@ -11,7 +11,7 @@ public class InventoryManager extends ContainerManager {
private static InventoryManager instance = null;
/**
* Creates a new Crafting Manager with the given container.
* Creates a new Inventory Manager with the given container.
*
* @param container The container from a crafting GUI
*/
@@ -20,7 +20,7 @@ public class InventoryManager extends ContainerManager {
}
/**
* Returns a Crafting Manager Instance operating on the given container
* Returns a Inventory Manager Instance operating on the given container
*
* @param container A container from a GUI
* @return manager-singleton
@@ -0,0 +1,72 @@
package de.skate702.craftingkeys.manager;
import de.skate702.craftingkeys.util.Logger;
import net.minecraft.inventory.Container;
/**
* Manages a Villager GUI Inventory.
*/
public class VillagerManager extends ContainerManager {
private static VillagerManager instance = null;
/**
* Creates a new Villager Manager with the given container.
*
* @param container The container from a crafting GUI
*/
private VillagerManager(Container container) {
super(container);
}
/**
* Returns a Villager Manager Instance operating on the given container
*
* @param container A container from a GUI
* @return manager-singleton
*/
public static VillagerManager getInstance(Container container) {
if (instance == null) {
instance = new VillagerManager(container);
} else {
instance.container = container;
}
return instance;
}
@Override
protected int specificKeyToSlotIndex() {
return mapKeyToSlot(-1, 0, 1, -1, 0, 1, -1, -1, -1);
}
@Override
protected int getInventoryStartIndex() {
return 3;
}
@Override
protected int getInteractionSlotIndex() {
return 2;
}
@Override
protected int[] getDropSlots() {
return new int[]{0, 1};
}
@Override
protected void interact() {
clickOnVillagerOutput();
}
/**
* Sends a click on the furnace output
*/
private void clickOnVillagerOutput() {
Logger.info("clickOnVillagerOutput()", "Clicked on Villager Output.");
leftClick(2);
}
}