From ebacd8b4584b88efd531c82c0c686e41a095544f Mon Sep 17 00:00:00 2001 From: hannibal2 <24389977+hannibal00212@users.noreply.github.com> Date: Thu, 9 Mar 2023 21:22:36 +0100 Subject: Added /desk shortcut in sb menu --- .../skyhanni/features/garden/GardenDeskInSBMenu.kt | 50 ++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 src/main/java/at/hannibal2/skyhanni/features/garden/GardenDeskInSBMenu.kt (limited to 'src/main/java/at/hannibal2/skyhanni/features') diff --git a/src/main/java/at/hannibal2/skyhanni/features/garden/GardenDeskInSBMenu.kt b/src/main/java/at/hannibal2/skyhanni/features/garden/GardenDeskInSBMenu.kt new file mode 100644 index 000000000..fc060bad5 --- /dev/null +++ b/src/main/java/at/hannibal2/skyhanni/features/garden/GardenDeskInSBMenu.kt @@ -0,0 +1,50 @@ +package at.hannibal2.skyhanni.features.garden + +import at.hannibal2.skyhanni.SkyHanniMod +import at.hannibal2.skyhanni.config.features.Garden +import at.hannibal2.skyhanni.events.InventoryCloseEvent +import at.hannibal2.skyhanni.events.InventoryOpenEvent +import at.hannibal2.skyhanni.utils.NEUItems +import io.github.moulberry.notenoughupdates.events.ReplaceItemEvent +import io.github.moulberry.notenoughupdates.events.SlotClickEvent +import io.github.moulberry.notenoughupdates.util.Utils +import net.minecraft.client.Minecraft +import net.minecraftforge.fml.common.eventhandler.EventPriority +import net.minecraftforge.fml.common.eventhandler.SubscribeEvent + +class GardenDeskInSBMenu { + + private val config: Garden get() = SkyHanniMod.feature.garden + private var showItem = false + + private val item by lazy { + val neuItem = NEUItems.getItemStack("DOUBLE_PLANT") + Utils.createItemStack(neuItem.item, "§bDesk", "§7Click here to", "§7run §e/desk") + } + + + @SubscribeEvent + fun onInventoryOpen(event: InventoryOpenEvent) { + showItem = GardenAPI.inGarden() && config.deskInSkyBlockMenu && event.inventoryName == "SkyBlock Menu" + } + + @SubscribeEvent + fun onInventoryClose(event: InventoryCloseEvent) { + showItem = false + } + + @SubscribeEvent + fun replaceItem(event: ReplaceItemEvent) { + if (showItem && event.slotNumber == 10) { + event.replaceWith(item) + } + } + + @SubscribeEvent(priority = EventPriority.HIGH) + fun onStackClick(event: SlotClickEvent) { + if (showItem && event.slotId == 10) { + val thePlayer = Minecraft.getMinecraft().thePlayer + thePlayer.sendChatMessage("/desk") + } + } +} \ No newline at end of file -- cgit