aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorRosa <rosaontheweb@proton.me>2026-03-10 22:23:19 -0400
committerRosa <rosaontheweb@proton.me>2026-03-10 22:23:19 -0400
commit2d1e0699f290afaf9430ff446e0c60bed4e5be1a (patch)
tree75afd7509062969a867bfdbbfc39699beb34d5ec /src
init
Diffstat (limited to 'src')
-rw-r--r--src/main/java/net/girlonthe/chattweaks/mixin/ChatComponentMixin.java31
-rw-r--r--src/main/resources/assets/rosas-chat-tweaks/icon.pngbin0 -> 1221 bytes
-rw-r--r--src/main/resources/fabric.mod.json23
-rw-r--r--src/main/resources/rosas-chat-tweaks.mixins.json9
4 files changed, 63 insertions, 0 deletions
diff --git a/src/main/java/net/girlonthe/chattweaks/mixin/ChatComponentMixin.java b/src/main/java/net/girlonthe/chattweaks/mixin/ChatComponentMixin.java
new file mode 100644
index 0000000..bdbc428
--- /dev/null
+++ b/src/main/java/net/girlonthe/chattweaks/mixin/ChatComponentMixin.java
@@ -0,0 +1,31 @@
+package net.girlonthe.chattweaks.mixin;
+
+import net.minecraft.ChatFormatting;
+import net.minecraft.client.gui.components.ChatComponent;
+import net.minecraft.client.GuiMessage;
+import net.minecraft.network.chat.Component;
+import net.minecraft.network.chat.Style;
+import net.minecraft.network.chat.TextColor;
+import org.spongepowered.asm.mixin.injection.At;
+import org.spongepowered.asm.mixin.injection.ModifyArg;
+import org.spongepowered.asm.mixin.Mixin;
+
+import java.time.LocalDateTime;
+import java.time.format.DateTimeFormatter;
+
+@Mixin(ChatComponent.class)
+public abstract class ChatComponentMixin {
+ @ModifyArg(
+ method = "addMessage(Lnet/minecraft/network/chat/Component;Lnet/minecraft/network/chat/MessageSignature;Lnet/minecraft/client/GuiMessageTag;)V",
+ at = @At(value = "INVOKE", target = "Lnet/minecraft/client/gui/components/ChatComponent;addMessageToDisplayQueue(Lnet/minecraft/client/GuiMessage;)V")
+ )
+ private GuiMessage rosasChatTweaks$prependTimestamp(GuiMessage original) {
+ Component newComponent = Component.empty()
+ .append(
+ Component.literal(DateTimeFormatter.ofPattern("HH:mm:ss ").format(LocalDateTime.now()))
+ .setStyle(Style.EMPTY.withColor(ChatFormatting.GRAY))
+ )
+ .append(original.content());
+ return new GuiMessage(original.addedTime(), newComponent, original.signature(), original.tag());
+ }
+}
diff --git a/src/main/resources/assets/rosas-chat-tweaks/icon.png b/src/main/resources/assets/rosas-chat-tweaks/icon.png
new file mode 100644
index 0000000..6f0db0a
--- /dev/null
+++ b/src/main/resources/assets/rosas-chat-tweaks/icon.png
Binary files differ
diff --git a/src/main/resources/fabric.mod.json b/src/main/resources/fabric.mod.json
new file mode 100644
index 0000000..b5fc634
--- /dev/null
+++ b/src/main/resources/fabric.mod.json
@@ -0,0 +1,23 @@
+{
+ "schemaVersion": 1,
+ "id": "rosas-chat-tweaks",
+ "version": "${version}",
+ "name": "Rosa's Chat Tweaks",
+ "description": "A collection of small tweaks to the chat UI",
+ "authors": [
+ "Rosa (girlonthe.net)"
+ ],
+ "contact": {
+ "issues": "TODO",
+ "sources": "TODO"
+ },
+ "license": "Unlicense",
+ "icon": "assets/rosas-chat-tweaks/icon.png",
+ "environment": "client",
+ "mixins": ["rosas-chat-tweaks.mixins.json"],
+ "depends": {
+ "fabricloader": ">=0.18.4",
+ "minecraft": ">=1.21.11"
+ },
+ "suggests": {}
+}
diff --git a/src/main/resources/rosas-chat-tweaks.mixins.json b/src/main/resources/rosas-chat-tweaks.mixins.json
new file mode 100644
index 0000000..9bd762f
--- /dev/null
+++ b/src/main/resources/rosas-chat-tweaks.mixins.json
@@ -0,0 +1,9 @@
+{
+ "compatibilityLevel": "JAVA_21",
+ "injectors": {
+ "defaultRequire": 1
+ },
+ "package": "net.girlonthe.chattweaks.mixin",
+ "mixins": ["ChatComponentMixin"],
+ "required": true
+}