diff --git a/src/main/java/net/montoyo/wd/net/Messages.java b/src/main/java/net/montoyo/wd/net/Messages.java index e035a36..e249e9d 100644 --- a/src/main/java/net/montoyo/wd/net/Messages.java +++ b/src/main/java/net/montoyo/wd/net/Messages.java @@ -43,5 +43,6 @@ public class Messages { INSTANCE.registerMessage(index++, SMessageRequestTEData.class, SMessageRequestTEData::encode, SMessageRequestTEData::decode, SMessageRequestTEData::handle); INSTANCE.registerMessage(index++, SMessageScreenCtrl.class, SMessageScreenCtrl::encode, SMessageScreenCtrl::decode, SMessageScreenCtrl::handle); INSTANCE.registerMessage(index++, SMessagePadCtrl.class, SMessagePadCtrl::encode, SMessagePadCtrl::decode, SMessagePadCtrl::handle); + INSTANCE.registerMessage(index++, CMessageOpenGui.class, CMessageOpenGui::encode, CMessageOpenGui::decode, CMessageOpenGui::handle); } } diff --git a/src/main/java/net/montoyo/wd/net/client/CMessageOpenGui.java b/src/main/java/net/montoyo/wd/net/client/CMessageOpenGui.java index dc82c29..faef23e 100644 --- a/src/main/java/net/montoyo/wd/net/client/CMessageOpenGui.java +++ b/src/main/java/net/montoyo/wd/net/client/CMessageOpenGui.java @@ -21,16 +21,16 @@ public class CMessageOpenGui implements Runnable { this.data = data; } - public void decode(FriendlyByteBuf buf) { + public static CMessageOpenGui decode(FriendlyByteBuf buf) { String name = buf.readUtf(); Class cls = GuiData.classOf(name); if(cls == null) { Log.error("Could not create GuiData of type %s because it doesn't exist!", name); - return; + return null; } - data = (GuiData) Util.unserialize(buf, cls); + return new CMessageOpenGui((GuiData) Util.unserialize(buf, cls)); } public void encode(FriendlyByteBuf buf) {