aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjani270 <69345714+jani270@users.noreply.github.com>2024-02-26 20:01:25 +0100
committerGitHub <noreply@github.com>2024-02-26 20:01:25 +0100
commit8f32281cc06aa933507965db2d07605b9f245a27 (patch)
tree58fc38a49777667158a668e2aac244dc94392d79
parentce557a70d776926ceee3d43f0ccf7b34bc97fe31 (diff)
downloadNotEnoughUpdates-8f32281cc06aa933507965db2d07605b9f245a27.tar.gz
NotEnoughUpdates-8f32281cc06aa933507965db2d07605b9f245a27.tar.bz2
NotEnoughUpdates-8f32281cc06aa933507965db2d07605b9f245a27.zip
Added option to open the skyblock recipe menu with a keybind (#1029)
* Added option to open the skyblock recipe menu with a keybind * Use streams to find crafting recipe --------- Co-authored-by: Linnea Gräf <nea@nea.moe>
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/NEUOverlay.java20
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/options/separatesections/Misc.java8
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/util/StreamExtL.java28
3 files changed, 54 insertions, 2 deletions
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/NEUOverlay.java b/src/main/java/io/github/moulberry/notenoughupdates/NEUOverlay.java
index 87b08ef7..797260c4 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/NEUOverlay.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/NEUOverlay.java
@@ -38,12 +38,14 @@ import io.github.moulberry.notenoughupdates.miscfeatures.EnchantingSolvers;
import io.github.moulberry.notenoughupdates.miscfeatures.SunTzu;
import io.github.moulberry.notenoughupdates.miscgui.NeuSearchCalculator;
import io.github.moulberry.notenoughupdates.miscgui.pricegraph.GuiPriceGraph;
+import io.github.moulberry.notenoughupdates.recipes.CraftingRecipe;
import io.github.moulberry.notenoughupdates.util.Calculator;
import io.github.moulberry.notenoughupdates.util.Constants;
import io.github.moulberry.notenoughupdates.util.GuiTextures;
import io.github.moulberry.notenoughupdates.util.LerpingFloat;
import io.github.moulberry.notenoughupdates.util.NotificationHandler;
import io.github.moulberry.notenoughupdates.util.SpecialColour;
+import io.github.moulberry.notenoughupdates.util.StreamExtL;
import io.github.moulberry.notenoughupdates.util.Utils;
import lombok.var;
import net.minecraft.client.Minecraft;
@@ -742,8 +744,7 @@ public class NEUOverlay extends Gui {
if (NotEnoughUpdates.INSTANCE.config.itemlist.wikiInBrowser) {
Utils.openUrl(infoText);
Utils.addChatMessage("§e[NEU] Opening webpage in browser.");
- }
- else {
+ } else {
displayInformationPane(new TextInfoPane(
this,
manager,
@@ -1232,6 +1233,21 @@ public class NEUOverlay extends Gui {
} else {
NotEnoughUpdates.INSTANCE.trySendCommand("/bz " + cleanName);
}
+ } else if (keyPressed == NotEnoughUpdates.INSTANCE.config.misc.openSkyBlockRecipeKeybind
+ && !item.has("vanilla")
+ && StreamExtL.filterIsInstance(
+ manager.getAvailableRecipesFor(internalname.get()).stream(),
+ CraftingRecipe.class
+ )
+ .findAny()
+ .isPresent()
+ ) {
+ String displayName = Utils.cleanColour(item
+ .get("displayname")
+ .getAsString()
+ .replace("[Lvl {LVL}]", "")
+ .trim());
+ NotEnoughUpdates.INSTANCE.trySendCommand("/recipe " + displayName);
}
}
}
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/options/separatesections/Misc.java b/src/main/java/io/github/moulberry/notenoughupdates/options/separatesections/Misc.java
index 52df50f7..cd5bd3d6 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/options/separatesections/Misc.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/options/separatesections/Misc.java
@@ -348,6 +348,14 @@ public class Misc {
@Expose
@ConfigOption(
+ name = "Open /recipe for current item",
+ desc = "Opens the SkyBlock recipe for the item you are hovering over. Intended for super crafting"
+ )
+ @ConfigEditorKeybind(defaultKey = Keyboard.KEY_NONE)
+ public int openSkyBlockRecipeKeybind = Keyboard.KEY_NONE;
+
+ @Expose
+ @ConfigOption(
name = "Countdown Calculations",
desc = "Shows a(n estimated) timestamp for when a countdown in an item's tooltip will end, relative to your timezone. Also applies to §e/neucalendar§r."
)
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/util/StreamExtL.java b/src/main/java/io/github/moulberry/notenoughupdates/util/StreamExtL.java
new file mode 100644
index 00000000..2fbdbf7d
--- /dev/null
+++ b/src/main/java/io/github/moulberry/notenoughupdates/util/StreamExtL.java
@@ -0,0 +1,28 @@
+/*
+ * Copyright (C) 2024 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
+package io.github.moulberry.notenoughupdates.util;
+
+import java.util.stream.Stream;
+
+public class StreamExtL {
+ public static <T, U> Stream<U> filterIsInstance(Stream<T> self, Class<U> uClass) {
+ return self.filter(uClass::isInstance).map(uClass::cast);
+ }
+}