From c7a9d4a6bd53ed7d61731770f2f10e8b9fd435f9 Mon Sep 17 00:00:00 2001 From: Fuwn Date: Thu, 12 Feb 2026 22:33:32 -0800 Subject: Initial commit --- NET/worlds/console/ChatPart.java | 72 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 72 insertions(+) create mode 100644 NET/worlds/console/ChatPart.java (limited to 'NET/worlds/console/ChatPart.java') diff --git a/NET/worlds/console/ChatPart.java b/NET/worlds/console/ChatPart.java new file mode 100644 index 0000000..dfdf161 --- /dev/null +++ b/NET/worlds/console/ChatPart.java @@ -0,0 +1,72 @@ +package NET.worlds.console; + +import NET.worlds.scape.FrameEvent; +import NET.worlds.scape.Pilot; +import java.awt.Container; + +public class ChatPart extends DuplexPart { + private Window renderWindow; + private DefaultConsole console; + private static final String activateVCselfWhisper = "&|+debug= 0 && ii < s.length() - 1 && s.charAt(ii + 1) == 'u') { + Pilot.sendText(Console.parseUnicode(s)); + } else { + Pilot.sendText(s); + } + } + + @Override + public void activate(Console c, Container f, Console prev) { + super.activate(c, f, prev); + this.console = (DefaultConsole)c; + } + + @Override + public void deactivate() { + super.deactivate(); + this.renderWindow = null; + this.console = null; + } + + @Override + public synchronized boolean handle(FrameEvent f) { + boolean ret = super.handle(f); + if (this.renderWindow == null && this.console != null) { + RenderCanvas rc = this.console.getRender(); + if (rc != null) { + Window w = rc.getWindow(); + if (w != null) { + try { + w.hookChatLine(this.line); + this.renderWindow = w; + } catch (WindowNotFoundException var6) { + } + } + } + } + + return ret; + } + + private void triggerLocalDebug(String s) { + if (s.startsWith("&|+debug