mirror of
https://github.com/MineLittlePony/MineLittlePony.git
synced 2024-11-25 13:57:59 +01:00
Add version signature to packet data (#223)
This commit is contained in:
parent
1b0f2660f9
commit
42d45b3a9e
1 changed files with 20 additions and 0 deletions
|
@ -17,6 +17,10 @@ import java.util.function.Supplier;
|
||||||
|
|
||||||
public class MsgPonyData implements IPonyData {
|
public class MsgPonyData implements IPonyData {
|
||||||
|
|
||||||
|
private final short API_IDENTIFIER = (short) 0xABCD;
|
||||||
|
// API version - increment this number before any time any data is added/removed/moved in the data stream
|
||||||
|
private final byte API_VERSION = 2;
|
||||||
|
|
||||||
private final Race race;
|
private final Race race;
|
||||||
private final TailLength tailLength;
|
private final TailLength tailLength;
|
||||||
private final TailShape tailShape;
|
private final TailShape tailShape;
|
||||||
|
@ -41,6 +45,19 @@ public class MsgPonyData implements IPonyData {
|
||||||
}
|
}
|
||||||
|
|
||||||
public MsgPonyData(PacketByteBuf buffer) {
|
public MsgPonyData(PacketByteBuf buffer) {
|
||||||
|
short data = buffer.readShort();
|
||||||
|
if (data != API_IDENTIFIER || buffer.readByte() != API_VERSION) {
|
||||||
|
race = null;
|
||||||
|
tailLength = null;
|
||||||
|
tailShape = null;
|
||||||
|
gender = null;
|
||||||
|
size = null;
|
||||||
|
glowColor = 0;
|
||||||
|
noSkin = true;
|
||||||
|
wearables = null;
|
||||||
|
wearableColor = 0;
|
||||||
|
return;
|
||||||
|
}
|
||||||
race = buffer.readEnumConstant(Race.class);
|
race = buffer.readEnumConstant(Race.class);
|
||||||
tailLength = buffer.readEnumConstant(TailLength.class);
|
tailLength = buffer.readEnumConstant(TailLength.class);
|
||||||
tailShape = buffer.readEnumConstant(TailShape.class);
|
tailShape = buffer.readEnumConstant(TailShape.class);
|
||||||
|
@ -70,6 +87,9 @@ public class MsgPonyData implements IPonyData {
|
||||||
}
|
}
|
||||||
|
|
||||||
public PacketByteBuf toBuffer(PacketByteBuf buffer) {
|
public PacketByteBuf toBuffer(PacketByteBuf buffer) {
|
||||||
|
buffer.writeByte((API_IDENTIFIER & 0xFF00) >> 8);
|
||||||
|
buffer.writeByte(API_IDENTIFIER & 0x00FF);
|
||||||
|
buffer.writeByte(API_VERSION);
|
||||||
buffer.writeEnumConstant(race);
|
buffer.writeEnumConstant(race);
|
||||||
buffer.writeEnumConstant(tailLength);
|
buffer.writeEnumConstant(tailLength);
|
||||||
buffer.writeEnumConstant(tailShape);
|
buffer.writeEnumConstant(tailShape);
|
||||||
|
|
Loading…
Reference in a new issue