diff options
| author | NopoTheGamer <40329022+NopoTheGamer@users.noreply.github.com> | 2024-07-25 01:19:01 +1000 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-07-24 17:19:01 +0200 |
| commit | 68284cc4f88bb3a665148c884038abacce23ae2a (patch) | |
| tree | 394eff309e19b09aeb940b4fc364cd6b1ae5274b | |
| parent | 3f7296e30202786e6a6a2b4b1960e82ee435e3dc (diff) | |
| download | notenoughupdates-68284cc4f88bb3a665148c884038abacce23ae2a.tar.gz notenoughupdates-68284cc4f88bb3a665148c884038abacce23ae2a.tar.bz2 notenoughupdates-68284cc4f88bb3a665148c884038abacce23ae2a.zip | |
Fix recipe and usages keybind double triggering (#1265)
4 files changed, 26 insertions, 9 deletions
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/NEUManager.java b/src/main/java/io/github/moulberry/notenoughupdates/NEUManager.java index b22ac1a5..c2fb6659 100644 --- a/src/main/java/io/github/moulberry/notenoughupdates/NEUManager.java +++ b/src/main/java/io/github/moulberry/notenoughupdates/NEUManager.java @@ -999,6 +999,16 @@ public class NEUManager { loadItem(internalname); } + long lastKeybind = -1; + + public boolean displayGuiItemUsagesKeybind(String internalName) { + if (System.currentTimeMillis() - lastKeybind < 500) { + return false; + } + lastKeybind = System.currentTimeMillis(); + return displayGuiItemUsages(internalName); + } + public boolean displayGuiItemUsages(String internalName) { if (!usagesMap.containsKey(internalName)) return false; List<NeuRecipe> usages = getAvailableUsagesFor(internalName); @@ -1008,6 +1018,14 @@ public class NEUManager { return true; } + public boolean displayGuiItemRecipeKeybind(String internalName) { + if (System.currentTimeMillis() - lastKeybind < 500) { + return false; + } + lastKeybind = System.currentTimeMillis(); + return displayGuiItemRecipe(internalName); + } + public boolean displayGuiItemRecipe(String internalName) { if (!recipesMap.containsKey(internalName)) return false; List<NeuRecipe> recipes = getAvailableRecipesFor(internalName); diff --git a/src/main/java/io/github/moulberry/notenoughupdates/NEUOverlay.java b/src/main/java/io/github/moulberry/notenoughupdates/NEUOverlay.java index 43ab7b0d..77cc2cab 100644 --- a/src/main/java/io/github/moulberry/notenoughupdates/NEUOverlay.java +++ b/src/main/java/io/github/moulberry/notenoughupdates/NEUOverlay.java @@ -1168,13 +1168,13 @@ public class NEUOverlay extends Gui { JsonObject item = manager.getItemInformation().get(internalname.get()); if (item != null) { if (keyPressed == manager.keybindViewUsages.getKeyCode()) { - manager.displayGuiItemUsages(internalname.get()); + manager.displayGuiItemUsagesKeybind(internalname.get()); return true; } else if (keyPressed == manager.keybindFavourite.getKeyCode()) { - toggleFavourite(item.get("internalname").getAsString()); + toggleFavourite(internalname.get()); return true; } else if (keyPressed == manager.keybindViewRecipe.getKeyCode()) { - manager.showRecipe(item); + manager.displayGuiItemRecipeKeybind(internalname.get()); return true; } else if (keyPressed == NotEnoughUpdates.INSTANCE.config.misc.keybindWaypoint && NotEnoughUpdates.INSTANCE.navigation.isValidWaypoint(item)) { diff --git a/src/main/java/io/github/moulberry/notenoughupdates/miscgui/GuiItemRecipe.java b/src/main/java/io/github/moulberry/notenoughupdates/miscgui/GuiItemRecipe.java index 54f46f22..02c3b615 100644 --- a/src/main/java/io/github/moulberry/notenoughupdates/miscgui/GuiItemRecipe.java +++ b/src/main/java/io/github/moulberry/notenoughupdates/miscgui/GuiItemRecipe.java @@ -251,9 +251,9 @@ public class GuiItemRecipe extends GuiScreen { if (isWithinRect(mouseX, mouseY, slot.getX(this), slot.getY(this), SLOT_SIZE, SLOT_SIZE)) { ItemStack itemStack = slot.getItemStack(); if (keyPressed == manager.keybindViewRecipe.getKeyCode()) { - manager.displayGuiItemRecipe(manager.getInternalNameForItem(itemStack)); + manager.displayGuiItemRecipeKeybind(manager.getInternalNameForItem(itemStack)); } else if (keyPressed == manager.keybindViewUsages.getKeyCode()) { - manager.displayGuiItemUsages(manager.getInternalNameForItem(itemStack)); + manager.displayGuiItemUsagesKeybind(manager.getInternalNameForItem(itemStack)); } else if (keyPressed == NotEnoughUpdates.INSTANCE.config.misc.openAHKeybind) { AhBzKeybind.onKeyPressed(itemStack); } diff --git a/src/main/java/io/github/moulberry/notenoughupdates/miscgui/StorageOverlay.java b/src/main/java/io/github/moulberry/notenoughupdates/miscgui/StorageOverlay.java index d56faa63..587d20ef 100644 --- a/src/main/java/io/github/moulberry/notenoughupdates/miscgui/StorageOverlay.java +++ b/src/main/java/io/github/moulberry/notenoughupdates/miscgui/StorageOverlay.java @@ -20,7 +20,6 @@ package io.github.moulberry.notenoughupdates.miscgui; import com.google.common.collect.Lists; -import com.google.gson.JsonObject; import io.github.moulberry.notenoughupdates.NEUManager; import io.github.moulberry.notenoughupdates.NotEnoughUpdates; import io.github.moulberry.notenoughupdates.core.BackgroundBlur; @@ -2151,9 +2150,9 @@ public class StorageOverlay extends GuiElement { String internalName = manager.createItemResolutionQuery().withItemStack(stack).resolveInternalName(); if (internalName == null) continue; - JsonObject item = manager.getItemInformation().get(internalName); - if (keyPressed == manager.keybindViewRecipe.getKeyCode()) manager.showRecipe(item); - if (keyPressed == manager.keybindViewUsages.getKeyCode()) manager.displayGuiItemUsages( + if (keyPressed == manager.keybindViewRecipe.getKeyCode()) manager.displayGuiItemRecipeKeybind( + internalName); + if (keyPressed == manager.keybindViewUsages.getKeyCode()) manager.displayGuiItemUsagesKeybind( internalName); if (keyPressed == NotEnoughUpdates.INSTANCE.config.misc.openAHKeybind) { AhBzKeybind.onKeyPressed(stack); |
