aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/me/Danker/features/ChatAliases.java
diff options
context:
space:
mode:
authorbowser0000 <bowser0000@gmail.com>2022-04-28 22:10:18 -0400
committerbowser0000 <bowser0000@gmail.com>2022-04-28 22:10:18 -0400
commit276734f87ce984e634e74a9a203402a93c7f7f12 (patch)
tree85aa0bd1240747a5bec8eab20e4ea188480c01ac /src/main/java/me/Danker/features/ChatAliases.java
parent5586d4588c8d106a3b080bb45ba74b3c81113162 (diff)
downloadSkyblockMod-276734f87ce984e634e74a9a203402a93c7f7f12.tar.gz
SkyblockMod-276734f87ce984e634e74a9a203402a93c7f7f12.tar.bz2
SkyblockMod-276734f87ce984e634e74a9a203402a93c7f7f12.zip
Add chat aliases
Diffstat (limited to 'src/main/java/me/Danker/features/ChatAliases.java')
-rw-r--r--src/main/java/me/Danker/features/ChatAliases.java64
1 files changed, 64 insertions, 0 deletions
diff --git a/src/main/java/me/Danker/features/ChatAliases.java b/src/main/java/me/Danker/features/ChatAliases.java
new file mode 100644
index 0000000..ae9e0f7
--- /dev/null
+++ b/src/main/java/me/Danker/features/ChatAliases.java
@@ -0,0 +1,64 @@
+package me.Danker.features;
+
+import com.google.gson.GsonBuilder;
+import me.Danker.events.PacketWriteEvent;
+import net.minecraft.client.Minecraft;
+import net.minecraft.network.play.client.C01PacketChatMessage;
+import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
+
+import java.io.FileWriter;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.List;
+
+public class ChatAliases {
+
+ public static List<Alias> aliases = new ArrayList<>();
+ public static String configFile;
+
+ @SubscribeEvent
+ public void onPacketWrite(PacketWriteEvent event) {
+ if (event.packet instanceof C01PacketChatMessage) {
+ C01PacketChatMessage packet = (C01PacketChatMessage) event.packet;
+ String message = packet.getMessage();
+
+ for (Alias alias : aliases) {
+ if (!alias.toggled) continue;
+ message = message.replace(alias.text, alias.alias);
+ }
+
+ if (!packet.getMessage().equals(message)) {
+ event.setCanceled(true);
+ Minecraft.getMinecraft().thePlayer.sendQueue.addToSendQueue(new C01PacketChatMessage(message));
+ }
+ }
+ }
+
+ public static void save() {
+ try (FileWriter writer = new FileWriter(configFile)) {
+ new GsonBuilder().create().toJson(aliases, writer);
+ writer.flush();
+ } catch (IOException ex) {
+ ex.printStackTrace();
+ }
+ }
+
+ public static class Alias {
+
+ public String text;
+ public String alias;
+ public boolean toggled;
+
+ public Alias(String text, String alias, boolean toggled) {
+ this.text = text;
+ this.alias = alias;
+ this.toggled = toggled;
+ }
+
+ public void toggle() {
+ toggled = !toggled;
+ }
+
+ }
+
+}