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:
parent
feed9bc2b0
commit
745be6cfd8
@ -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
|
||||||
|
Loading…
Reference in New Issue
Block a user