mirror of
https://github.com/unmojang/node-minecraft-protocol.git
synced 2025-09-28 13:45:37 -04:00
refactor data types
This commit is contained in:
parent
8a6d4bc725
commit
5df31e4d88
@ -447,43 +447,30 @@ var packets = {
|
||||
]
|
||||
};
|
||||
|
||||
var writers = {
|
||||
'int': IntWriter,
|
||||
'short': ShortWriter,
|
||||
'ushort': UShortWriter,
|
||||
'byte': ByteWriter,
|
||||
'ubyte': UByteWriter,
|
||||
'string': StringWriter,
|
||||
'byteArray16': ByteArray16Writer,
|
||||
'bool': BoolWriter,
|
||||
'double': DoubleWriter,
|
||||
'float': FloatWriter,
|
||||
'slot': SlotWriter,
|
||||
};
|
||||
var types = {
|
||||
'int': [readInt, IntWriter],
|
||||
'short': [readShort, ShortWriter],
|
||||
'ushort': [readUShort, UShortWriter],
|
||||
'byte': [readByte, ByteWriter],
|
||||
'ubyte': [readUByte, UByteWriter],
|
||||
'string': [readString, StringWriter],
|
||||
'byteArray16': [readByteArray16, ByteArray16Writer],
|
||||
'bool': [readBool, BoolWriter],
|
||||
'double': [readDouble, DoubleWriter],
|
||||
'float': [readFloat, FloatWriter],
|
||||
'slot': [readSlot, SlotWriter],
|
||||
|
||||
var readers = {
|
||||
'string': readString,
|
||||
'ascii': readAscii,
|
||||
'byteArray16': readByteArray16,
|
||||
'byteArray32': readByteArray32,
|
||||
'short': readShort,
|
||||
'ushort': readUShort,
|
||||
'int': readInt,
|
||||
'byte': readByte,
|
||||
'ubyte': readUByte,
|
||||
'long': readLong,
|
||||
'slot': readSlot,
|
||||
'bool': readBool,
|
||||
'double': readDouble,
|
||||
'float': readFloat,
|
||||
'slotArray': readSlotArray,
|
||||
'mapChunkBulk': readMapChunkBulk,
|
||||
'entityMetadata': readEntityMetadata,
|
||||
'objectData': readObjectData,
|
||||
'intArray8': readIntArray8,
|
||||
'intVector': readIntVector,
|
||||
'byteVector': readByteVector,
|
||||
'byteVectorArray': readByteVectorArray,
|
||||
'ascii': [readAscii],
|
||||
'byteArray32': [readByteArray32],
|
||||
'long': [readLong],
|
||||
'slotArray': [readSlotArray],
|
||||
'mapChunkBulk': [readMapChunkBulk],
|
||||
'entityMetadata': [readEntityMetadata],
|
||||
'objectData': [readObjectData],
|
||||
'intArray8': [readIntArray8],
|
||||
'intVector': [readIntVector],
|
||||
'byteVector': [readByteVector],
|
||||
'byteVectorArray': [readByteVectorArray],
|
||||
};
|
||||
|
||||
var entityMetadataReaders = {
|
||||
@ -997,7 +984,7 @@ function createPacketBuffer(packetId, params, isServer) {
|
||||
var packet = get(packetId, isServer);
|
||||
packet.forEach(function(fieldInfo) {
|
||||
var value = params[fieldInfo.name];
|
||||
var Writer = writers[fieldInfo.type];
|
||||
var Writer = types[fieldInfo.type][1];
|
||||
assert.ok(Writer, "missing writer for data type: " + fieldInfo.type);
|
||||
var field = new Writer(value);
|
||||
size += field.size;
|
||||
@ -1022,7 +1009,7 @@ function parsePacket(buffer, isServer) {
|
||||
var i, fieldInfo, read, readResults;
|
||||
for (i = 0; i < packetInfo.length; ++i) {
|
||||
fieldInfo = packetInfo[i];
|
||||
read = readers[fieldInfo.type];
|
||||
read = types[fieldInfo.type][0];
|
||||
assert.ok(read, "missing reader for data type: " + fieldInfo.type);
|
||||
readResults = read(buffer, size);
|
||||
if (readResults) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user