From 83c31b2eb0f342a72fc477250e70fb1a5c6f2b84 Mon Sep 17 00:00:00 2001 From: Rime <81419447+Emirlol@users.noreply.github.com> Date: Fri, 1 Nov 2024 20:43:57 +0300 Subject: Add math teacher helper (#1041) Co-authored-by: Kevinthegreat <92656833+kevinthegreat1@users.noreply.github.com> --- .../events/greatspook/MathTeacherHelper.java | 58 ++++++++++++++++++++++ 1 file changed, 58 insertions(+) create mode 100644 src/main/java/de/hysky/skyblocker/skyblock/events/greatspook/MathTeacherHelper.java (limited to 'src/main/java') diff --git a/src/main/java/de/hysky/skyblocker/skyblock/events/greatspook/MathTeacherHelper.java b/src/main/java/de/hysky/skyblocker/skyblock/events/greatspook/MathTeacherHelper.java new file mode 100644 index 00000000..526cb383 --- /dev/null +++ b/src/main/java/de/hysky/skyblocker/skyblock/events/greatspook/MathTeacherHelper.java @@ -0,0 +1,58 @@ +package de.hysky.skyblocker.skyblock.events.greatspook; + +import de.hysky.skyblocker.annotations.Init; +import de.hysky.skyblocker.utils.Calculator; +import de.hysky.skyblocker.utils.Constants; +import net.fabricmc.fabric.api.client.message.v1.ClientReceiveMessageEvents; +import net.minecraft.screen.ScreenTexts; +import net.minecraft.text.ClickEvent; +import net.minecraft.text.HoverEvent; +import net.minecraft.text.PlainTextContent; +import net.minecraft.text.Text; +import net.minecraft.util.Formatting; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.util.List; + +/** + *
A helper class for the Math Teachers that can spawn after killing Primal Fears in the Great Spook event.
+ */ +public final class MathTeacherHelper { + private static final Logger LOGGER = LoggerFactory.getLogger(MathTeacherHelper.class); + + @Init + public static void init() { + ClientReceiveMessageEvents.MODIFY_GAME.register(MathTeacherHelper::onMessage); + } + + /** + * Appends the result of the math expression to the message and a send in chat text that, well, sends the result in chat. + */ + public static Text onMessage(Text message, boolean overlay) { + if (overlay) return message; + List