diff --git a/pom.xml b/pom.xml index 698d1020..1f5ea188 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ net.md-5 mendax - 1.3.2-SNAPSHOT + 1.4.2-SNAPSHOT jar Mendax diff --git a/src/main/java/net/md_5/mendax/PacketDefinitions.java b/src/main/java/net/md_5/mendax/PacketDefinitions.java index f584b1f4..b4c42e12 100644 --- a/src/main/java/net/md_5/mendax/PacketDefinitions.java +++ b/src/main/java/net/md_5/mendax/PacketDefinitions.java @@ -16,7 +16,7 @@ public class PacketDefinitions { opCodes[0x01] = new OpCode[]{INT, STRING, BYTE, BYTE, BYTE, BYTE, BYTE}; opCodes[0x02] = new OpCode[]{BYTE, STRING, STRING, INT}; opCodes[0x03] = new OpCode[]{STRING}; - opCodes[0x04] = new OpCode[]{LONG}; + opCodes[0x04] = new OpCode[]{LONG, LONG}; opCodes[0x05] = new OpCode[]{INT, SHORT, ITEM}; opCodes[0x06] = new OpCode[]{INT, INT, INT}; opCodes[0x07] = new OpCode[]{INT, INT, BOOLEAN}; @@ -33,7 +33,7 @@ public class PacketDefinitions { opCodes[0x12] = new OpCode[]{INT, BYTE}; opCodes[0x13] = new OpCode[]{INT, BYTE}; opCodes[0x14] = new OpCode[]{INT, STRING, INT, INT, INT, BYTE, BYTE, SHORT, METADATA}; - opCodes[0x15] = new OpCode[]{INT, SHORT, BYTE, SHORT, INT, INT, INT, BYTE, BYTE, BYTE}; + opCodes[0x15] = new OpCode[]{INT, ITEM, INT, INT, INT, BYTE, BYTE, BYTE}; opCodes[0x16] = new OpCode[]{INT, INT}; opCodes[0x17] = new OpCode[]{INT, BYTE, INT, INT, INT, OPTIONAL_MOTION}; opCodes[0x18] = new OpCode[]{INT, BYTE, INT, INT, INT, BYTE, BYTE, BYTE, SHORT, SHORT, SHORT, METADATA}; @@ -71,7 +71,7 @@ public class PacketDefinitions { opCodes[0x3A] = null; // Does not exist opCodes[0x3B] = null; // Does not exist opCodes[0x3C] = new OpCode[]{DOUBLE, DOUBLE, DOUBLE, FLOAT, INT_3, FLOAT, FLOAT, FLOAT}; - opCodes[0x3D] = new OpCode[]{INT, INT, BYTE, INT, INT}; + opCodes[0x3D] = new OpCode[]{INT, INT, BYTE, INT, INT, BOOLEAN}; opCodes[0x3E] = new OpCode[]{STRING, INT, INT, INT, FLOAT, BYTE}; // // @@ -87,7 +87,7 @@ public class PacketDefinitions { // opCodes[0x64] = new OpCode[]{BYTE, BYTE, STRING, BYTE}; opCodes[0x65] = new OpCode[]{BYTE}; - opCodes[0x66] = new OpCode[]{BYTE, SHORT, BOOLEAN, SHORT, BOOLEAN, ITEM}; + opCodes[0x66] = new OpCode[]{BYTE, SHORT, BYTE, SHORT, BYTE, ITEM}; opCodes[0x67] = new OpCode[]{BYTE, SHORT, ITEM}; opCodes[0x68] = new OpCode[]{BYTE, SHORT_ITEM}; opCodes[0x69] = new OpCode[]{BYTE, SHORT, SHORT}; @@ -111,7 +111,7 @@ public class PacketDefinitions { opCodes[0xC9] = new OpCode[]{STRING, BOOLEAN, SHORT}; opCodes[0xCA] = new OpCode[]{BYTE, BYTE, BYTE}; opCodes[0xCB] = new OpCode[]{STRING}; - opCodes[0xCC] = new OpCode[]{STRING, BYTE, BYTE, BYTE}; + opCodes[0xCC] = new OpCode[]{STRING, BYTE, BYTE, BYTE, BOOLEAN}; opCodes[0xCD] = new OpCode[]{BYTE}; // // @@ -122,7 +122,7 @@ public class PacketDefinitions { opCodes[0xFB] = null; // Does not exist opCodes[0xFC] = new OpCode[]{SHORT_BYTE, SHORT_BYTE}; opCodes[0xFD] = new OpCode[]{STRING, SHORT_BYTE, SHORT_BYTE}; - opCodes[0xFE] = new OpCode[]{}; + opCodes[0xFE] = new OpCode[]{BYTE}; opCodes[0xFF] = new OpCode[]{STRING}; } } diff --git a/src/main/java/net/md_5/mendax/datainput/MetaData.java b/src/main/java/net/md_5/mendax/datainput/MetaData.java index 02985f40..62d84010 100644 --- a/src/main/java/net/md_5/mendax/datainput/MetaData.java +++ b/src/main/java/net/md_5/mendax/datainput/MetaData.java @@ -27,7 +27,9 @@ class MetaData extends Instruction { STRING.read(in); break; case 5: - skip(in, 5); // short, byte, short + if (in.readShort() > 0) { + skip(in, 3); + } break; case 6: skip(in, 12); // int, int, int