package org.openautonomousconnection.webclient.recode; import dev.unlegitdqrk.unlegitlibrary.event.EventManager; import dev.unlegitdqrk.unlegitlibrary.network.system.packets.PacketHandler; import lombok.Getter; import org.openautonomousconnection.infonamelib.InfoNames; import org.openautonomousconnection.oacswing.component.OACOptionPane; import org.openautonomousconnection.oacswing.component.design.Design; import org.openautonomousconnection.oacswing.component.design.DesignManager; import org.openautonomousconnection.protocol.ProtocolBridge; import org.openautonomousconnection.protocol.ProtocolValues; import org.openautonomousconnection.protocol.versions.ProtocolVersion; import org.openautonomousconnection.webclient.recode.settings.INSList; import org.openautonomousconnection.webclient.recode.ui.BrowserUI; import javax.swing.*; import java.io.File; public class Main { @Getter private static ClientImpl client; private static ProtocolBridge bridge; @Getter private static BrowserUI ui; private static void initProtocol() { InfoNames.registerOACInfoNameProtocols(); ProtocolValues values = new ProtocolValues(); values.packetHandler = new PacketHandler(); values.eventManager = new EventManager(); client = new ClientImpl(); try { bridge = new ProtocolBridge( client, values, ProtocolVersion.PV_1_0_0_BETA, new File("logs") ); client.buildINSConnection(); } catch (Exception e) { throw new RuntimeException(e); } } public static void main(String[] args) { initProtocol(); FxBootstrap.ensureInitialized(); DesignManager.setGlobalDesign(Design.DARK); SwingUtilities.invokeLater(() -> { ui = new BrowserUI(); ui.setSize(1200, 800); ui.setLocationRelativeTo(null); ui.setVisible(true); try { bridge.getProtocolValues().eventManager.registerListener(client); client.getClientINSConnection().connect(INSList.DEFAULT_INS, INSList.DEFAULT_PORT); } catch (Exception exception) { client.getProtocolBridge().getLogger().exception("Failed to connect to INS", exception); OACOptionPane.showMessageDialog(Main.getUi(), "Failed to connect to INS Server:\n" + exception.getMessage(), "INS Connection", OACOptionPane.ERROR_MESSAGE); } }); } }