@Override public void fromBytes(final ByteBuf stream) { // Read the id short id = stream.readShort(); if (id == -1) { // Invalid packet ThELog.warning("Unknown packet detected"); return; } // Get the class for that id Class epClass = NetworkHandler.getPacketClassFromID(id); if (epClass == null) { return; } // Construct the class try { this.embeddedPacket = (ThEBasePacket) epClass.newInstance(); // Pass to packet this.embeddedPacket.fromBytes(stream); } catch (Exception e) { // Packet did not have default constructor ThELog.warning("Unable to construct packet %s", epClass.getCanonicalName()); } }