diff options
| author | NopoTheGamer <40329022+NopoTheGamer@users.noreply.github.com> | 2024-07-14 02:20:08 +1000 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-07-13 18:20:08 +0200 |
| commit | 1e587bdb6003b0beffa0c554582fbd846c314954 (patch) | |
| tree | e97c4105a6a027e2e92d12922039c7f320aea8a3 /src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/AhBzKeybind.java | |
| parent | 821c177944db38d038f635d2ba499392265a02eb (diff) | |
| download | notenoughupdates-1e587bdb6003b0beffa0c554582fbd846c314954.tar.gz notenoughupdates-1e587bdb6003b0beffa0c554582fbd846c314954.tar.bz2 notenoughupdates-1e587bdb6003b0beffa0c554582fbd846c314954.zip | |
Add support for ah/bz keybind in custom menus (#1241)
Diffstat (limited to 'src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/AhBzKeybind.java')
| -rw-r--r-- | src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/AhBzKeybind.java | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/AhBzKeybind.java b/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/AhBzKeybind.java new file mode 100644 index 00000000..a577f040 --- /dev/null +++ b/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/AhBzKeybind.java @@ -0,0 +1,61 @@ +/* + * 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.miscfeatures; + +import io.github.moulberry.notenoughupdates.NotEnoughUpdates; +import io.github.moulberry.notenoughupdates.util.ItemResolutionQuery; +import io.github.moulberry.notenoughupdates.util.ItemUtils; +import io.github.moulberry.notenoughupdates.util.Utils; +import net.minecraft.item.ItemStack; +import org.jetbrains.annotations.NotNull; + +import java.util.List; + +public class AhBzKeybind { + public static void onKeyPressed(String displayName, List<String> lore, String internalName) { + if (!CookieWarning.hasActiveBoosterCookie()) return; + + String cleanName = Utils.cleanColour(displayName).replace("[Lvl {LVL}]", "]").trim(); + + if (displayName.endsWith("Enchanted Book") && lore != null) { + String loreName = Utils.cleanColour(lore.get(0)); + + String bookName = loreName.substring(0, loreName.lastIndexOf(' ')); + NotEnoughUpdates.INSTANCE.trySendCommand("/bz " + bookName); + } else if (NotEnoughUpdates.INSTANCE.manager.auctionManager.getBazaarInfo(internalName) == null) { + NotEnoughUpdates.INSTANCE.trySendCommand("/ahs " + cleanName); + } else { + NotEnoughUpdates.INSTANCE.trySendCommand("/bz " + cleanName); + } + } + + public static void onKeyPressed(ItemStack hoveredStack) { + if (hoveredStack != null) { + String displayName = hoveredStack.getDisplayName(); + List<@NotNull String> lore = ItemUtils.getLore(hoveredStack); + ItemResolutionQuery query = + NotEnoughUpdates.INSTANCE.manager.createItemResolutionQuery().withItemStack(hoveredStack); + String internalName = query.resolveInternalName(); + if (displayName != null) { + onKeyPressed(displayName, lore, internalName); + } + } + } +} |
