context: // Generated by the protocol buffer compiler.  DO NOT EDIT!
  // source: Movement.proto
  #pragma warning disable 1591, 0612, 3021
  #region Designer generated code
  
  using pb = global::Google.Protobuf;
  using pbc = global::Google.Protobuf.Collections;
  using pbr = global::Google.Protobuf.Reflection;
  using scg = global::System.Collections.Generic;
  namespace Org.Dragonet.Cloudland.Net.Protocol {
  
    /// <summary>Holder for reflection information generated from Movement.proto</summary>
    public static partial class MovementReflection {
  
      #region Descriptor
      /// <summary>File descriptor for Movement.proto</summary>
      public static pbr::FileDescriptor Descriptor {
        get { return descriptor; }
      }
      private static pbr::FileDescriptor descriptor;
  
      static MovementReflection() {
        byte[] descriptorData = global::System.Convert.FromBase64String(
            string.Concat(
              "Cg5Nb3ZlbWVudC5wcm90bxIjb3JnLmRyYWdvbmV0LmNsb3VkbGFuZC5uZXQu",
              "cHJvdG9jb2wiVAoVQ2xpZW50TW92ZW1lbnRNZXNzYWdlEgkKAXgYASABKAES",
              "CQoBeRgCIAEoARIJCgF6GAMgASgBEgsKA3lhdxgEIAEoAhINCgVwaXRjaBgF",
              "IAEoAiJgCiFTZXJ2ZXJVcGRhdGVQbGF5ZXJQb3NpdGlvbk1lc3NhZ2USCQoB",
              "eBgBIAEoARIJCgF5GAIgASgBEgkKAXoYAyABKAESCwoDeWF3GAQgASgCEg0K",
              "BXBpdGNoGAUgASgCIpQCChNDbGllbnRBY3Rpb25NZXNzYWdlElMKBmFjdGlv",
              "bhgBIAEoDjJDLm9yZy5kcmFnb25ldC5jbG91ZGxhbmQubmV0LnByb3RvY29s",
              "LkNsaWVudEFjdGlvbk1lc3NhZ2UuQWN0aW9uVHlwZRIOCgZibG9ja1gYAiAB",
              "KAUSDgoGYmxvY2tZGAMgASgFEg4KBmJsb2NrWhgEIAEoBRIMCgRmYWNlGAUg",
              "ASgNImoKCkFjdGlvblR5cGUSDwoLU1RBUlRfQlJFQUsQABIQCgxDQU5DRUxf",
              "QlJFQUsQARITCg9TVEFSVF9TUFJJTlRJTkcQAhIRCg1FTkRfU1BSSU5USU5H",
              "EAMSEQoNU1RPUF9TTEVFUElORxAEIm4KFENsaWVudFVzZUl0ZW1NZXNzYWdl",
              "EhMKC2hvdGJhckluZGV4GAEgASgNEhEKCWRpcmVjdGlvbhgCIAEoDRIOCgZi",
              "bG9ja1gYAyABKAUSDgoGYmxvY2tZGAQgASgFEg4KBmJsb2NrWhgFIAEoBSqD",
              "AQoJRGlyZWN0aW9uEhMKD0RJUkVDVElPTl9OT1JUSBAAEhIKDkRJUkVDVElP",
              "Tl9FQVNUEAESEwoPRElSRUNUSU9OX1NPVVRIEAISEgoORElSRUNUSU9OX1dF",
              "U1QQAxIQCgxESVJFQ1RJT05fVVAQBBISCg5ESVJFQ1RJT05fRE9XThAFYgZw",
              "cm90bzM="));
        descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData,
            new pbr::FileDescriptor[] { },
            new pbr::GeneratedClrTypeInfo(new[] {typeof(global::Org.Dragonet.Cloudland.Net.Protocol.Direction), }, new pbr::GeneratedClrTypeInfo[] {
              new pbr::GeneratedClrTypeInfo(typeof(global::Org.Dragonet.Cloudland.Net.Protocol.ClientMovementMessage), global::Org.Dragonet.Cloudland.Net.Protocol.ClientMovementMessage.Parser, new[]{ "X", "Y", "Z", "Yaw", "Pitch" }, null, null, null),
              new pbr::GeneratedClrTypeInfo(typeof(global::Org.Dragonet.Cloudland.Net.Protocol.ServerUpdatePlayerPositionMessage), global::Org.Dragonet.Cloudland.Net.Protocol.ServerUpdatePlayerPositionMessage.Parser, new[]{ "X", "Y", "Z", "Yaw", "Pitch" }, null, null, null),
              new pbr::GeneratedClrTypeInfo(typeof(global::Org.Dragonet.Cloudland.Net.Protocol.ClientActionMessage), global::Org.Dragonet.Cloudland.Net.Protocol.ClientActionMessage.Parser, new[]{ "Action", "BlockX", "BlockY", "BlockZ", "Face" }, null, new[]{ typeof(global::Org.Dragonet.Cloudland.Net.Protocol.ClientActionMessage.Types.ActionType) }, null),
              new pbr::GeneratedClrTypeInfo(typeof(global::Org.Dragonet.Cloudland.Net.Protocol.ClientUseItemMessage), global::Org.Dragonet.Cloudland.Net.Protocol.ClientUseItemMessage.Parser, new[]{ "HotbarIndex", "Direction", "BlockX", "BlockY", "BlockZ" }, null, null, null)
            }));
      }
      #endregion
  
    }
    #region Enums
    /// <summary>
    /// *
    ///  Same as the definition in the client
    /// </summary>
    public enum Direction {
      [pbr::OriginalName("DIRECTION_NORTH")] North = 0,
      [pbr::OriginalName("DIRECTION_EAST")] East = 1,
      [pbr::OriginalName("DIRECTION_SOUTH")] South = 2,
      [pbr::OriginalName("DIRECTION_WEST")] West = 3,
      [pbr::OriginalName("DIRECTION_UP")] Up = 4,
      [pbr::OriginalName("DIRECTION_DOWN")] Down = 5,
    }
  
    #endregion
  
    #region Messages
    public sealed partial class ClientMovementMessage : pb::IMessage<ClientMovementMessage> {
      private static readonly pb::MessageParser<ClientMovementMessage> _parser = new pb::MessageParser<ClientMovementMessage>(() => new ClientMovementMessage());
      [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
      public static pb::MessageParser<ClientMovementMessage> Parser { get { return _parser; } }
  
      [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
      public static pbr::MessageDescriptor Descriptor {
        get { return global::Org.Dragonet.Cloudland.Net.Protocol.MovementReflection.Descriptor.MessageTypes[0]; }
      }
  
      [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
      pbr::MessageDescriptor pb::IMessage.Descriptor {
        get { return Descriptor; }
      }
  
      [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
      public ClientMovementMessage() {
        OnConstruction();
      }
  
      partial void OnConstruction();
  
      [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
      public ClientMovementMessage(ClientMovementMessage other) : this() {
        x_ = other.x_;
        y_ = other.y_;
        z_ = other.z_;
        yaw_ = other.yaw_;
        pitch_ = other.pitch_;
      }
  
      [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
      public ClientMovementMessage Clone() {
        return new ClientMovementMessage(this);
      }
  
      /// <summary>Field number for the "x" field.</summary>
      public const int XFieldNumber = 1;
      private double x_;
      [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
      public double X {
        get { return x_; }
        set {
          x_ = value;
        }
      }
  
      /// <summary>Field number for the "y" field.</summary>
      public const int YFieldNumber = 2;
      private double y_;
      [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
      public double Y {
        get { return y_; }
        set {
          y_ = value;
        }
      }
  
      /// <summary>Field number for the "z" field.</summary>
      public const int ZFieldNumber = 3;
      private double z_;
      [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
      public double Z {
        get { return z_; }
        set {
          z_ = value;
        }
      }
  
      /// <summary>Field number for the "yaw" field.</summary>
      public const int YawFieldNumber = 4;
      private float yaw_;
      [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
      public float Yaw {
        get { return yaw_; }
        set {
          yaw_ = value;
        }
      }
  
      /// <summary>Field number for the "pitch" field.</summary>
      public const int PitchFieldNumber = 5;
      private float pitch_;
      [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
      public float Pitch {
        get { return pitch_; }
        set {
          pitch_ = value;
        }
      }
  
      [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
      public override bool Equals(object other) {
        return Equals(other as ClientMovementMessage);
      }
  
      [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
      public bool Equals(ClientMovementMessage other) {
        if (ReferenceEquals(other, null)) {
          return false;
        }
        if (ReferenceEquals(other, this)) {
          return true;
        }
        if (X != other.X) return false;
        if (Y != other.Y) return false;
        if (Z != other.Z) return false;
        if (Yaw != other.Yaw) return false;
        if (Pitch != other.Pitch) return false;
        return true;
      }
  
      [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
      public override int GetHashCode() {
        int hash = 1;
        if (X != 0D) hash ^= X.GetHashCode();
        if (Y != 0D) hash ^= Y.GetHashCode();
        if (Z != 0D) hash ^= Z.GetHashCode();
        if (Yaw != 0F) hash ^= Yaw.GetHashCode();
        if (Pitch != 0F) hash ^= Pitch.GetHashCode();
        return hash;
      }
  
      [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
      public override string ToString() {
        return pb::JsonFormatter.ToDiagnosticString(this);
      }
  
      [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
      public void WriteTo(pb::CodedOutputStream output) {
        if (X != 0D) {
          output.WriteRawTag(9);
          output.WriteDouble(X);
        }
        if (Y != 0D) {
          output.WriteRawTag(17);
          output.WriteDouble(Y);
        }
        if (Z != 0D) {
          output.WriteRawTag(25);
          output.WriteDouble(Z);
        }
        if (Yaw != 0F) {
          output.WriteRawTag(37);
          output.WriteFloat(Yaw);
        }
        if (Pitch != 0F) {
          output.WriteRawTag(45);
          output.WriteFloat(Pitch);
        }
      }
  
      [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
      public int CalculateSize() {
        int size = 0;
        if (X != 0D) {
          size += 1 + 8;
        }
        if (Y != 0D) {
          size += 1 + 8;
        }
        if (Z != 0D) {
          size += 1 + 8;
        }
        if (Yaw != 0F) {
          size += 1 + 4;
        }
        if (Pitch != 0F) {
          size += 1 + 4;
        }
        return size;
      }
  
      [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
      public void MergeFrom(ClientMovementMessage other) {
        if (other == null) {
          return;
        }
        if (other.X != 0D) {
          X = other.X;
        }
        if (other.Y != 0D) {
          Y = other.Y;
        }
        if (other.Z != 0D) {
          Z = other.Z;
        }
        if (other.Yaw != 0F) {
          Yaw = other.Yaw;
        }
        if (other.Pitch != 0F) {
          Pitch = other.Pitch;
        }
      }
  
      [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
      public void MergeFrom(pb::CodedInputStream input) {
        uint tag;
        while ((tag = input.ReadTag()) != 0) {
          switch(tag) {
            default:
              input.SkipLastField();
              break;
            case 9: {
              X = input.ReadDouble();
              break;
            }
            case 17: {
              Y = input.ReadDouble();
              break;
            }
            case 25: {
              Z = input.ReadDouble();
              break;
            }
            case 37: {
              Yaw = input.ReadFloat();
              break;
            }
            case 45: {
              Pitch = input.ReadFloat();
              break;
            }
          }
        }
      }
  
    }
  
    public sealed partial class ServerUpdatePlayerPositionMessage : pb::IMessage<ServerUpdatePlayerPositionMessage> {
      private static readonly pb::MessageParser<ServerUpdatePlayerPositionMessage> _parser = new pb::MessageParser<ServerUpdatePlayerPositionMessage>(() => new ServerUpdatePlayerPositionMessage());
      [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
      public static pb::MessageParser<ServerUpdatePlayerPositionMessage> Parser { get { return _parser; } }
  
      [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
      public static pbr::MessageDescriptor Descriptor {
        get { return global::Org.Dragonet.Cloudland.Net.Protocol.MovementReflection.Descriptor.MessageTypes[1]; }
      }
  
      [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
      pbr::MessageDescriptor pb::IMessage.Descriptor {
        get { return Descriptor; }
      }
  
      [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
      public ServerUpdatePlayerPositionMessage() {
        OnConstruction();
      }
  
      partial void OnConstruction();
  
      [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
      public ServerUpdatePlayerPositionMessage(ServerUpdatePlayerPositionMessage other) : this() {
        x_ = other.x_;
        y_ = other.y_;
        z_ = other.z_;
        yaw_ = other.yaw_;
        pitch_ = other.pitch_;
      }
  
      [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
      public ServerUpdatePlayerPositionMessage Clone() {
        return new ServerUpdatePlayerPositionMessage(this);
      }
  
      /// <summary>Field number for the "x" field.</summary>
      public const int XFieldNumber = 1;
      private double x_;
      [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
      public double X {
        get { return x_; }
        set {
          x_ = value;
        }
      }
  
      /// <summary>Field number for the "y" field.</summary>
      public const int YFieldNumber = 2;
      private double y_;
      [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
      public double Y {
        get { return y_; }
        set {
          y_ = value;
        }
      }
  
      /// <summary>Field number for the "z" field.</summary>
      public const int ZFieldNumber = 3;
      private double z_;
      [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
      public double Z {
        get { return z_; }
        set {
          z_ = value;
        }
      }
  
      /// <summary>Field number for the "yaw" field.</summary>
      public const int YawFieldNumber = 4;
      private float yaw_;
      [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
      public float Yaw {
        get { return yaw_; }
        set {
          yaw_ = value;
        }
      }
  
      /// <summary>Field number for the "pitch" field.</summary>
      public const int PitchFieldNumber = 5;
      private float pitch_;
      [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
      public float Pitch {
        get { return pitch_; }
        set {
          pitch_ = value;
        }
      }
  
      [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
      public override bool Equals(object other) {
        return Equals(other as ServerUpdatePlayerPositionMessage);
      }
  
      [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
      public bool Equals(ServerUpdatePlayerPositionMessage other) {
        if (ReferenceEquals(other, null)) {
          return false;
        }
        if (ReferenceEquals(other, this)) {
          return true;
        }
        if (X != other.X) return false;
        if (Y != other.Y) return false;
        if (Z != other.Z) return false;
        if (Yaw != other.Yaw) return false;
        if (Pitch != other.Pitch) return false;
        return true;
      }
  
      [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
      public override int GetHashCode() {
        int hash = 1;
        if (X != 0D) hash ^= X.GetHashCode();
        if (Y != 0D) hash ^= Y.GetHashCode();
        if (Z != 0D) hash ^= Z.GetHashCode();
        if (Yaw != 0F) hash ^= Yaw.GetHashCode();
        if (Pitch != 0F) hash ^= Pitch.GetHashCode();
        return hash;
      }
  
      [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
      public override string ToString() {
        return pb::JsonFormatter.ToDiagnosticString(this);
      }
  
      [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
      public void WriteTo(pb::CodedOutputStream output) {
        if (X != 0D) {
          output.WriteRawTag(9);
          output.WriteDouble(X);
        }
        if (Y != 0D) {
          output.WriteRawTag(17);
          output.WriteDouble(Y);
        }
        if (Z != 0D) {
          output.WriteRawTag(25);
          output.WriteDouble(Z);
        }
        if (Yaw != 0F) {
          output.WriteRawTag(37);
          output.WriteFloat(Yaw);
        }
        if (Pitch != 0F) {
          output.WriteRawTag(45);
          output.WriteFloat(Pitch);
        }
      }
  
      [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
      public int CalculateSize() {
        int size = 0;
        if (X != 0D) {
          size += 1 + 8;
        }
        if (Y != 0D) {
          size += 1 + 8;
        }
        if (Z != 0D) {
          size += 1 + 8;
        }
        if (Yaw != 0F) {
          size += 1 + 4;
        }
        if (Pitch != 0F) {
          size += 1 + 4;
        }
        return size;
      }
  
      [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
      public void MergeFrom(ServerUpdatePlayerPositionMessage other) {
        if (other == null) {
          return;
        }
        if (other.X != 0D) {
          X = other.X;
        }
        if (other.Y != 0D) {
          Y = other.Y;
        }
        if (other.Z != 0D) {
          Z = other.Z;
        }
        if (other.Yaw != 0F) {
          Yaw = other.Yaw;
        }
        if (other.Pitch != 0F) {
          Pitch = other.Pitch;
        }
      }
  
      [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
      public void MergeFrom(pb::CodedInputStream input) {
        uint tag;
        while ((tag = input.ReadTag()) != 0) {
          switch(tag) {
            default:
              input.SkipLastField();
              break;
            case 9: {
              X = input.ReadDouble();
              break;
            }
            case 17: {
              Y = input.ReadDouble();
              break;
            }
            case 25: {
              Z = input.ReadDouble();
              break;
            }
            case 37: {
              Yaw = input.ReadFloat();
              break;
            }
            case 45: {
              Pitch = input.ReadFloat();
              break;
            }
          }
        }
      }
  
    }
  
    public sealed partial class ClientActionMessage : pb::IMessage<ClientActionMessage> {
      private static readonly pb::MessageParser<ClientActionMessage> _parser = new pb::MessageParser<ClientActionMessage>(() => new ClientActionMessage());
      [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
      public static pb::MessageParser<ClientActionMessage> Parser { get { return _parser; } }
  
      [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
      public static pbr::MessageDescriptor Descriptor {
        get { return global::Org.Dragonet.Cloudland.Net.Protocol.MovementReflection.Descriptor.MessageTypes[2]; }
      }
  
      [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
      pbr::MessageDescriptor pb::IMessage.Descriptor {
        get { return Descriptor; }
      }
  
      [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
      public ClientActionMessage() {
        OnConstruction();
      }
  
      partial void OnConstruction();
  
      [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
      public ClientActionMessage(ClientActionMessage other) : this() {
        action_ = other.action_;
        blockX_ = other.blockX_;
        blockY_ = other.blockY_;
        blockZ_ = other.blockZ_;
        face_ = other.face_;
      }
  
      [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
      public ClientActionMessage Clone() {
        return new ClientActionMessage(this);
      }
  
      /// <summary>Field number for the "action" field.</summary>
      public const int ActionFieldNumber = 1;
      private global::Org.Dragonet.Cloudland.Net.Protocol.ClientActionMessage.Types.ActionType action_ = 0;
      [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
      public global::Org.Dragonet.Cloudland.Net.Protocol.ClientActionMessage.Types.ActionType Action {
        get { return action_; }
        set {
          action_ = value;
        }
      }
  
      /// <summary>Field number for the "blockX" field.</summary>
      public const int BlockXFieldNumber = 2;
      private int blockX_;
      /// <summary>
      ///  Only valid when ActionType == 1 or 2
      /// </summary>
      [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
      public int BlockX {
        get { return blockX_; }
        set {
          blockX_ = value;
        }
      }
  
      /// <summary>Field number for the "blockY" field.</summary>
      public const int BlockYFieldNumber = 3;
      private int blockY_;
      [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
      public int BlockY {
        get { return blockY_; }
        set {
          blockY_ = value;
        }
      }
  
      /// <summary>Field number for the "blockZ" field.</summary>
      public const int BlockZFieldNumber = 4;
      private int blockZ_;
      [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
      public int BlockZ {
        get { return blockZ_; }
        set {
          blockZ_ = value;
        }
      }
  
      /// <summary>Field number for the "face" field.</summary>
      public const int FaceFieldNumber = 5;
      private uint face_;
      [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
      public uint Face {
        get { return face_; }
        set {
          face_ = value;
        }
      }
  
      [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
      public override bool Equals(object other) {
        return Equals(other as ClientActionMessage);
      }
  
      [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
      public bool Equals(ClientActionMessage other) {
        if (ReferenceEquals(other, null)) {
          return false;
        }
        if (ReferenceEquals(other, this)) {
          return true;
        }
        if (Action != other.Action) return false;
        if (BlockX != other.BlockX) return false;
        if (BlockY != other.BlockY) return false;
        if (BlockZ != other.BlockZ) return false;
        if (Face != other.Face) return false;
        return true;
      }
  
      [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
      public override int GetHashCode() {
        int hash = 1;
        if (Action != 0) hash ^= Action.GetHashCode();
        if (BlockX != 0) hash ^= BlockX.GetHashCode();
        if (BlockY != 0) hash ^= BlockY.GetHashCode();
        if (BlockZ != 0) hash ^= BlockZ.GetHashCode();
        if (Face != 0) hash ^= Face.GetHashCode();
        return hash;
      }
  
      [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
      public override string ToString() {
        return pb::JsonFormatter.ToDiagnosticString(this);
      }
  
      [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
      public void WriteTo(pb::CodedOutputStream output) {
        if (Action != 0) {
          output.WriteRawTag(8);
          output.WriteEnum((int) Action);
        }
        if (BlockX != 0) {
          output.WriteRawTag(16);
          output.WriteInt32(BlockX);
        }
        if (BlockY != 0) {
          output.WriteRawTag(24);
          output.WriteInt32(BlockY);
        }
        if (BlockZ != 0) {
          output.WriteRawTag(32);
          output.WriteInt32(BlockZ);
        }
        if (Face != 0) {
          output.WriteRawTag(40);
          output.WriteUInt32(Face);
        }
      }
  
      [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
      public int CalculateSize() {
        int size = 0;
        if (Action != 0) {
          size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) Action);
        }
        if (BlockX != 0) {
          size += 1 + pb::CodedOutputStream.ComputeInt32Size(BlockX);
        }
        if (BlockY != 0) {
          size += 1 + pb::CodedOutputStream.ComputeInt32Size(BlockY);
        }
        if (BlockZ != 0) {
          size += 1 + pb::CodedOutputStream.ComputeInt32Size(BlockZ);
        }
  
gt:       if (Face != 0) {