diff options
Diffstat (limited to 'src/main/java/at/hannibal2/skyhanni/data')
| -rw-r--r-- | src/main/java/at/hannibal2/skyhanni/data/GuildAPI.kt | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/src/main/java/at/hannibal2/skyhanni/data/GuildAPI.kt b/src/main/java/at/hannibal2/skyhanni/data/GuildAPI.kt new file mode 100644 index 000000000..cb8288e52 --- /dev/null +++ b/src/main/java/at/hannibal2/skyhanni/data/GuildAPI.kt @@ -0,0 +1,41 @@ +package at.hannibal2.skyhanni.data + +import at.hannibal2.skyhanni.events.LorenzChatEvent +import at.hannibal2.skyhanni.utils.StringUtils.cleanPlayerName +import net.minecraftforge.fml.common.eventhandler.SubscribeEvent + +object GuildAPI { + private var inGuildMessage = false + private val list = mutableListOf<String>() + + @SubscribeEvent + fun onChat(event: LorenzChatEvent) { + val message = event.message + if (message.startsWith("§6Guild Name: ")) { + inGuildMessage = true + list.clear() + return + } + if (message.startsWith("§eTotal Members: ")) { + inGuildMessage = false + ProfileStorageData.playerSpecific?.guildMembers?.let { + it.clear() + it.addAll(list) + } + list.clear() + return + } + + if (inGuildMessage) { + if (message.contains("●")) { + for (word in message.split("●")) { + list.add(word.cleanPlayerName()) + } + } + } + } + + fun isInGuild(name: String) = ProfileStorageData.playerSpecific?.guildMembers?.let { + name in it + } ?: false +}
\ No newline at end of file |
