Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 10 additions & 2 deletions src/main/java/witchinggadgets/client/ClientProxy.java
Original file line number Diff line number Diff line change
Expand Up @@ -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();
}
Expand Down
15 changes: 10 additions & 5 deletions src/main/java/witchinggadgets/common/items/baubles/ItemCloak.java
Original file line number Diff line number Diff line change
@@ -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;

Expand Down Expand Up @@ -215,7 +216,7 @@ public void addInformation(ItemStack stack, EntityPlayer player, List<String> 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"));
Expand All @@ -235,6 +236,10 @@ public void addInformation(ItemStack stack, EntityPlayer player, List<String> 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
Expand All @@ -245,12 +250,11 @@ public void addInformation(ItemStack stack, EntityPlayer player, List<String> 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)) {
Expand All @@ -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(
Expand All @@ -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) {
Expand Down
Original file line number Diff line number Diff line change
@@ -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;

Expand Down Expand Up @@ -103,7 +103,7 @@ public void addInformation(ItemStack stack, EntityPlayer player, List<String> 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"));
}
Expand Down
3 changes: 2 additions & 1 deletion src/main/java/witchinggadgets/common/util/WGKeyHandler.java
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down
3 changes: 3 additions & 0 deletions src/main/resources/assets/witchinggadgets/lang/de_DE.lang
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
3 changes: 2 additions & 1 deletion src/main/resources/assets/witchinggadgets/lang/en_US.lang
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
3 changes: 3 additions & 0 deletions src/main/resources/assets/witchinggadgets/lang/ru_RU.lang
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
3 changes: 3 additions & 0 deletions src/main/resources/assets/witchinggadgets/lang/zh_CN.lang
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down