summaryrefslogtreecommitdiff
path: root/enigma-server/src/main/java
diff options
context:
space:
mode:
authorGravatar Runemoro2020-06-03 13:39:42 -0400
committerGravatar GitHub2020-06-03 18:39:42 +0100
commit0f47403d0220757fed189b76e2071e25b1025cb8 (patch)
tree879bf72c4476f0a5e0d82da99d7ff2b2276bcaca /enigma-server/src/main/java
parentFix search dialog hanging for a short time sometimes (#250) (diff)
downloadenigma-0f47403d0220757fed189b76e2071e25b1025cb8.tar.gz
enigma-0f47403d0220757fed189b76e2071e25b1025cb8.tar.xz
enigma-0f47403d0220757fed189b76e2071e25b1025cb8.zip
Split GUI code to separate module (#242)
* Split into modules * Post merge compile fixes Co-authored-by: modmuss50 <modmuss50@gmail.com>
Diffstat (limited to '')
-rw-r--r--enigma-server/src/main/java/cuchaz/enigma/network/ClientPacketHandler.java29
-rw-r--r--enigma-server/src/main/java/cuchaz/enigma/network/DedicatedEnigmaServer.java (renamed from src/main/java/cuchaz/enigma/network/DedicatedEnigmaServer.java)46
-rw-r--r--enigma-server/src/main/java/cuchaz/enigma/network/EnigmaClient.java (renamed from src/main/java/cuchaz/enigma/network/EnigmaClient.java)17
-rw-r--r--enigma-server/src/main/java/cuchaz/enigma/network/EnigmaServer.java (renamed from src/main/java/cuchaz/enigma/network/EnigmaServer.java)8
-rw-r--r--enigma-server/src/main/java/cuchaz/enigma/network/IntegratedEnigmaServer.java (renamed from src/main/java/cuchaz/enigma/network/IntegratedEnigmaServer.java)0
-rw-r--r--enigma-server/src/main/java/cuchaz/enigma/network/Message.java (renamed from src/main/java/cuchaz/enigma/utils/Message.java)3
-rw-r--r--enigma-server/src/main/java/cuchaz/enigma/network/ServerPacketHandler.java (renamed from src/main/java/cuchaz/enigma/network/ServerPacketHandler.java)0
-rw-r--r--enigma-server/src/main/java/cuchaz/enigma/network/packet/ChangeDocsC2SPacket.java (renamed from src/main/java/cuchaz/enigma/network/packet/ChangeDocsC2SPacket.java)4
-rw-r--r--enigma-server/src/main/java/cuchaz/enigma/network/packet/ChangeDocsS2CPacket.java (renamed from src/main/java/cuchaz/enigma/network/packet/ChangeDocsS2CPacket.java)6
-rw-r--r--enigma-server/src/main/java/cuchaz/enigma/network/packet/ConfirmChangeC2SPacket.java (renamed from src/main/java/cuchaz/enigma/network/packet/ConfirmChangeC2SPacket.java)0
-rw-r--r--enigma-server/src/main/java/cuchaz/enigma/network/packet/KickS2CPacket.java (renamed from src/main/java/cuchaz/enigma/network/packet/KickS2CPacket.java)6
-rw-r--r--enigma-server/src/main/java/cuchaz/enigma/network/packet/LoginC2SPacket.java (renamed from src/main/java/cuchaz/enigma/network/packet/LoginC2SPacket.java)2
-rw-r--r--enigma-server/src/main/java/cuchaz/enigma/network/packet/MarkDeobfuscatedC2SPacket.java (renamed from src/main/java/cuchaz/enigma/network/packet/MarkDeobfuscatedC2SPacket.java)2
-rw-r--r--enigma-server/src/main/java/cuchaz/enigma/network/packet/MarkDeobfuscatedS2CPacket.java (renamed from src/main/java/cuchaz/enigma/network/packet/MarkDeobfuscatedS2CPacket.java)6
-rw-r--r--enigma-server/src/main/java/cuchaz/enigma/network/packet/MessageC2SPacket.java (renamed from src/main/java/cuchaz/enigma/network/packet/MessageC2SPacket.java)2
-rw-r--r--enigma-server/src/main/java/cuchaz/enigma/network/packet/MessageS2CPacket.java (renamed from src/main/java/cuchaz/enigma/network/packet/MessageS2CPacket.java)8
-rw-r--r--enigma-server/src/main/java/cuchaz/enigma/network/packet/Packet.java (renamed from src/main/java/cuchaz/enigma/network/packet/Packet.java)0
-rw-r--r--enigma-server/src/main/java/cuchaz/enigma/network/packet/PacketHelper.java (renamed from src/main/java/cuchaz/enigma/network/packet/PacketHelper.java)0
-rw-r--r--enigma-server/src/main/java/cuchaz/enigma/network/packet/PacketRegistry.java (renamed from src/main/java/cuchaz/enigma/network/packet/PacketRegistry.java)14
-rw-r--r--enigma-server/src/main/java/cuchaz/enigma/network/packet/RemoveMappingC2SPacket.java (renamed from src/main/java/cuchaz/enigma/network/packet/RemoveMappingC2SPacket.java)4
-rw-r--r--enigma-server/src/main/java/cuchaz/enigma/network/packet/RemoveMappingS2CPacket.java (renamed from src/main/java/cuchaz/enigma/network/packet/RemoveMappingS2CPacket.java)6
-rw-r--r--enigma-server/src/main/java/cuchaz/enigma/network/packet/RenameC2SPacket.java (renamed from src/main/java/cuchaz/enigma/network/packet/RenameC2SPacket.java)4
-rw-r--r--enigma-server/src/main/java/cuchaz/enigma/network/packet/RenameS2CPacket.java (renamed from src/main/java/cuchaz/enigma/network/packet/RenameS2CPacket.java)6
-rw-r--r--enigma-server/src/main/java/cuchaz/enigma/network/packet/SyncMappingsS2CPacket.java (renamed from src/main/java/cuchaz/enigma/network/packet/SyncMappingsS2CPacket.java)8
-rw-r--r--enigma-server/src/main/java/cuchaz/enigma/network/packet/UserListS2CPacket.java (renamed from src/main/java/cuchaz/enigma/network/packet/UserListS2CPacket.java)8
25 files changed, 123 insertions, 66 deletions
diff --git a/enigma-server/src/main/java/cuchaz/enigma/network/ClientPacketHandler.java b/enigma-server/src/main/java/cuchaz/enigma/network/ClientPacketHandler.java
new file mode 100644
index 00000000..720744bf
--- /dev/null
+++ b/enigma-server/src/main/java/cuchaz/enigma/network/ClientPacketHandler.java
@@ -0,0 +1,29 @@
1package cuchaz.enigma.network;
2
3import cuchaz.enigma.analysis.EntryReference;
4import cuchaz.enigma.translation.mapping.EntryMapping;
5import cuchaz.enigma.translation.mapping.tree.EntryTree;
6import cuchaz.enigma.network.packet.Packet;
7import cuchaz.enigma.translation.representation.entry.Entry;
8
9import java.util.List;
10
11public interface ClientPacketHandler {
12 void openMappings(EntryTree<EntryMapping> mappings);
13
14 void rename(EntryReference<Entry<?>, Entry<?>> reference, String newName, boolean refreshClassTree, boolean jumpToReference);
15
16 void removeMapping(EntryReference<Entry<?>, Entry<?>> reference, boolean jumpToReference);
17
18 void changeDocs(EntryReference<Entry<?>, Entry<?>> reference, String updatedDocs, boolean jumpToReference);
19
20 void markAsDeobfuscated(EntryReference<Entry<?>, Entry<?>> reference, boolean jumpToReference);
21
22 void disconnectIfConnected(String reason);
23
24 void sendPacket(Packet<ServerPacketHandler> packet);
25
26 void addMessage(Message message);
27
28 void updateUserList(List<String> users);
29}
diff --git a/src/main/java/cuchaz/enigma/network/DedicatedEnigmaServer.java b/enigma-server/src/main/java/cuchaz/enigma/network/DedicatedEnigmaServer.java
index 2cfe8233..924302f3 100644
--- a/src/main/java/cuchaz/enigma/network/DedicatedEnigmaServer.java
+++ b/enigma-server/src/main/java/cuchaz/enigma/network/DedicatedEnigmaServer.java
@@ -2,13 +2,14 @@ package cuchaz.enigma.network;
2 2
3import com.google.common.io.MoreFiles; 3import com.google.common.io.MoreFiles;
4import cuchaz.enigma.*; 4import cuchaz.enigma.*;
5import cuchaz.enigma.throwables.MappingParseException; 5import cuchaz.enigma.translation.mapping.serde.MappingParseException;
6import cuchaz.enigma.translation.mapping.EntryRemapper; 6import cuchaz.enigma.translation.mapping.EntryRemapper;
7import cuchaz.enigma.translation.mapping.serde.MappingFormat; 7import cuchaz.enigma.translation.mapping.serde.MappingFormat;
8import cuchaz.enigma.utils.Utils; 8import cuchaz.enigma.utils.Utils;
9import joptsimple.OptionParser; 9import joptsimple.OptionParser;
10import joptsimple.OptionSet; 10import joptsimple.OptionSet;
11import joptsimple.OptionSpec; 11import joptsimple.OptionSpec;
12import joptsimple.ValueConverter;
12 13
13import java.io.IOException; 14import java.io.IOException;
14import java.io.PrintWriter; 15import java.io.PrintWriter;
@@ -62,16 +63,16 @@ public class DedicatedEnigmaServer extends EnigmaServer {
62 OptionSpec<Path> jarOpt = parser.accepts("jar", "Jar file to open at startup") 63 OptionSpec<Path> jarOpt = parser.accepts("jar", "Jar file to open at startup")
63 .withRequiredArg() 64 .withRequiredArg()
64 .required() 65 .required()
65 .withValuesConvertedBy(Main.PathConverter.INSTANCE); 66 .withValuesConvertedBy(PathConverter.INSTANCE);
66 67
67 OptionSpec<Path> mappingsOpt = parser.accepts("mappings", "Mappings file to open at startup") 68 OptionSpec<Path> mappingsOpt = parser.accepts("mappings", "Mappings file to open at startup")
68 .withRequiredArg() 69 .withRequiredArg()
69 .required() 70 .required()
70 .withValuesConvertedBy(Main.PathConverter.INSTANCE); 71 .withValuesConvertedBy(PathConverter.INSTANCE);
71 72
72 OptionSpec<Path> profileOpt = parser.accepts("profile", "Profile json to apply at startup") 73 OptionSpec<Path> profileOpt = parser.accepts("profile", "Profile json to apply at startup")
73 .withRequiredArg() 74 .withRequiredArg()
74 .withValuesConvertedBy(Main.PathConverter.INSTANCE); 75 .withValuesConvertedBy(PathConverter.INSTANCE);
75 76
76 OptionSpec<Integer> portOpt = parser.accepts("port", "Port to run the server on") 77 OptionSpec<Integer> portOpt = parser.accepts("port", "Port to run the server on")
77 .withOptionalArg() 78 .withOptionalArg()
@@ -84,7 +85,7 @@ public class DedicatedEnigmaServer extends EnigmaServer {
84 85
85 OptionSpec<Path> logFileOpt = parser.accepts("log", "The log file to write to") 86 OptionSpec<Path> logFileOpt = parser.accepts("log", "The log file to write to")
86 .withRequiredArg() 87 .withRequiredArg()
87 .withValuesConvertedBy(Main.PathConverter.INSTANCE) 88 .withValuesConvertedBy(PathConverter.INSTANCE)
88 .defaultsTo(Paths.get("log.txt")); 89 .defaultsTo(Paths.get("log.txt"));
89 90
90 OptionSet parsedArgs = parser.parse(args); 91 OptionSet parsedArgs = parser.parse(args);
@@ -161,4 +162,39 @@ public class DedicatedEnigmaServer extends EnigmaServer {
161 mappingFormat.write(getMappings().getObfToDeobf(), getMappings().takeMappingDelta(), mappingsFile, ProgressListener.none(), profile.getMappingSaveParameters()); 162 mappingFormat.write(getMappings().getObfToDeobf(), getMappings().takeMappingDelta(), mappingsFile, ProgressListener.none(), profile.getMappingSaveParameters());
162 log.flush(); 163 log.flush();
163 } 164 }
165
166 public static class PathConverter implements ValueConverter<Path> {
167 public static final ValueConverter<Path> INSTANCE = new PathConverter();
168
169 PathConverter() {
170 }
171
172 @Override
173 public Path convert(String path) {
174 // expand ~ to the home dir
175 if (path.startsWith("~")) {
176 // get the home dir
177 Path dirHome = Paths.get(System.getProperty("user.home"));
178
179 // is the path just ~/ or is it ~user/ ?
180 if (path.startsWith("~/")) {
181 return dirHome.resolve(path.substring(2));
182 } else {
183 return dirHome.getParent().resolve(path.substring(1));
184 }
185 }
186
187 return Paths.get(path);
188 }
189
190 @Override
191 public Class<? extends Path> valueType() {
192 return Path.class;
193 }
194
195 @Override
196 public String valuePattern() {
197 return "path";
198 }
199 }
164} 200}
diff --git a/src/main/java/cuchaz/enigma/network/EnigmaClient.java b/enigma-server/src/main/java/cuchaz/enigma/network/EnigmaClient.java
index bfa53d73..71bd011c 100644
--- a/src/main/java/cuchaz/enigma/network/EnigmaClient.java
+++ b/enigma-server/src/main/java/cuchaz/enigma/network/EnigmaClient.java
@@ -1,30 +1,23 @@
1package cuchaz.enigma.network; 1package cuchaz.enigma.network;
2 2
3import cuchaz.enigma.gui.GuiController;
4import cuchaz.enigma.network.packet.LoginC2SPacket;
5import cuchaz.enigma.network.packet.Packet; 3import cuchaz.enigma.network.packet.Packet;
6import cuchaz.enigma.network.packet.PacketRegistry; 4import cuchaz.enigma.network.packet.PacketRegistry;
7 5
8import javax.swing.SwingUtilities; 6import javax.swing.*;
9import java.io.DataInput; 7import java.io.*;
10import java.io.DataInputStream;
11import java.io.DataOutput;
12import java.io.DataOutputStream;
13import java.io.EOFException;
14import java.io.IOException;
15import java.net.Socket; 8import java.net.Socket;
16import java.net.SocketException; 9import java.net.SocketException;
17 10
18public class EnigmaClient { 11public class EnigmaClient {
19 12
20 private final GuiController controller; 13 private final ClientPacketHandler controller;
21 14
22 private final String ip; 15 private final String ip;
23 private final int port; 16 private final int port;
24 private Socket socket; 17 private Socket socket;
25 private DataOutput output; 18 private DataOutput output;
26 19
27 public EnigmaClient(GuiController controller, String ip, int port) { 20 public EnigmaClient(ClientPacketHandler controller, String ip, int port) {
28 this.controller = controller; 21 this.controller = controller;
29 this.ip = ip; 22 this.ip = ip;
30 this.port = port; 23 this.port = port;
@@ -43,7 +36,7 @@ public class EnigmaClient {
43 } catch (EOFException | SocketException e) { 36 } catch (EOFException | SocketException e) {
44 break; 37 break;
45 } 38 }
46 Packet<GuiController> packet = PacketRegistry.createS2CPacket(packetId); 39 Packet<ClientPacketHandler> packet = PacketRegistry.createS2CPacket(packetId);
47 if (packet == null) { 40 if (packet == null) {
48 throw new IOException("Received invalid packet id " + packetId); 41 throw new IOException("Received invalid packet id " + packetId);
49 } 42 }
diff --git a/src/main/java/cuchaz/enigma/network/EnigmaServer.java b/enigma-server/src/main/java/cuchaz/enigma/network/EnigmaServer.java
index b0e15a3c..6027a6bd 100644
--- a/src/main/java/cuchaz/enigma/network/EnigmaServer.java
+++ b/enigma-server/src/main/java/cuchaz/enigma/network/EnigmaServer.java
@@ -1,6 +1,5 @@
1package cuchaz.enigma.network; 1package cuchaz.enigma.network;
2 2
3import cuchaz.enigma.gui.GuiController;
4import cuchaz.enigma.network.packet.KickS2CPacket; 3import cuchaz.enigma.network.packet.KickS2CPacket;
5import cuchaz.enigma.network.packet.MessageS2CPacket; 4import cuchaz.enigma.network.packet.MessageS2CPacket;
6import cuchaz.enigma.network.packet.Packet; 5import cuchaz.enigma.network.packet.Packet;
@@ -11,7 +10,6 @@ import cuchaz.enigma.network.packet.UserListS2CPacket;
11import cuchaz.enigma.translation.mapping.EntryMapping; 10import cuchaz.enigma.translation.mapping.EntryMapping;
12import cuchaz.enigma.translation.mapping.EntryRemapper; 11import cuchaz.enigma.translation.mapping.EntryRemapper;
13import cuchaz.enigma.translation.representation.entry.Entry; 12import cuchaz.enigma.translation.representation.entry.Entry;
14import cuchaz.enigma.utils.Message;
15 13
16import java.io.DataInput; 14import java.io.DataInput;
17import java.io.DataInputStream; 15import java.io.DataInputStream;
@@ -175,7 +173,7 @@ public abstract class EnigmaServer {
175 return usernames.get(client); 173 return usernames.get(client);
176 } 174 }
177 175
178 public void sendPacket(Socket client, Packet<GuiController> packet) { 176 public void sendPacket(Socket client, Packet<ClientPacketHandler> packet) {
179 if (!client.isClosed()) { 177 if (!client.isClosed()) {
180 int packetId = PacketRegistry.getS2CId(packet); 178 int packetId = PacketRegistry.getS2CId(packet);
181 try { 179 try {
@@ -191,13 +189,13 @@ public abstract class EnigmaServer {
191 } 189 }
192 } 190 }
193 191
194 public void sendToAll(Packet<GuiController> packet) { 192 public void sendToAll(Packet<ClientPacketHandler> packet) {
195 for (Socket client : clients) { 193 for (Socket client : clients) {
196 sendPacket(client, packet); 194 sendPacket(client, packet);
197 } 195 }
198 } 196 }
199 197
200 public void sendToAllExcept(Socket excluded, Packet<GuiController> packet) { 198 public void sendToAllExcept(Socket excluded, Packet<ClientPacketHandler> packet) {
201 for (Socket client : clients) { 199 for (Socket client : clients) {
202 if (client != excluded) { 200 if (client != excluded) {
203 sendPacket(client, packet); 201 sendPacket(client, packet);
diff --git a/src/main/java/cuchaz/enigma/network/IntegratedEnigmaServer.java b/enigma-server/src/main/java/cuchaz/enigma/network/IntegratedEnigmaServer.java
index 21c6825b..21c6825b 100644
--- a/src/main/java/cuchaz/enigma/network/IntegratedEnigmaServer.java
+++ b/enigma-server/src/main/java/cuchaz/enigma/network/IntegratedEnigmaServer.java
diff --git a/src/main/java/cuchaz/enigma/utils/Message.java b/enigma-server/src/main/java/cuchaz/enigma/network/Message.java
index d7c5f23e..c1578387 100644
--- a/src/main/java/cuchaz/enigma/utils/Message.java
+++ b/enigma-server/src/main/java/cuchaz/enigma/network/Message.java
@@ -1,4 +1,4 @@
1package cuchaz.enigma.utils; 1package cuchaz.enigma.network;
2 2
3import java.io.DataInput; 3import java.io.DataInput;
4import java.io.DataOutput; 4import java.io.DataOutput;
@@ -7,6 +7,7 @@ import java.util.Objects;
7 7
8import cuchaz.enigma.network.packet.PacketHelper; 8import cuchaz.enigma.network.packet.PacketHelper;
9import cuchaz.enigma.translation.representation.entry.Entry; 9import cuchaz.enigma.translation.representation.entry.Entry;
10import cuchaz.enigma.utils.I18n;
10 11
11public abstract class Message { 12public abstract class Message {
12 13
diff --git a/src/main/java/cuchaz/enigma/network/ServerPacketHandler.java b/enigma-server/src/main/java/cuchaz/enigma/network/ServerPacketHandler.java
index 86185536..86185536 100644
--- a/src/main/java/cuchaz/enigma/network/ServerPacketHandler.java
+++ b/enigma-server/src/main/java/cuchaz/enigma/network/ServerPacketHandler.java
diff --git a/src/main/java/cuchaz/enigma/network/packet/ChangeDocsC2SPacket.java b/enigma-server/src/main/java/cuchaz/enigma/network/packet/ChangeDocsC2SPacket.java
index 4d5d86f3..1b52cf14 100644
--- a/src/main/java/cuchaz/enigma/network/packet/ChangeDocsC2SPacket.java
+++ b/enigma-server/src/main/java/cuchaz/enigma/network/packet/ChangeDocsC2SPacket.java
@@ -1,10 +1,10 @@
1package cuchaz.enigma.network.packet; 1package cuchaz.enigma.network.packet;
2 2
3import cuchaz.enigma.translation.mapping.EntryMapping;
3import cuchaz.enigma.network.EnigmaServer; 4import cuchaz.enigma.network.EnigmaServer;
5import cuchaz.enigma.network.Message;
4import cuchaz.enigma.network.ServerPacketHandler; 6import cuchaz.enigma.network.ServerPacketHandler;
5import cuchaz.enigma.translation.mapping.EntryMapping;
6import cuchaz.enigma.translation.representation.entry.Entry; 7import cuchaz.enigma.translation.representation.entry.Entry;
7import cuchaz.enigma.utils.Message;
8import cuchaz.enigma.utils.Utils; 8import cuchaz.enigma.utils.Utils;
9 9
10import java.io.DataInput; 10import java.io.DataInput;
diff --git a/src/main/java/cuchaz/enigma/network/packet/ChangeDocsS2CPacket.java b/enigma-server/src/main/java/cuchaz/enigma/network/packet/ChangeDocsS2CPacket.java
index bf5b7cb8..12a30253 100644
--- a/src/main/java/cuchaz/enigma/network/packet/ChangeDocsS2CPacket.java
+++ b/enigma-server/src/main/java/cuchaz/enigma/network/packet/ChangeDocsS2CPacket.java
@@ -1,14 +1,14 @@
1package cuchaz.enigma.network.packet; 1package cuchaz.enigma.network.packet;
2 2
3import cuchaz.enigma.analysis.EntryReference; 3import cuchaz.enigma.analysis.EntryReference;
4import cuchaz.enigma.gui.GuiController; 4import cuchaz.enigma.network.ClientPacketHandler;
5import cuchaz.enigma.translation.representation.entry.Entry; 5import cuchaz.enigma.translation.representation.entry.Entry;
6 6
7import java.io.DataInput; 7import java.io.DataInput;
8import java.io.DataOutput; 8import java.io.DataOutput;
9import java.io.IOException; 9import java.io.IOException;
10 10
11public class ChangeDocsS2CPacket implements Packet<GuiController> { 11public class ChangeDocsS2CPacket implements Packet<ClientPacketHandler> {
12 private int syncId; 12 private int syncId;
13 private Entry<?> entry; 13 private Entry<?> entry;
14 private String newDocs; 14 private String newDocs;
@@ -37,7 +37,7 @@ public class ChangeDocsS2CPacket implements Packet<GuiController> {
37 } 37 }
38 38
39 @Override 39 @Override
40 public void handle(GuiController controller) { 40 public void handle(ClientPacketHandler controller) {
41 controller.changeDocs(new EntryReference<>(entry, entry.getName()), newDocs, false); 41 controller.changeDocs(new EntryReference<>(entry, entry.getName()), newDocs, false);
42 controller.sendPacket(new ConfirmChangeC2SPacket(syncId)); 42 controller.sendPacket(new ConfirmChangeC2SPacket(syncId));
43 } 43 }
diff --git a/src/main/java/cuchaz/enigma/network/packet/ConfirmChangeC2SPacket.java b/enigma-server/src/main/java/cuchaz/enigma/network/packet/ConfirmChangeC2SPacket.java
index 78ef9645..78ef9645 100644
--- a/src/main/java/cuchaz/enigma/network/packet/ConfirmChangeC2SPacket.java
+++ b/enigma-server/src/main/java/cuchaz/enigma/network/packet/ConfirmChangeC2SPacket.java
diff --git a/src/main/java/cuchaz/enigma/network/packet/KickS2CPacket.java b/enigma-server/src/main/java/cuchaz/enigma/network/packet/KickS2CPacket.java
index bd007d31..9a112a80 100644
--- a/src/main/java/cuchaz/enigma/network/packet/KickS2CPacket.java
+++ b/enigma-server/src/main/java/cuchaz/enigma/network/packet/KickS2CPacket.java
@@ -1,12 +1,12 @@
1package cuchaz.enigma.network.packet; 1package cuchaz.enigma.network.packet;
2 2
3import cuchaz.enigma.gui.GuiController; 3import cuchaz.enigma.network.ClientPacketHandler;
4 4
5import java.io.DataInput; 5import java.io.DataInput;
6import java.io.DataOutput; 6import java.io.DataOutput;
7import java.io.IOException; 7import java.io.IOException;
8 8
9public class KickS2CPacket implements Packet<GuiController> { 9public class KickS2CPacket implements Packet<ClientPacketHandler> {
10 private String reason; 10 private String reason;
11 11
12 KickS2CPacket() { 12 KickS2CPacket() {
@@ -27,7 +27,7 @@ public class KickS2CPacket implements Packet<GuiController> {
27 } 27 }
28 28
29 @Override 29 @Override
30 public void handle(GuiController controller) { 30 public void handle(ClientPacketHandler controller) {
31 controller.disconnectIfConnected(reason); 31 controller.disconnectIfConnected(reason);
32 } 32 }
33} 33}
diff --git a/src/main/java/cuchaz/enigma/network/packet/LoginC2SPacket.java b/enigma-server/src/main/java/cuchaz/enigma/network/packet/LoginC2SPacket.java
index 722cbbf3..da0f44a5 100644
--- a/src/main/java/cuchaz/enigma/network/packet/LoginC2SPacket.java
+++ b/enigma-server/src/main/java/cuchaz/enigma/network/packet/LoginC2SPacket.java
@@ -2,7 +2,7 @@ package cuchaz.enigma.network.packet;
2 2
3import cuchaz.enigma.network.EnigmaServer; 3import cuchaz.enigma.network.EnigmaServer;
4import cuchaz.enigma.network.ServerPacketHandler; 4import cuchaz.enigma.network.ServerPacketHandler;
5import cuchaz.enigma.utils.Message; 5import cuchaz.enigma.network.Message;
6 6
7import java.io.DataInput; 7import java.io.DataInput;
8import java.io.DataOutput; 8import java.io.DataOutput;
diff --git a/src/main/java/cuchaz/enigma/network/packet/MarkDeobfuscatedC2SPacket.java b/enigma-server/src/main/java/cuchaz/enigma/network/packet/MarkDeobfuscatedC2SPacket.java
index 98d20d96..a41c620f 100644
--- a/src/main/java/cuchaz/enigma/network/packet/MarkDeobfuscatedC2SPacket.java
+++ b/enigma-server/src/main/java/cuchaz/enigma/network/packet/MarkDeobfuscatedC2SPacket.java
@@ -3,7 +3,7 @@ package cuchaz.enigma.network.packet;
3import cuchaz.enigma.network.ServerPacketHandler; 3import cuchaz.enigma.network.ServerPacketHandler;
4import cuchaz.enigma.translation.mapping.EntryMapping; 4import cuchaz.enigma.translation.mapping.EntryMapping;
5import cuchaz.enigma.translation.representation.entry.Entry; 5import cuchaz.enigma.translation.representation.entry.Entry;
6import cuchaz.enigma.utils.Message; 6import cuchaz.enigma.network.Message;
7 7
8import java.io.DataInput; 8import java.io.DataInput;
9import java.io.DataOutput; 9import java.io.DataOutput;
diff --git a/src/main/java/cuchaz/enigma/network/packet/MarkDeobfuscatedS2CPacket.java b/enigma-server/src/main/java/cuchaz/enigma/network/packet/MarkDeobfuscatedS2CPacket.java
index b7d6eda3..7504430d 100644
--- a/src/main/java/cuchaz/enigma/network/packet/MarkDeobfuscatedS2CPacket.java
+++ b/enigma-server/src/main/java/cuchaz/enigma/network/packet/MarkDeobfuscatedS2CPacket.java
@@ -1,14 +1,14 @@
1package cuchaz.enigma.network.packet; 1package cuchaz.enigma.network.packet;
2 2
3import cuchaz.enigma.analysis.EntryReference; 3import cuchaz.enigma.analysis.EntryReference;
4import cuchaz.enigma.gui.GuiController; 4import cuchaz.enigma.network.ClientPacketHandler;
5import cuchaz.enigma.translation.representation.entry.Entry; 5import cuchaz.enigma.translation.representation.entry.Entry;
6 6
7import java.io.DataInput; 7import java.io.DataInput;
8import java.io.DataOutput; 8import java.io.DataOutput;
9import java.io.IOException; 9import java.io.IOException;
10 10
11public class MarkDeobfuscatedS2CPacket implements Packet<GuiController> { 11public class MarkDeobfuscatedS2CPacket implements Packet<ClientPacketHandler> {
12 private int syncId; 12 private int syncId;
13 private Entry<?> entry; 13 private Entry<?> entry;
14 14
@@ -33,7 +33,7 @@ public class MarkDeobfuscatedS2CPacket implements Packet<GuiController> {
33 } 33 }
34 34
35 @Override 35 @Override
36 public void handle(GuiController controller) { 36 public void handle(ClientPacketHandler controller) {
37 controller.markAsDeobfuscated(new EntryReference<>(entry, entry.getName()), false); 37 controller.markAsDeobfuscated(new EntryReference<>(entry, entry.getName()), false);
38 controller.sendPacket(new ConfirmChangeC2SPacket(syncId)); 38 controller.sendPacket(new ConfirmChangeC2SPacket(syncId));
39 } 39 }
diff --git a/src/main/java/cuchaz/enigma/network/packet/MessageC2SPacket.java b/enigma-server/src/main/java/cuchaz/enigma/network/packet/MessageC2SPacket.java
index b8e0f14f..3bc09e79 100644
--- a/src/main/java/cuchaz/enigma/network/packet/MessageC2SPacket.java
+++ b/enigma-server/src/main/java/cuchaz/enigma/network/packet/MessageC2SPacket.java
@@ -5,7 +5,7 @@ import java.io.DataOutput;
5import java.io.IOException; 5import java.io.IOException;
6 6
7import cuchaz.enigma.network.ServerPacketHandler; 7import cuchaz.enigma.network.ServerPacketHandler;
8import cuchaz.enigma.utils.Message; 8import cuchaz.enigma.network.Message;
9 9
10public class MessageC2SPacket implements Packet<ServerPacketHandler> { 10public class MessageC2SPacket implements Packet<ServerPacketHandler> {
11 11
diff --git a/src/main/java/cuchaz/enigma/network/packet/MessageS2CPacket.java b/enigma-server/src/main/java/cuchaz/enigma/network/packet/MessageS2CPacket.java
index edeaae0b..2b07968d 100644
--- a/src/main/java/cuchaz/enigma/network/packet/MessageS2CPacket.java
+++ b/enigma-server/src/main/java/cuchaz/enigma/network/packet/MessageS2CPacket.java
@@ -4,10 +4,10 @@ import java.io.DataInput;
4import java.io.DataOutput; 4import java.io.DataOutput;
5import java.io.IOException; 5import java.io.IOException;
6 6
7import cuchaz.enigma.gui.GuiController; 7import cuchaz.enigma.network.ClientPacketHandler;
8import cuchaz.enigma.utils.Message; 8import cuchaz.enigma.network.Message;
9 9
10public class MessageS2CPacket implements Packet<GuiController> { 10public class MessageS2CPacket implements Packet<ClientPacketHandler> {
11 11
12 private Message message; 12 private Message message;
13 13
@@ -29,7 +29,7 @@ public class MessageS2CPacket implements Packet<GuiController> {
29 } 29 }
30 30
31 @Override 31 @Override
32 public void handle(GuiController handler) { 32 public void handle(ClientPacketHandler handler) {
33 handler.addMessage(message); 33 handler.addMessage(message);
34 } 34 }
35 35
diff --git a/src/main/java/cuchaz/enigma/network/packet/Packet.java b/enigma-server/src/main/java/cuchaz/enigma/network/packet/Packet.java
index 2f16dfb9..2f16dfb9 100644
--- a/src/main/java/cuchaz/enigma/network/packet/Packet.java
+++ b/enigma-server/src/main/java/cuchaz/enigma/network/packet/Packet.java
diff --git a/src/main/java/cuchaz/enigma/network/packet/PacketHelper.java b/enigma-server/src/main/java/cuchaz/enigma/network/packet/PacketHelper.java
index 464606e0..464606e0 100644
--- a/src/main/java/cuchaz/enigma/network/packet/PacketHelper.java
+++ b/enigma-server/src/main/java/cuchaz/enigma/network/packet/PacketHelper.java
diff --git a/src/main/java/cuchaz/enigma/network/packet/PacketRegistry.java b/enigma-server/src/main/java/cuchaz/enigma/network/packet/PacketRegistry.java
index ba5d9dec..3b8af81c 100644
--- a/src/main/java/cuchaz/enigma/network/packet/PacketRegistry.java
+++ b/enigma-server/src/main/java/cuchaz/enigma/network/packet/PacketRegistry.java
@@ -1,6 +1,6 @@
1package cuchaz.enigma.network.packet; 1package cuchaz.enigma.network.packet;
2 2
3import cuchaz.enigma.gui.GuiController; 3import cuchaz.enigma.network.ClientPacketHandler;
4import cuchaz.enigma.network.ServerPacketHandler; 4import cuchaz.enigma.network.ServerPacketHandler;
5 5
6import java.util.HashMap; 6import java.util.HashMap;
@@ -11,15 +11,15 @@ public class PacketRegistry {
11 11
12 private static final Map<Class<? extends Packet<ServerPacketHandler>>, Integer> c2sPacketIds = new HashMap<>(); 12 private static final Map<Class<? extends Packet<ServerPacketHandler>>, Integer> c2sPacketIds = new HashMap<>();
13 private static final Map<Integer, Supplier<? extends Packet<ServerPacketHandler>>> c2sPacketCreators = new HashMap<>(); 13 private static final Map<Integer, Supplier<? extends Packet<ServerPacketHandler>>> c2sPacketCreators = new HashMap<>();
14 private static final Map<Class<? extends Packet<GuiController>>, Integer> s2cPacketIds = new HashMap<>(); 14 private static final Map<Class<? extends Packet<ClientPacketHandler>>, Integer> s2cPacketIds = new HashMap<>();
15 private static final Map<Integer, Supplier<? extends Packet<GuiController>>> s2cPacketCreators = new HashMap<>(); 15 private static final Map<Integer, Supplier<? extends Packet<ClientPacketHandler>>> s2cPacketCreators = new HashMap<>();
16 16
17 private static <T extends Packet<ServerPacketHandler>> void registerC2S(int id, Class<T> clazz, Supplier<T> creator) { 17 private static <T extends Packet<ServerPacketHandler>> void registerC2S(int id, Class<T> clazz, Supplier<T> creator) {
18 c2sPacketIds.put(clazz, id); 18 c2sPacketIds.put(clazz, id);
19 c2sPacketCreators.put(id, creator); 19 c2sPacketCreators.put(id, creator);
20 } 20 }
21 21
22 private static <T extends Packet<GuiController>> void registerS2C(int id, Class<T> clazz, Supplier<T> creator) { 22 private static <T extends Packet<ClientPacketHandler>> void registerS2C(int id, Class<T> clazz, Supplier<T> creator) {
23 s2cPacketIds.put(clazz, id); 23 s2cPacketIds.put(clazz, id);
24 s2cPacketCreators.put(id, creator); 24 s2cPacketCreators.put(id, creator);
25 } 25 }
@@ -52,12 +52,12 @@ public class PacketRegistry {
52 return creator == null ? null : creator.get(); 52 return creator == null ? null : creator.get();
53 } 53 }
54 54
55 public static int getS2CId(Packet<GuiController> packet) { 55 public static int getS2CId(Packet<ClientPacketHandler> packet) {
56 return s2cPacketIds.get(packet.getClass()); 56 return s2cPacketIds.get(packet.getClass());
57 } 57 }
58 58
59 public static Packet<GuiController> createS2CPacket(int id) { 59 public static Packet<ClientPacketHandler> createS2CPacket(int id) {
60 Supplier<? extends Packet<GuiController>> creator = s2cPacketCreators.get(id); 60 Supplier<? extends Packet<ClientPacketHandler>> creator = s2cPacketCreators.get(id);
61 return creator == null ? null : creator.get(); 61 return creator == null ? null : creator.get();
62 } 62 }
63 63
diff --git a/src/main/java/cuchaz/enigma/network/packet/RemoveMappingC2SPacket.java b/enigma-server/src/main/java/cuchaz/enigma/network/packet/RemoveMappingC2SPacket.java
index a3f3d91d..3f852285 100644
--- a/src/main/java/cuchaz/enigma/network/packet/RemoveMappingC2SPacket.java
+++ b/enigma-server/src/main/java/cuchaz/enigma/network/packet/RemoveMappingC2SPacket.java
@@ -1,9 +1,9 @@
1package cuchaz.enigma.network.packet; 1package cuchaz.enigma.network.packet;
2 2
3import cuchaz.enigma.network.ServerPacketHandler; 3import cuchaz.enigma.network.ServerPacketHandler;
4import cuchaz.enigma.throwables.IllegalNameException; 4import cuchaz.enigma.translation.mapping.IllegalNameException;
5import cuchaz.enigma.translation.representation.entry.Entry; 5import cuchaz.enigma.translation.representation.entry.Entry;
6import cuchaz.enigma.utils.Message; 6import cuchaz.enigma.network.Message;
7 7
8import java.io.DataInput; 8import java.io.DataInput;
9import java.io.DataOutput; 9import java.io.DataOutput;
diff --git a/src/main/java/cuchaz/enigma/network/packet/RemoveMappingS2CPacket.java b/enigma-server/src/main/java/cuchaz/enigma/network/packet/RemoveMappingS2CPacket.java
index 7bb1b00d..70d803c1 100644
--- a/src/main/java/cuchaz/enigma/network/packet/RemoveMappingS2CPacket.java
+++ b/enigma-server/src/main/java/cuchaz/enigma/network/packet/RemoveMappingS2CPacket.java
@@ -1,14 +1,14 @@
1package cuchaz.enigma.network.packet; 1package cuchaz.enigma.network.packet;
2 2
3import cuchaz.enigma.analysis.EntryReference; 3import cuchaz.enigma.analysis.EntryReference;
4import cuchaz.enigma.gui.GuiController; 4import cuchaz.enigma.network.ClientPacketHandler;
5import cuchaz.enigma.translation.representation.entry.Entry; 5import cuchaz.enigma.translation.representation.entry.Entry;
6 6
7import java.io.DataInput; 7import java.io.DataInput;
8import java.io.DataOutput; 8import java.io.DataOutput;
9import java.io.IOException; 9import java.io.IOException;
10 10
11public class RemoveMappingS2CPacket implements Packet<GuiController> { 11public class RemoveMappingS2CPacket implements Packet<ClientPacketHandler> {
12 private int syncId; 12 private int syncId;
13 private Entry<?> entry; 13 private Entry<?> entry;
14 14
@@ -33,7 +33,7 @@ public class RemoveMappingS2CPacket implements Packet<GuiController> {
33 } 33 }
34 34
35 @Override 35 @Override
36 public void handle(GuiController controller) { 36 public void handle(ClientPacketHandler controller) {
37 controller.removeMapping(new EntryReference<>(entry, entry.getName()), false); 37 controller.removeMapping(new EntryReference<>(entry, entry.getName()), false);
38 controller.sendPacket(new ConfirmChangeC2SPacket(syncId)); 38 controller.sendPacket(new ConfirmChangeC2SPacket(syncId));
39 } 39 }
diff --git a/src/main/java/cuchaz/enigma/network/packet/RenameC2SPacket.java b/enigma-server/src/main/java/cuchaz/enigma/network/packet/RenameC2SPacket.java
index 03e95d6f..e3e7e379 100644
--- a/src/main/java/cuchaz/enigma/network/packet/RenameC2SPacket.java
+++ b/enigma-server/src/main/java/cuchaz/enigma/network/packet/RenameC2SPacket.java
@@ -1,10 +1,10 @@
1package cuchaz.enigma.network.packet; 1package cuchaz.enigma.network.packet;
2 2
3import cuchaz.enigma.network.ServerPacketHandler; 3import cuchaz.enigma.network.ServerPacketHandler;
4import cuchaz.enigma.throwables.IllegalNameException; 4import cuchaz.enigma.translation.mapping.IllegalNameException;
5import cuchaz.enigma.translation.mapping.EntryMapping; 5import cuchaz.enigma.translation.mapping.EntryMapping;
6import cuchaz.enigma.translation.representation.entry.Entry; 6import cuchaz.enigma.translation.representation.entry.Entry;
7import cuchaz.enigma.utils.Message; 7import cuchaz.enigma.network.Message;
8 8
9import java.io.DataInput; 9import java.io.DataInput;
10import java.io.DataOutput; 10import java.io.DataOutput;
diff --git a/src/main/java/cuchaz/enigma/network/packet/RenameS2CPacket.java b/enigma-server/src/main/java/cuchaz/enigma/network/packet/RenameS2CPacket.java
index 058f0e58..787e89e6 100644
--- a/src/main/java/cuchaz/enigma/network/packet/RenameS2CPacket.java
+++ b/enigma-server/src/main/java/cuchaz/enigma/network/packet/RenameS2CPacket.java
@@ -1,14 +1,14 @@
1package cuchaz.enigma.network.packet; 1package cuchaz.enigma.network.packet;
2 2
3import cuchaz.enigma.analysis.EntryReference; 3import cuchaz.enigma.analysis.EntryReference;
4import cuchaz.enigma.gui.GuiController; 4import cuchaz.enigma.network.ClientPacketHandler;
5import cuchaz.enigma.translation.representation.entry.Entry; 5import cuchaz.enigma.translation.representation.entry.Entry;
6 6
7import java.io.DataInput; 7import java.io.DataInput;
8import java.io.DataOutput; 8import java.io.DataOutput;
9import java.io.IOException; 9import java.io.IOException;
10 10
11public class RenameS2CPacket implements Packet<GuiController> { 11public class RenameS2CPacket implements Packet<ClientPacketHandler> {
12 private int syncId; 12 private int syncId;
13 private Entry<?> entry; 13 private Entry<?> entry;
14 private String newName; 14 private String newName;
@@ -41,7 +41,7 @@ public class RenameS2CPacket implements Packet<GuiController> {
41 } 41 }
42 42
43 @Override 43 @Override
44 public void handle(GuiController controller) { 44 public void handle(ClientPacketHandler controller) {
45 controller.rename(new EntryReference<>(entry, entry.getName()), newName, refreshClassTree, false); 45 controller.rename(new EntryReference<>(entry, entry.getName()), newName, refreshClassTree, false);
46 controller.sendPacket(new ConfirmChangeC2SPacket(syncId)); 46 controller.sendPacket(new ConfirmChangeC2SPacket(syncId));
47 } 47 }
diff --git a/src/main/java/cuchaz/enigma/network/packet/SyncMappingsS2CPacket.java b/enigma-server/src/main/java/cuchaz/enigma/network/packet/SyncMappingsS2CPacket.java
index e6378d1d..76ecbc7d 100644
--- a/src/main/java/cuchaz/enigma/network/packet/SyncMappingsS2CPacket.java
+++ b/enigma-server/src/main/java/cuchaz/enigma/network/packet/SyncMappingsS2CPacket.java
@@ -1,11 +1,11 @@
1package cuchaz.enigma.network.packet; 1package cuchaz.enigma.network.packet;
2 2
3import cuchaz.enigma.gui.GuiController;
4import cuchaz.enigma.network.EnigmaServer;
5import cuchaz.enigma.translation.mapping.EntryMapping; 3import cuchaz.enigma.translation.mapping.EntryMapping;
6import cuchaz.enigma.translation.mapping.tree.EntryTree; 4import cuchaz.enigma.translation.mapping.tree.EntryTree;
7import cuchaz.enigma.translation.mapping.tree.EntryTreeNode; 5import cuchaz.enigma.translation.mapping.tree.EntryTreeNode;
8import cuchaz.enigma.translation.mapping.tree.HashEntryTree; 6import cuchaz.enigma.translation.mapping.tree.HashEntryTree;
7import cuchaz.enigma.network.ClientPacketHandler;
8import cuchaz.enigma.network.EnigmaServer;
9import cuchaz.enigma.translation.representation.entry.Entry; 9import cuchaz.enigma.translation.representation.entry.Entry;
10 10
11import java.io.DataInput; 11import java.io.DataInput;
@@ -15,7 +15,7 @@ import java.util.Collection;
15import java.util.List; 15import java.util.List;
16import java.util.stream.Collectors; 16import java.util.stream.Collectors;
17 17
18public class SyncMappingsS2CPacket implements Packet<GuiController> { 18public class SyncMappingsS2CPacket implements Packet<ClientPacketHandler> {
19 private EntryTree<EntryMapping> mappings; 19 private EntryTree<EntryMapping> mappings;
20 20
21 SyncMappingsS2CPacket() { 21 SyncMappingsS2CPacket() {
@@ -81,7 +81,7 @@ public class SyncMappingsS2CPacket implements Packet<GuiController> {
81 } 81 }
82 82
83 @Override 83 @Override
84 public void handle(GuiController controller) { 84 public void handle(ClientPacketHandler controller) {
85 controller.openMappings(mappings); 85 controller.openMappings(mappings);
86 controller.sendPacket(new ConfirmChangeC2SPacket(EnigmaServer.DUMMY_SYNC_ID)); 86 controller.sendPacket(new ConfirmChangeC2SPacket(EnigmaServer.DUMMY_SYNC_ID));
87 } 87 }
diff --git a/src/main/java/cuchaz/enigma/network/packet/UserListS2CPacket.java b/enigma-server/src/main/java/cuchaz/enigma/network/packet/UserListS2CPacket.java
index 89048485..b4a277a4 100644
--- a/src/main/java/cuchaz/enigma/network/packet/UserListS2CPacket.java
+++ b/enigma-server/src/main/java/cuchaz/enigma/network/packet/UserListS2CPacket.java
@@ -1,14 +1,14 @@
1package cuchaz.enigma.network.packet; 1package cuchaz.enigma.network.packet;
2 2
3import cuchaz.enigma.network.ClientPacketHandler;
4
3import java.io.DataInput; 5import java.io.DataInput;
4import java.io.DataOutput; 6import java.io.DataOutput;
5import java.io.IOException; 7import java.io.IOException;
6import java.util.ArrayList; 8import java.util.ArrayList;
7import java.util.List; 9import java.util.List;
8 10
9import cuchaz.enigma.gui.GuiController; 11public class UserListS2CPacket implements Packet<ClientPacketHandler> {
10
11public class UserListS2CPacket implements Packet<GuiController> {
12 12
13 private List<String> users; 13 private List<String> users;
14 14
@@ -37,7 +37,7 @@ public class UserListS2CPacket implements Packet<GuiController> {
37 } 37 }
38 38
39 @Override 39 @Override
40 public void handle(GuiController handler) { 40 public void handle(ClientPacketHandler handler) {
41 handler.updateUserList(users); 41 handler.updateUserList(users);
42 } 42 }
43 43