public void write(PacketByteBuf out) throws IOException {
    out.writeString(this.a);
    out.writeByte(this.h);
    if (this.h == 0 || this.h == 2) {
      out.writeString(this.b);
      out.writeString(this.c);
      out.writeString(this.d);
      out.writeByte(this.i);
      out.writeString(this.e);
      out.writeByte(this.f);
    }

    if (this.h == 0 || this.h == 3 || this.h == 4) {
      out.writeVarInt(this.g.size());
      Iterator var2 = this.g.iterator();

      while (var2.hasNext()) {
        String var3 = (String) var2.next();
        out.writeString(var3);
      }
    }
  }
 public void write(PacketByteBuf out) throws IOException {
   out.writeByte(this.f ? 1 : 0);
 }