diff options
Diffstat (limited to 'src/main/java/at/hannibal2')
3 files changed, 49 insertions, 0 deletions
diff --git a/src/main/java/at/hannibal2/skyhanni/SkyHanniMod.kt b/src/main/java/at/hannibal2/skyhanni/SkyHanniMod.kt index 77b68cf15..107998d05 100644 --- a/src/main/java/at/hannibal2/skyhanni/SkyHanniMod.kt +++ b/src/main/java/at/hannibal2/skyhanni/SkyHanniMod.kt @@ -66,6 +66,7 @@ import at.hannibal2.skyhanni.features.chat.ChatFilter import at.hannibal2.skyhanni.features.chat.CompactBestiaryChatMessage import at.hannibal2.skyhanni.features.chat.CompactSplashPotionMessage import at.hannibal2.skyhanni.features.chat.PlayerDeathMessages +import at.hannibal2.skyhanni.features.chat.RareDropMessages import at.hannibal2.skyhanni.features.chat.SkyblockXPInChat import at.hannibal2.skyhanni.features.chat.Translator import at.hannibal2.skyhanni.features.chat.WatchdogHider @@ -769,6 +770,7 @@ class SkyHanniMod { loadModule(SuperCraftFeatures()) loadModule(InfernoMinionFeatures()) loadModule(LimboPlaytime()) + loadModule(RareDropMessages()) init() diff --git a/src/main/java/at/hannibal2/skyhanni/config/features/chat/ChatConfig.java b/src/main/java/at/hannibal2/skyhanni/config/features/chat/ChatConfig.java index 16ffec127..597096db0 100644 --- a/src/main/java/at/hannibal2/skyhanni/config/features/chat/ChatConfig.java +++ b/src/main/java/at/hannibal2/skyhanni/config/features/chat/ChatConfig.java @@ -136,4 +136,14 @@ public class ChatConfig { @ConfigEditorBoolean @FeatureToggle public boolean hideSkyMall = true; + + @Expose + @ConfigOption( + name = "Pet Drop Rarity", + desc = "Shows what rarity the pet drop is in the pet drop message.\n" + + "§6§lPET DROP! §5§lEPIC §5Slug §6(§6+1300☘)" + ) + @ConfigEditorBoolean + @FeatureToggle + public boolean petRarityDropMessage = true; } diff --git a/src/main/java/at/hannibal2/skyhanni/features/chat/RareDropMessages.kt b/src/main/java/at/hannibal2/skyhanni/features/chat/RareDropMessages.kt new file mode 100644 index 000000000..6d67b757a --- /dev/null +++ b/src/main/java/at/hannibal2/skyhanni/features/chat/RareDropMessages.kt @@ -0,0 +1,37 @@ +package at.hannibal2.skyhanni.features.chat + +import at.hannibal2.skyhanni.SkyHanniMod +import at.hannibal2.skyhanni.events.LorenzChatEvent +import at.hannibal2.skyhanni.utils.LorenzUtils +import at.hannibal2.skyhanni.utils.LorenzUtils.colorCodeToRarity +import at.hannibal2.skyhanni.utils.StringUtils.matchMatcher +import at.hannibal2.skyhanni.utils.repopatterns.RepoPattern +import net.minecraft.util.ChatComponentText +import net.minecraftforge.fml.common.eventhandler.SubscribeEvent + +class RareDropMessages { + + private val petDropPattern by RepoPattern.pattern( + "pet.petdropmessage", + "(?<typeOfDrop>§6§lPET DROP!|§5§lGREAT CATCH! §r§bYou found a §r§7\\[Lvl 1]) (?:§r)?§(?<rarityColor>.)(?<petName>[^§(.]+)(?<magicFindOrFarmingFortune>.*)" + ) + + private val config get() = SkyHanniMod.feature.chat.petRarityDropMessage + + @SubscribeEvent + fun onChat(event: LorenzChatEvent) { + if (!LorenzUtils.inSkyBlock) return + if (!config) return + + petDropPattern.matchMatcher(event.message) { + val typeOfDrop = group("typeOfDrop") + val rarityColor = group("rarityColor") + val petName = group("petName") + val magicFindOrFarmingFortune = group("magicFindOrFarmingFortune") + + event.chatComponent = ChatComponentText( + "$typeOfDrop §$rarityColor§l${colorCodeToRarity(rarityColor.first()).uppercase()} §$rarityColor$petName$magicFindOrFarmingFortune" + ) + } ?: return + } +} |