summaryrefslogtreecommitdiff
path: root/src/main/java/at/hannibal2/skyhanni/features/commands
diff options
context:
space:
mode:
authorThunderblade73 <85900443+Thunderblade73@users.noreply.github.com>2024-02-19 15:40:02 +0100
committerGitHub <noreply@github.com>2024-02-19 15:40:02 +0100
commit96c657cbb5e1c9282911bb8b7b6f6239392ae07f (patch)
tree8796bcfaad5210bd6a834d81cef673160bc1c96c /src/main/java/at/hannibal2/skyhanni/features/commands
parent30c49ad2a76be6b4d70924135c7a80d0a6f548cf (diff)
downloadskyhanni-96c657cbb5e1c9282911bb8b7b6f6239392ae07f.tar.gz
skyhanni-96c657cbb5e1c9282911bb8b7b6f6239392ae07f.tar.bz2
skyhanni-96c657cbb5e1c9282911bb8b7b6f6239392ae07f.zip
Added GetFromSackAPI. #968
Diffstat (limited to 'src/main/java/at/hannibal2/skyhanni/features/commands')
-rw-r--r--src/main/java/at/hannibal2/skyhanni/features/commands/tabcomplete/GetFromSacksTabComplete.kt28
1 files changed, 11 insertions, 17 deletions
diff --git a/src/main/java/at/hannibal2/skyhanni/features/commands/tabcomplete/GetFromSacksTabComplete.kt b/src/main/java/at/hannibal2/skyhanni/features/commands/tabcomplete/GetFromSacksTabComplete.kt
index 1cbc853b2..a777c76b4 100644
--- a/src/main/java/at/hannibal2/skyhanni/features/commands/tabcomplete/GetFromSacksTabComplete.kt
+++ b/src/main/java/at/hannibal2/skyhanni/features/commands/tabcomplete/GetFromSacksTabComplete.kt
@@ -1,44 +1,38 @@
package at.hannibal2.skyhanni.features.commands.tabcomplete
import at.hannibal2.skyhanni.SkyHanniMod
-import at.hannibal2.skyhanni.data.jsonobjects.repo.SacksJson
+import at.hannibal2.skyhanni.api.GetFromSackAPI
+import at.hannibal2.skyhanni.api.GetFromSackAPI.commands
import at.hannibal2.skyhanni.events.MessageSendToServerEvent
-import at.hannibal2.skyhanni.events.RepositoryReloadEvent
import at.hannibal2.skyhanni.utils.ChatUtils
+import at.hannibal2.skyhanni.utils.ChatUtils.isCommand
import at.hannibal2.skyhanni.utils.LorenzUtils
+import at.hannibal2.skyhanni.utils.NEUInternalName.Companion.asInternalName
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent
object GetFromSacksTabComplete {
private val config get() = SkyHanniMod.feature.commands.tabComplete
- private var sackList = emptyList<String>()
- private val commands = arrayOf("gfs", "getfromsacks")
-
- @SubscribeEvent
- fun onRepoReload(event: RepositoryReloadEvent) {
- sackList = event.getConstant<SacksJson>("Sacks").sackList
- }
fun handleTabComplete(command: String): List<String>? {
if (!isEnabled()) return null
if (command !in commands) return null
- return sackList.map { it.replace(" ", "_") }
+ return GetFromSackAPI.sackList.map { it.asString() }
}
@SubscribeEvent
fun onMessageSendToServer(event: MessageSendToServerEvent) {
if (!isEnabled()) return
- val message = event.message
- if (!commands.any { message.startsWith("/$it ") }) return
+ if (!event.isCommand(GetFromSackAPI.commandsWithSlash)) return
- val rawName = message.split(" ")[1]
- val realName = rawName.replace("_", " ")
- if (realName == rawName) return
- if (realName !in sackList) return
+ val rawName = event.splitMessage[1]
+ val realName = rawName.asInternalName()
+ if (realName.asString() == rawName) return
+ if (realName !in GetFromSackAPI.sackList) return
event.isCanceled = true
- ChatUtils.sendMessageToServer(message.replace(rawName, realName))
+ ChatUtils.sendMessageToServer(event.message.replace(rawName, realName.asString()))
}
fun isEnabled() = LorenzUtils.inSkyBlock && config.gfsSack