diff --git a/src/main/java/witchinggadgets/client/ClientProxy.java b/src/main/java/witchinggadgets/client/ClientProxy.java index e3f8c6a..46907f5 100644 --- a/src/main/java/witchinggadgets/client/ClientProxy.java +++ b/src/main/java/witchinggadgets/client/ClientProxy.java @@ -117,11 +117,19 @@ public void registerHandlers() { MinecraftForge.EVENT_BUS.register(new ClientEventHandler()); FMLCommonHandler.instance().bus().register(new WGKeyHandler()); FMLCommonHandler.instance().bus().register(new ClientTickHandler()); + + ClientRegistry.registerKeyBinding( + WGKeyHandler.activateCapeKey = new KeyBinding( + "wg.config.activateCapeKey", + Keyboard.KEY_NONE, + WitchingGadgets.MODNAME)); + ClientRegistry.registerKeyBinding( - WGKeyHandler.activateKey = new KeyBinding( - "wg.config.activateKey", + WGKeyHandler.activateBeltKey = new KeyBinding( + "wg.config.activateBeltKey", Keyboard.KEY_NONE, WitchingGadgets.MODNAME)); + if (WGConfig.enableSearch) { ThaumonomiconIndexSearcher.init(); } diff --git a/src/main/java/witchinggadgets/common/items/baubles/ItemCloak.java b/src/main/java/witchinggadgets/common/items/baubles/ItemCloak.java index a4bc2aa..f9c4096 100644 --- a/src/main/java/witchinggadgets/common/items/baubles/ItemCloak.java +++ b/src/main/java/witchinggadgets/common/items/baubles/ItemCloak.java @@ -1,6 +1,7 @@ package witchinggadgets.common.items.baubles; -import static witchinggadgets.common.util.WGKeyHandler.activateKey; +import static witchinggadgets.common.util.WGKeyHandler.activateBeltKey; +import static witchinggadgets.common.util.WGKeyHandler.activateCapeKey; import java.util.List; @@ -215,7 +216,7 @@ public void addInformation(ItemStack stack, EntityPlayer player, List li StatCollector.translateToLocal(Lib.DESCRIPTION + "enableCloak").replaceAll( "%s1", StatCollector.translateToLocalFormatted( - GameSettings.getKeyDisplayString(activateKey.getKeyCode())))); + GameSettings.getKeyDisplayString(activateCapeKey.getKeyCode())))); if (subNames[stack.getItemDamage()].equals("raven")) { if (stack.hasTagCompound() && stack.getTagCompound().getBoolean(TAG_NO_GLIDE)) { list.add(StatCollector.translateToLocal(Lib.DESCRIPTION + "noGlide")); @@ -235,6 +236,10 @@ public void addInformation(ItemStack stack, EntityPlayer player, List li } } + private boolean isActivationKeyPressed() { + return this.equals(WGContent.ItemKama) ? activateBeltKey.getIsKeyPressed() : activateCapeKey.getIsKeyPressed(); + } + /** * The method {@link net.minecraft.client.settings.KeyBinding#isPressed} changes the keybind state so that it only * works once per keybind. This alternative instead works by comparing the current tick and last tick state of the @@ -245,12 +250,11 @@ public void addInformation(ItemStack stack, EntityPlayer player, List li * @return Whether this is a tick when the activateKey was pressed down. */ private boolean shouldActivate() { - return !lastKeybindState && activateKey.getIsKeyPressed(); + return !lastKeybindState && isActivationKeyPressed(); } public void onItemTicked(EntityPlayer player, ItemStack stack) { if (player.worldObj.isRemote) { - if (shouldActivate() && subNames[stack.getItemDamage()].equals("raven")) { int slot = BaubleExpandedSlots.getIndexesOfAssignedSlotsOfType(getBaubleTypes(stack)[0])[0]; if (stack.getTagCompound().getBoolean(TAG_NO_GLIDE)) { @@ -265,6 +269,7 @@ public void onItemTicked(EntityPlayer player, ItemStack stack) { new ChatComponentText(StatCollector.translateToLocal(Lib.DESCRIPTION + "noGlide"))); } } + if (shouldActivate() && subNames[stack.getItemDamage()].equals("storage")) { int kama = this.equals(WGContent.ItemKama) ? 5 : 4; player.openGui( @@ -277,7 +282,7 @@ public void onItemTicked(EntityPlayer player, ItemStack stack) { WitchingGadgets.packetHandler.sendToServer(new MessageOpenCloak(player, kama)); } - lastKeybindState = activateKey.getIsKeyPressed(); + lastKeybindState = isActivationKeyPressed(); } if (player.ticksExisted < 1) { diff --git a/src/main/java/witchinggadgets/common/items/baubles/ItemKama.java b/src/main/java/witchinggadgets/common/items/baubles/ItemKama.java index 1931625..8fb63b9 100644 --- a/src/main/java/witchinggadgets/common/items/baubles/ItemKama.java +++ b/src/main/java/witchinggadgets/common/items/baubles/ItemKama.java @@ -1,6 +1,6 @@ package witchinggadgets.common.items.baubles; -import static witchinggadgets.common.util.WGKeyHandler.activateKey; +import static witchinggadgets.common.util.WGKeyHandler.activateBeltKey; import java.util.List; @@ -103,7 +103,7 @@ public void addInformation(ItemStack stack, EntityPlayer player, List li StatCollector.translateToLocal(Lib.DESCRIPTION + "enableCloak").replaceAll( "%s1", StatCollector.translateToLocalFormatted( - GameSettings.getKeyDisplayString(activateKey.getKeyCode())))); + GameSettings.getKeyDisplayString(activateBeltKey.getKeyCode())))); if (stack.hasTagCompound() && stack.getTagCompound().getBoolean("noGlide")) { list.add(StatCollector.translateToLocal(Lib.DESCRIPTION + "noGlide")); } diff --git a/src/main/java/witchinggadgets/common/util/WGKeyHandler.java b/src/main/java/witchinggadgets/common/util/WGKeyHandler.java index babb199..bbddb84 100644 --- a/src/main/java/witchinggadgets/common/util/WGKeyHandler.java +++ b/src/main/java/witchinggadgets/common/util/WGKeyHandler.java @@ -24,7 +24,8 @@ public class WGKeyHandler { public static KeyBinding thaumcraftFKey; public static KeyBinding jumpKey; - public static KeyBinding activateKey; + public static KeyBinding activateCapeKey; + public static KeyBinding activateBeltKey; public boolean[] keyDown = { false, false, false }; public static float gemRadial; public static boolean gemLock = false; diff --git a/src/main/resources/assets/witchinggadgets/lang/de_DE.lang b/src/main/resources/assets/witchinggadgets/lang/de_DE.lang index 6270da5..b206a65 100644 --- a/src/main/resources/assets/witchinggadgets/lang/de_DE.lang +++ b/src/main/resources/assets/witchinggadgets/lang/de_DE.lang @@ -115,6 +115,9 @@ enchantment.wg.stealth=Tarnung enchantment.wg.backstab=Hinterh�ltiges Stechen # # -- Random bits of text -- +wg.config.activateCapeKey=Hotkey for activating items worn in the cape slot. +wg.config.activateBeltKey=Hotkey for activating items worn in the belt slot. + wg.chat.notyourbag=§7Dieser Beutel geh�rt§r %1$s! §7Du darfst ihn nicht �ffnen!§r wg.chat.bagunlocked=§7Der Beutel wurde entriegelt, andere k�nnen ihn nun �ffnen.§r wg.chat.baglocked=§7Der Beutel wurde vertriegelt, andere k�nnen ihn nicht �ffnen.§r diff --git a/src/main/resources/assets/witchinggadgets/lang/en_US.lang b/src/main/resources/assets/witchinggadgets/lang/en_US.lang index 428b683..509b91c 100644 --- a/src/main/resources/assets/witchinggadgets/lang/en_US.lang +++ b/src/main/resources/assets/witchinggadgets/lang/en_US.lang @@ -160,7 +160,8 @@ enchantment.wg.soulbound=Soul Tethered enchantment.wg.soultether=Soul Tethered # # -- Random bits of text -- -wg.config.activateKey=Hotkey for activating some worn items. +wg.config.activateCapeKey=Hotkey for activating items worn in the cape slot. +wg.config.activateBeltKey=Hotkey for activating items worn in the belt slot. wg.chat.notyourbag=§7This bag belongs to§r %1$s! §7You are not allowed to open it.§r wg.chat.bagunlocked=§7The bag was unlocked, others can now open it.§r diff --git a/src/main/resources/assets/witchinggadgets/lang/ru_RU.lang b/src/main/resources/assets/witchinggadgets/lang/ru_RU.lang index d358f75..848ab68 100644 --- a/src/main/resources/assets/witchinggadgets/lang/ru_RU.lang +++ b/src/main/resources/assets/witchinggadgets/lang/ru_RU.lang @@ -151,6 +151,9 @@ enchantment.wg.soulbound=Привязка души enchantment.wg.soultether=Привязка души # # -- Random bits of text -- +wg.config.activateCapeKey=Hotkey for activating items worn in the cape slot. +wg.config.activateBeltKey=Hotkey for activating items worn in the belt slot. + wg.chat.notyourbag=§7Эта сумка принадлежит§r %1$s! §7Вам не разрешено его открывать.§r wg.chat.bagunlocked=§7Сумка была разблокирована, теперь ее могут открыть другие.§r wg.chat.baglocked=§7Сумка была заперта, никто, кроме вас, не может ее открыть.§r diff --git a/src/main/resources/assets/witchinggadgets/lang/zh_CN.lang b/src/main/resources/assets/witchinggadgets/lang/zh_CN.lang index 41c0d2d..4fb2ba6 100644 --- a/src/main/resources/assets/witchinggadgets/lang/zh_CN.lang +++ b/src/main/resources/assets/witchinggadgets/lang/zh_CN.lang @@ -151,6 +151,9 @@ enchantment.wg.soulbound=灵魂绑定 enchantment.wg.soultether=灵魂绑定 # # -- Random bits of text -- +wg.config.activateCapeKey=Hotkey for activating items worn in the cape slot. +wg.config.activateBeltKey=Hotkey for activating items worn in the belt slot. + wg.chat.notyourbag=§7这个口袋属于§r %1$s! §7你不能打开它.§r wg.chat.bagunlocked=§7口袋已解锁,其他人可以打开.§r wg.chat.baglocked=§7口袋已锁定,除你以外没人能打开.§r