summaryrefslogtreecommitdiff
path: root/src/main/java/moe/nea/ultranotifier
diff options
context:
space:
mode:
authorLinnea Gräf <nea@nea.moe>2025-01-25 15:11:28 +0100
committerLinnea Gräf <nea@nea.moe>2025-01-25 15:11:28 +0100
commit1062594643e4bb955bb6bf4efe8983108bdbd1bb (patch)
tree64888238907c03e679846a50d7be60fd955f7f1e /src/main/java/moe/nea/ultranotifier
parent1cae07c3df2f324205dc940278e7e702850f5ed2 (diff)
downloadultra-notifier-1062594643e4bb955bb6bf4efe8983108bdbd1bb.tar.gz
ultra-notifier-1062594643e4bb955bb6bf4efe8983108bdbd1bb.tar.bz2
ultra-notifier-1062594643e4bb955bb6bf4efe8983108bdbd1bb.zip
Filter visible chat messages
Diffstat (limited to 'src/main/java/moe/nea/ultranotifier')
-rw-r--r--src/main/java/moe/nea/ultranotifier/mixin/ChatHudMessageAdded.java1
-rw-r--r--src/main/java/moe/nea/ultranotifier/mixin/FilterVisibleMessagePatch.java24
2 files changed, 25 insertions, 0 deletions
diff --git a/src/main/java/moe/nea/ultranotifier/mixin/ChatHudMessageAdded.java b/src/main/java/moe/nea/ultranotifier/mixin/ChatHudMessageAdded.java
index bcccfe4..d7ed298 100644
--- a/src/main/java/moe/nea/ultranotifier/mixin/ChatHudMessageAdded.java
+++ b/src/main/java/moe/nea/ultranotifier/mixin/ChatHudMessageAdded.java
@@ -37,6 +37,7 @@ public class ChatHudMessageAdded {
//#endif
CallbackInfo ci
) {
+ // TODO: in this method prevent messages from being flushed (to preserve more history)
if (UltraNotifierEvents.post(new ChatGuiLineEvent(message)).isCancelled()) {
ci.cancel();
}
diff --git a/src/main/java/moe/nea/ultranotifier/mixin/FilterVisibleMessagePatch.java b/src/main/java/moe/nea/ultranotifier/mixin/FilterVisibleMessagePatch.java
new file mode 100644
index 0000000..13ef7cc
--- /dev/null
+++ b/src/main/java/moe/nea/ultranotifier/mixin/FilterVisibleMessagePatch.java
@@ -0,0 +1,24 @@
+package moe.nea.ultranotifier.mixin;
+
+import moe.nea.ultranotifier.event.UltraNotifierEvents;
+import moe.nea.ultranotifier.event.VisibleChatMessageAddedEvent;
+import net.minecraft.client.gui.hud.ChatHud;
+import net.minecraft.client.gui.hud.ChatHudLine;
+import org.spongepowered.asm.mixin.Mixin;
+import org.spongepowered.asm.mixin.injection.At;
+import org.spongepowered.asm.mixin.injection.Inject;
+import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
+
+@Mixin(ChatHud.class)
+public class FilterVisibleMessagePatch {
+ @Inject(
+ method = "addVisibleMessage",
+ at = @At("HEAD"),
+ cancellable = true
+ )
+ private void onAddVisibleMessage(ChatHudLine message, CallbackInfo ci) {
+ if (UltraNotifierEvents.post(new VisibleChatMessageAddedEvent(message)).isCancelled()) {
+ ci.cancel();
+ }
+ }
+}