Skip to content

Instantly share code, notes, and snippets.

@eddyb
Created September 11, 2011 18:37
Show Gist options
  • Save eddyb/1209947 to your computer and use it in GitHub Desktop.
Save eddyb/1209947 to your computer and use it in GitHub Desktop.
function unpackMobMetadata(pkt) {
var x, data = {};
while((x = unpackers.byte(pkt)) != 0x7f) {
var id = x & 0x1f;
switch(x >> 5) {
case 0:
data[id] = unpackers.byte(pkt);
break;
case 1:
data[id] = unpackers.short(pkt);
break;
case 2:
data[id] = unpackers.int(pkt);
break;
case 3:
data[id] = unpackers.float(pkt);
break;
case 4:
data[id] = unpackers.str16(pkt);
break;
default:
throw new Error('Can\'t figure out what ' + (x >> 5) + ' means');
}
}
return data;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment