From a738c199a08c090666aa4e864537e8572b0610cb Mon Sep 17 00:00:00 2001 From: 0xSeb Date: Mon, 2 Nov 2015 16:26:51 +0100 Subject: [PATCH] Fixed crafting bug. Added Logger output. --- README.md | 2 +- .../skate702/craftingkeys/CraftingKeys.java | 14 ++++----- .../skate702/craftingkeys/config/Config.java | 5 ++-- .../manager/ContainerManager.java | 29 ++++++++++++------- .../craftingkeys/manager/CraftingManager.java | 12 +++++++- .../de/skate702/craftingkeys/util/Logger.java | 14 ++++----- .../de/skate702/craftingkeys/util/Util.java | 26 +++++++++++------ 7 files changed, 62 insertions(+), 40 deletions(-) diff --git a/README.md b/README.md index 135f78a..20d5948 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ 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: -- Better Log Output +- Refactor managers - Implementing all vanilla guis - Better, all new GUI diff --git a/src/main/java/de/skate702/craftingkeys/CraftingKeys.java b/src/main/java/de/skate702/craftingkeys/CraftingKeys.java index 7c9bb23..ac57982 100644 --- a/src/main/java/de/skate702/craftingkeys/CraftingKeys.java +++ b/src/main/java/de/skate702/craftingkeys/CraftingKeys.java @@ -55,7 +55,9 @@ public class CraftingKeys { */ @EventHandler public void preInit(FMLPreInitializationEvent event) { + Logger.info("preInit(e)", "Loading Config now."); Config.loadConfig(event); + Logger.info("preInit(e)", "Finished loading Config."); } /** @@ -69,6 +71,7 @@ public class CraftingKeys { // Registering proxy.registerRenderers(); FMLCommonHandler.instance().bus().register(this); + Logger.info("load(e)", "Registered Mod."); } @@ -83,8 +86,10 @@ public class CraftingKeys { @SubscribeEvent public void onConfigChanged(ConfigChangedEvent.OnConfigChangedEvent eventArgs) { - if (eventArgs.modID.equals(MODID)) + if (eventArgs.modID.equals(MODID)) { Config.syncConfig(); + Logger.info("onConfigChanged(e)", "Changed config."); + } } /** @@ -95,11 +100,6 @@ public class CraftingKeys { @SubscribeEvent public void onTick(TickEvent.ClientTickEvent tick) { - // Message - if (Util.isFirstInWorldTick()) { - Util.printWarning(); - } - // Get current Screen, then test GuiScreen currentScreen = Util.client.currentScreen; @@ -129,8 +129,6 @@ public class CraftingKeys { Logger.warn("onTick()", "BrewingStand not implemented"); } - // TODO: What else should we support? - } } diff --git a/src/main/java/de/skate702/craftingkeys/config/Config.java b/src/main/java/de/skate702/craftingkeys/config/Config.java index df9b022..806ac9a 100644 --- a/src/main/java/de/skate702/craftingkeys/config/Config.java +++ b/src/main/java/de/skate702/craftingkeys/config/Config.java @@ -2,6 +2,7 @@ package de.skate702.craftingkeys.config; import cpw.mods.fml.common.event.FMLPreInitializationEvent; import de.skate702.craftingkeys.CraftingKeys; +import de.skate702.craftingkeys.util.Logger; import net.minecraftforge.common.config.Configuration; import net.minecraftforge.common.config.Property; import org.lwjgl.input.Keyboard; @@ -120,11 +121,11 @@ public class Config { public static void syncConfig() { if (configFile == null) { - // TODO: Throw Error! + Logger.error("syncConfig()", "Unable to read config file!"); return; } - syncProperties(); // TODO: Why here? + syncProperties(); if (configFile.hasChanged()) configFile.save(); diff --git a/src/main/java/de/skate702/craftingkeys/manager/ContainerManager.java b/src/main/java/de/skate702/craftingkeys/manager/ContainerManager.java index 3cbb7e0..5d10fb9 100644 --- a/src/main/java/de/skate702/craftingkeys/manager/ContainerManager.java +++ b/src/main/java/de/skate702/craftingkeys/manager/ContainerManager.java @@ -34,33 +34,38 @@ public abstract class ContainerManager { // hotbar-slots are always the last 9 slots of the currently opened inventory int hotbarStartIndex = Util.client.thePlayer.openContainer.getInventory().size() - 9 - 1; + int inputdelta; if (Keyboard.isKeyDown(Keyboard.KEY_1)) { - leftClick(hotbarStartIndex + 1); + inputdelta = 1; } else if (Keyboard.isKeyDown(Keyboard.KEY_2)) { - leftClick(hotbarStartIndex + 2); + inputdelta = 2; } else if (Keyboard.isKeyDown(Keyboard.KEY_3)) { - leftClick(hotbarStartIndex + 3); + inputdelta = 3; } else if (Keyboard.isKeyDown(Keyboard.KEY_4)) { - leftClick(hotbarStartIndex + 4); + inputdelta = 4; } else if (Keyboard.isKeyDown(Keyboard.KEY_5)) { - leftClick(hotbarStartIndex + 5); + inputdelta = 5; } else if (Keyboard.isKeyDown(Keyboard.KEY_6)) { - leftClick(hotbarStartIndex + 6); + inputdelta = 6; } else if (Keyboard.isKeyDown(Keyboard.KEY_7)) { - leftClick(hotbarStartIndex + 7); + inputdelta = 7; } else if (Keyboard.isKeyDown(Keyboard.KEY_8)) { - leftClick(hotbarStartIndex + 8); + inputdelta = 8; } else if (Keyboard.isKeyDown(Keyboard.KEY_9)) { - leftClick(hotbarStartIndex + 9); + inputdelta = 9; } else { return; } + leftClick(hotbarStartIndex + inputdelta); + Logger.info("handleNumKey()", "Moved to hotbar slot " + inputdelta + "."); + moveStackToInventory(-1); // Handle Minecraft handling. Ah... while (Keyboard.next()) { + Logger.info("handleNumKey()", "The cake is a lie!"); } } @@ -171,7 +176,7 @@ public abstract class ContainerManager { * @param index The index of the slot in the container * @return Returns the ItemStack */ - private ItemStack getItemStack(int index) { + protected ItemStack getItemStack(int index) { if (index >= 0 && index < container.inventorySlots.size()) { @@ -229,9 +234,11 @@ public abstract class ContainerManager { // Move the item if (destIndex == -1) { // -1 means: Found none, drop item - leftClick(-999); // Nice one, InvTweaks! + leftClick(-999); + Logger.info("moveStackToInventory(i)", "Dropped item from index " + sourceIndex + "."); } else { leftClick(destIndex); + Logger.info("moveStackToInventory(i)", "Moved item from index " + sourceIndex + " to " + destIndex + "."); } } diff --git a/src/main/java/de/skate702/craftingkeys/manager/CraftingManager.java b/src/main/java/de/skate702/craftingkeys/manager/CraftingManager.java index 75996ac..8e0a329 100644 --- a/src/main/java/de/skate702/craftingkeys/manager/CraftingManager.java +++ b/src/main/java/de/skate702/craftingkeys/manager/CraftingManager.java @@ -50,6 +50,8 @@ public class CraftingManager extends ContainerManager { // Drop if (isDropKeyDown()) { + Logger.info("acceptKey()", "Drop Key down."); + for (int i = 1; i < 10; i++) { moveStackToInventory(i); } @@ -57,7 +59,13 @@ public class CraftingManager extends ContainerManager { // Get from output } else if (isInteractionKeyDown()) { - if (Util.client.thePlayer.inventory.getItemStack() != null) { + Logger.info("acceptKey()", "Interaction Key down."); + + // Handles Interaction with items held + if (Util.client.thePlayer.inventory.getItemStack() != null && ( + !Util.client.thePlayer.inventory.getItemStack().isItemEqual(getItemStack(0)) + || Util.client.thePlayer.inventory.getItemStack().stackSize + getItemStack(0).stackSize + >= getItemStack(0).getMaxStackSize())) { moveStackToInventory(-1); } @@ -81,6 +89,8 @@ public class CraftingManager extends ContainerManager { } else if (slotIndex > 0 && currentHoveredSlot != null && Util.client.thePlayer.inventory.getItemStack() == null) { + Logger.info("acceptKey()", "Key for index " + slotIndex + " down."); + if (isStackKeyDown()) { moveAll(currentHoveredSlot.slotNumber, slotIndex); moveStackToInventory(-1); diff --git a/src/main/java/de/skate702/craftingkeys/util/Logger.java b/src/main/java/de/skate702/craftingkeys/util/Logger.java index 857d51e..cc7596f 100644 --- a/src/main/java/de/skate702/craftingkeys/util/Logger.java +++ b/src/main/java/de/skate702/craftingkeys/util/Logger.java @@ -20,16 +20,14 @@ public class Logger { private static void print(String method, String message, LevelOfDetail in) { System.out.println(StdOutput + in.toString() + "] " + method + ": " + message); - - - /** - * Prints a INFO-Message if allowed. - * - * @param method The calling method / method info - * @param message The message to print - */ } + /** + * Prints a INFO-Message if allowed. + * + * @param method The calling method / method info + * @param message The message to print + */ public static void info(String method, String message) { if (MODE.getLevel() <= 0) { print(method, message, LevelOfDetail.INFO); diff --git a/src/main/java/de/skate702/craftingkeys/util/Util.java b/src/main/java/de/skate702/craftingkeys/util/Util.java index 739738f..a8e7b76 100644 --- a/src/main/java/de/skate702/craftingkeys/util/Util.java +++ b/src/main/java/de/skate702/craftingkeys/util/Util.java @@ -2,6 +2,7 @@ package de.skate702.craftingkeys.util; import cpw.mods.fml.client.FMLClientHandler; import net.minecraft.client.Minecraft; +import net.minecraft.item.ItemStack; import net.minecraft.util.ChatComponentTranslation; /** @@ -24,6 +25,22 @@ public class Util { private Util() { } + /** + * Returns the current held item stack. + * @return A item stack + */ + public static ItemStack getHeldStack() { + return client.thePlayer.inventory.getItemStack(); + } + + /** + * Returns if the current player is helding a item stack. + * @return True, if held stack != null + */ + public static boolean isHeldingStack() { + return (getHeldStack() != null); + } + /** * Returns, if this is the first method call in a fresh opened world. * @@ -48,13 +65,4 @@ public class Util { client.thePlayer.addChatMessage(new ChatComponentTranslation(lang_key)); } - /** - * Prints a warning, that this mod is still in alpha-state. - */ - public static void printWarning() { - printMessage("de.skate702.craftingkeys.warn.line1"); - printMessage("de.skate702.craftingkeys.warn.line2"); - printMessage("de.skate702.craftingkeys.warn.line3"); - } - }