0
0
mirror of https://github.com/Wurst-Imperium/Wurst7.git synced 2024-09-20 01:12:13 +02:00

Refactor ChatTranslatorHack to use virtual threads

This commit is contained in:
Alexander01998 2024-07-21 18:04:25 +02:00
parent feed9bc2b0
commit 745be6cfd8

View File

@ -53,39 +53,27 @@ public final class ChatTranslatorHack extends Hack implements ChatInputListener
@Override @Override
public void onReceivedMessage(ChatInputEvent event) public void onReceivedMessage(ChatInputEvent event)
{ {
new Thread(() -> { Thread.ofVirtual().name("ChatTranslator")
try .uncaughtExceptionHandler((t, e) -> e.printStackTrace())
{ .start(() -> translate(event.getComponent().getString()));
translate(event);
}catch(Exception e)
{
e.printStackTrace();
}
}, "ChatTranslator").start();
} }
private void translate(ChatInputEvent event) private void translate(String message)
{ {
String incomingMsg = event.getComponent().getString(); String prefix =
String translatorPrefix =
"\u00a7a[\u00a7b" + langTo.getSelected().name + "\u00a7a]:\u00a7r "; "\u00a7a[\u00a7b" + langTo.getSelected().name + "\u00a7a]:\u00a7r ";
if(incomingMsg.startsWith(ChatUtils.WURST_PREFIX) if(message.startsWith(ChatUtils.WURST_PREFIX)
|| incomingMsg.startsWith(translatorPrefix)) || message.startsWith(prefix))
return; return;
String translated = GoogleTranslate.translate(incomingMsg, String translated = GoogleTranslate.translate(message,
langFrom.getSelected().value, langTo.getSelected().value); langFrom.getSelected().value, langTo.getSelected().value);
if(translated == null) if(translated == null)
return; return;
Text translationMsg = MC.inGameHud.getChatHud().addMessage(Text.literal(prefix + translated));
Text.literal(translatorPrefix).append(Text.literal(translated));
MC.inGameHud.getChatHud().addMessage(translationMsg);
} }
public static enum FromLanguage public static enum FromLanguage