diff options
author | bowser0000 <bowser0000@gmail.com> | 2022-04-28 22:10:18 -0400 |
---|---|---|
committer | bowser0000 <bowser0000@gmail.com> | 2022-04-28 22:10:18 -0400 |
commit | 276734f87ce984e634e74a9a203402a93c7f7f12 (patch) | |
tree | 85aa0bd1240747a5bec8eab20e4ea188480c01ac /src/main/java/me/Danker/features/ChatAliases.java | |
parent | 5586d4588c8d106a3b080bb45ba74b3c81113162 (diff) | |
download | SkyblockMod-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.java | 64 |
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; + } + + } + +} |