diff options
author | Linnea Gräf <nea@nea.moe> | 2025-01-25 15:11:28 +0100 |
---|---|---|
committer | Linnea Gräf <nea@nea.moe> | 2025-01-25 15:11:28 +0100 |
commit | 1062594643e4bb955bb6bf4efe8983108bdbd1bb (patch) | |
tree | 64888238907c03e679846a50d7be60fd955f7f1e /src/main/java/moe/nea/ultranotifier | |
parent | 1cae07c3df2f324205dc940278e7e702850f5ed2 (diff) | |
download | ultra-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.java | 1 | ||||
-rw-r--r-- | src/main/java/moe/nea/ultranotifier/mixin/FilterVisibleMessagePatch.java | 24 |
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(); + } + } +} |