aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNopoTheGamer <40329022+NopoTheGamer@users.noreply.github.com>2024-07-25 01:19:01 +1000
committerGitHub <noreply@github.com>2024-07-24 17:19:01 +0200
commit68284cc4f88bb3a665148c884038abacce23ae2a (patch)
tree394eff309e19b09aeb940b4fc364cd6b1ae5274b
parent3f7296e30202786e6a6a2b4b1960e82ee435e3dc (diff)
downloadnotenoughupdates-68284cc4f88bb3a665148c884038abacce23ae2a.tar.gz
notenoughupdates-68284cc4f88bb3a665148c884038abacce23ae2a.tar.bz2
notenoughupdates-68284cc4f88bb3a665148c884038abacce23ae2a.zip
Fix recipe and usages keybind double triggering (#1265)
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/NEUManager.java18
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/NEUOverlay.java6
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/miscgui/GuiItemRecipe.java4
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/miscgui/StorageOverlay.java7
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);