diff options
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(); + } + } +} |