mirror of
https://github.com/unmojang/node-minecraft-protocol.git
synced 2025-09-28 21:52:17 -04:00
commit
07505da2e8
@ -307,6 +307,17 @@ var packets = {
|
||||
{ name: "global", type: "bool" }
|
||||
],
|
||||
0x3e: [
|
||||
{ name: "particleName", type: "string" },
|
||||
{ name: "x", type: "float" },
|
||||
{ name: "y", type: "float" },
|
||||
{ name: "z", type: "float" },
|
||||
{ name: "offsetX", type: "float" },
|
||||
{ name: "offsetY", type: "float" },
|
||||
{ name: "offsetZ", type: "float" },
|
||||
{ name: "particleSpeed", type: "float" },
|
||||
{ name: "particles", type: "int" }
|
||||
],
|
||||
0x3f: [
|
||||
{ name: "soundName", type: "string" },
|
||||
{ name: "x", type: "int" },
|
||||
{ name: "y", type: "int" },
|
||||
@ -329,7 +340,8 @@ var packets = {
|
||||
{ name: "windowId", type: "byte" },
|
||||
{ name: "inventoryType", type: "byte" },
|
||||
{ name: "windowTitle", type: "string" },
|
||||
{ name: "slotCount", type: "byte" }
|
||||
{ name: "slotCount", type: "byte" },
|
||||
{ name: "useProvidedTitle", type: "bool" }
|
||||
],
|
||||
0x65: [
|
||||
{ name: "windowId", type: "byte" }
|
||||
@ -417,6 +429,30 @@ var packets = {
|
||||
0xcd: [
|
||||
{ name: "payload", type: "byte" }
|
||||
],
|
||||
0xce: [
|
||||
{ name: "name", type: "string" },
|
||||
{ name: "displayText", type: "string" },
|
||||
{ name: "create", type: "bool" }
|
||||
],
|
||||
0xcf: [
|
||||
{ name: "itemName", type: "string" },
|
||||
{ name: "remove", type: "bool" },
|
||||
{ name: "scoreName", type: "string" },
|
||||
{ name: "value", type: "int" }
|
||||
],
|
||||
0xd0: [
|
||||
{ name: "position", type: "byte" },
|
||||
{ name: "name", type: "string" }
|
||||
],
|
||||
0xd1: [
|
||||
{ name: "team", type: "string" },
|
||||
{ name: "mode", type: "byte" },
|
||||
{ name: "name", type: "string" },
|
||||
{ name: "prefix", type: "string" },
|
||||
{ name: "suffix", type: "string" },
|
||||
{ name: "friendlyFire", type: "bool" },
|
||||
{ name: "players", type: "stringArray" }
|
||||
],
|
||||
0xfa: [
|
||||
{ name: "channel", type: "string" },
|
||||
{ name: "data", type: "byteArray16" }
|
||||
@ -461,6 +497,7 @@ var types = {
|
||||
'intVector': [readIntVector, IntVectorWriter],
|
||||
'byteVector': [readByteVector, ByteVectorWriter],
|
||||
'byteVectorArray': [readByteVectorArray, ByteVectorArrayWriter],
|
||||
'stringArray': [readStringArray, StringArrayWriter],
|
||||
};
|
||||
|
||||
function ByteArray32Writer(value) {
|
||||
@ -641,6 +678,24 @@ ByteVectorArrayWriter.prototype.write = function(buffer, offset) {
|
||||
});
|
||||
}
|
||||
|
||||
function StringArrayWriter(value) {
|
||||
this.value = value;
|
||||
this.size = 2;
|
||||
for (var i = 0; i < this.value.length; ++i) {
|
||||
this.value[i] = stringWriter = new StringWriter(this.value[i]);
|
||||
this.size += stringWriter.size;
|
||||
}
|
||||
}
|
||||
|
||||
StringArrayWriter.prototype.write = function(buffer, offset) {
|
||||
buffer.writeInt16BE(this.value.length, offset);
|
||||
offset += 2;
|
||||
this.value.forEach(function(stringWriter) {
|
||||
stringWriter.write(buffer, offset);
|
||||
offset += stringWriter.size;
|
||||
});
|
||||
}
|
||||
|
||||
function readIntArray8(buffer, offset) {
|
||||
var results = readByte(buffer, offset);
|
||||
if (! results) return null;
|
||||
@ -918,6 +973,26 @@ function readSlotArray (buffer, offset) {
|
||||
};
|
||||
}
|
||||
|
||||
function readStringArray (buffer, offset) {
|
||||
var results = readShort(buffer, offset);
|
||||
if (! results) return null;
|
||||
var count = results.value;
|
||||
var cursor = offset + results.size;
|
||||
|
||||
var stringArray = [];
|
||||
for (var i = 0; i < count; ++i) {
|
||||
results = readString(buffer, cursor);
|
||||
if (! results) return null;
|
||||
stringArray.push(results.value);
|
||||
cursor += results.size;
|
||||
}
|
||||
|
||||
return {
|
||||
value: stringArray,
|
||||
size: cursor - offset,
|
||||
};
|
||||
}
|
||||
|
||||
function readShort(buffer, offset) {
|
||||
if (offset + 2 > buffer.length) return null;
|
||||
var value = buffer.readInt16BE(offset);
|
||||
@ -1241,8 +1316,8 @@ function parsePacket(buffer, isServer) {
|
||||
}
|
||||
|
||||
module.exports = {
|
||||
version: 51,
|
||||
minecraftVersion: '1.4.7',
|
||||
version: 60,
|
||||
minecraftVersion: '1.5.0',
|
||||
sessionVersion: 13,
|
||||
parsePacket: parsePacket,
|
||||
createPacketBuffer: createPacketBuffer,
|
||||
|
Loading…
x
Reference in New Issue
Block a user