diff options
| author | NopoTheGamer <40329022+NopoTheGamer@users.noreply.github.com> | 2024-05-03 19:20:13 +1000 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-05-03 11:20:13 +0200 |
| commit | c18aa60c33a8d70938c023ccef79bd4666b1921b (patch) | |
| tree | e7162b4ca8b68827eade56b9061960037f4c1a08 /src/main/kotlin/io | |
| parent | 597a248aea35b9d85b4d886434dd673321424007 (diff) | |
| download | NotEnoughUpdates-c18aa60c33a8d70938c023ccef79bd4666b1921b.tar.gz NotEnoughUpdates-c18aa60c33a8d70938c023ccef79bd4666b1921b.tar.bz2 NotEnoughUpdates-c18aa60c33a8d70938c023ccef79bd4666b1921b.zip | |
Add CTRL+F to open ah/bz search menus (#1141)
Diffstat (limited to 'src/main/kotlin/io')
| -rw-r--r-- | src/main/kotlin/io/github/moulberry/notenoughupdates/miscfeatures/BazaarAHCtrlF.kt | 75 |
1 files changed, 75 insertions, 0 deletions
diff --git a/src/main/kotlin/io/github/moulberry/notenoughupdates/miscfeatures/BazaarAHCtrlF.kt b/src/main/kotlin/io/github/moulberry/notenoughupdates/miscfeatures/BazaarAHCtrlF.kt new file mode 100644 index 00000000..e843a7e3 --- /dev/null +++ b/src/main/kotlin/io/github/moulberry/notenoughupdates/miscfeatures/BazaarAHCtrlF.kt @@ -0,0 +1,75 @@ +/* + * 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.autosubscribe.NEUAutoSubscribe +import io.github.moulberry.notenoughupdates.options.NEUConfig +import io.github.moulberry.notenoughupdates.util.Utils +import net.minecraft.client.Minecraft +import net.minecraft.client.gui.inventory.GuiChest +import net.minecraft.init.Items +import net.minecraftforge.client.event.GuiScreenEvent +import net.minecraftforge.fml.common.eventhandler.EventPriority +import net.minecraftforge.fml.common.eventhandler.SubscribeEvent +import org.lwjgl.input.Keyboard + +@NEUAutoSubscribe +class BazaarAHCtrlF { + + val config: NEUConfig = NotEnoughUpdates.INSTANCE.config + + + @SubscribeEvent(priority = EventPriority.HIGH) + fun onGuiScreenKeyboard(event: GuiScreenEvent.KeyboardInputEvent.Pre) { + if (event.gui !is GuiChest) return + val chestName = Utils.getOpenChestName() + val inBZ = inBZ(chestName) + val inAH = inAH(chestName) + if (!inBZ && !inAH) return + val openSlots = Minecraft.getMinecraft().thePlayer?.openContainer?.inventorySlots ?: return + + var slotId = 0; + if (inBZ) { + slotId = 45 + } else if (inAH) { + slotId = 48 + } + + val gui = event.gui as GuiChest + val signStack = openSlots[slotId]?.stack ?: return + if (signStack.item == Items.sign && signStack.displayName == "§aSearch") { + if (Keyboard.isKeyDown(Keyboard.KEY_LCONTROL) && Keyboard.isKeyDown(Keyboard.KEY_F)) { + Utils.sendMiddleMouseClick(gui.inventorySlots.windowId, slotId) + event.isCanceled = true + } + } + } + + private fun inAH(chestName: String): Boolean { + if (!config.ahTweaks.ctrlFSearch) return false + return (chestName.startsWith("Auctions")) + } + + private fun inBZ(chestName: String): Boolean { + if (!config.bazaarTweaks.ctrlFSearch) return false + return (chestName.startsWith("Bazaar")) + } +} |
