public void encode(PacketDataSerializer var1) throws IOException {
    var1.writeVarInt(this.a);
    var1.writeByte(this.b);
    var1.writeVarInt(this.c.length);
    class_ave[] var2 = this.c;
    int var3 = var2.length;

    for (int var4 = 0; var4 < var3; ++var4) {
      class_ave var5 = var2[var4];
      var1.writeByte((var5.a() & 15) << 4 | var5.d() & 15);
      var1.writeByte(var5.b());
      var1.writeByte(var5.c());
    }

    var1.writeByte(this.f);
    if (this.f > 0) {
      var1.writeByte(this.g);
      var1.writeByte(this.d);
      var1.writeByte(this.e);
      var1.writeArray(this.h);
    }
  }