diff options
| author | hannibal2 <24389977+hannibal00212@users.noreply.github.com> | 2023-10-28 19:01:55 +0200 |
|---|---|---|
| committer | hannibal2 <24389977+hannibal00212@users.noreply.github.com> | 2023-10-28 19:01:55 +0200 |
| commit | 9990094370612b8523c8f2622399d01c5697c0a7 (patch) | |
| tree | c922d678b0f3a489fb113be6435b8c35b0092666 /src/main/java/at/hannibal2/skyhanni/features/misc | |
| parent | 155af1305a5b65d0aac93e214ba6bead3a4d4e72 (diff) | |
| download | skyhanni-9990094370612b8523c8f2622399d01c5697c0a7.tar.gz skyhanni-9990094370612b8523c8f2622399d01c5697c0a7.tar.bz2 skyhanni-9990094370612b8523c8f2622399d01c5697c0a7.zip | |
changed config toggle to enabled, changed hotkey logic to only trigger once, reformat code and code cleanup
Diffstat (limited to 'src/main/java/at/hannibal2/skyhanni/features/misc')
| -rw-r--r-- | src/main/java/at/hannibal2/skyhanni/features/misc/FandomWikiFromMenus.kt | 47 |
1 files changed, 31 insertions, 16 deletions
diff --git a/src/main/java/at/hannibal2/skyhanni/features/misc/FandomWikiFromMenus.kt b/src/main/java/at/hannibal2/skyhanni/features/misc/FandomWikiFromMenus.kt index d2c1ab4f3..44d4b94ed 100644 --- a/src/main/java/at/hannibal2/skyhanni/features/misc/FandomWikiFromMenus.kt +++ b/src/main/java/at/hannibal2/skyhanni/features/misc/FandomWikiFromMenus.kt @@ -2,7 +2,7 @@ package at.hannibal2.skyhanni.features.misc import at.hannibal2.skyhanni.SkyHanniMod import at.hannibal2.skyhanni.config.ConfigUpdaterMigrator -import at.hannibal2.skyhanni.events.* +import at.hannibal2.skyhanni.features.commands.WikiManager import at.hannibal2.skyhanni.utils.InventoryUtils import at.hannibal2.skyhanni.utils.ItemUtils.getInternalName import at.hannibal2.skyhanni.utils.ItemUtils.getLore @@ -18,8 +18,6 @@ import net.minecraftforge.fml.common.eventhandler.SubscribeEvent class FandomWikiFromMenus { private val config get() = SkyHanniMod.feature.commands.fandomWiki - private val urlPrefix = "https://hypixel-skyblock.fandom.com/wiki/" - private val urlSearchPrefix = "${urlPrefix}Special:Search?query=" @SubscribeEvent fun onConfigFix(event: ConfigUpdaterMigrator.ConfigFixEvent) { @@ -34,33 +32,50 @@ class FandomWikiFromMenus { if (chestName.isEmpty()) return - val itemClickedStack = event.slot.stack + val itemClickedStack = event.slot.stack ?: return val itemClickedName = itemClickedStack.displayName val itemInHand = InventoryUtils.getItemInHand() ?: return val itemInHandName = itemInHand.nameWithEnchantment ?: return - val internalName = itemInHand.getInternalName().asString() ?: return - var wikiDisplayName = "" - var wikiInternalName = "" + val wikiDisplayName: String + val wikiInternalName: String - if ((itemInHandName == "") || (event.slotId == 11 && itemClickedName.contains("Wiki Command") && chestName.contains("Wiki"))) { + val inWikiInventory = // TODO better name for this inventory + event.slotId == 11 && itemClickedName.contains("Wiki Command") && chestName.contains("Wiki") + if ((itemInHandName == "") || inWikiInventory) { LorenzUtils.clickableChat("§e[SkyHanni] Click here to visit the Hypixel Skyblock Fandom Wiki!", "wiki") return - } else if (event.slotId == 15 && itemClickedName.contains("Wikithis Command") && chestName.contains("Wiki")) { + } + + val inOtherWikiInventory = // TODO better name for this inventory + event.slotId == 15 && itemClickedName.contains("Wikithis Command") && chestName.contains("Wiki") + if (inOtherWikiInventory) { wikiDisplayName = itemInHandName + val internalName = itemInHand.getInternalName().asString() wikiInternalName = internalName - } else if ((itemClickedStack.getLore().anyContains("Wiki") || itemClickedStack.getLore().anyContains("wiki")) && !(itemClickedStack.getLore().anyContains("wikipedia"))) { //.lowercase() to match "Wiki!" and ".*wiki.*" lore lines in one fell swoop - wikiDisplayName = itemClickedName.removeColor().replace("✔ ", "").replace("✖ ", "") - wikiInternalName = itemClickedName.removeColor().replace("✔ ", "").replace("✖ ", "") - } else return + } else { + //.lowercase() to match "Wiki!" and ".*wiki.*" lore lines in one fell swoop + val inThirdWikiInventory = // TODO better name for this inventory + (itemClickedStack.getLore().anyContains("Wiki") || itemClickedStack.getLore().anyContains("wiki")) + && !itemClickedStack.getLore().anyContains("wikipedia") + if (inThirdWikiInventory) { + wikiDisplayName = itemClickedName.removeColor().replace("✔ ", "").replace("✖ ", "") + wikiInternalName = wikiDisplayName + } else return + } + if (!config.skipWikiChat) { - LorenzUtils.clickableChat("§e[SkyHanni] Click here to search for $wikiDisplayName §eon the Hypixel Skyblock Fandom Wiki!", "wiki $wikiInternalName") + LorenzUtils.clickableChat( + "§e[SkyHanni] Click here to search for $wikiDisplayName §eon the Hypixel Skyblock Fandom Wiki!", + "wiki $wikiInternalName" + ) } else { LorenzUtils.chat("§e[SkyHanni] Searching the Fandom Wiki for §a$wikiDisplayName") - val wikiUrlCustom = "$urlSearchPrefix$wikiInternalName&scope=internal" + val wikiUrlCustom = "${WikiManager.urlSearchPrefix}$wikiInternalName&scope=internal" OSUtils.openBrowser(wikiUrlCustom.replace(' ', '+')) } event.isCanceled = true } - private fun isEnabled() = config.useFandomWiki + + private fun isEnabled() = config.enabled } |
