From 7d94a011aa7887893f3c6d24622c5277f4f0a8d0 Mon Sep 17 00:00:00 2001 From: Lorenz Date: Fri, 8 Jul 2022 23:14:32 +0200 Subject: add current pet display and gui render support --- .../java/at/lorenz/mod/misc/CurrentPetDisplay.kt | 48 ++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 src/main/java/at/lorenz/mod/misc/CurrentPetDisplay.kt (limited to 'src/main/java/at/lorenz/mod/misc') diff --git a/src/main/java/at/lorenz/mod/misc/CurrentPetDisplay.kt b/src/main/java/at/lorenz/mod/misc/CurrentPetDisplay.kt new file mode 100644 index 000000000..9159dc3cc --- /dev/null +++ b/src/main/java/at/lorenz/mod/misc/CurrentPetDisplay.kt @@ -0,0 +1,48 @@ +package at.lorenz.mod.misc + +import at.lorenz.mod.LorenzMod +import at.lorenz.mod.events.LorenzChatEvent +import at.lorenz.mod.utils.GuiRender.renderString +import at.lorenz.mod.utils.LorenzUtils.between +import at.lorenz.mod.utils.LorenzUtils.matchRegex +import net.minecraftforge.client.event.RenderGameOverlayEvent +import net.minecraftforge.fml.common.eventhandler.SubscribeEvent + +class CurrentPetDisplay { + + companion object { + var currentPet: String = "" + } + + @SubscribeEvent + fun onChatMessage(event: LorenzChatEvent) { + var blocked = false + + val message = event.message + if (message.matchRegex("§aYou summoned your §r(.*)§r§a!")) { + currentPet = message.between("your §r", "§r§a") + blocked = true + } + if (message.matchRegex("§cAutopet §eequipped your §7(.*)§e! §a§lVIEW RULE")) { + currentPet = message.between("] ", "§e!") + blocked = true + } + if (message.matchRegex("§aYou despawned your §r(.*)§r§a!")) { + currentPet = "" + blocked = true + } + + if (blocked && LorenzMod.feature.misc.petDisplay) { + event.blockedReason = "pets" + } + } + + + @SubscribeEvent + fun renderOverlay(event: RenderGameOverlayEvent.Post) { + if (!LorenzMod.feature.misc.petDisplay) return + if (currentPet == "") return + + LorenzMod.feature.misc.petDisplayPos.renderString(currentPet) + } +} \ No newline at end of file -- cgit