Added all GUIs. Nothing more to do here. Last step: New GUI. And then: Release! Finally =D
This commit is contained in:
@@ -6,7 +6,6 @@ Crafting Keys is a modification which adds a lot of new key bindings to minecraf
|
||||
##Development Progress
|
||||
|
||||
The whole project had been refactored and is now almost ready to be release. But there are missing a few things:
|
||||
- Implementing all vanilla guis
|
||||
- Better, all new GUI
|
||||
|
||||
## More Information
|
||||
|
||||
@@ -12,13 +12,11 @@ import cpw.mods.fml.common.event.FMLPreInitializationEvent;
|
||||
import cpw.mods.fml.common.eventhandler.SubscribeEvent;
|
||||
import cpw.mods.fml.common.gameevent.TickEvent;
|
||||
import de.skate702.craftingkeys.config.Config;
|
||||
import de.skate702.craftingkeys.manager.ContainerManager;
|
||||
import de.skate702.craftingkeys.manager.CraftingManager;
|
||||
import de.skate702.craftingkeys.manager.FurnaceManager;
|
||||
import de.skate702.craftingkeys.manager.InventoryManager;
|
||||
import de.skate702.craftingkeys.manager.*;
|
||||
import de.skate702.craftingkeys.proxies.CraftingKeysProxy;
|
||||
import de.skate702.craftingkeys.util.Logger;
|
||||
import de.skate702.craftingkeys.util.Util;
|
||||
import net.minecraft.client.gui.GuiEnchantment;
|
||||
import net.minecraft.client.gui.GuiMerchant;
|
||||
import net.minecraft.client.gui.GuiScreen;
|
||||
import net.minecraft.client.gui.inventory.*;
|
||||
@@ -121,7 +119,9 @@ public class CraftingKeys {
|
||||
|
||||
} else if (currentScreen instanceof GuiMerchant) {
|
||||
|
||||
Logger.warn("onTick()", "Villager not implemented");
|
||||
ContainerManager con = VillagerManager.getInstance(
|
||||
((GuiMerchant) currentScreen).inventorySlots);
|
||||
con.acceptKey();
|
||||
|
||||
} else if (currentScreen instanceof GuiFurnace) {
|
||||
|
||||
@@ -131,11 +131,21 @@ public class CraftingKeys {
|
||||
|
||||
} else if (currentScreen instanceof GuiDispenser) {
|
||||
|
||||
Logger.warn("onTick()", "Dispenser not implemented");
|
||||
ContainerManager con = DispenserManager.getInstance(
|
||||
((GuiDispenser) currentScreen).inventorySlots);
|
||||
con.acceptKey();
|
||||
|
||||
} else if (currentScreen instanceof GuiBrewingStand) {
|
||||
|
||||
Logger.warn("onTick()", "BrewingStand not implemented");
|
||||
ContainerManager con = BrewingManager.getInstance(
|
||||
((GuiBrewingStand) currentScreen).inventorySlots);
|
||||
con.acceptKey();
|
||||
|
||||
} else if (currentScreen instanceof GuiEnchantment) {
|
||||
|
||||
ContainerManager con = EnchantmentManager.getInstance(
|
||||
((GuiEnchantment) currentScreen).inventorySlots);
|
||||
con.acceptKey();
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -13,6 +13,7 @@ import java.util.List;
|
||||
/**
|
||||
* Custom Config Gui for Mod Options inside of Minecraft.
|
||||
*/
|
||||
@Deprecated
|
||||
public class ConfigGui extends GuiConfig {
|
||||
public ConfigGui(GuiScreen parent) {
|
||||
super(parent, getConfigElements(),
|
||||
|
||||
@@ -9,6 +9,7 @@ import java.util.Set;
|
||||
/**
|
||||
* A Config Gui Factory which always returns the ConfigGUI-Class. Nothing more to see here, go away!
|
||||
*/
|
||||
@Deprecated
|
||||
public class ConfigGuiFactory implements IModGuiFactory {
|
||||
@Override
|
||||
public void initialize(Minecraft minecraftInstance) {
|
||||
|
||||
@@ -0,0 +1,6 @@
|
||||
package de.skate702.craftingkeys.config;
|
||||
|
||||
import net.minecraft.client.gui.GuiScreen;
|
||||
|
||||
public class GuiConfig extends GuiScreen {
|
||||
}
|
||||
@@ -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);
|
||||
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user