cleanup customchat code

This commit is contained in:
Bella 2020-03-12 16:36:58 -04:00
parent ed612d01e9
commit ae8e367998
No known key found for this signature in database
GPG Key ID: 03B01AC937D1C89C
1 changed files with 14 additions and 22 deletions

View File

@ -13,29 +13,24 @@ import static me.zeroeightsix.kami.KamiMod.*;
/** /**
* Created by 086 on 8/04/2018. * Created by 086 on 8/04/2018.
* Updated by S-B99 on 18/02/20 * Updated by S-B99 on 12/03/20
*/ */
@Module.Info(name = "CustomChat", category = Module.Category.CHAT, description = "Adds a watermark to the end of your message to let others know you're using KAMI Blue", showOnArray = Module.ShowOnArray.OFF) @Module.Info(name = "CustomChat", category = Module.Category.CHAT, description = "Adds a watermark to the end of your message to let others know you're using KAMI Blue", showOnArray = Module.ShowOnArray.OFF)
public class CustomChat extends Module { public class CustomChat extends Module {
public Setting<Boolean> startupGlobal = register(Settings.b("Enable Automatically", true)); public Setting<Boolean> startupGlobal = register(Settings.b("Enable Automatically", true));
public Setting<TextMode> textMode = register(Settings.e("Message", TextMode.ONTOP)); public Setting<TextMode> textMode = register(Settings.e("Message", TextMode.ON_TOP));
private Setting<DecoMode> decoMode = register(Settings.e("Separator", DecoMode.NONE)); private Setting<DecoMode> decoMode = register(Settings.e("Separator", DecoMode.NONE));
private Setting<Boolean> commands = register(Settings.b("Commands", false)); private Setting<Boolean> commands = register(Settings.b("Commands", false));
public Setting<String> customText = register(Settings.stringBuilder("Custom Text").withValue("unchanged").withConsumer((old, value) -> {}).build()); public Setting<String> customText = register(Settings.stringBuilder("Custom Text").withValue("unchanged").withConsumer((old, value) -> {}).build());
public enum TextMode { private enum DecoMode { SEPARATOR, CLASSIC, NONE }
NAME, ONTOP, WEBSITE, JAPANESE, CUSTOM public enum TextMode { NAME, ON_TOP, WEBSITE, JAPANESE, CUSTOM }
} public static String[] cmdCheck = new String[]{"/", ",", ".", "-", ";", "?", "*", "^", "&", Command.getCommandPrefix()};
private enum DecoMode {
SEPARATOR, CLASSIC, NONE
}
private String getText(TextMode t) { private String getText(TextMode t) {
switch (t) { switch (t) {
case NAME: return KAMI_BLUE; case NAME: return KAMI_BLUE;
case ONTOP: return KAMI_ONTOP; case ON_TOP: return KAMI_ONTOP;
case WEBSITE: return KAMI_WEBSITE; case WEBSITE: return KAMI_WEBSITE;
case JAPANESE: return KAMI_JAPANESE_ONTOP; case JAPANESE: return KAMI_JAPANESE_ONTOP;
case CUSTOM: return customText.getValue(); case CUSTOM: return customText.getValue();
@ -56,23 +51,20 @@ public class CustomChat extends Module {
public Listener<PacketEvent.Send> listener = new Listener<>(event -> { public Listener<PacketEvent.Send> listener = new Listener<>(event -> {
if (event.getPacket() instanceof CPacketChatMessage) { if (event.getPacket() instanceof CPacketChatMessage) {
String s = ((CPacketChatMessage) event.getPacket()).getMessage(); String s = ((CPacketChatMessage) event.getPacket()).getMessage();
if (!commands.getValue()) { if (!commands.getValue() && isCommand(s)) return;
if (s.startsWith("/")) return;
else if (s.startsWith(",")) return;
else if (s.startsWith(".")) return;
else if (s.startsWith("-")) return;
else if (s.startsWith(";")) return;
else if (s.startsWith("?")) return;
else if (s.startsWith("*")) return;
else if (s.startsWith("^")) return;
else if (s.startsWith("&")) return;
}
s += getFull(decoMode.getValue()); s += getFull(decoMode.getValue());
if (s.length() >= 256) s = s.substring(0, 256); if (s.length() >= 256) s = s.substring(0, 256);
((CPacketChatMessage) event.getPacket()).message = s; ((CPacketChatMessage) event.getPacket()).message = s;
} }
}); });
public boolean isCommand(String s) {
for (String value : cmdCheck) {
if (s.startsWith(value)) return true;
}
return false;
}
private static long startTime = 0; private static long startTime = 0;
@Override @Override
public void onUpdate() { public void onUpdate() {