// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: define.proto

package io.grasscutter.net.proto.define;

/**
 * Protobuf type {@code SceneEntityInfo}
 */
public final class SceneEntityInfo extends
    com.google.protobuf.GeneratedMessageV3 implements
    // @@protoc_insertion_point(message_implements:SceneEntityInfo)
    SceneEntityInfoOrBuilder {
private static final long serialVersionUID = 0L;
  // Use SceneEntityInfo.newBuilder() to construct.
  private SceneEntityInfo(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
    super(builder);
  }
  private SceneEntityInfo() {
    tagList_ = com.google.protobuf.LazyStringArrayList.EMPTY;
    animatorParaList_ = java.util.Collections.emptyList();
    propList_ = java.util.Collections.emptyList();
    serverBuffList_ = java.util.Collections.emptyList();
    name_ = "";
    entityEnvironmentInfoList_ = java.util.Collections.emptyList();
    fightPropList_ = java.util.Collections.emptyList();
    entityType_ = 0;
  }

  @java.lang.Override
  @SuppressWarnings({"unused"})
  protected java.lang.Object newInstance(
      UnusedPrivateParameter unused) {
    return new SceneEntityInfo();
  }

  @java.lang.Override
  public final com.google.protobuf.UnknownFieldSet
  getUnknownFields() {
    return this.unknownFields;
  }
  private SceneEntityInfo(
      com.google.protobuf.CodedInputStream input,
      com.google.protobuf.ExtensionRegistryLite extensionRegistry)
      throws com.google.protobuf.InvalidProtocolBufferException {
    this();
    if (extensionRegistry == null) {
      throw new java.lang.NullPointerException();
    }
    int mutable_bitField0_ = 0;
    com.google.protobuf.UnknownFieldSet.Builder unknownFields =
        com.google.protobuf.UnknownFieldSet.newBuilder();
    try {
      boolean done = false;
      while (!done) {
        int tag = input.readTag();
        switch (tag) {
          case 0:
            done = true;
            break;
          case 8: {
            int rawValue = input.readEnum();

            entityType_ = rawValue;
            break;
          }
          case 16: {

            entityId_ = input.readUInt32();
            break;
          }
          case 26: {
            java.lang.String s = input.readStringRequireUtf8();

            name_ = s;
            break;
          }
          case 34: {
            io.grasscutter.net.proto.define.MotionInfo.Builder subBuilder = null;
            if (motionInfo_ != null) {
              subBuilder = motionInfo_.toBuilder();
            }
            motionInfo_ = input.readMessage(io.grasscutter.net.proto.define.MotionInfo.parser(), extensionRegistry);
            if (subBuilder != null) {
              subBuilder.mergeFrom(motionInfo_);
              motionInfo_ = subBuilder.buildPartial();
            }

            break;
          }
          case 42: {
            if (!((mutable_bitField0_ & 0x00000004) != 0)) {
              propList_ = new java.util.ArrayList<io.grasscutter.net.proto.define.PropPair>();
              mutable_bitField0_ |= 0x00000004;
            }
            propList_.add(
                input.readMessage(io.grasscutter.net.proto.define.PropPair.parser(), extensionRegistry));
            break;
          }
          case 50: {
            if (!((mutable_bitField0_ & 0x00000020) != 0)) {
              fightPropList_ = new java.util.ArrayList<io.grasscutter.net.proto.define.FightPropPair>();
              mutable_bitField0_ |= 0x00000020;
            }
            fightPropList_.add(
                input.readMessage(io.grasscutter.net.proto.define.FightPropPair.parser(), extensionRegistry));
            break;
          }
          case 56: {

            lifeState_ = input.readUInt32();
            break;
          }
          case 74: {
            if (!((mutable_bitField0_ & 0x00000002) != 0)) {
              animatorParaList_ = new java.util.ArrayList<io.grasscutter.net.proto.define.AnimatorParameterValueInfoPair>();
              mutable_bitField0_ |= 0x00000002;
            }
            animatorParaList_.add(
                input.readMessage(io.grasscutter.net.proto.define.AnimatorParameterValueInfoPair.parser(), extensionRegistry));
            break;
          }
          case 82: {
            io.grasscutter.net.proto.define.NAPNKPIHEBF.Builder subBuilder = null;
            if (jKPMLNNECOKCase_ == 10) {
              subBuilder = ((io.grasscutter.net.proto.define.NAPNKPIHEBF) jKPMLNNECOK_).toBuilder();
            }
            jKPMLNNECOK_ =
                input.readMessage(io.grasscutter.net.proto.define.NAPNKPIHEBF.parser(), extensionRegistry);
            if (subBuilder != null) {
              subBuilder.mergeFrom((io.grasscutter.net.proto.define.NAPNKPIHEBF) jKPMLNNECOK_);
              jKPMLNNECOK_ = subBuilder.buildPartial();
            }
            jKPMLNNECOKCase_ = 10;
            break;
          }
          case 90: {
            io.grasscutter.net.proto.define.SceneMonsterInfo.Builder subBuilder = null;
            if (jKPMLNNECOKCase_ == 11) {
              subBuilder = ((io.grasscutter.net.proto.define.SceneMonsterInfo) jKPMLNNECOK_).toBuilder();
            }
            jKPMLNNECOK_ =
                input.readMessage(io.grasscutter.net.proto.define.SceneMonsterInfo.parser(), extensionRegistry);
            if (subBuilder != null) {
              subBuilder.mergeFrom((io.grasscutter.net.proto.define.SceneMonsterInfo) jKPMLNNECOK_);
              jKPMLNNECOK_ = subBuilder.buildPartial();
            }
            jKPMLNNECOKCase_ = 11;
            break;
          }
          case 98: {
            io.grasscutter.net.proto.define.SceneNpcInfo.Builder subBuilder = null;
            if (jKPMLNNECOKCase_ == 12) {
              subBuilder = ((io.grasscutter.net.proto.define.SceneNpcInfo) jKPMLNNECOK_).toBuilder();
            }
            jKPMLNNECOK_ =
                input.readMessage(io.grasscutter.net.proto.define.SceneNpcInfo.parser(), extensionRegistry);
            if (subBuilder != null) {
              subBuilder.mergeFrom((io.grasscutter.net.proto.define.SceneNpcInfo) jKPMLNNECOK_);
              jKPMLNNECOK_ = subBuilder.buildPartial();
            }
            jKPMLNNECOKCase_ = 12;
            break;
          }
          case 106: {
            io.grasscutter.net.proto.define.SceneGadgetInfo.Builder subBuilder = null;
            if (jKPMLNNECOKCase_ == 13) {
              subBuilder = ((io.grasscutter.net.proto.define.SceneGadgetInfo) jKPMLNNECOK_).toBuilder();
            }
            jKPMLNNECOK_ =
                input.readMessage(io.grasscutter.net.proto.define.SceneGadgetInfo.parser(), extensionRegistry);
            if (subBuilder != null) {
              subBuilder.mergeFrom((io.grasscutter.net.proto.define.SceneGadgetInfo) jKPMLNNECOK_);
              jKPMLNNECOK_ = subBuilder.buildPartial();
            }
            jKPMLNNECOKCase_ = 13;
            break;
          }
          case 136: {

            lastMoveSceneTimeMs_ = input.readUInt32();
            break;
          }
          case 144: {

            lastMoveReliableSeq_ = input.readUInt32();
            break;
          }
          case 154: {
            io.grasscutter.net.proto.define.EntityClientData.Builder subBuilder = null;
            if (entityClientData_ != null) {
              subBuilder = entityClientData_.toBuilder();
            }
            entityClientData_ = input.readMessage(io.grasscutter.net.proto.define.EntityClientData.parser(), extensionRegistry);
            if (subBuilder != null) {
              subBuilder.mergeFrom(entityClientData_);
              entityClientData_ = subBuilder.buildPartial();
            }

            break;
          }
          case 162: {
            if (!((mutable_bitField0_ & 0x00000010) != 0)) {
              entityEnvironmentInfoList_ = new java.util.ArrayList<io.grasscutter.net.proto.define.EntityEnvironmentInfo>();
              mutable_bitField0_ |= 0x00000010;
            }
            entityEnvironmentInfoList_.add(
                input.readMessage(io.grasscutter.net.proto.define.EntityEnvironmentInfo.parser(), extensionRegistry));
            break;
          }
          case 170: {
            io.grasscutter.net.proto.define.EntityAuthorityInfo.Builder subBuilder = null;
            if (entityAuthorityInfo_ != null) {
              subBuilder = entityAuthorityInfo_.toBuilder();
            }
            entityAuthorityInfo_ = input.readMessage(io.grasscutter.net.proto.define.EntityAuthorityInfo.parser(), extensionRegistry);
            if (subBuilder != null) {
              subBuilder.mergeFrom(entityAuthorityInfo_);
              entityAuthorityInfo_ = subBuilder.buildPartial();
            }

            break;
          }
          case 178: {
            java.lang.String s = input.readStringRequireUtf8();
            if (!((mutable_bitField0_ & 0x00000001) != 0)) {
              tagList_ = new com.google.protobuf.LazyStringArrayList();
              mutable_bitField0_ |= 0x00000001;
            }
            tagList_.add(s);
            break;
          }
          case 186: {
            if (!((mutable_bitField0_ & 0x00000008) != 0)) {
              serverBuffList_ = new java.util.ArrayList<io.grasscutter.net.proto.define.ServerBuff>();
              mutable_bitField0_ |= 0x00000008;
            }
            serverBuffList_.add(
                input.readMessage(io.grasscutter.net.proto.define.ServerBuff.parser(), extensionRegistry));
            break;
          }
          default: {
            if (!parseUnknownField(
                input, unknownFields, extensionRegistry, tag)) {
              done = true;
            }
            break;
          }
        }
      }
    } catch (com.google.protobuf.InvalidProtocolBufferException e) {
      throw e.setUnfinishedMessage(this);
    } catch (java.io.IOException e) {
      throw new com.google.protobuf.InvalidProtocolBufferException(
          e).setUnfinishedMessage(this);
    } finally {
      if (((mutable_bitField0_ & 0x00000004) != 0)) {
        propList_ = java.util.Collections.unmodifiableList(propList_);
      }
      if (((mutable_bitField0_ & 0x00000020) != 0)) {
        fightPropList_ = java.util.Collections.unmodifiableList(fightPropList_);
      }
      if (((mutable_bitField0_ & 0x00000002) != 0)) {
        animatorParaList_ = java.util.Collections.unmodifiableList(animatorParaList_);
      }
      if (((mutable_bitField0_ & 0x00000010) != 0)) {
        entityEnvironmentInfoList_ = java.util.Collections.unmodifiableList(entityEnvironmentInfoList_);
      }
      if (((mutable_bitField0_ & 0x00000001) != 0)) {
        tagList_ = tagList_.getUnmodifiableView();
      }
      if (((mutable_bitField0_ & 0x00000008) != 0)) {
        serverBuffList_ = java.util.Collections.unmodifiableList(serverBuffList_);
      }
      this.unknownFields = unknownFields.build();
      makeExtensionsImmutable();
    }
  }
  public static final com.google.protobuf.Descriptors.Descriptor
      getDescriptor() {
    return io.grasscutter.net.proto.define.Define.internal_static_SceneEntityInfo_descriptor;
  }

  @java.lang.Override
  protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internalGetFieldAccessorTable() {
    return io.grasscutter.net.proto.define.Define.internal_static_SceneEntityInfo_fieldAccessorTable
        .ensureFieldAccessorsInitialized(
            io.grasscutter.net.proto.define.SceneEntityInfo.class, io.grasscutter.net.proto.define.SceneEntityInfo.Builder.class);
  }

  private int jKPMLNNECOKCase_ = 0;
  private java.lang.Object jKPMLNNECOK_;
  public enum JKPMLNNECOKCase
      implements com.google.protobuf.Internal.EnumLite,
          com.google.protobuf.AbstractMessage.InternalOneOfEnum {
    NPC(12),
    GADGET(13),
    MONSTER(11),
    AVATAR(10),
    JKPMLNNECOK_NOT_SET(0);
    private final int value;
    private JKPMLNNECOKCase(int value) {
      this.value = value;
    }
    /**
     * @param value The number of the enum to look for.
     * @return The enum associated with the given number.
     * @deprecated Use {@link #forNumber(int)} instead.
     */
    @java.lang.Deprecated
    public static JKPMLNNECOKCase valueOf(int value) {
      return forNumber(value);
    }

    public static JKPMLNNECOKCase forNumber(int value) {
      switch (value) {
        case 12: return NPC;
        case 13: return GADGET;
        case 11: return MONSTER;
        case 10: return AVATAR;
        case 0: return JKPMLNNECOK_NOT_SET;
        default: return null;
      }
    }
    public int getNumber() {
      return this.value;
    }
  };

  public JKPMLNNECOKCase
  getJKPMLNNECOKCase() {
    return JKPMLNNECOKCase.forNumber(
        jKPMLNNECOKCase_);
  }

  public static final int ENTITY_CLIENT_DATA_FIELD_NUMBER = 19;
  private io.grasscutter.net.proto.define.EntityClientData entityClientData_;
  /**
   * <code>.EntityClientData entity_client_data = 19;</code>
   * @return Whether the entityClientData field is set.
   */
  @java.lang.Override
  public boolean hasEntityClientData() {
    return entityClientData_ != null;
  }
  /**
   * <code>.EntityClientData entity_client_data = 19;</code>
   * @return The entityClientData.
   */
  @java.lang.Override
  public io.grasscutter.net.proto.define.EntityClientData getEntityClientData() {
    return entityClientData_ == null ? io.grasscutter.net.proto.define.EntityClientData.getDefaultInstance() : entityClientData_;
  }
  /**
   * <code>.EntityClientData entity_client_data = 19;</code>
   */
  @java.lang.Override
  public io.grasscutter.net.proto.define.EntityClientDataOrBuilder getEntityClientDataOrBuilder() {
    return getEntityClientData();
  }

  public static final int TAG_LIST_FIELD_NUMBER = 22;
  private com.google.protobuf.LazyStringList tagList_;
  /**
   * <code>repeated string tag_list = 22;</code>
   * @return A list containing the tagList.
   */
  public com.google.protobuf.ProtocolStringList
      getTagListList() {
    return tagList_;
  }
  /**
   * <code>repeated string tag_list = 22;</code>
   * @return The count of tagList.
   */
  public int getTagListCount() {
    return tagList_.size();
  }
  /**
   * <code>repeated string tag_list = 22;</code>
   * @param index The index of the element to return.
   * @return The tagList at the given index.
   */
  public java.lang.String getTagList(int index) {
    return tagList_.get(index);
  }
  /**
   * <code>repeated string tag_list = 22;</code>
   * @param index The index of the value to return.
   * @return The bytes of the tagList at the given index.
   */
  public com.google.protobuf.ByteString
      getTagListBytes(int index) {
    return tagList_.getByteString(index);
  }

  public static final int MOTION_INFO_FIELD_NUMBER = 4;
  private io.grasscutter.net.proto.define.MotionInfo motionInfo_;
  /**
   * <code>.MotionInfo motion_info = 4;</code>
   * @return Whether the motionInfo field is set.
   */
  @java.lang.Override
  public boolean hasMotionInfo() {
    return motionInfo_ != null;
  }
  /**
   * <code>.MotionInfo motion_info = 4;</code>
   * @return The motionInfo.
   */
  @java.lang.Override
  public io.grasscutter.net.proto.define.MotionInfo getMotionInfo() {
    return motionInfo_ == null ? io.grasscutter.net.proto.define.MotionInfo.getDefaultInstance() : motionInfo_;
  }
  /**
   * <code>.MotionInfo motion_info = 4;</code>
   */
  @java.lang.Override
  public io.grasscutter.net.proto.define.MotionInfoOrBuilder getMotionInfoOrBuilder() {
    return getMotionInfo();
  }

  public static final int ANIMATOR_PARA_LIST_FIELD_NUMBER = 9;
  private java.util.List<io.grasscutter.net.proto.define.AnimatorParameterValueInfoPair> animatorParaList_;
  /**
   * <code>repeated .AnimatorParameterValueInfoPair animator_para_list = 9;</code>
   */
  @java.lang.Override
  public java.util.List<io.grasscutter.net.proto.define.AnimatorParameterValueInfoPair> getAnimatorParaListList() {
    return animatorParaList_;
  }
  /**
   * <code>repeated .AnimatorParameterValueInfoPair animator_para_list = 9;</code>
   */
  @java.lang.Override
  public java.util.List<? extends io.grasscutter.net.proto.define.AnimatorParameterValueInfoPairOrBuilder> 
      getAnimatorParaListOrBuilderList() {
    return animatorParaList_;
  }
  /**
   * <code>repeated .AnimatorParameterValueInfoPair animator_para_list = 9;</code>
   */
  @java.lang.Override
  public int getAnimatorParaListCount() {
    return animatorParaList_.size();
  }
  /**
   * <code>repeated .AnimatorParameterValueInfoPair animator_para_list = 9;</code>
   */
  @java.lang.Override
  public io.grasscutter.net.proto.define.AnimatorParameterValueInfoPair getAnimatorParaList(int index) {
    return animatorParaList_.get(index);
  }
  /**
   * <code>repeated .AnimatorParameterValueInfoPair animator_para_list = 9;</code>
   */
  @java.lang.Override
  public io.grasscutter.net.proto.define.AnimatorParameterValueInfoPairOrBuilder getAnimatorParaListOrBuilder(
      int index) {
    return animatorParaList_.get(index);
  }

  public static final int PROP_LIST_FIELD_NUMBER = 5;
  private java.util.List<io.grasscutter.net.proto.define.PropPair> propList_;
  /**
   * <code>repeated .PropPair prop_list = 5;</code>
   */
  @java.lang.Override
  public java.util.List<io.grasscutter.net.proto.define.PropPair> getPropListList() {
    return propList_;
  }
  /**
   * <code>repeated .PropPair prop_list = 5;</code>
   */
  @java.lang.Override
  public java.util.List<? extends io.grasscutter.net.proto.define.PropPairOrBuilder> 
      getPropListOrBuilderList() {
    return propList_;
  }
  /**
   * <code>repeated .PropPair prop_list = 5;</code>
   */
  @java.lang.Override
  public int getPropListCount() {
    return propList_.size();
  }
  /**
   * <code>repeated .PropPair prop_list = 5;</code>
   */
  @java.lang.Override
  public io.grasscutter.net.proto.define.PropPair getPropList(int index) {
    return propList_.get(index);
  }
  /**
   * <code>repeated .PropPair prop_list = 5;</code>
   */
  @java.lang.Override
  public io.grasscutter.net.proto.define.PropPairOrBuilder getPropListOrBuilder(
      int index) {
    return propList_.get(index);
  }

  public static final int SERVER_BUFF_LIST_FIELD_NUMBER = 23;
  private java.util.List<io.grasscutter.net.proto.define.ServerBuff> serverBuffList_;
  /**
   * <code>repeated .ServerBuff server_buff_list = 23;</code>
   */
  @java.lang.Override
  public java.util.List<io.grasscutter.net.proto.define.ServerBuff> getServerBuffListList() {
    return serverBuffList_;
  }
  /**
   * <code>repeated .ServerBuff server_buff_list = 23;</code>
   */
  @java.lang.Override
  public java.util.List<? extends io.grasscutter.net.proto.define.ServerBuffOrBuilder> 
      getServerBuffListOrBuilderList() {
    return serverBuffList_;
  }
  /**
   * <code>repeated .ServerBuff server_buff_list = 23;</code>
   */
  @java.lang.Override
  public int getServerBuffListCount() {
    return serverBuffList_.size();
  }
  /**
   * <code>repeated .ServerBuff server_buff_list = 23;</code>
   */
  @java.lang.Override
  public io.grasscutter.net.proto.define.ServerBuff getServerBuffList(int index) {
    return serverBuffList_.get(index);
  }
  /**
   * <code>repeated .ServerBuff server_buff_list = 23;</code>
   */
  @java.lang.Override
  public io.grasscutter.net.proto.define.ServerBuffOrBuilder getServerBuffListOrBuilder(
      int index) {
    return serverBuffList_.get(index);
  }

  public static final int NAME_FIELD_NUMBER = 3;
  private volatile java.lang.Object name_;
  /**
   * <code>string name = 3;</code>
   * @return The name.
   */
  @java.lang.Override
  public java.lang.String getName() {
    java.lang.Object ref = name_;
    if (ref instanceof java.lang.String) {
      return (java.lang.String) ref;
    } else {
      com.google.protobuf.ByteString bs = 
          (com.google.protobuf.ByteString) ref;
      java.lang.String s = bs.toStringUtf8();
      name_ = s;
      return s;
    }
  }
  /**
   * <code>string name = 3;</code>
   * @return The bytes for name.
   */
  @java.lang.Override
  public com.google.protobuf.ByteString
      getNameBytes() {
    java.lang.Object ref = name_;
    if (ref instanceof java.lang.String) {
      com.google.protobuf.ByteString b = 
          com.google.protobuf.ByteString.copyFromUtf8(
              (java.lang.String) ref);
      name_ = b;
      return b;
    } else {
      return (com.google.protobuf.ByteString) ref;
    }
  }

  public static final int ENTITY_ENVIRONMENT_INFO_LIST_FIELD_NUMBER = 20;
  private java.util.List<io.grasscutter.net.proto.define.EntityEnvironmentInfo> entityEnvironmentInfoList_;
  /**
   * <code>repeated .EntityEnvironmentInfo entity_environment_info_list = 20;</code>
   */
  @java.lang.Override
  public java.util.List<io.grasscutter.net.proto.define.EntityEnvironmentInfo> getEntityEnvironmentInfoListList() {
    return entityEnvironmentInfoList_;
  }
  /**
   * <code>repeated .EntityEnvironmentInfo entity_environment_info_list = 20;</code>
   */
  @java.lang.Override
  public java.util.List<? extends io.grasscutter.net.proto.define.EntityEnvironmentInfoOrBuilder> 
      getEntityEnvironmentInfoListOrBuilderList() {
    return entityEnvironmentInfoList_;
  }
  /**
   * <code>repeated .EntityEnvironmentInfo entity_environment_info_list = 20;</code>
   */
  @java.lang.Override
  public int getEntityEnvironmentInfoListCount() {
    return entityEnvironmentInfoList_.size();
  }
  /**
   * <code>repeated .EntityEnvironmentInfo entity_environment_info_list = 20;</code>
   */
  @java.lang.Override
  public io.grasscutter.net.proto.define.EntityEnvironmentInfo getEntityEnvironmentInfoList(int index) {
    return entityEnvironmentInfoList_.get(index);
  }
  /**
   * <code>repeated .EntityEnvironmentInfo entity_environment_info_list = 20;</code>
   */
  @java.lang.Override
  public io.grasscutter.net.proto.define.EntityEnvironmentInfoOrBuilder getEntityEnvironmentInfoListOrBuilder(
      int index) {
    return entityEnvironmentInfoList_.get(index);
  }

  public static final int ENTITY_AUTHORITY_INFO_FIELD_NUMBER = 21;
  private io.grasscutter.net.proto.define.EntityAuthorityInfo entityAuthorityInfo_;
  /**
   * <code>.EntityAuthorityInfo entity_authority_info = 21;</code>
   * @return Whether the entityAuthorityInfo field is set.
   */
  @java.lang.Override
  public boolean hasEntityAuthorityInfo() {
    return entityAuthorityInfo_ != null;
  }
  /**
   * <code>.EntityAuthorityInfo entity_authority_info = 21;</code>
   * @return The entityAuthorityInfo.
   */
  @java.lang.Override
  public io.grasscutter.net.proto.define.EntityAuthorityInfo getEntityAuthorityInfo() {
    return entityAuthorityInfo_ == null ? io.grasscutter.net.proto.define.EntityAuthorityInfo.getDefaultInstance() : entityAuthorityInfo_;
  }
  /**
   * <code>.EntityAuthorityInfo entity_authority_info = 21;</code>
   */
  @java.lang.Override
  public io.grasscutter.net.proto.define.EntityAuthorityInfoOrBuilder getEntityAuthorityInfoOrBuilder() {
    return getEntityAuthorityInfo();
  }

  public static final int FIGHT_PROP_LIST_FIELD_NUMBER = 6;
  private java.util.List<io.grasscutter.net.proto.define.FightPropPair> fightPropList_;
  /**
   * <code>repeated .FightPropPair fight_prop_list = 6;</code>
   */
  @java.lang.Override
  public java.util.List<io.grasscutter.net.proto.define.FightPropPair> getFightPropListList() {
    return fightPropList_;
  }
  /**
   * <code>repeated .FightPropPair fight_prop_list = 6;</code>
   */
  @java.lang.Override
  public java.util.List<? extends io.grasscutter.net.proto.define.FightPropPairOrBuilder> 
      getFightPropListOrBuilderList() {
    return fightPropList_;
  }
  /**
   * <code>repeated .FightPropPair fight_prop_list = 6;</code>
   */
  @java.lang.Override
  public int getFightPropListCount() {
    return fightPropList_.size();
  }
  /**
   * <code>repeated .FightPropPair fight_prop_list = 6;</code>
   */
  @java.lang.Override
  public io.grasscutter.net.proto.define.FightPropPair getFightPropList(int index) {
    return fightPropList_.get(index);
  }
  /**
   * <code>repeated .FightPropPair fight_prop_list = 6;</code>
   */
  @java.lang.Override
  public io.grasscutter.net.proto.define.FightPropPairOrBuilder getFightPropListOrBuilder(
      int index) {
    return fightPropList_.get(index);
  }

  public static final int LIFE_STATE_FIELD_NUMBER = 7;
  private int lifeState_;
  /**
   * <code>uint32 life_state = 7;</code>
   * @return The lifeState.
   */
  @java.lang.Override
  public int getLifeState() {
    return lifeState_;
  }

  public static final int LAST_MOVE_SCENE_TIME_MS_FIELD_NUMBER = 17;
  private int lastMoveSceneTimeMs_;
  /**
   * <code>uint32 last_move_scene_time_ms = 17;</code>
   * @return The lastMoveSceneTimeMs.
   */
  @java.lang.Override
  public int getLastMoveSceneTimeMs() {
    return lastMoveSceneTimeMs_;
  }

  public static final int LAST_MOVE_RELIABLE_SEQ_FIELD_NUMBER = 18;
  private int lastMoveReliableSeq_;
  /**
   * <code>uint32 last_move_reliable_seq = 18;</code>
   * @return The lastMoveReliableSeq.
   */
  @java.lang.Override
  public int getLastMoveReliableSeq() {
    return lastMoveReliableSeq_;
  }

  public static final int ENTITY_TYPE_FIELD_NUMBER = 1;
  private int entityType_;
  /**
   * <code>.ProtEntityType entity_type = 1;</code>
   * @return The enum numeric value on the wire for entityType.
   */
  @java.lang.Override public int getEntityTypeValue() {
    return entityType_;
  }
  /**
   * <code>.ProtEntityType entity_type = 1;</code>
   * @return The entityType.
   */
  @java.lang.Override public io.grasscutter.net.proto.define.ProtEntityType getEntityType() {
    @SuppressWarnings("deprecation")
    io.grasscutter.net.proto.define.ProtEntityType result = io.grasscutter.net.proto.define.ProtEntityType.valueOf(entityType_);
    return result == null ? io.grasscutter.net.proto.define.ProtEntityType.UNRECOGNIZED : result;
  }

  public static final int NPC_FIELD_NUMBER = 12;
  /**
   * <code>.SceneNpcInfo npc = 12;</code>
   * @return Whether the npc field is set.
   */
  @java.lang.Override
  public boolean hasNpc() {
    return jKPMLNNECOKCase_ == 12;
  }
  /**
   * <code>.SceneNpcInfo npc = 12;</code>
   * @return The npc.
   */
  @java.lang.Override
  public io.grasscutter.net.proto.define.SceneNpcInfo getNpc() {
    if (jKPMLNNECOKCase_ == 12) {
       return (io.grasscutter.net.proto.define.SceneNpcInfo) jKPMLNNECOK_;
    }
    return io.grasscutter.net.proto.define.SceneNpcInfo.getDefaultInstance();
  }
  /**
   * <code>.SceneNpcInfo npc = 12;</code>
   */
  @java.lang.Override
  public io.grasscutter.net.proto.define.SceneNpcInfoOrBuilder getNpcOrBuilder() {
    if (jKPMLNNECOKCase_ == 12) {
       return (io.grasscutter.net.proto.define.SceneNpcInfo) jKPMLNNECOK_;
    }
    return io.grasscutter.net.proto.define.SceneNpcInfo.getDefaultInstance();
  }

  public static final int GADGET_FIELD_NUMBER = 13;
  /**
   * <code>.SceneGadgetInfo gadget = 13;</code>
   * @return Whether the gadget field is set.
   */
  @java.lang.Override
  public boolean hasGadget() {
    return jKPMLNNECOKCase_ == 13;
  }
  /**
   * <code>.SceneGadgetInfo gadget = 13;</code>
   * @return The gadget.
   */
  @java.lang.Override
  public io.grasscutter.net.proto.define.SceneGadgetInfo getGadget() {
    if (jKPMLNNECOKCase_ == 13) {
       return (io.grasscutter.net.proto.define.SceneGadgetInfo) jKPMLNNECOK_;
    }
    return io.grasscutter.net.proto.define.SceneGadgetInfo.getDefaultInstance();
  }
  /**
   * <code>.SceneGadgetInfo gadget = 13;</code>
   */
  @java.lang.Override
  public io.grasscutter.net.proto.define.SceneGadgetInfoOrBuilder getGadgetOrBuilder() {
    if (jKPMLNNECOKCase_ == 13) {
       return (io.grasscutter.net.proto.define.SceneGadgetInfo) jKPMLNNECOK_;
    }
    return io.grasscutter.net.proto.define.SceneGadgetInfo.getDefaultInstance();
  }

  public static final int MONSTER_FIELD_NUMBER = 11;
  /**
   * <code>.SceneMonsterInfo monster = 11;</code>
   * @return Whether the monster field is set.
   */
  @java.lang.Override
  public boolean hasMonster() {
    return jKPMLNNECOKCase_ == 11;
  }
  /**
   * <code>.SceneMonsterInfo monster = 11;</code>
   * @return The monster.
   */
  @java.lang.Override
  public io.grasscutter.net.proto.define.SceneMonsterInfo getMonster() {
    if (jKPMLNNECOKCase_ == 11) {
       return (io.grasscutter.net.proto.define.SceneMonsterInfo) jKPMLNNECOK_;
    }
    return io.grasscutter.net.proto.define.SceneMonsterInfo.getDefaultInstance();
  }
  /**
   * <code>.SceneMonsterInfo monster = 11;</code>
   */
  @java.lang.Override
  public io.grasscutter.net.proto.define.SceneMonsterInfoOrBuilder getMonsterOrBuilder() {
    if (jKPMLNNECOKCase_ == 11) {
       return (io.grasscutter.net.proto.define.SceneMonsterInfo) jKPMLNNECOK_;
    }
    return io.grasscutter.net.proto.define.SceneMonsterInfo.getDefaultInstance();
  }

  public static final int AVATAR_FIELD_NUMBER = 10;
  /**
   * <code>.NAPNKPIHEBF avatar = 10;</code>
   * @return Whether the avatar field is set.
   */
  @java.lang.Override
  public boolean hasAvatar() {
    return jKPMLNNECOKCase_ == 10;
  }
  /**
   * <code>.NAPNKPIHEBF avatar = 10;</code>
   * @return The avatar.
   */
  @java.lang.Override
  public io.grasscutter.net.proto.define.NAPNKPIHEBF getAvatar() {
    if (jKPMLNNECOKCase_ == 10) {
       return (io.grasscutter.net.proto.define.NAPNKPIHEBF) jKPMLNNECOK_;
    }
    return io.grasscutter.net.proto.define.NAPNKPIHEBF.getDefaultInstance();
  }
  /**
   * <code>.NAPNKPIHEBF avatar = 10;</code>
   */
  @java.lang.Override
  public io.grasscutter.net.proto.define.NAPNKPIHEBFOrBuilder getAvatarOrBuilder() {
    if (jKPMLNNECOKCase_ == 10) {
       return (io.grasscutter.net.proto.define.NAPNKPIHEBF) jKPMLNNECOK_;
    }
    return io.grasscutter.net.proto.define.NAPNKPIHEBF.getDefaultInstance();
  }

  public static final int ENTITY_ID_FIELD_NUMBER = 2;
  private int entityId_;
  /**
   * <code>uint32 entity_id = 2;</code>
   * @return The entityId.
   */
  @java.lang.Override
  public int getEntityId() {
    return entityId_;
  }

  private byte memoizedIsInitialized = -1;
  @java.lang.Override
  public final boolean isInitialized() {
    byte isInitialized = memoizedIsInitialized;
    if (isInitialized == 1) return true;
    if (isInitialized == 0) return false;

    memoizedIsInitialized = 1;
    return true;
  }

  @java.lang.Override
  public void writeTo(com.google.protobuf.CodedOutputStream output)
                      throws java.io.IOException {
    if (entityType_ != io.grasscutter.net.proto.define.ProtEntityType.ProtEntityType_PROT_ENTITY_NONE.getNumber()) {
      output.writeEnum(1, entityType_);
    }
    if (entityId_ != 0) {
      output.writeUInt32(2, entityId_);
    }
    if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(name_)) {
      com.google.protobuf.GeneratedMessageV3.writeString(output, 3, name_);
    }
    if (motionInfo_ != null) {
      output.writeMessage(4, getMotionInfo());
    }
    for (int i = 0; i < propList_.size(); i++) {
      output.writeMessage(5, propList_.get(i));
    }
    for (int i = 0; i < fightPropList_.size(); i++) {
      output.writeMessage(6, fightPropList_.get(i));
    }
    if (lifeState_ != 0) {
      output.writeUInt32(7, lifeState_);
    }
    for (int i = 0; i < animatorParaList_.size(); i++) {
      output.writeMessage(9, animatorParaList_.get(i));
    }
    if (jKPMLNNECOKCase_ == 10) {
      output.writeMessage(10, (io.grasscutter.net.proto.define.NAPNKPIHEBF) jKPMLNNECOK_);
    }
    if (jKPMLNNECOKCase_ == 11) {
      output.writeMessage(11, (io.grasscutter.net.proto.define.SceneMonsterInfo) jKPMLNNECOK_);
    }
    if (jKPMLNNECOKCase_ == 12) {
      output.writeMessage(12, (io.grasscutter.net.proto.define.SceneNpcInfo) jKPMLNNECOK_);
    }
    if (jKPMLNNECOKCase_ == 13) {
      output.writeMessage(13, (io.grasscutter.net.proto.define.SceneGadgetInfo) jKPMLNNECOK_);
    }
    if (lastMoveSceneTimeMs_ != 0) {
      output.writeUInt32(17, lastMoveSceneTimeMs_);
    }
    if (lastMoveReliableSeq_ != 0) {
      output.writeUInt32(18, lastMoveReliableSeq_);
    }
    if (entityClientData_ != null) {
      output.writeMessage(19, getEntityClientData());
    }
    for (int i = 0; i < entityEnvironmentInfoList_.size(); i++) {
      output.writeMessage(20, entityEnvironmentInfoList_.get(i));
    }
    if (entityAuthorityInfo_ != null) {
      output.writeMessage(21, getEntityAuthorityInfo());
    }
    for (int i = 0; i < tagList_.size(); i++) {
      com.google.protobuf.GeneratedMessageV3.writeString(output, 22, tagList_.getRaw(i));
    }
    for (int i = 0; i < serverBuffList_.size(); i++) {
      output.writeMessage(23, serverBuffList_.get(i));
    }
    unknownFields.writeTo(output);
  }

  @java.lang.Override
  public int getSerializedSize() {
    int size = memoizedSize;
    if (size != -1) return size;

    size = 0;
    if (entityType_ != io.grasscutter.net.proto.define.ProtEntityType.ProtEntityType_PROT_ENTITY_NONE.getNumber()) {
      size += com.google.protobuf.CodedOutputStream
        .computeEnumSize(1, entityType_);
    }
    if (entityId_ != 0) {
      size += com.google.protobuf.CodedOutputStream
        .computeUInt32Size(2, entityId_);
    }
    if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(name_)) {
      size += com.google.protobuf.GeneratedMessageV3.computeStringSize(3, name_);
    }
    if (motionInfo_ != null) {
      size += com.google.protobuf.CodedOutputStream
        .computeMessageSize(4, getMotionInfo());
    }
    for (int i = 0; i < propList_.size(); i++) {
      size += com.google.protobuf.CodedOutputStream
        .computeMessageSize(5, propList_.get(i));
    }
    for (int i = 0; i < fightPropList_.size(); i++) {
      size += com.google.protobuf.CodedOutputStream
        .computeMessageSize(6, fightPropList_.get(i));
    }
    if (lifeState_ != 0) {
      size += com.google.protobuf.CodedOutputStream
        .computeUInt32Size(7, lifeState_);
    }
    for (int i = 0; i < animatorParaList_.size(); i++) {
      size += com.google.protobuf.CodedOutputStream
        .computeMessageSize(9, animatorParaList_.get(i));
    }
    if (jKPMLNNECOKCase_ == 10) {
      size += com.google.protobuf.CodedOutputStream
        .computeMessageSize(10, (io.grasscutter.net.proto.define.NAPNKPIHEBF) jKPMLNNECOK_);
    }
    if (jKPMLNNECOKCase_ == 11) {
      size += com.google.protobuf.CodedOutputStream
        .computeMessageSize(11, (io.grasscutter.net.proto.define.SceneMonsterInfo) jKPMLNNECOK_);
    }
    if (jKPMLNNECOKCase_ == 12) {
      size += com.google.protobuf.CodedOutputStream
        .computeMessageSize(12, (io.grasscutter.net.proto.define.SceneNpcInfo) jKPMLNNECOK_);
    }
    if (jKPMLNNECOKCase_ == 13) {
      size += com.google.protobuf.CodedOutputStream
        .computeMessageSize(13, (io.grasscutter.net.proto.define.SceneGadgetInfo) jKPMLNNECOK_);
    }
    if (lastMoveSceneTimeMs_ != 0) {
      size += com.google.protobuf.CodedOutputStream
        .computeUInt32Size(17, lastMoveSceneTimeMs_);
    }
    if (lastMoveReliableSeq_ != 0) {
      size += com.google.protobuf.CodedOutputStream
        .computeUInt32Size(18, lastMoveReliableSeq_);
    }
    if (entityClientData_ != null) {
      size += com.google.protobuf.CodedOutputStream
        .computeMessageSize(19, getEntityClientData());
    }
    for (int i = 0; i < entityEnvironmentInfoList_.size(); i++) {
      size += com.google.protobuf.CodedOutputStream
        .computeMessageSize(20, entityEnvironmentInfoList_.get(i));
    }
    if (entityAuthorityInfo_ != null) {
      size += com.google.protobuf.CodedOutputStream
        .computeMessageSize(21, getEntityAuthorityInfo());
    }
    {
      int dataSize = 0;
      for (int i = 0; i < tagList_.size(); i++) {
        dataSize += computeStringSizeNoTag(tagList_.getRaw(i));
      }
      size += dataSize;
      size += 2 * getTagListList().size();
    }
    for (int i = 0; i < serverBuffList_.size(); i++) {
      size += com.google.protobuf.CodedOutputStream
        .computeMessageSize(23, serverBuffList_.get(i));
    }
    size += unknownFields.getSerializedSize();
    memoizedSize = size;
    return size;
  }

  @java.lang.Override
  public boolean equals(final java.lang.Object obj) {
    if (obj == this) {
     return true;
    }
    if (!(obj instanceof io.grasscutter.net.proto.define.SceneEntityInfo)) {
      return super.equals(obj);
    }
    io.grasscutter.net.proto.define.SceneEntityInfo other = (io.grasscutter.net.proto.define.SceneEntityInfo) obj;

    if (hasEntityClientData() != other.hasEntityClientData()) return false;
    if (hasEntityClientData()) {
      if (!getEntityClientData()
          .equals(other.getEntityClientData())) return false;
    }
    if (!getTagListList()
        .equals(other.getTagListList())) return false;
    if (hasMotionInfo() != other.hasMotionInfo()) return false;
    if (hasMotionInfo()) {
      if (!getMotionInfo()
          .equals(other.getMotionInfo())) return false;
    }
    if (!getAnimatorParaListList()
        .equals(other.getAnimatorParaListList())) return false;
    if (!getPropListList()
        .equals(other.getPropListList())) return false;
    if (!getServerBuffListList()
        .equals(other.getServerBuffListList())) return false;
    if (!getName()
        .equals(other.getName())) return false;
    if (!getEntityEnvironmentInfoListList()
        .equals(other.getEntityEnvironmentInfoListList())) return false;
    if (hasEntityAuthorityInfo() != other.hasEntityAuthorityInfo()) return false;
    if (hasEntityAuthorityInfo()) {
      if (!getEntityAuthorityInfo()
          .equals(other.getEntityAuthorityInfo())) return false;
    }
    if (!getFightPropListList()
        .equals(other.getFightPropListList())) return false;
    if (getLifeState()
        != other.getLifeState()) return false;
    if (getLastMoveSceneTimeMs()
        != other.getLastMoveSceneTimeMs()) return false;
    if (getLastMoveReliableSeq()
        != other.getLastMoveReliableSeq()) return false;
    if (entityType_ != other.entityType_) return false;
    if (getEntityId()
        != other.getEntityId()) return false;
    if (!getJKPMLNNECOKCase().equals(other.getJKPMLNNECOKCase())) return false;
    switch (jKPMLNNECOKCase_) {
      case 12:
        if (!getNpc()
            .equals(other.getNpc())) return false;
        break;
      case 13:
        if (!getGadget()
            .equals(other.getGadget())) return false;
        break;
      case 11:
        if (!getMonster()
            .equals(other.getMonster())) return false;
        break;
      case 10:
        if (!getAvatar()
            .equals(other.getAvatar())) return false;
        break;
      case 0:
      default:
    }
    if (!unknownFields.equals(other.unknownFields)) return false;
    return true;
  }

  @java.lang.Override
  public int hashCode() {
    if (memoizedHashCode != 0) {
      return memoizedHashCode;
    }
    int hash = 41;
    hash = (19 * hash) + getDescriptor().hashCode();
    if (hasEntityClientData()) {
      hash = (37 * hash) + ENTITY_CLIENT_DATA_FIELD_NUMBER;
      hash = (53 * hash) + getEntityClientData().hashCode();
    }
    if (getTagListCount() > 0) {
      hash = (37 * hash) + TAG_LIST_FIELD_NUMBER;
      hash = (53 * hash) + getTagListList().hashCode();
    }
    if (hasMotionInfo()) {
      hash = (37 * hash) + MOTION_INFO_FIELD_NUMBER;
      hash = (53 * hash) + getMotionInfo().hashCode();
    }
    if (getAnimatorParaListCount() > 0) {
      hash = (37 * hash) + ANIMATOR_PARA_LIST_FIELD_NUMBER;
      hash = (53 * hash) + getAnimatorParaListList().hashCode();
    }
    if (getPropListCount() > 0) {
      hash = (37 * hash) + PROP_LIST_FIELD_NUMBER;
      hash = (53 * hash) + getPropListList().hashCode();
    }
    if (getServerBuffListCount() > 0) {
      hash = (37 * hash) + SERVER_BUFF_LIST_FIELD_NUMBER;
      hash = (53 * hash) + getServerBuffListList().hashCode();
    }
    hash = (37 * hash) + NAME_FIELD_NUMBER;
    hash = (53 * hash) + getName().hashCode();
    if (getEntityEnvironmentInfoListCount() > 0) {
      hash = (37 * hash) + ENTITY_ENVIRONMENT_INFO_LIST_FIELD_NUMBER;
      hash = (53 * hash) + getEntityEnvironmentInfoListList().hashCode();
    }
    if (hasEntityAuthorityInfo()) {
      hash = (37 * hash) + ENTITY_AUTHORITY_INFO_FIELD_NUMBER;
      hash = (53 * hash) + getEntityAuthorityInfo().hashCode();
    }
    if (getFightPropListCount() > 0) {
      hash = (37 * hash) + FIGHT_PROP_LIST_FIELD_NUMBER;
      hash = (53 * hash) + getFightPropListList().hashCode();
    }
    hash = (37 * hash) + LIFE_STATE_FIELD_NUMBER;
    hash = (53 * hash) + getLifeState();
    hash = (37 * hash) + LAST_MOVE_SCENE_TIME_MS_FIELD_NUMBER;
    hash = (53 * hash) + getLastMoveSceneTimeMs();
    hash = (37 * hash) + LAST_MOVE_RELIABLE_SEQ_FIELD_NUMBER;
    hash = (53 * hash) + getLastMoveReliableSeq();
    hash = (37 * hash) + ENTITY_TYPE_FIELD_NUMBER;
    hash = (53 * hash) + entityType_;
    hash = (37 * hash) + ENTITY_ID_FIELD_NUMBER;
    hash = (53 * hash) + getEntityId();
    switch (jKPMLNNECOKCase_) {
      case 12:
        hash = (37 * hash) + NPC_FIELD_NUMBER;
        hash = (53 * hash) + getNpc().hashCode();
        break;
      case 13:
        hash = (37 * hash) + GADGET_FIELD_NUMBER;
        hash = (53 * hash) + getGadget().hashCode();
        break;
      case 11:
        hash = (37 * hash) + MONSTER_FIELD_NUMBER;
        hash = (53 * hash) + getMonster().hashCode();
        break;
      case 10:
        hash = (37 * hash) + AVATAR_FIELD_NUMBER;
        hash = (53 * hash) + getAvatar().hashCode();
        break;
      case 0:
      default:
    }
    hash = (29 * hash) + unknownFields.hashCode();
    memoizedHashCode = hash;
    return hash;
  }

  public static io.grasscutter.net.proto.define.SceneEntityInfo parseFrom(
      java.nio.ByteBuffer data)
      throws com.google.protobuf.InvalidProtocolBufferException {
    return PARSER.parseFrom(data);
  }
  public static io.grasscutter.net.proto.define.SceneEntityInfo parseFrom(
      java.nio.ByteBuffer data,
      com.google.protobuf.ExtensionRegistryLite extensionRegistry)
      throws com.google.protobuf.InvalidProtocolBufferException {
    return PARSER.parseFrom(data, extensionRegistry);
  }
  public static io.grasscutter.net.proto.define.SceneEntityInfo parseFrom(
      com.google.protobuf.ByteString data)
      throws com.google.protobuf.InvalidProtocolBufferException {
    return PARSER.parseFrom(data);
  }
  public static io.grasscutter.net.proto.define.SceneEntityInfo parseFrom(
      com.google.protobuf.ByteString data,
      com.google.protobuf.ExtensionRegistryLite extensionRegistry)
      throws com.google.protobuf.InvalidProtocolBufferException {
    return PARSER.parseFrom(data, extensionRegistry);
  }
  public static io.grasscutter.net.proto.define.SceneEntityInfo parseFrom(byte[] data)
      throws com.google.protobuf.InvalidProtocolBufferException {
    return PARSER.parseFrom(data);
  }
  public static io.grasscutter.net.proto.define.SceneEntityInfo parseFrom(
      byte[] data,
      com.google.protobuf.ExtensionRegistryLite extensionRegistry)
      throws com.google.protobuf.InvalidProtocolBufferException {
    return PARSER.parseFrom(data, extensionRegistry);
  }
  public static io.grasscutter.net.proto.define.SceneEntityInfo parseFrom(java.io.InputStream input)
      throws java.io.IOException {
    return com.google.protobuf.GeneratedMessageV3
        .parseWithIOException(PARSER, input);
  }
  public static io.grasscutter.net.proto.define.SceneEntityInfo parseFrom(
      java.io.InputStream input,
      com.google.protobuf.ExtensionRegistryLite extensionRegistry)
      throws java.io.IOException {
    return com.google.protobuf.GeneratedMessageV3
        .parseWithIOException(PARSER, input, extensionRegistry);
  }
  public static io.grasscutter.net.proto.define.SceneEntityInfo parseDelimitedFrom(java.io.InputStream input)
      throws java.io.IOException {
    return com.google.protobuf.GeneratedMessageV3
        .parseDelimitedWithIOException(PARSER, input);
  }
  public static io.grasscutter.net.proto.define.SceneEntityInfo parseDelimitedFrom(
      java.io.InputStream input,
      com.google.protobuf.ExtensionRegistryLite extensionRegistry)
      throws java.io.IOException {
    return com.google.protobuf.GeneratedMessageV3
        .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
  }
  public static io.grasscutter.net.proto.define.SceneEntityInfo parseFrom(
      com.google.protobuf.CodedInputStream input)
      throws java.io.IOException {
    return com.google.protobuf.GeneratedMessageV3
        .parseWithIOException(PARSER, input);
  }
  public static io.grasscutter.net.proto.define.SceneEntityInfo parseFrom(
      com.google.protobuf.CodedInputStream input,
      com.google.protobuf.ExtensionRegistryLite extensionRegistry)
      throws java.io.IOException {
    return com.google.protobuf.GeneratedMessageV3
        .parseWithIOException(PARSER, input, extensionRegistry);
  }

  @java.lang.Override
  public Builder newBuilderForType() { return newBuilder(); }
  public static Builder newBuilder() {
    return DEFAULT_INSTANCE.toBuilder();
  }
  public static Builder newBuilder(io.grasscutter.net.proto.define.SceneEntityInfo prototype) {
    return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
  }
  @java.lang.Override
  public Builder toBuilder() {
    return this == DEFAULT_INSTANCE
        ? new Builder() : new Builder().mergeFrom(this);
  }

  @java.lang.Override
  protected Builder newBuilderForType(
      com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
    Builder builder = new Builder(parent);
    return builder;
  }
  /**
   * Protobuf type {@code SceneEntityInfo}
   */
  public static final class Builder extends
      com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
      // @@protoc_insertion_point(builder_implements:SceneEntityInfo)
      io.grasscutter.net.proto.define.SceneEntityInfoOrBuilder {
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return io.grasscutter.net.proto.define.Define.internal_static_SceneEntityInfo_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return io.grasscutter.net.proto.define.Define.internal_static_SceneEntityInfo_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              io.grasscutter.net.proto.define.SceneEntityInfo.class, io.grasscutter.net.proto.define.SceneEntityInfo.Builder.class);
    }

    // Construct using io.grasscutter.net.proto.define.SceneEntityInfo.newBuilder()
    private Builder() {
      maybeForceBuilderInitialization();
    }

    private Builder(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      super(parent);
      maybeForceBuilderInitialization();
    }
    private void maybeForceBuilderInitialization() {
      if (com.google.protobuf.GeneratedMessageV3
              .alwaysUseFieldBuilders) {
        getAnimatorParaListFieldBuilder();
        getPropListFieldBuilder();
        getServerBuffListFieldBuilder();
        getEntityEnvironmentInfoListFieldBuilder();
        getFightPropListFieldBuilder();
      }
    }
    @java.lang.Override
    public Builder clear() {
      super.clear();
      if (entityClientDataBuilder_ == null) {
        entityClientData_ = null;
      } else {
        entityClientData_ = null;
        entityClientDataBuilder_ = null;
      }
      tagList_ = com.google.protobuf.LazyStringArrayList.EMPTY;
      bitField0_ = (bitField0_ & ~0x00000001);
      if (motionInfoBuilder_ == null) {
        motionInfo_ = null;
      } else {
        motionInfo_ = null;
        motionInfoBuilder_ = null;
      }
      if (animatorParaListBuilder_ == null) {
        animatorParaList_ = java.util.Collections.emptyList();
        bitField0_ = (bitField0_ & ~0x00000002);
      } else {
        animatorParaListBuilder_.clear();
      }
      if (propListBuilder_ == null) {
        propList_ = java.util.Collections.emptyList();
        bitField0_ = (bitField0_ & ~0x00000004);
      } else {
        propListBuilder_.clear();
      }
      if (serverBuffListBuilder_ == null) {
        serverBuffList_ = java.util.Collections.emptyList();
        bitField0_ = (bitField0_ & ~0x00000008);
      } else {
        serverBuffListBuilder_.clear();
      }
      name_ = "";

      if (entityEnvironmentInfoListBuilder_ == null) {
        entityEnvironmentInfoList_ = java.util.Collections.emptyList();
        bitField0_ = (bitField0_ & ~0x00000010);
      } else {
        entityEnvironmentInfoListBuilder_.clear();
      }
      if (entityAuthorityInfoBuilder_ == null) {
        entityAuthorityInfo_ = null;
      } else {
        entityAuthorityInfo_ = null;
        entityAuthorityInfoBuilder_ = null;
      }
      if (fightPropListBuilder_ == null) {
        fightPropList_ = java.util.Collections.emptyList();
        bitField0_ = (bitField0_ & ~0x00000020);
      } else {
        fightPropListBuilder_.clear();
      }
      lifeState_ = 0;

      lastMoveSceneTimeMs_ = 0;

      lastMoveReliableSeq_ = 0;

      entityType_ = 0;

      entityId_ = 0;

      jKPMLNNECOKCase_ = 0;
      jKPMLNNECOK_ = null;
      return this;
    }

    @java.lang.Override
    public com.google.protobuf.Descriptors.Descriptor
        getDescriptorForType() {
      return io.grasscutter.net.proto.define.Define.internal_static_SceneEntityInfo_descriptor;
    }

    @java.lang.Override
    public io.grasscutter.net.proto.define.SceneEntityInfo getDefaultInstanceForType() {
      return io.grasscutter.net.proto.define.SceneEntityInfo.getDefaultInstance();
    }

    @java.lang.Override
    public io.grasscutter.net.proto.define.SceneEntityInfo build() {
      io.grasscutter.net.proto.define.SceneEntityInfo result = buildPartial();
      if (!result.isInitialized()) {
        throw newUninitializedMessageException(result);
      }
      return result;
    }

    @java.lang.Override
    public io.grasscutter.net.proto.define.SceneEntityInfo buildPartial() {
      io.grasscutter.net.proto.define.SceneEntityInfo result = new io.grasscutter.net.proto.define.SceneEntityInfo(this);
      int from_bitField0_ = bitField0_;
      if (entityClientDataBuilder_ == null) {
        result.entityClientData_ = entityClientData_;
      } else {
        result.entityClientData_ = entityClientDataBuilder_.build();
      }
      if (((bitField0_ & 0x00000001) != 0)) {
        tagList_ = tagList_.getUnmodifiableView();
        bitField0_ = (bitField0_ & ~0x00000001);
      }
      result.tagList_ = tagList_;
      if (motionInfoBuilder_ == null) {
        result.motionInfo_ = motionInfo_;
      } else {
        result.motionInfo_ = motionInfoBuilder_.build();
      }
      if (animatorParaListBuilder_ == null) {
        if (((bitField0_ & 0x00000002) != 0)) {
          animatorParaList_ = java.util.Collections.unmodifiableList(animatorParaList_);
          bitField0_ = (bitField0_ & ~0x00000002);
        }
        result.animatorParaList_ = animatorParaList_;
      } else {
        result.animatorParaList_ = animatorParaListBuilder_.build();
      }
      if (propListBuilder_ == null) {
        if (((bitField0_ & 0x00000004) != 0)) {
          propList_ = java.util.Collections.unmodifiableList(propList_);
          bitField0_ = (bitField0_ & ~0x00000004);
        }
        result.propList_ = propList_;
      } else {
        result.propList_ = propListBuilder_.build();
      }
      if (serverBuffListBuilder_ == null) {
        if (((bitField0_ & 0x00000008) != 0)) {
          serverBuffList_ = java.util.Collections.unmodifiableList(serverBuffList_);
          bitField0_ = (bitField0_ & ~0x00000008);
        }
        result.serverBuffList_ = serverBuffList_;
      } else {
        result.serverBuffList_ = serverBuffListBuilder_.build();
      }
      result.name_ = name_;
      if (entityEnvironmentInfoListBuilder_ == null) {
        if (((bitField0_ & 0x00000010) != 0)) {
          entityEnvironmentInfoList_ = java.util.Collections.unmodifiableList(entityEnvironmentInfoList_);
          bitField0_ = (bitField0_ & ~0x00000010);
        }
        result.entityEnvironmentInfoList_ = entityEnvironmentInfoList_;
      } else {
        result.entityEnvironmentInfoList_ = entityEnvironmentInfoListBuilder_.build();
      }
      if (entityAuthorityInfoBuilder_ == null) {
        result.entityAuthorityInfo_ = entityAuthorityInfo_;
      } else {
        result.entityAuthorityInfo_ = entityAuthorityInfoBuilder_.build();
      }
      if (fightPropListBuilder_ == null) {
        if (((bitField0_ & 0x00000020) != 0)) {
          fightPropList_ = java.util.Collections.unmodifiableList(fightPropList_);
          bitField0_ = (bitField0_ & ~0x00000020);
        }
        result.fightPropList_ = fightPropList_;
      } else {
        result.fightPropList_ = fightPropListBuilder_.build();
      }
      result.lifeState_ = lifeState_;
      result.lastMoveSceneTimeMs_ = lastMoveSceneTimeMs_;
      result.lastMoveReliableSeq_ = lastMoveReliableSeq_;
      result.entityType_ = entityType_;
      if (jKPMLNNECOKCase_ == 12) {
        if (npcBuilder_ == null) {
          result.jKPMLNNECOK_ = jKPMLNNECOK_;
        } else {
          result.jKPMLNNECOK_ = npcBuilder_.build();
        }
      }
      if (jKPMLNNECOKCase_ == 13) {
        if (gadgetBuilder_ == null) {
          result.jKPMLNNECOK_ = jKPMLNNECOK_;
        } else {
          result.jKPMLNNECOK_ = gadgetBuilder_.build();
        }
      }
      if (jKPMLNNECOKCase_ == 11) {
        if (monsterBuilder_ == null) {
          result.jKPMLNNECOK_ = jKPMLNNECOK_;
        } else {
          result.jKPMLNNECOK_ = monsterBuilder_.build();
        }
      }
      if (jKPMLNNECOKCase_ == 10) {
        if (avatarBuilder_ == null) {
          result.jKPMLNNECOK_ = jKPMLNNECOK_;
        } else {
          result.jKPMLNNECOK_ = avatarBuilder_.build();
        }
      }
      result.entityId_ = entityId_;
      result.jKPMLNNECOKCase_ = jKPMLNNECOKCase_;
      onBuilt();
      return result;
    }

    @java.lang.Override
    public Builder clone() {
      return super.clone();
    }
    @java.lang.Override
    public Builder setField(
        com.google.protobuf.Descriptors.FieldDescriptor field,
        java.lang.Object value) {
      return super.setField(field, value);
    }
    @java.lang.Override
    public Builder clearField(
        com.google.protobuf.Descriptors.FieldDescriptor field) {
      return super.clearField(field);
    }
    @java.lang.Override
    public Builder clearOneof(
        com.google.protobuf.Descriptors.OneofDescriptor oneof) {
      return super.clearOneof(oneof);
    }
    @java.lang.Override
    public Builder setRepeatedField(
        com.google.protobuf.Descriptors.FieldDescriptor field,
        int index, java.lang.Object value) {
      return super.setRepeatedField(field, index, value);
    }
    @java.lang.Override
    public Builder addRepeatedField(
        com.google.protobuf.Descriptors.FieldDescriptor field,
        java.lang.Object value) {
      return super.addRepeatedField(field, value);
    }
    @java.lang.Override
    public Builder mergeFrom(com.google.protobuf.Message other) {
      if (other instanceof io.grasscutter.net.proto.define.SceneEntityInfo) {
        return mergeFrom((io.grasscutter.net.proto.define.SceneEntityInfo)other);
      } else {
        super.mergeFrom(other);
        return this;
      }
    }

    public Builder mergeFrom(io.grasscutter.net.proto.define.SceneEntityInfo other) {
      if (other == io.grasscutter.net.proto.define.SceneEntityInfo.getDefaultInstance()) return this;
      if (other.hasEntityClientData()) {
        mergeEntityClientData(other.getEntityClientData());
      }
      if (!other.tagList_.isEmpty()) {
        if (tagList_.isEmpty()) {
          tagList_ = other.tagList_;
          bitField0_ = (bitField0_ & ~0x00000001);
        } else {
          ensureTagListIsMutable();
          tagList_.addAll(other.tagList_);
        }
        onChanged();
      }
      if (other.hasMotionInfo()) {
        mergeMotionInfo(other.getMotionInfo());
      }
      if (animatorParaListBuilder_ == null) {
        if (!other.animatorParaList_.isEmpty()) {
          if (animatorParaList_.isEmpty()) {
            animatorParaList_ = other.animatorParaList_;
            bitField0_ = (bitField0_ & ~0x00000002);
          } else {
            ensureAnimatorParaListIsMutable();
            animatorParaList_.addAll(other.animatorParaList_);
          }
          onChanged();
        }
      } else {
        if (!other.animatorParaList_.isEmpty()) {
          if (animatorParaListBuilder_.isEmpty()) {
            animatorParaListBuilder_.dispose();
            animatorParaListBuilder_ = null;
            animatorParaList_ = other.animatorParaList_;
            bitField0_ = (bitField0_ & ~0x00000002);
            animatorParaListBuilder_ = 
              com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
                 getAnimatorParaListFieldBuilder() : null;
          } else {
            animatorParaListBuilder_.addAllMessages(other.animatorParaList_);
          }
        }
      }
      if (propListBuilder_ == null) {
        if (!other.propList_.isEmpty()) {
          if (propList_.isEmpty()) {
            propList_ = other.propList_;
            bitField0_ = (bitField0_ & ~0x00000004);
          } else {
            ensurePropListIsMutable();
            propList_.addAll(other.propList_);
          }
          onChanged();
        }
      } else {
        if (!other.propList_.isEmpty()) {
          if (propListBuilder_.isEmpty()) {
            propListBuilder_.dispose();
            propListBuilder_ = null;
            propList_ = other.propList_;
            bitField0_ = (bitField0_ & ~0x00000004);
            propListBuilder_ = 
              com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
                 getPropListFieldBuilder() : null;
          } else {
            propListBuilder_.addAllMessages(other.propList_);
          }
        }
      }
      if (serverBuffListBuilder_ == null) {
        if (!other.serverBuffList_.isEmpty()) {
          if (serverBuffList_.isEmpty()) {
            serverBuffList_ = other.serverBuffList_;
            bitField0_ = (bitField0_ & ~0x00000008);
          } else {
            ensureServerBuffListIsMutable();
            serverBuffList_.addAll(other.serverBuffList_);
          }
          onChanged();
        }
      } else {
        if (!other.serverBuffList_.isEmpty()) {
          if (serverBuffListBuilder_.isEmpty()) {
            serverBuffListBuilder_.dispose();
            serverBuffListBuilder_ = null;
            serverBuffList_ = other.serverBuffList_;
            bitField0_ = (bitField0_ & ~0x00000008);
            serverBuffListBuilder_ = 
              com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
                 getServerBuffListFieldBuilder() : null;
          } else {
            serverBuffListBuilder_.addAllMessages(other.serverBuffList_);
          }
        }
      }
      if (!other.getName().isEmpty()) {
        name_ = other.name_;
        onChanged();
      }
      if (entityEnvironmentInfoListBuilder_ == null) {
        if (!other.entityEnvironmentInfoList_.isEmpty()) {
          if (entityEnvironmentInfoList_.isEmpty()) {
            entityEnvironmentInfoList_ = other.entityEnvironmentInfoList_;
            bitField0_ = (bitField0_ & ~0x00000010);
          } else {
            ensureEntityEnvironmentInfoListIsMutable();
            entityEnvironmentInfoList_.addAll(other.entityEnvironmentInfoList_);
          }
          onChanged();
        }
      } else {
        if (!other.entityEnvironmentInfoList_.isEmpty()) {
          if (entityEnvironmentInfoListBuilder_.isEmpty()) {
            entityEnvironmentInfoListBuilder_.dispose();
            entityEnvironmentInfoListBuilder_ = null;
            entityEnvironmentInfoList_ = other.entityEnvironmentInfoList_;
            bitField0_ = (bitField0_ & ~0x00000010);
            entityEnvironmentInfoListBuilder_ = 
              com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
                 getEntityEnvironmentInfoListFieldBuilder() : null;
          } else {
            entityEnvironmentInfoListBuilder_.addAllMessages(other.entityEnvironmentInfoList_);
          }
        }
      }
      if (other.hasEntityAuthorityInfo()) {
        mergeEntityAuthorityInfo(other.getEntityAuthorityInfo());
      }
      if (fightPropListBuilder_ == null) {
        if (!other.fightPropList_.isEmpty()) {
          if (fightPropList_.isEmpty()) {
            fightPropList_ = other.fightPropList_;
            bitField0_ = (bitField0_ & ~0x00000020);
          } else {
            ensureFightPropListIsMutable();
            fightPropList_.addAll(other.fightPropList_);
          }
          onChanged();
        }
      } else {
        if (!other.fightPropList_.isEmpty()) {
          if (fightPropListBuilder_.isEmpty()) {
            fightPropListBuilder_.dispose();
            fightPropListBuilder_ = null;
            fightPropList_ = other.fightPropList_;
            bitField0_ = (bitField0_ & ~0x00000020);
            fightPropListBuilder_ = 
              com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
                 getFightPropListFieldBuilder() : null;
          } else {
            fightPropListBuilder_.addAllMessages(other.fightPropList_);
          }
        }
      }
      if (other.getLifeState() != 0) {
        setLifeState(other.getLifeState());
      }
      if (other.getLastMoveSceneTimeMs() != 0) {
        setLastMoveSceneTimeMs(other.getLastMoveSceneTimeMs());
      }
      if (other.getLastMoveReliableSeq() != 0) {
        setLastMoveReliableSeq(other.getLastMoveReliableSeq());
      }
      if (other.entityType_ != 0) {
        setEntityTypeValue(other.getEntityTypeValue());
      }
      if (other.getEntityId() != 0) {
        setEntityId(other.getEntityId());
      }
      switch (other.getJKPMLNNECOKCase()) {
        case NPC: {
          mergeNpc(other.getNpc());
          break;
        }
        case GADGET: {
          mergeGadget(other.getGadget());
          break;
        }
        case MONSTER: {
          mergeMonster(other.getMonster());
          break;
        }
        case AVATAR: {
          mergeAvatar(other.getAvatar());
          break;
        }
        case JKPMLNNECOK_NOT_SET: {
          break;
        }
      }
      this.mergeUnknownFields(other.unknownFields);
      onChanged();
      return this;
    }

    @java.lang.Override
    public final boolean isInitialized() {
      return true;
    }

    @java.lang.Override
    public Builder mergeFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      io.grasscutter.net.proto.define.SceneEntityInfo parsedMessage = null;
      try {
        parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        parsedMessage = (io.grasscutter.net.proto.define.SceneEntityInfo) e.getUnfinishedMessage();
        throw e.unwrapIOException();
      } finally {
        if (parsedMessage != null) {
          mergeFrom(parsedMessage);
        }
      }
      return this;
    }
    private int jKPMLNNECOKCase_ = 0;
    private java.lang.Object jKPMLNNECOK_;
    public JKPMLNNECOKCase
        getJKPMLNNECOKCase() {
      return JKPMLNNECOKCase.forNumber(
          jKPMLNNECOKCase_);
    }

    public Builder clearJKPMLNNECOK() {
      jKPMLNNECOKCase_ = 0;
      jKPMLNNECOK_ = null;
      onChanged();
      return this;
    }

    private int bitField0_;

    private io.grasscutter.net.proto.define.EntityClientData entityClientData_;
    private com.google.protobuf.SingleFieldBuilderV3<
        io.grasscutter.net.proto.define.EntityClientData, io.grasscutter.net.proto.define.EntityClientData.Builder, io.grasscutter.net.proto.define.EntityClientDataOrBuilder> entityClientDataBuilder_;
    /**
     * <code>.EntityClientData entity_client_data = 19;</code>
     * @return Whether the entityClientData field is set.
     */
    public boolean hasEntityClientData() {
      return entityClientDataBuilder_ != null || entityClientData_ != null;
    }
    /**
     * <code>.EntityClientData entity_client_data = 19;</code>
     * @return The entityClientData.
     */
    public io.grasscutter.net.proto.define.EntityClientData getEntityClientData() {
      if (entityClientDataBuilder_ == null) {
        return entityClientData_ == null ? io.grasscutter.net.proto.define.EntityClientData.getDefaultInstance() : entityClientData_;
      } else {
        return entityClientDataBuilder_.getMessage();
      }
    }
    /**
     * <code>.EntityClientData entity_client_data = 19;</code>
     */
    public Builder setEntityClientData(io.grasscutter.net.proto.define.EntityClientData value) {
      if (entityClientDataBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        entityClientData_ = value;
        onChanged();
      } else {
        entityClientDataBuilder_.setMessage(value);
      }

      return this;
    }
    /**
     * <code>.EntityClientData entity_client_data = 19;</code>
     */
    public Builder setEntityClientData(
        io.grasscutter.net.proto.define.EntityClientData.Builder builderForValue) {
      if (entityClientDataBuilder_ == null) {
        entityClientData_ = builderForValue.build();
        onChanged();
      } else {
        entityClientDataBuilder_.setMessage(builderForValue.build());
      }

      return this;
    }
    /**
     * <code>.EntityClientData entity_client_data = 19;</code>
     */
    public Builder mergeEntityClientData(io.grasscutter.net.proto.define.EntityClientData value) {
      if (entityClientDataBuilder_ == null) {
        if (entityClientData_ != null) {
          entityClientData_ =
            io.grasscutter.net.proto.define.EntityClientData.newBuilder(entityClientData_).mergeFrom(value).buildPartial();
        } else {
          entityClientData_ = value;
        }
        onChanged();
      } else {
        entityClientDataBuilder_.mergeFrom(value);
      }

      return this;
    }
    /**
     * <code>.EntityClientData entity_client_data = 19;</code>
     */
    public Builder clearEntityClientData() {
      if (entityClientDataBuilder_ == null) {
        entityClientData_ = null;
        onChanged();
      } else {
        entityClientData_ = null;
        entityClientDataBuilder_ = null;
      }

      return this;
    }
    /**
     * <code>.EntityClientData entity_client_data = 19;</code>
     */
    public io.grasscutter.net.proto.define.EntityClientData.Builder getEntityClientDataBuilder() {
      
      onChanged();
      return getEntityClientDataFieldBuilder().getBuilder();
    }
    /**
     * <code>.EntityClientData entity_client_data = 19;</code>
     */
    public io.grasscutter.net.proto.define.EntityClientDataOrBuilder getEntityClientDataOrBuilder() {
      if (entityClientDataBuilder_ != null) {
        return entityClientDataBuilder_.getMessageOrBuilder();
      } else {
        return entityClientData_ == null ?
            io.grasscutter.net.proto.define.EntityClientData.getDefaultInstance() : entityClientData_;
      }
    }
    /**
     * <code>.EntityClientData entity_client_data = 19;</code>
     */
    private com.google.protobuf.SingleFieldBuilderV3<
        io.grasscutter.net.proto.define.EntityClientData, io.grasscutter.net.proto.define.EntityClientData.Builder, io.grasscutter.net.proto.define.EntityClientDataOrBuilder> 
        getEntityClientDataFieldBuilder() {
      if (entityClientDataBuilder_ == null) {
        entityClientDataBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
            io.grasscutter.net.proto.define.EntityClientData, io.grasscutter.net.proto.define.EntityClientData.Builder, io.grasscutter.net.proto.define.EntityClientDataOrBuilder>(
                getEntityClientData(),
                getParentForChildren(),
                isClean());
        entityClientData_ = null;
      }
      return entityClientDataBuilder_;
    }

    private com.google.protobuf.LazyStringList tagList_ = com.google.protobuf.LazyStringArrayList.EMPTY;
    private void ensureTagListIsMutable() {
      if (!((bitField0_ & 0x00000001) != 0)) {
        tagList_ = new com.google.protobuf.LazyStringArrayList(tagList_);
        bitField0_ |= 0x00000001;
       }
    }
    /**
     * <code>repeated string tag_list = 22;</code>
     * @return A list containing the tagList.
     */
    public com.google.protobuf.ProtocolStringList
        getTagListList() {
      return tagList_.getUnmodifiableView();
    }
    /**
     * <code>repeated string tag_list = 22;</code>
     * @return The count of tagList.
     */
    public int getTagListCount() {
      return tagList_.size();
    }
    /**
     * <code>repeated string tag_list = 22;</code>
     * @param index The index of the element to return.
     * @return The tagList at the given index.
     */
    public java.lang.String getTagList(int index) {
      return tagList_.get(index);
    }
    /**
     * <code>repeated string tag_list = 22;</code>
     * @param index The index of the value to return.
     * @return The bytes of the tagList at the given index.
     */
    public com.google.protobuf.ByteString
        getTagListBytes(int index) {
      return tagList_.getByteString(index);
    }
    /**
     * <code>repeated string tag_list = 22;</code>
     * @param index The index to set the value at.
     * @param value The tagList to set.
     * @return This builder for chaining.
     */
    public Builder setTagList(
        int index, java.lang.String value) {
      if (value == null) {
    throw new NullPointerException();
  }
  ensureTagListIsMutable();
      tagList_.set(index, value);
      onChanged();
      return this;
    }
    /**
     * <code>repeated string tag_list = 22;</code>
     * @param value The tagList to add.
     * @return This builder for chaining.
     */
    public Builder addTagList(
        java.lang.String value) {
      if (value == null) {
    throw new NullPointerException();
  }
  ensureTagListIsMutable();
      tagList_.add(value);
      onChanged();
      return this;
    }
    /**
     * <code>repeated string tag_list = 22;</code>
     * @param values The tagList to add.
     * @return This builder for chaining.
     */
    public Builder addAllTagList(
        java.lang.Iterable<java.lang.String> values) {
      ensureTagListIsMutable();
      com.google.protobuf.AbstractMessageLite.Builder.addAll(
          values, tagList_);
      onChanged();
      return this;
    }
    /**
     * <code>repeated string tag_list = 22;</code>
     * @return This builder for chaining.
     */
    public Builder clearTagList() {
      tagList_ = com.google.protobuf.LazyStringArrayList.EMPTY;
      bitField0_ = (bitField0_ & ~0x00000001);
      onChanged();
      return this;
    }
    /**
     * <code>repeated string tag_list = 22;</code>
     * @param value The bytes of the tagList to add.
     * @return This builder for chaining.
     */
    public Builder addTagListBytes(
        com.google.protobuf.ByteString value) {
      if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
      ensureTagListIsMutable();
      tagList_.add(value);
      onChanged();
      return this;
    }

    private io.grasscutter.net.proto.define.MotionInfo motionInfo_;
    private com.google.protobuf.SingleFieldBuilderV3<
        io.grasscutter.net.proto.define.MotionInfo, io.grasscutter.net.proto.define.MotionInfo.Builder, io.grasscutter.net.proto.define.MotionInfoOrBuilder> motionInfoBuilder_;
    /**
     * <code>.MotionInfo motion_info = 4;</code>
     * @return Whether the motionInfo field is set.
     */
    public boolean hasMotionInfo() {
      return motionInfoBuilder_ != null || motionInfo_ != null;
    }
    /**
     * <code>.MotionInfo motion_info = 4;</code>
     * @return The motionInfo.
     */
    public io.grasscutter.net.proto.define.MotionInfo getMotionInfo() {
      if (motionInfoBuilder_ == null) {
        return motionInfo_ == null ? io.grasscutter.net.proto.define.MotionInfo.getDefaultInstance() : motionInfo_;
      } else {
        return motionInfoBuilder_.getMessage();
      }
    }
    /**
     * <code>.MotionInfo motion_info = 4;</code>
     */
    public Builder setMotionInfo(io.grasscutter.net.proto.define.MotionInfo value) {
      if (motionInfoBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        motionInfo_ = value;
        onChanged();
      } else {
        motionInfoBuilder_.setMessage(value);
      }

      return this;
    }
    /**
     * <code>.MotionInfo motion_info = 4;</code>
     */
    public Builder setMotionInfo(
        io.grasscutter.net.proto.define.MotionInfo.Builder builderForValue) {
      if (motionInfoBuilder_ == null) {
        motionInfo_ = builderForValue.build();
        onChanged();
      } else {
        motionInfoBuilder_.setMessage(builderForValue.build());
      }

      return this;
    }
    /**
     * <code>.MotionInfo motion_info = 4;</code>
     */
    public Builder mergeMotionInfo(io.grasscutter.net.proto.define.MotionInfo value) {
      if (motionInfoBuilder_ == null) {
        if (motionInfo_ != null) {
          motionInfo_ =
            io.grasscutter.net.proto.define.MotionInfo.newBuilder(motionInfo_).mergeFrom(value).buildPartial();
        } else {
          motionInfo_ = value;
        }
        onChanged();
      } else {
        motionInfoBuilder_.mergeFrom(value);
      }

      return this;
    }
    /**
     * <code>.MotionInfo motion_info = 4;</code>
     */
    public Builder clearMotionInfo() {
      if (motionInfoBuilder_ == null) {
        motionInfo_ = null;
        onChanged();
      } else {
        motionInfo_ = null;
        motionInfoBuilder_ = null;
      }

      return this;
    }
    /**
     * <code>.MotionInfo motion_info = 4;</code>
     */
    public io.grasscutter.net.proto.define.MotionInfo.Builder getMotionInfoBuilder() {
      
      onChanged();
      return getMotionInfoFieldBuilder().getBuilder();
    }
    /**
     * <code>.MotionInfo motion_info = 4;</code>
     */
    public io.grasscutter.net.proto.define.MotionInfoOrBuilder getMotionInfoOrBuilder() {
      if (motionInfoBuilder_ != null) {
        return motionInfoBuilder_.getMessageOrBuilder();
      } else {
        return motionInfo_ == null ?
            io.grasscutter.net.proto.define.MotionInfo.getDefaultInstance() : motionInfo_;
      }
    }
    /**
     * <code>.MotionInfo motion_info = 4;</code>
     */
    private com.google.protobuf.SingleFieldBuilderV3<
        io.grasscutter.net.proto.define.MotionInfo, io.grasscutter.net.proto.define.MotionInfo.Builder, io.grasscutter.net.proto.define.MotionInfoOrBuilder> 
        getMotionInfoFieldBuilder() {
      if (motionInfoBuilder_ == null) {
        motionInfoBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
            io.grasscutter.net.proto.define.MotionInfo, io.grasscutter.net.proto.define.MotionInfo.Builder, io.grasscutter.net.proto.define.MotionInfoOrBuilder>(
                getMotionInfo(),
                getParentForChildren(),
                isClean());
        motionInfo_ = null;
      }
      return motionInfoBuilder_;
    }

    private java.util.List<io.grasscutter.net.proto.define.AnimatorParameterValueInfoPair> animatorParaList_ =
      java.util.Collections.emptyList();
    private void ensureAnimatorParaListIsMutable() {
      if (!((bitField0_ & 0x00000002) != 0)) {
        animatorParaList_ = new java.util.ArrayList<io.grasscutter.net.proto.define.AnimatorParameterValueInfoPair>(animatorParaList_);
        bitField0_ |= 0x00000002;
       }
    }

    private com.google.protobuf.RepeatedFieldBuilderV3<
        io.grasscutter.net.proto.define.AnimatorParameterValueInfoPair, io.grasscutter.net.proto.define.AnimatorParameterValueInfoPair.Builder, io.grasscutter.net.proto.define.AnimatorParameterValueInfoPairOrBuilder> animatorParaListBuilder_;

    /**
     * <code>repeated .AnimatorParameterValueInfoPair animator_para_list = 9;</code>
     */
    public java.util.List<io.grasscutter.net.proto.define.AnimatorParameterValueInfoPair> getAnimatorParaListList() {
      if (animatorParaListBuilder_ == null) {
        return java.util.Collections.unmodifiableList(animatorParaList_);
      } else {
        return animatorParaListBuilder_.getMessageList();
      }
    }
    /**
     * <code>repeated .AnimatorParameterValueInfoPair animator_para_list = 9;</code>
     */
    public int getAnimatorParaListCount() {
      if (animatorParaListBuilder_ == null) {
        return animatorParaList_.size();
      } else {
        return animatorParaListBuilder_.getCount();
      }
    }
    /**
     * <code>repeated .AnimatorParameterValueInfoPair animator_para_list = 9;</code>
     */
    public io.grasscutter.net.proto.define.AnimatorParameterValueInfoPair getAnimatorParaList(int index) {
      if (animatorParaListBuilder_ == null) {
        return animatorParaList_.get(index);
      } else {
        return animatorParaListBuilder_.getMessage(index);
      }
    }
    /**
     * <code>repeated .AnimatorParameterValueInfoPair animator_para_list = 9;</code>
     */
    public Builder setAnimatorParaList(
        int index, io.grasscutter.net.proto.define.AnimatorParameterValueInfoPair value) {
      if (animatorParaListBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        ensureAnimatorParaListIsMutable();
        animatorParaList_.set(index, value);
        onChanged();
      } else {
        animatorParaListBuilder_.setMessage(index, value);
      }
      return this;
    }
    /**
     * <code>repeated .AnimatorParameterValueInfoPair animator_para_list = 9;</code>
     */
    public Builder setAnimatorParaList(
        int index, io.grasscutter.net.proto.define.AnimatorParameterValueInfoPair.Builder builderForValue) {
      if (animatorParaListBuilder_ == null) {
        ensureAnimatorParaListIsMutable();
        animatorParaList_.set(index, builderForValue.build());
        onChanged();
      } else {
        animatorParaListBuilder_.setMessage(index, builderForValue.build());
      }
      return this;
    }
    /**
     * <code>repeated .AnimatorParameterValueInfoPair animator_para_list = 9;</code>
     */
    public Builder addAnimatorParaList(io.grasscutter.net.proto.define.AnimatorParameterValueInfoPair value) {
      if (animatorParaListBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        ensureAnimatorParaListIsMutable();
        animatorParaList_.add(value);
        onChanged();
      } else {
        animatorParaListBuilder_.addMessage(value);
      }
      return this;
    }
    /**
     * <code>repeated .AnimatorParameterValueInfoPair animator_para_list = 9;</code>
     */
    public Builder addAnimatorParaList(
        int index, io.grasscutter.net.proto.define.AnimatorParameterValueInfoPair value) {
      if (animatorParaListBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        ensureAnimatorParaListIsMutable();
        animatorParaList_.add(index, value);
        onChanged();
      } else {
        animatorParaListBuilder_.addMessage(index, value);
      }
      return this;
    }
    /**
     * <code>repeated .AnimatorParameterValueInfoPair animator_para_list = 9;</code>
     */
    public Builder addAnimatorParaList(
        io.grasscutter.net.proto.define.AnimatorParameterValueInfoPair.Builder builderForValue) {
      if (animatorParaListBuilder_ == null) {
        ensureAnimatorParaListIsMutable();
        animatorParaList_.add(builderForValue.build());
        onChanged();
      } else {
        animatorParaListBuilder_.addMessage(builderForValue.build());
      }
      return this;
    }
    /**
     * <code>repeated .AnimatorParameterValueInfoPair animator_para_list = 9;</code>
     */
    public Builder addAnimatorParaList(
        int index, io.grasscutter.net.proto.define.AnimatorParameterValueInfoPair.Builder builderForValue) {
      if (animatorParaListBuilder_ == null) {
        ensureAnimatorParaListIsMutable();
        animatorParaList_.add(index, builderForValue.build());
        onChanged();
      } else {
        animatorParaListBuilder_.addMessage(index, builderForValue.build());
      }
      return this;
    }
    /**
     * <code>repeated .AnimatorParameterValueInfoPair animator_para_list = 9;</code>
     */
    public Builder addAllAnimatorParaList(
        java.lang.Iterable<? extends io.grasscutter.net.proto.define.AnimatorParameterValueInfoPair> values) {
      if (animatorParaListBuilder_ == null) {
        ensureAnimatorParaListIsMutable();
        com.google.protobuf.AbstractMessageLite.Builder.addAll(
            values, animatorParaList_);
        onChanged();
      } else {
        animatorParaListBuilder_.addAllMessages(values);
      }
      return this;
    }
    /**
     * <code>repeated .AnimatorParameterValueInfoPair animator_para_list = 9;</code>
     */
    public Builder clearAnimatorParaList() {
      if (animatorParaListBuilder_ == null) {
        animatorParaList_ = java.util.Collections.emptyList();
        bitField0_ = (bitField0_ & ~0x00000002);
        onChanged();
      } else {
        animatorParaListBuilder_.clear();
      }
      return this;
    }
    /**
     * <code>repeated .AnimatorParameterValueInfoPair animator_para_list = 9;</code>
     */
    public Builder removeAnimatorParaList(int index) {
      if (animatorParaListBuilder_ == null) {
        ensureAnimatorParaListIsMutable();
        animatorParaList_.remove(index);
        onChanged();
      } else {
        animatorParaListBuilder_.remove(index);
      }
      return this;
    }
    /**
     * <code>repeated .AnimatorParameterValueInfoPair animator_para_list = 9;</code>
     */
    public io.grasscutter.net.proto.define.AnimatorParameterValueInfoPair.Builder getAnimatorParaListBuilder(
        int index) {
      return getAnimatorParaListFieldBuilder().getBuilder(index);
    }
    /**
     * <code>repeated .AnimatorParameterValueInfoPair animator_para_list = 9;</code>
     */
    public io.grasscutter.net.proto.define.AnimatorParameterValueInfoPairOrBuilder getAnimatorParaListOrBuilder(
        int index) {
      if (animatorParaListBuilder_ == null) {
        return animatorParaList_.get(index);  } else {
        return animatorParaListBuilder_.getMessageOrBuilder(index);
      }
    }
    /**
     * <code>repeated .AnimatorParameterValueInfoPair animator_para_list = 9;</code>
     */
    public java.util.List<? extends io.grasscutter.net.proto.define.AnimatorParameterValueInfoPairOrBuilder> 
         getAnimatorParaListOrBuilderList() {
      if (animatorParaListBuilder_ != null) {
        return animatorParaListBuilder_.getMessageOrBuilderList();
      } else {
        return java.util.Collections.unmodifiableList(animatorParaList_);
      }
    }
    /**
     * <code>repeated .AnimatorParameterValueInfoPair animator_para_list = 9;</code>
     */
    public io.grasscutter.net.proto.define.AnimatorParameterValueInfoPair.Builder addAnimatorParaListBuilder() {
      return getAnimatorParaListFieldBuilder().addBuilder(
          io.grasscutter.net.proto.define.AnimatorParameterValueInfoPair.getDefaultInstance());
    }
    /**
     * <code>repeated .AnimatorParameterValueInfoPair animator_para_list = 9;</code>
     */
    public io.grasscutter.net.proto.define.AnimatorParameterValueInfoPair.Builder addAnimatorParaListBuilder(
        int index) {
      return getAnimatorParaListFieldBuilder().addBuilder(
          index, io.grasscutter.net.proto.define.AnimatorParameterValueInfoPair.getDefaultInstance());
    }
    /**
     * <code>repeated .AnimatorParameterValueInfoPair animator_para_list = 9;</code>
     */
    public java.util.List<io.grasscutter.net.proto.define.AnimatorParameterValueInfoPair.Builder> 
         getAnimatorParaListBuilderList() {
      return getAnimatorParaListFieldBuilder().getBuilderList();
    }
    private com.google.protobuf.RepeatedFieldBuilderV3<
        io.grasscutter.net.proto.define.AnimatorParameterValueInfoPair, io.grasscutter.net.proto.define.AnimatorParameterValueInfoPair.Builder, io.grasscutter.net.proto.define.AnimatorParameterValueInfoPairOrBuilder> 
        getAnimatorParaListFieldBuilder() {
      if (animatorParaListBuilder_ == null) {
        animatorParaListBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
            io.grasscutter.net.proto.define.AnimatorParameterValueInfoPair, io.grasscutter.net.proto.define.AnimatorParameterValueInfoPair.Builder, io.grasscutter.net.proto.define.AnimatorParameterValueInfoPairOrBuilder>(
                animatorParaList_,
                ((bitField0_ & 0x00000002) != 0),
                getParentForChildren(),
                isClean());
        animatorParaList_ = null;
      }
      return animatorParaListBuilder_;
    }

    private java.util.List<io.grasscutter.net.proto.define.PropPair> propList_ =
      java.util.Collections.emptyList();
    private void ensurePropListIsMutable() {
      if (!((bitField0_ & 0x00000004) != 0)) {
        propList_ = new java.util.ArrayList<io.grasscutter.net.proto.define.PropPair>(propList_);
        bitField0_ |= 0x00000004;
       }
    }

    private com.google.protobuf.RepeatedFieldBuilderV3<
        io.grasscutter.net.proto.define.PropPair, io.grasscutter.net.proto.define.PropPair.Builder, io.grasscutter.net.proto.define.PropPairOrBuilder> propListBuilder_;

    /**
     * <code>repeated .PropPair prop_list = 5;</code>
     */
    public java.util.List<io.grasscutter.net.proto.define.PropPair> getPropListList() {
      if (propListBuilder_ == null) {
        return java.util.Collections.unmodifiableList(propList_);
      } else {
        return propListBuilder_.getMessageList();
      }
    }
    /**
     * <code>repeated .PropPair prop_list = 5;</code>
     */
    public int getPropListCount() {
      if (propListBuilder_ == null) {
        return propList_.size();
      } else {
        return propListBuilder_.getCount();
      }
    }
    /**
     * <code>repeated .PropPair prop_list = 5;</code>
     */
    public io.grasscutter.net.proto.define.PropPair getPropList(int index) {
      if (propListBuilder_ == null) {
        return propList_.get(index);
      } else {
        return propListBuilder_.getMessage(index);
      }
    }
    /**
     * <code>repeated .PropPair prop_list = 5;</code>
     */
    public Builder setPropList(
        int index, io.grasscutter.net.proto.define.PropPair value) {
      if (propListBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        ensurePropListIsMutable();
        propList_.set(index, value);
        onChanged();
      } else {
        propListBuilder_.setMessage(index, value);
      }
      return this;
    }
    /**
     * <code>repeated .PropPair prop_list = 5;</code>
     */
    public Builder setPropList(
        int index, io.grasscutter.net.proto.define.PropPair.Builder builderForValue) {
      if (propListBuilder_ == null) {
        ensurePropListIsMutable();
        propList_.set(index, builderForValue.build());
        onChanged();
      } else {
        propListBuilder_.setMessage(index, builderForValue.build());
      }
      return this;
    }
    /**
     * <code>repeated .PropPair prop_list = 5;</code>
     */
    public Builder addPropList(io.grasscutter.net.proto.define.PropPair value) {
      if (propListBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        ensurePropListIsMutable();
        propList_.add(value);
        onChanged();
      } else {
        propListBuilder_.addMessage(value);
      }
      return this;
    }
    /**
     * <code>repeated .PropPair prop_list = 5;</code>
     */
    public Builder addPropList(
        int index, io.grasscutter.net.proto.define.PropPair value) {
      if (propListBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        ensurePropListIsMutable();
        propList_.add(index, value);
        onChanged();
      } else {
        propListBuilder_.addMessage(index, value);
      }
      return this;
    }
    /**
     * <code>repeated .PropPair prop_list = 5;</code>
     */
    public Builder addPropList(
        io.grasscutter.net.proto.define.PropPair.Builder builderForValue) {
      if (propListBuilder_ == null) {
        ensurePropListIsMutable();
        propList_.add(builderForValue.build());
        onChanged();
      } else {
        propListBuilder_.addMessage(builderForValue.build());
      }
      return this;
    }
    /**
     * <code>repeated .PropPair prop_list = 5;</code>
     */
    public Builder addPropList(
        int index, io.grasscutter.net.proto.define.PropPair.Builder builderForValue) {
      if (propListBuilder_ == null) {
        ensurePropListIsMutable();
        propList_.add(index, builderForValue.build());
        onChanged();
      } else {
        propListBuilder_.addMessage(index, builderForValue.build());
      }
      return this;
    }
    /**
     * <code>repeated .PropPair prop_list = 5;</code>
     */
    public Builder addAllPropList(
        java.lang.Iterable<? extends io.grasscutter.net.proto.define.PropPair> values) {
      if (propListBuilder_ == null) {
        ensurePropListIsMutable();
        com.google.protobuf.AbstractMessageLite.Builder.addAll(
            values, propList_);
        onChanged();
      } else {
        propListBuilder_.addAllMessages(values);
      }
      return this;
    }
    /**
     * <code>repeated .PropPair prop_list = 5;</code>
     */
    public Builder clearPropList() {
      if (propListBuilder_ == null) {
        propList_ = java.util.Collections.emptyList();
        bitField0_ = (bitField0_ & ~0x00000004);
        onChanged();
      } else {
        propListBuilder_.clear();
      }
      return this;
    }
    /**
     * <code>repeated .PropPair prop_list = 5;</code>
     */
    public Builder removePropList(int index) {
      if (propListBuilder_ == null) {
        ensurePropListIsMutable();
        propList_.remove(index);
        onChanged();
      } else {
        propListBuilder_.remove(index);
      }
      return this;
    }
    /**
     * <code>repeated .PropPair prop_list = 5;</code>
     */
    public io.grasscutter.net.proto.define.PropPair.Builder getPropListBuilder(
        int index) {
      return getPropListFieldBuilder().getBuilder(index);
    }
    /**
     * <code>repeated .PropPair prop_list = 5;</code>
     */
    public io.grasscutter.net.proto.define.PropPairOrBuilder getPropListOrBuilder(
        int index) {
      if (propListBuilder_ == null) {
        return propList_.get(index);  } else {
        return propListBuilder_.getMessageOrBuilder(index);
      }
    }
    /**
     * <code>repeated .PropPair prop_list = 5;</code>
     */
    public java.util.List<? extends io.grasscutter.net.proto.define.PropPairOrBuilder> 
         getPropListOrBuilderList() {
      if (propListBuilder_ != null) {
        return propListBuilder_.getMessageOrBuilderList();
      } else {
        return java.util.Collections.unmodifiableList(propList_);
      }
    }
    /**
     * <code>repeated .PropPair prop_list = 5;</code>
     */
    public io.grasscutter.net.proto.define.PropPair.Builder addPropListBuilder() {
      return getPropListFieldBuilder().addBuilder(
          io.grasscutter.net.proto.define.PropPair.getDefaultInstance());
    }
    /**
     * <code>repeated .PropPair prop_list = 5;</code>
     */
    public io.grasscutter.net.proto.define.PropPair.Builder addPropListBuilder(
        int index) {
      return getPropListFieldBuilder().addBuilder(
          index, io.grasscutter.net.proto.define.PropPair.getDefaultInstance());
    }
    /**
     * <code>repeated .PropPair prop_list = 5;</code>
     */
    public java.util.List<io.grasscutter.net.proto.define.PropPair.Builder> 
         getPropListBuilderList() {
      return getPropListFieldBuilder().getBuilderList();
    }
    private com.google.protobuf.RepeatedFieldBuilderV3<
        io.grasscutter.net.proto.define.PropPair, io.grasscutter.net.proto.define.PropPair.Builder, io.grasscutter.net.proto.define.PropPairOrBuilder> 
        getPropListFieldBuilder() {
      if (propListBuilder_ == null) {
        propListBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
            io.grasscutter.net.proto.define.PropPair, io.grasscutter.net.proto.define.PropPair.Builder, io.grasscutter.net.proto.define.PropPairOrBuilder>(
                propList_,
                ((bitField0_ & 0x00000004) != 0),
                getParentForChildren(),
                isClean());
        propList_ = null;
      }
      return propListBuilder_;
    }

    private java.util.List<io.grasscutter.net.proto.define.ServerBuff> serverBuffList_ =
      java.util.Collections.emptyList();
    private void ensureServerBuffListIsMutable() {
      if (!((bitField0_ & 0x00000008) != 0)) {
        serverBuffList_ = new java.util.ArrayList<io.grasscutter.net.proto.define.ServerBuff>(serverBuffList_);
        bitField0_ |= 0x00000008;
       }
    }

    private com.google.protobuf.RepeatedFieldBuilderV3<
        io.grasscutter.net.proto.define.ServerBuff, io.grasscutter.net.proto.define.ServerBuff.Builder, io.grasscutter.net.proto.define.ServerBuffOrBuilder> serverBuffListBuilder_;

    /**
     * <code>repeated .ServerBuff server_buff_list = 23;</code>
     */
    public java.util.List<io.grasscutter.net.proto.define.ServerBuff> getServerBuffListList() {
      if (serverBuffListBuilder_ == null) {
        return java.util.Collections.unmodifiableList(serverBuffList_);
      } else {
        return serverBuffListBuilder_.getMessageList();
      }
    }
    /**
     * <code>repeated .ServerBuff server_buff_list = 23;</code>
     */
    public int getServerBuffListCount() {
      if (serverBuffListBuilder_ == null) {
        return serverBuffList_.size();
      } else {
        return serverBuffListBuilder_.getCount();
      }
    }
    /**
     * <code>repeated .ServerBuff server_buff_list = 23;</code>
     */
    public io.grasscutter.net.proto.define.ServerBuff getServerBuffList(int index) {
      if (serverBuffListBuilder_ == null) {
        return serverBuffList_.get(index);
      } else {
        return serverBuffListBuilder_.getMessage(index);
      }
    }
    /**
     * <code>repeated .ServerBuff server_buff_list = 23;</code>
     */
    public Builder setServerBuffList(
        int index, io.grasscutter.net.proto.define.ServerBuff value) {
      if (serverBuffListBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        ensureServerBuffListIsMutable();
        serverBuffList_.set(index, value);
        onChanged();
      } else {
        serverBuffListBuilder_.setMessage(index, value);
      }
      return this;
    }
    /**
     * <code>repeated .ServerBuff server_buff_list = 23;</code>
     */
    public Builder setServerBuffList(
        int index, io.grasscutter.net.proto.define.ServerBuff.Builder builderForValue) {
      if (serverBuffListBuilder_ == null) {
        ensureServerBuffListIsMutable();
        serverBuffList_.set(index, builderForValue.build());
        onChanged();
      } else {
        serverBuffListBuilder_.setMessage(index, builderForValue.build());
      }
      return this;
    }
    /**
     * <code>repeated .ServerBuff server_buff_list = 23;</code>
     */
    public Builder addServerBuffList(io.grasscutter.net.proto.define.ServerBuff value) {
      if (serverBuffListBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        ensureServerBuffListIsMutable();
        serverBuffList_.add(value);
        onChanged();
      } else {
        serverBuffListBuilder_.addMessage(value);
      }
      return this;
    }
    /**
     * <code>repeated .ServerBuff server_buff_list = 23;</code>
     */
    public Builder addServerBuffList(
        int index, io.grasscutter.net.proto.define.ServerBuff value) {
      if (serverBuffListBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        ensureServerBuffListIsMutable();
        serverBuffList_.add(index, value);
        onChanged();
      } else {
        serverBuffListBuilder_.addMessage(index, value);
      }
      return this;
    }
    /**
     * <code>repeated .ServerBuff server_buff_list = 23;</code>
     */
    public Builder addServerBuffList(
        io.grasscutter.net.proto.define.ServerBuff.Builder builderForValue) {
      if (serverBuffListBuilder_ == null) {
        ensureServerBuffListIsMutable();
        serverBuffList_.add(builderForValue.build());
        onChanged();
      } else {
        serverBuffListBuilder_.addMessage(builderForValue.build());
      }
      return this;
    }
    /**
     * <code>repeated .ServerBuff server_buff_list = 23;</code>
     */
    public Builder addServerBuffList(
        int index, io.grasscutter.net.proto.define.ServerBuff.Builder builderForValue) {
      if (serverBuffListBuilder_ == null) {
        ensureServerBuffListIsMutable();
        serverBuffList_.add(index, builderForValue.build());
        onChanged();
      } else {
        serverBuffListBuilder_.addMessage(index, builderForValue.build());
      }
      return this;
    }
    /**
     * <code>repeated .ServerBuff server_buff_list = 23;</code>
     */
    public Builder addAllServerBuffList(
        java.lang.Iterable<? extends io.grasscutter.net.proto.define.ServerBuff> values) {
      if (serverBuffListBuilder_ == null) {
        ensureServerBuffListIsMutable();
        com.google.protobuf.AbstractMessageLite.Builder.addAll(
            values, serverBuffList_);
        onChanged();
      } else {
        serverBuffListBuilder_.addAllMessages(values);
      }
      return this;
    }
    /**
     * <code>repeated .ServerBuff server_buff_list = 23;</code>
     */
    public Builder clearServerBuffList() {
      if (serverBuffListBuilder_ == null) {
        serverBuffList_ = java.util.Collections.emptyList();
        bitField0_ = (bitField0_ & ~0x00000008);
        onChanged();
      } else {
        serverBuffListBuilder_.clear();
      }
      return this;
    }
    /**
     * <code>repeated .ServerBuff server_buff_list = 23;</code>
     */
    public Builder removeServerBuffList(int index) {
      if (serverBuffListBuilder_ == null) {
        ensureServerBuffListIsMutable();
        serverBuffList_.remove(index);
        onChanged();
      } else {
        serverBuffListBuilder_.remove(index);
      }
      return this;
    }
    /**
     * <code>repeated .ServerBuff server_buff_list = 23;</code>
     */
    public io.grasscutter.net.proto.define.ServerBuff.Builder getServerBuffListBuilder(
        int index) {
      return getServerBuffListFieldBuilder().getBuilder(index);
    }
    /**
     * <code>repeated .ServerBuff server_buff_list = 23;</code>
     */
    public io.grasscutter.net.proto.define.ServerBuffOrBuilder getServerBuffListOrBuilder(
        int index) {
      if (serverBuffListBuilder_ == null) {
        return serverBuffList_.get(index);  } else {
        return serverBuffListBuilder_.getMessageOrBuilder(index);
      }
    }
    /**
     * <code>repeated .ServerBuff server_buff_list = 23;</code>
     */
    public java.util.List<? extends io.grasscutter.net.proto.define.ServerBuffOrBuilder> 
         getServerBuffListOrBuilderList() {
      if (serverBuffListBuilder_ != null) {
        return serverBuffListBuilder_.getMessageOrBuilderList();
      } else {
        return java.util.Collections.unmodifiableList(serverBuffList_);
      }
    }
    /**
     * <code>repeated .ServerBuff server_buff_list = 23;</code>
     */
    public io.grasscutter.net.proto.define.ServerBuff.Builder addServerBuffListBuilder() {
      return getServerBuffListFieldBuilder().addBuilder(
          io.grasscutter.net.proto.define.ServerBuff.getDefaultInstance());
    }
    /**
     * <code>repeated .ServerBuff server_buff_list = 23;</code>
     */
    public io.grasscutter.net.proto.define.ServerBuff.Builder addServerBuffListBuilder(
        int index) {
      return getServerBuffListFieldBuilder().addBuilder(
          index, io.grasscutter.net.proto.define.ServerBuff.getDefaultInstance());
    }
    /**
     * <code>repeated .ServerBuff server_buff_list = 23;</code>
     */
    public java.util.List<io.grasscutter.net.proto.define.ServerBuff.Builder> 
         getServerBuffListBuilderList() {
      return getServerBuffListFieldBuilder().getBuilderList();
    }
    private com.google.protobuf.RepeatedFieldBuilderV3<
        io.grasscutter.net.proto.define.ServerBuff, io.grasscutter.net.proto.define.ServerBuff.Builder, io.grasscutter.net.proto.define.ServerBuffOrBuilder> 
        getServerBuffListFieldBuilder() {
      if (serverBuffListBuilder_ == null) {
        serverBuffListBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
            io.grasscutter.net.proto.define.ServerBuff, io.grasscutter.net.proto.define.ServerBuff.Builder, io.grasscutter.net.proto.define.ServerBuffOrBuilder>(
                serverBuffList_,
                ((bitField0_ & 0x00000008) != 0),
                getParentForChildren(),
                isClean());
        serverBuffList_ = null;
      }
      return serverBuffListBuilder_;
    }

    private java.lang.Object name_ = "";
    /**
     * <code>string name = 3;</code>
     * @return The name.
     */
    public java.lang.String getName() {
      java.lang.Object ref = name_;
      if (!(ref instanceof java.lang.String)) {
        com.google.protobuf.ByteString bs =
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        name_ = s;
        return s;
      } else {
        return (java.lang.String) ref;
      }
    }
    /**
     * <code>string name = 3;</code>
     * @return The bytes for name.
     */
    public com.google.protobuf.ByteString
        getNameBytes() {
      java.lang.Object ref = name_;
      if (ref instanceof String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        name_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }
    /**
     * <code>string name = 3;</code>
     * @param value The name to set.
     * @return This builder for chaining.
     */
    public Builder setName(
        java.lang.String value) {
      if (value == null) {
    throw new NullPointerException();
  }
  
      name_ = value;
      onChanged();
      return this;
    }
    /**
     * <code>string name = 3;</code>
     * @return This builder for chaining.
     */
    public Builder clearName() {
      
      name_ = getDefaultInstance().getName();
      onChanged();
      return this;
    }
    /**
     * <code>string name = 3;</code>
     * @param value The bytes for name to set.
     * @return This builder for chaining.
     */
    public Builder setNameBytes(
        com.google.protobuf.ByteString value) {
      if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
      
      name_ = value;
      onChanged();
      return this;
    }

    private java.util.List<io.grasscutter.net.proto.define.EntityEnvironmentInfo> entityEnvironmentInfoList_ =
      java.util.Collections.emptyList();
    private void ensureEntityEnvironmentInfoListIsMutable() {
      if (!((bitField0_ & 0x00000010) != 0)) {
        entityEnvironmentInfoList_ = new java.util.ArrayList<io.grasscutter.net.proto.define.EntityEnvironmentInfo>(entityEnvironmentInfoList_);
        bitField0_ |= 0x00000010;
       }
    }

    private com.google.protobuf.RepeatedFieldBuilderV3<
        io.grasscutter.net.proto.define.EntityEnvironmentInfo, io.grasscutter.net.proto.define.EntityEnvironmentInfo.Builder, io.grasscutter.net.proto.define.EntityEnvironmentInfoOrBuilder> entityEnvironmentInfoListBuilder_;

    /**
     * <code>repeated .EntityEnvironmentInfo entity_environment_info_list = 20;</code>
     */
    public java.util.List<io.grasscutter.net.proto.define.EntityEnvironmentInfo> getEntityEnvironmentInfoListList() {
      if (entityEnvironmentInfoListBuilder_ == null) {
        return java.util.Collections.unmodifiableList(entityEnvironmentInfoList_);
      } else {
        return entityEnvironmentInfoListBuilder_.getMessageList();
      }
    }
    /**
     * <code>repeated .EntityEnvironmentInfo entity_environment_info_list = 20;</code>
     */
    public int getEntityEnvironmentInfoListCount() {
      if (entityEnvironmentInfoListBuilder_ == null) {
        return entityEnvironmentInfoList_.size();
      } else {
        return entityEnvironmentInfoListBuilder_.getCount();
      }
    }
    /**
     * <code>repeated .EntityEnvironmentInfo entity_environment_info_list = 20;</code>
     */
    public io.grasscutter.net.proto.define.EntityEnvironmentInfo getEntityEnvironmentInfoList(int index) {
      if (entityEnvironmentInfoListBuilder_ == null) {
        return entityEnvironmentInfoList_.get(index);
      } else {
        return entityEnvironmentInfoListBuilder_.getMessage(index);
      }
    }
    /**
     * <code>repeated .EntityEnvironmentInfo entity_environment_info_list = 20;</code>
     */
    public Builder setEntityEnvironmentInfoList(
        int index, io.grasscutter.net.proto.define.EntityEnvironmentInfo value) {
      if (entityEnvironmentInfoListBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        ensureEntityEnvironmentInfoListIsMutable();
        entityEnvironmentInfoList_.set(index, value);
        onChanged();
      } else {
        entityEnvironmentInfoListBuilder_.setMessage(index, value);
      }
      return this;
    }
    /**
     * <code>repeated .EntityEnvironmentInfo entity_environment_info_list = 20;</code>
     */
    public Builder setEntityEnvironmentInfoList(
        int index, io.grasscutter.net.proto.define.EntityEnvironmentInfo.Builder builderForValue) {
      if (entityEnvironmentInfoListBuilder_ == null) {
        ensureEntityEnvironmentInfoListIsMutable();
        entityEnvironmentInfoList_.set(index, builderForValue.build());
        onChanged();
      } else {
        entityEnvironmentInfoListBuilder_.setMessage(index, builderForValue.build());
      }
      return this;
    }
    /**
     * <code>repeated .EntityEnvironmentInfo entity_environment_info_list = 20;</code>
     */
    public Builder addEntityEnvironmentInfoList(io.grasscutter.net.proto.define.EntityEnvironmentInfo value) {
      if (entityEnvironmentInfoListBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        ensureEntityEnvironmentInfoListIsMutable();
        entityEnvironmentInfoList_.add(value);
        onChanged();
      } else {
        entityEnvironmentInfoListBuilder_.addMessage(value);
      }
      return this;
    }
    /**
     * <code>repeated .EntityEnvironmentInfo entity_environment_info_list = 20;</code>
     */
    public Builder addEntityEnvironmentInfoList(
        int index, io.grasscutter.net.proto.define.EntityEnvironmentInfo value) {
      if (entityEnvironmentInfoListBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        ensureEntityEnvironmentInfoListIsMutable();
        entityEnvironmentInfoList_.add(index, value);
        onChanged();
      } else {
        entityEnvironmentInfoListBuilder_.addMessage(index, value);
      }
      return this;
    }
    /**
     * <code>repeated .EntityEnvironmentInfo entity_environment_info_list = 20;</code>
     */
    public Builder addEntityEnvironmentInfoList(
        io.grasscutter.net.proto.define.EntityEnvironmentInfo.Builder builderForValue) {
      if (entityEnvironmentInfoListBuilder_ == null) {
        ensureEntityEnvironmentInfoListIsMutable();
        entityEnvironmentInfoList_.add(builderForValue.build());
        onChanged();
      } else {
        entityEnvironmentInfoListBuilder_.addMessage(builderForValue.build());
      }
      return this;
    }
    /**
     * <code>repeated .EntityEnvironmentInfo entity_environment_info_list = 20;</code>
     */
    public Builder addEntityEnvironmentInfoList(
        int index, io.grasscutter.net.proto.define.EntityEnvironmentInfo.Builder builderForValue) {
      if (entityEnvironmentInfoListBuilder_ == null) {
        ensureEntityEnvironmentInfoListIsMutable();
        entityEnvironmentInfoList_.add(index, builderForValue.build());
        onChanged();
      } else {
        entityEnvironmentInfoListBuilder_.addMessage(index, builderForValue.build());
      }
      return this;
    }
    /**
     * <code>repeated .EntityEnvironmentInfo entity_environment_info_list = 20;</code>
     */
    public Builder addAllEntityEnvironmentInfoList(
        java.lang.Iterable<? extends io.grasscutter.net.proto.define.EntityEnvironmentInfo> values) {
      if (entityEnvironmentInfoListBuilder_ == null) {
        ensureEntityEnvironmentInfoListIsMutable();
        com.google.protobuf.AbstractMessageLite.Builder.addAll(
            values, entityEnvironmentInfoList_);
        onChanged();
      } else {
        entityEnvironmentInfoListBuilder_.addAllMessages(values);
      }
      return this;
    }
    /**
     * <code>repeated .EntityEnvironmentInfo entity_environment_info_list = 20;</code>
     */
    public Builder clearEntityEnvironmentInfoList() {
      if (entityEnvironmentInfoListBuilder_ == null) {
        entityEnvironmentInfoList_ = java.util.Collections.emptyList();
        bitField0_ = (bitField0_ & ~0x00000010);
        onChanged();
      } else {
        entityEnvironmentInfoListBuilder_.clear();
      }
      return this;
    }
    /**
     * <code>repeated .EntityEnvironmentInfo entity_environment_info_list = 20;</code>
     */
    public Builder removeEntityEnvironmentInfoList(int index) {
      if (entityEnvironmentInfoListBuilder_ == null) {
        ensureEntityEnvironmentInfoListIsMutable();
        entityEnvironmentInfoList_.remove(index);
        onChanged();
      } else {
        entityEnvironmentInfoListBuilder_.remove(index);
      }
      return this;
    }
    /**
     * <code>repeated .EntityEnvironmentInfo entity_environment_info_list = 20;</code>
     */
    public io.grasscutter.net.proto.define.EntityEnvironmentInfo.Builder getEntityEnvironmentInfoListBuilder(
        int index) {
      return getEntityEnvironmentInfoListFieldBuilder().getBuilder(index);
    }
    /**
     * <code>repeated .EntityEnvironmentInfo entity_environment_info_list = 20;</code>
     */
    public io.grasscutter.net.proto.define.EntityEnvironmentInfoOrBuilder getEntityEnvironmentInfoListOrBuilder(
        int index) {
      if (entityEnvironmentInfoListBuilder_ == null) {
        return entityEnvironmentInfoList_.get(index);  } else {
        return entityEnvironmentInfoListBuilder_.getMessageOrBuilder(index);
      }
    }
    /**
     * <code>repeated .EntityEnvironmentInfo entity_environment_info_list = 20;</code>
     */
    public java.util.List<? extends io.grasscutter.net.proto.define.EntityEnvironmentInfoOrBuilder> 
         getEntityEnvironmentInfoListOrBuilderList() {
      if (entityEnvironmentInfoListBuilder_ != null) {
        return entityEnvironmentInfoListBuilder_.getMessageOrBuilderList();
      } else {
        return java.util.Collections.unmodifiableList(entityEnvironmentInfoList_);
      }
    }
    /**
     * <code>repeated .EntityEnvironmentInfo entity_environment_info_list = 20;</code>
     */
    public io.grasscutter.net.proto.define.EntityEnvironmentInfo.Builder addEntityEnvironmentInfoListBuilder() {
      return getEntityEnvironmentInfoListFieldBuilder().addBuilder(
          io.grasscutter.net.proto.define.EntityEnvironmentInfo.getDefaultInstance());
    }
    /**
     * <code>repeated .EntityEnvironmentInfo entity_environment_info_list = 20;</code>
     */
    public io.grasscutter.net.proto.define.EntityEnvironmentInfo.Builder addEntityEnvironmentInfoListBuilder(
        int index) {
      return getEntityEnvironmentInfoListFieldBuilder().addBuilder(
          index, io.grasscutter.net.proto.define.EntityEnvironmentInfo.getDefaultInstance());
    }
    /**
     * <code>repeated .EntityEnvironmentInfo entity_environment_info_list = 20;</code>
     */
    public java.util.List<io.grasscutter.net.proto.define.EntityEnvironmentInfo.Builder> 
         getEntityEnvironmentInfoListBuilderList() {
      return getEntityEnvironmentInfoListFieldBuilder().getBuilderList();
    }
    private com.google.protobuf.RepeatedFieldBuilderV3<
        io.grasscutter.net.proto.define.EntityEnvironmentInfo, io.grasscutter.net.proto.define.EntityEnvironmentInfo.Builder, io.grasscutter.net.proto.define.EntityEnvironmentInfoOrBuilder> 
        getEntityEnvironmentInfoListFieldBuilder() {
      if (entityEnvironmentInfoListBuilder_ == null) {
        entityEnvironmentInfoListBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
            io.grasscutter.net.proto.define.EntityEnvironmentInfo, io.grasscutter.net.proto.define.EntityEnvironmentInfo.Builder, io.grasscutter.net.proto.define.EntityEnvironmentInfoOrBuilder>(
                entityEnvironmentInfoList_,
                ((bitField0_ & 0x00000010) != 0),
                getParentForChildren(),
                isClean());
        entityEnvironmentInfoList_ = null;
      }
      return entityEnvironmentInfoListBuilder_;
    }

    private io.grasscutter.net.proto.define.EntityAuthorityInfo entityAuthorityInfo_;
    private com.google.protobuf.SingleFieldBuilderV3<
        io.grasscutter.net.proto.define.EntityAuthorityInfo, io.grasscutter.net.proto.define.EntityAuthorityInfo.Builder, io.grasscutter.net.proto.define.EntityAuthorityInfoOrBuilder> entityAuthorityInfoBuilder_;
    /**
     * <code>.EntityAuthorityInfo entity_authority_info = 21;</code>
     * @return Whether the entityAuthorityInfo field is set.
     */
    public boolean hasEntityAuthorityInfo() {
      return entityAuthorityInfoBuilder_ != null || entityAuthorityInfo_ != null;
    }
    /**
     * <code>.EntityAuthorityInfo entity_authority_info = 21;</code>
     * @return The entityAuthorityInfo.
     */
    public io.grasscutter.net.proto.define.EntityAuthorityInfo getEntityAuthorityInfo() {
      if (entityAuthorityInfoBuilder_ == null) {
        return entityAuthorityInfo_ == null ? io.grasscutter.net.proto.define.EntityAuthorityInfo.getDefaultInstance() : entityAuthorityInfo_;
      } else {
        return entityAuthorityInfoBuilder_.getMessage();
      }
    }
    /**
     * <code>.EntityAuthorityInfo entity_authority_info = 21;</code>
     */
    public Builder setEntityAuthorityInfo(io.grasscutter.net.proto.define.EntityAuthorityInfo value) {
      if (entityAuthorityInfoBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        entityAuthorityInfo_ = value;
        onChanged();
      } else {
        entityAuthorityInfoBuilder_.setMessage(value);
      }

      return this;
    }
    /**
     * <code>.EntityAuthorityInfo entity_authority_info = 21;</code>
     */
    public Builder setEntityAuthorityInfo(
        io.grasscutter.net.proto.define.EntityAuthorityInfo.Builder builderForValue) {
      if (entityAuthorityInfoBuilder_ == null) {
        entityAuthorityInfo_ = builderForValue.build();
        onChanged();
      } else {
        entityAuthorityInfoBuilder_.setMessage(builderForValue.build());
      }

      return this;
    }
    /**
     * <code>.EntityAuthorityInfo entity_authority_info = 21;</code>
     */
    public Builder mergeEntityAuthorityInfo(io.grasscutter.net.proto.define.EntityAuthorityInfo value) {
      if (entityAuthorityInfoBuilder_ == null) {
        if (entityAuthorityInfo_ != null) {
          entityAuthorityInfo_ =
            io.grasscutter.net.proto.define.EntityAuthorityInfo.newBuilder(entityAuthorityInfo_).mergeFrom(value).buildPartial();
        } else {
          entityAuthorityInfo_ = value;
        }
        onChanged();
      } else {
        entityAuthorityInfoBuilder_.mergeFrom(value);
      }

      return this;
    }
    /**
     * <code>.EntityAuthorityInfo entity_authority_info = 21;</code>
     */
    public Builder clearEntityAuthorityInfo() {
      if (entityAuthorityInfoBuilder_ == null) {
        entityAuthorityInfo_ = null;
        onChanged();
      } else {
        entityAuthorityInfo_ = null;
        entityAuthorityInfoBuilder_ = null;
      }

      return this;
    }
    /**
     * <code>.EntityAuthorityInfo entity_authority_info = 21;</code>
     */
    public io.grasscutter.net.proto.define.EntityAuthorityInfo.Builder getEntityAuthorityInfoBuilder() {
      
      onChanged();
      return getEntityAuthorityInfoFieldBuilder().getBuilder();
    }
    /**
     * <code>.EntityAuthorityInfo entity_authority_info = 21;</code>
     */
    public io.grasscutter.net.proto.define.EntityAuthorityInfoOrBuilder getEntityAuthorityInfoOrBuilder() {
      if (entityAuthorityInfoBuilder_ != null) {
        return entityAuthorityInfoBuilder_.getMessageOrBuilder();
      } else {
        return entityAuthorityInfo_ == null ?
            io.grasscutter.net.proto.define.EntityAuthorityInfo.getDefaultInstance() : entityAuthorityInfo_;
      }
    }
    /**
     * <code>.EntityAuthorityInfo entity_authority_info = 21;</code>
     */
    private com.google.protobuf.SingleFieldBuilderV3<
        io.grasscutter.net.proto.define.EntityAuthorityInfo, io.grasscutter.net.proto.define.EntityAuthorityInfo.Builder, io.grasscutter.net.proto.define.EntityAuthorityInfoOrBuilder> 
        getEntityAuthorityInfoFieldBuilder() {
      if (entityAuthorityInfoBuilder_ == null) {
        entityAuthorityInfoBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
            io.grasscutter.net.proto.define.EntityAuthorityInfo, io.grasscutter.net.proto.define.EntityAuthorityInfo.Builder, io.grasscutter.net.proto.define.EntityAuthorityInfoOrBuilder>(
                getEntityAuthorityInfo(),
                getParentForChildren(),
                isClean());
        entityAuthorityInfo_ = null;
      }
      return entityAuthorityInfoBuilder_;
    }

    private java.util.List<io.grasscutter.net.proto.define.FightPropPair> fightPropList_ =
      java.util.Collections.emptyList();
    private void ensureFightPropListIsMutable() {
      if (!((bitField0_ & 0x00000020) != 0)) {
        fightPropList_ = new java.util.ArrayList<io.grasscutter.net.proto.define.FightPropPair>(fightPropList_);
        bitField0_ |= 0x00000020;
       }
    }

    private com.google.protobuf.RepeatedFieldBuilderV3<
        io.grasscutter.net.proto.define.FightPropPair, io.grasscutter.net.proto.define.FightPropPair.Builder, io.grasscutter.net.proto.define.FightPropPairOrBuilder> fightPropListBuilder_;

    /**
     * <code>repeated .FightPropPair fight_prop_list = 6;</code>
     */
    public java.util.List<io.grasscutter.net.proto.define.FightPropPair> getFightPropListList() {
      if (fightPropListBuilder_ == null) {
        return java.util.Collections.unmodifiableList(fightPropList_);
      } else {
        return fightPropListBuilder_.getMessageList();
      }
    }
    /**
     * <code>repeated .FightPropPair fight_prop_list = 6;</code>
     */
    public int getFightPropListCount() {
      if (fightPropListBuilder_ == null) {
        return fightPropList_.size();
      } else {
        return fightPropListBuilder_.getCount();
      }
    }
    /**
     * <code>repeated .FightPropPair fight_prop_list = 6;</code>
     */
    public io.grasscutter.net.proto.define.FightPropPair getFightPropList(int index) {
      if (fightPropListBuilder_ == null) {
        return fightPropList_.get(index);
      } else {
        return fightPropListBuilder_.getMessage(index);
      }
    }
    /**
     * <code>repeated .FightPropPair fight_prop_list = 6;</code>
     */
    public Builder setFightPropList(
        int index, io.grasscutter.net.proto.define.FightPropPair value) {
      if (fightPropListBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        ensureFightPropListIsMutable();
        fightPropList_.set(index, value);
        onChanged();
      } else {
        fightPropListBuilder_.setMessage(index, value);
      }
      return this;
    }
    /**
     * <code>repeated .FightPropPair fight_prop_list = 6;</code>
     */
    public Builder setFightPropList(
        int index, io.grasscutter.net.proto.define.FightPropPair.Builder builderForValue) {
      if (fightPropListBuilder_ == null) {
        ensureFightPropListIsMutable();
        fightPropList_.set(index, builderForValue.build());
        onChanged();
      } else {
        fightPropListBuilder_.setMessage(index, builderForValue.build());
      }
      return this;
    }
    /**
     * <code>repeated .FightPropPair fight_prop_list = 6;</code>
     */
    public Builder addFightPropList(io.grasscutter.net.proto.define.FightPropPair value) {
      if (fightPropListBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        ensureFightPropListIsMutable();
        fightPropList_.add(value);
        onChanged();
      } else {
        fightPropListBuilder_.addMessage(value);
      }
      return this;
    }
    /**
     * <code>repeated .FightPropPair fight_prop_list = 6;</code>
     */
    public Builder addFightPropList(
        int index, io.grasscutter.net.proto.define.FightPropPair value) {
      if (fightPropListBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        ensureFightPropListIsMutable();
        fightPropList_.add(index, value);
        onChanged();
      } else {
        fightPropListBuilder_.addMessage(index, value);
      }
      return this;
    }
    /**
     * <code>repeated .FightPropPair fight_prop_list = 6;</code>
     */
    public Builder addFightPropList(
        io.grasscutter.net.proto.define.FightPropPair.Builder builderForValue) {
      if (fightPropListBuilder_ == null) {
        ensureFightPropListIsMutable();
        fightPropList_.add(builderForValue.build());
        onChanged();
      } else {
        fightPropListBuilder_.addMessage(builderForValue.build());
      }
      return this;
    }
    /**
     * <code>repeated .FightPropPair fight_prop_list = 6;</code>
     */
    public Builder addFightPropList(
        int index, io.grasscutter.net.proto.define.FightPropPair.Builder builderForValue) {
      if (fightPropListBuilder_ == null) {
        ensureFightPropListIsMutable();
        fightPropList_.add(index, builderForValue.build());
        onChanged();
      } else {
        fightPropListBuilder_.addMessage(index, builderForValue.build());
      }
      return this;
    }
    /**
     * <code>repeated .FightPropPair fight_prop_list = 6;</code>
     */
    public Builder addAllFightPropList(
        java.lang.Iterable<? extends io.grasscutter.net.proto.define.FightPropPair> values) {
      if (fightPropListBuilder_ == null) {
        ensureFightPropListIsMutable();
        com.google.protobuf.AbstractMessageLite.Builder.addAll(
            values, fightPropList_);
        onChanged();
      } else {
        fightPropListBuilder_.addAllMessages(values);
      }
      return this;
    }
    /**
     * <code>repeated .FightPropPair fight_prop_list = 6;</code>
     */
    public Builder clearFightPropList() {
      if (fightPropListBuilder_ == null) {
        fightPropList_ = java.util.Collections.emptyList();
        bitField0_ = (bitField0_ & ~0x00000020);
        onChanged();
      } else {
        fightPropListBuilder_.clear();
      }
      return this;
    }
    /**
     * <code>repeated .FightPropPair fight_prop_list = 6;</code>
     */
    public Builder removeFightPropList(int index) {
      if (fightPropListBuilder_ == null) {
        ensureFightPropListIsMutable();
        fightPropList_.remove(index);
        onChanged();
      } else {
        fightPropListBuilder_.remove(index);
      }
      return this;
    }
    /**
     * <code>repeated .FightPropPair fight_prop_list = 6;</code>
     */
    public io.grasscutter.net.proto.define.FightPropPair.Builder getFightPropListBuilder(
        int index) {
      return getFightPropListFieldBuilder().getBuilder(index);
    }
    /**
     * <code>repeated .FightPropPair fight_prop_list = 6;</code>
     */
    public io.grasscutter.net.proto.define.FightPropPairOrBuilder getFightPropListOrBuilder(
        int index) {
      if (fightPropListBuilder_ == null) {
        return fightPropList_.get(index);  } else {
        return fightPropListBuilder_.getMessageOrBuilder(index);
      }
    }
    /**
     * <code>repeated .FightPropPair fight_prop_list = 6;</code>
     */
    public java.util.List<? extends io.grasscutter.net.proto.define.FightPropPairOrBuilder> 
         getFightPropListOrBuilderList() {
      if (fightPropListBuilder_ != null) {
        return fightPropListBuilder_.getMessageOrBuilderList();
      } else {
        return java.util.Collections.unmodifiableList(fightPropList_);
      }
    }
    /**
     * <code>repeated .FightPropPair fight_prop_list = 6;</code>
     */
    public io.grasscutter.net.proto.define.FightPropPair.Builder addFightPropListBuilder() {
      return getFightPropListFieldBuilder().addBuilder(
          io.grasscutter.net.proto.define.FightPropPair.getDefaultInstance());
    }
    /**
     * <code>repeated .FightPropPair fight_prop_list = 6;</code>
     */
    public io.grasscutter.net.proto.define.FightPropPair.Builder addFightPropListBuilder(
        int index) {
      return getFightPropListFieldBuilder().addBuilder(
          index, io.grasscutter.net.proto.define.FightPropPair.getDefaultInstance());
    }
    /**
     * <code>repeated .FightPropPair fight_prop_list = 6;</code>
     */
    public java.util.List<io.grasscutter.net.proto.define.FightPropPair.Builder> 
         getFightPropListBuilderList() {
      return getFightPropListFieldBuilder().getBuilderList();
    }
    private com.google.protobuf.RepeatedFieldBuilderV3<
        io.grasscutter.net.proto.define.FightPropPair, io.grasscutter.net.proto.define.FightPropPair.Builder, io.grasscutter.net.proto.define.FightPropPairOrBuilder> 
        getFightPropListFieldBuilder() {
      if (fightPropListBuilder_ == null) {
        fightPropListBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
            io.grasscutter.net.proto.define.FightPropPair, io.grasscutter.net.proto.define.FightPropPair.Builder, io.grasscutter.net.proto.define.FightPropPairOrBuilder>(
                fightPropList_,
                ((bitField0_ & 0x00000020) != 0),
                getParentForChildren(),
                isClean());
        fightPropList_ = null;
      }
      return fightPropListBuilder_;
    }

    private int lifeState_ ;
    /**
     * <code>uint32 life_state = 7;</code>
     * @return The lifeState.
     */
    @java.lang.Override
    public int getLifeState() {
      return lifeState_;
    }
    /**
     * <code>uint32 life_state = 7;</code>
     * @param value The lifeState to set.
     * @return This builder for chaining.
     */
    public Builder setLifeState(int value) {
      
      lifeState_ = value;
      onChanged();
      return this;
    }
    /**
     * <code>uint32 life_state = 7;</code>
     * @return This builder for chaining.
     */
    public Builder clearLifeState() {
      
      lifeState_ = 0;
      onChanged();
      return this;
    }

    private int lastMoveSceneTimeMs_ ;
    /**
     * <code>uint32 last_move_scene_time_ms = 17;</code>
     * @return The lastMoveSceneTimeMs.
     */
    @java.lang.Override
    public int getLastMoveSceneTimeMs() {
      return lastMoveSceneTimeMs_;
    }
    /**
     * <code>uint32 last_move_scene_time_ms = 17;</code>
     * @param value The lastMoveSceneTimeMs to set.
     * @return This builder for chaining.
     */
    public Builder setLastMoveSceneTimeMs(int value) {
      
      lastMoveSceneTimeMs_ = value;
      onChanged();
      return this;
    }
    /**
     * <code>uint32 last_move_scene_time_ms = 17;</code>
     * @return This builder for chaining.
     */
    public Builder clearLastMoveSceneTimeMs() {
      
      lastMoveSceneTimeMs_ = 0;
      onChanged();
      return this;
    }

    private int lastMoveReliableSeq_ ;
    /**
     * <code>uint32 last_move_reliable_seq = 18;</code>
     * @return The lastMoveReliableSeq.
     */
    @java.lang.Override
    public int getLastMoveReliableSeq() {
      return lastMoveReliableSeq_;
    }
    /**
     * <code>uint32 last_move_reliable_seq = 18;</code>
     * @param value The lastMoveReliableSeq to set.
     * @return This builder for chaining.
     */
    public Builder setLastMoveReliableSeq(int value) {
      
      lastMoveReliableSeq_ = value;
      onChanged();
      return this;
    }
    /**
     * <code>uint32 last_move_reliable_seq = 18;</code>
     * @return This builder for chaining.
     */
    public Builder clearLastMoveReliableSeq() {
      
      lastMoveReliableSeq_ = 0;
      onChanged();
      return this;
    }

    private int entityType_ = 0;
    /**
     * <code>.ProtEntityType entity_type = 1;</code>
     * @return The enum numeric value on the wire for entityType.
     */
    @java.lang.Override public int getEntityTypeValue() {
      return entityType_;
    }
    /**
     * <code>.ProtEntityType entity_type = 1;</code>
     * @param value The enum numeric value on the wire for entityType to set.
     * @return This builder for chaining.
     */
    public Builder setEntityTypeValue(int value) {
      
      entityType_ = value;
      onChanged();
      return this;
    }
    /**
     * <code>.ProtEntityType entity_type = 1;</code>
     * @return The entityType.
     */
    @java.lang.Override
    public io.grasscutter.net.proto.define.ProtEntityType getEntityType() {
      @SuppressWarnings("deprecation")
      io.grasscutter.net.proto.define.ProtEntityType result = io.grasscutter.net.proto.define.ProtEntityType.valueOf(entityType_);
      return result == null ? io.grasscutter.net.proto.define.ProtEntityType.UNRECOGNIZED : result;
    }
    /**
     * <code>.ProtEntityType entity_type = 1;</code>
     * @param value The entityType to set.
     * @return This builder for chaining.
     */
    public Builder setEntityType(io.grasscutter.net.proto.define.ProtEntityType value) {
      if (value == null) {
        throw new NullPointerException();
      }
      
      entityType_ = value.getNumber();
      onChanged();
      return this;
    }
    /**
     * <code>.ProtEntityType entity_type = 1;</code>
     * @return This builder for chaining.
     */
    public Builder clearEntityType() {
      
      entityType_ = 0;
      onChanged();
      return this;
    }

    private com.google.protobuf.SingleFieldBuilderV3<
        io.grasscutter.net.proto.define.SceneNpcInfo, io.grasscutter.net.proto.define.SceneNpcInfo.Builder, io.grasscutter.net.proto.define.SceneNpcInfoOrBuilder> npcBuilder_;
    /**
     * <code>.SceneNpcInfo npc = 12;</code>
     * @return Whether the npc field is set.
     */
    @java.lang.Override
    public boolean hasNpc() {
      return jKPMLNNECOKCase_ == 12;
    }
    /**
     * <code>.SceneNpcInfo npc = 12;</code>
     * @return The npc.
     */
    @java.lang.Override
    public io.grasscutter.net.proto.define.SceneNpcInfo getNpc() {
      if (npcBuilder_ == null) {
        if (jKPMLNNECOKCase_ == 12) {
          return (io.grasscutter.net.proto.define.SceneNpcInfo) jKPMLNNECOK_;
        }
        return io.grasscutter.net.proto.define.SceneNpcInfo.getDefaultInstance();
      } else {
        if (jKPMLNNECOKCase_ == 12) {
          return npcBuilder_.getMessage();
        }
        return io.grasscutter.net.proto.define.SceneNpcInfo.getDefaultInstance();
      }
    }
    /**
     * <code>.SceneNpcInfo npc = 12;</code>
     */
    public Builder setNpc(io.grasscutter.net.proto.define.SceneNpcInfo value) {
      if (npcBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        jKPMLNNECOK_ = value;
        onChanged();
      } else {
        npcBuilder_.setMessage(value);
      }
      jKPMLNNECOKCase_ = 12;
      return this;
    }
    /**
     * <code>.SceneNpcInfo npc = 12;</code>
     */
    public Builder setNpc(
        io.grasscutter.net.proto.define.SceneNpcInfo.Builder builderForValue) {
      if (npcBuilder_ == null) {
        jKPMLNNECOK_ = builderForValue.build();
        onChanged();
      } else {
        npcBuilder_.setMessage(builderForValue.build());
      }
      jKPMLNNECOKCase_ = 12;
      return this;
    }
    /**
     * <code>.SceneNpcInfo npc = 12;</code>
     */
    public Builder mergeNpc(io.grasscutter.net.proto.define.SceneNpcInfo value) {
      if (npcBuilder_ == null) {
        if (jKPMLNNECOKCase_ == 12 &&
            jKPMLNNECOK_ != io.grasscutter.net.proto.define.SceneNpcInfo.getDefaultInstance()) {
          jKPMLNNECOK_ = io.grasscutter.net.proto.define.SceneNpcInfo.newBuilder((io.grasscutter.net.proto.define.SceneNpcInfo) jKPMLNNECOK_)
              .mergeFrom(value).buildPartial();
        } else {
          jKPMLNNECOK_ = value;
        }
        onChanged();
      } else {
        if (jKPMLNNECOKCase_ == 12) {
          npcBuilder_.mergeFrom(value);
        }
        npcBuilder_.setMessage(value);
      }
      jKPMLNNECOKCase_ = 12;
      return this;
    }
    /**
     * <code>.SceneNpcInfo npc = 12;</code>
     */
    public Builder clearNpc() {
      if (npcBuilder_ == null) {
        if (jKPMLNNECOKCase_ == 12) {
          jKPMLNNECOKCase_ = 0;
          jKPMLNNECOK_ = null;
          onChanged();
        }
      } else {
        if (jKPMLNNECOKCase_ == 12) {
          jKPMLNNECOKCase_ = 0;
          jKPMLNNECOK_ = null;
        }
        npcBuilder_.clear();
      }
      return this;
    }
    /**
     * <code>.SceneNpcInfo npc = 12;</code>
     */
    public io.grasscutter.net.proto.define.SceneNpcInfo.Builder getNpcBuilder() {
      return getNpcFieldBuilder().getBuilder();
    }
    /**
     * <code>.SceneNpcInfo npc = 12;</code>
     */
    @java.lang.Override
    public io.grasscutter.net.proto.define.SceneNpcInfoOrBuilder getNpcOrBuilder() {
      if ((jKPMLNNECOKCase_ == 12) && (npcBuilder_ != null)) {
        return npcBuilder_.getMessageOrBuilder();
      } else {
        if (jKPMLNNECOKCase_ == 12) {
          return (io.grasscutter.net.proto.define.SceneNpcInfo) jKPMLNNECOK_;
        }
        return io.grasscutter.net.proto.define.SceneNpcInfo.getDefaultInstance();
      }
    }
    /**
     * <code>.SceneNpcInfo npc = 12;</code>
     */
    private com.google.protobuf.SingleFieldBuilderV3<
        io.grasscutter.net.proto.define.SceneNpcInfo, io.grasscutter.net.proto.define.SceneNpcInfo.Builder, io.grasscutter.net.proto.define.SceneNpcInfoOrBuilder> 
        getNpcFieldBuilder() {
      if (npcBuilder_ == null) {
        if (!(jKPMLNNECOKCase_ == 12)) {
          jKPMLNNECOK_ = io.grasscutter.net.proto.define.SceneNpcInfo.getDefaultInstance();
        }
        npcBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
            io.grasscutter.net.proto.define.SceneNpcInfo, io.grasscutter.net.proto.define.SceneNpcInfo.Builder, io.grasscutter.net.proto.define.SceneNpcInfoOrBuilder>(
                (io.grasscutter.net.proto.define.SceneNpcInfo) jKPMLNNECOK_,
                getParentForChildren(),
                isClean());
        jKPMLNNECOK_ = null;
      }
      jKPMLNNECOKCase_ = 12;
      onChanged();;
      return npcBuilder_;
    }

    private com.google.protobuf.SingleFieldBuilderV3<
        io.grasscutter.net.proto.define.SceneGadgetInfo, io.grasscutter.net.proto.define.SceneGadgetInfo.Builder, io.grasscutter.net.proto.define.SceneGadgetInfoOrBuilder> gadgetBuilder_;
    /**
     * <code>.SceneGadgetInfo gadget = 13;</code>
     * @return Whether the gadget field is set.
     */
    @java.lang.Override
    public boolean hasGadget() {
      return jKPMLNNECOKCase_ == 13;
    }
    /**
     * <code>.SceneGadgetInfo gadget = 13;</code>
     * @return The gadget.
     */
    @java.lang.Override
    public io.grasscutter.net.proto.define.SceneGadgetInfo getGadget() {
      if (gadgetBuilder_ == null) {
        if (jKPMLNNECOKCase_ == 13) {
          return (io.grasscutter.net.proto.define.SceneGadgetInfo) jKPMLNNECOK_;
        }
        return io.grasscutter.net.proto.define.SceneGadgetInfo.getDefaultInstance();
      } else {
        if (jKPMLNNECOKCase_ == 13) {
          return gadgetBuilder_.getMessage();
        }
        return io.grasscutter.net.proto.define.SceneGadgetInfo.getDefaultInstance();
      }
    }
    /**
     * <code>.SceneGadgetInfo gadget = 13;</code>
     */
    public Builder setGadget(io.grasscutter.net.proto.define.SceneGadgetInfo value) {
      if (gadgetBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        jKPMLNNECOK_ = value;
        onChanged();
      } else {
        gadgetBuilder_.setMessage(value);
      }
      jKPMLNNECOKCase_ = 13;
      return this;
    }
    /**
     * <code>.SceneGadgetInfo gadget = 13;</code>
     */
    public Builder setGadget(
        io.grasscutter.net.proto.define.SceneGadgetInfo.Builder builderForValue) {
      if (gadgetBuilder_ == null) {
        jKPMLNNECOK_ = builderForValue.build();
        onChanged();
      } else {
        gadgetBuilder_.setMessage(builderForValue.build());
      }
      jKPMLNNECOKCase_ = 13;
      return this;
    }
    /**
     * <code>.SceneGadgetInfo gadget = 13;</code>
     */
    public Builder mergeGadget(io.grasscutter.net.proto.define.SceneGadgetInfo value) {
      if (gadgetBuilder_ == null) {
        if (jKPMLNNECOKCase_ == 13 &&
            jKPMLNNECOK_ != io.grasscutter.net.proto.define.SceneGadgetInfo.getDefaultInstance()) {
          jKPMLNNECOK_ = io.grasscutter.net.proto.define.SceneGadgetInfo.newBuilder((io.grasscutter.net.proto.define.SceneGadgetInfo) jKPMLNNECOK_)
              .mergeFrom(value).buildPartial();
        } else {
          jKPMLNNECOK_ = value;
        }
        onChanged();
      } else {
        if (jKPMLNNECOKCase_ == 13) {
          gadgetBuilder_.mergeFrom(value);
        }
        gadgetBuilder_.setMessage(value);
      }
      jKPMLNNECOKCase_ = 13;
      return this;
    }
    /**
     * <code>.SceneGadgetInfo gadget = 13;</code>
     */
    public Builder clearGadget() {
      if (gadgetBuilder_ == null) {
        if (jKPMLNNECOKCase_ == 13) {
          jKPMLNNECOKCase_ = 0;
          jKPMLNNECOK_ = null;
          onChanged();
        }
      } else {
        if (jKPMLNNECOKCase_ == 13) {
          jKPMLNNECOKCase_ = 0;
          jKPMLNNECOK_ = null;
        }
        gadgetBuilder_.clear();
      }
      return this;
    }
    /**
     * <code>.SceneGadgetInfo gadget = 13;</code>
     */
    public io.grasscutter.net.proto.define.SceneGadgetInfo.Builder getGadgetBuilder() {
      return getGadgetFieldBuilder().getBuilder();
    }
    /**
     * <code>.SceneGadgetInfo gadget = 13;</code>
     */
    @java.lang.Override
    public io.grasscutter.net.proto.define.SceneGadgetInfoOrBuilder getGadgetOrBuilder() {
      if ((jKPMLNNECOKCase_ == 13) && (gadgetBuilder_ != null)) {
        return gadgetBuilder_.getMessageOrBuilder();
      } else {
        if (jKPMLNNECOKCase_ == 13) {
          return (io.grasscutter.net.proto.define.SceneGadgetInfo) jKPMLNNECOK_;
        }
        return io.grasscutter.net.proto.define.SceneGadgetInfo.getDefaultInstance();
      }
    }
    /**
     * <code>.SceneGadgetInfo gadget = 13;</code>
     */
    private com.google.protobuf.SingleFieldBuilderV3<
        io.grasscutter.net.proto.define.SceneGadgetInfo, io.grasscutter.net.proto.define.SceneGadgetInfo.Builder, io.grasscutter.net.proto.define.SceneGadgetInfoOrBuilder> 
        getGadgetFieldBuilder() {
      if (gadgetBuilder_ == null) {
        if (!(jKPMLNNECOKCase_ == 13)) {
          jKPMLNNECOK_ = io.grasscutter.net.proto.define.SceneGadgetInfo.getDefaultInstance();
        }
        gadgetBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
            io.grasscutter.net.proto.define.SceneGadgetInfo, io.grasscutter.net.proto.define.SceneGadgetInfo.Builder, io.grasscutter.net.proto.define.SceneGadgetInfoOrBuilder>(
                (io.grasscutter.net.proto.define.SceneGadgetInfo) jKPMLNNECOK_,
                getParentForChildren(),
                isClean());
        jKPMLNNECOK_ = null;
      }
      jKPMLNNECOKCase_ = 13;
      onChanged();;
      return gadgetBuilder_;
    }

    private com.google.protobuf.SingleFieldBuilderV3<
        io.grasscutter.net.proto.define.SceneMonsterInfo, io.grasscutter.net.proto.define.SceneMonsterInfo.Builder, io.grasscutter.net.proto.define.SceneMonsterInfoOrBuilder> monsterBuilder_;
    /**
     * <code>.SceneMonsterInfo monster = 11;</code>
     * @return Whether the monster field is set.
     */
    @java.lang.Override
    public boolean hasMonster() {
      return jKPMLNNECOKCase_ == 11;
    }
    /**
     * <code>.SceneMonsterInfo monster = 11;</code>
     * @return The monster.
     */
    @java.lang.Override
    public io.grasscutter.net.proto.define.SceneMonsterInfo getMonster() {
      if (monsterBuilder_ == null) {
        if (jKPMLNNECOKCase_ == 11) {
          return (io.grasscutter.net.proto.define.SceneMonsterInfo) jKPMLNNECOK_;
        }
        return io.grasscutter.net.proto.define.SceneMonsterInfo.getDefaultInstance();
      } else {
        if (jKPMLNNECOKCase_ == 11) {
          return monsterBuilder_.getMessage();
        }
        return io.grasscutter.net.proto.define.SceneMonsterInfo.getDefaultInstance();
      }
    }
    /**
     * <code>.SceneMonsterInfo monster = 11;</code>
     */
    public Builder setMonster(io.grasscutter.net.proto.define.SceneMonsterInfo value) {
      if (monsterBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        jKPMLNNECOK_ = value;
        onChanged();
      } else {
        monsterBuilder_.setMessage(value);
      }
      jKPMLNNECOKCase_ = 11;
      return this;
    }
    /**
     * <code>.SceneMonsterInfo monster = 11;</code>
     */
    public Builder setMonster(
        io.grasscutter.net.proto.define.SceneMonsterInfo.Builder builderForValue) {
      if (monsterBuilder_ == null) {
        jKPMLNNECOK_ = builderForValue.build();
        onChanged();
      } else {
        monsterBuilder_.setMessage(builderForValue.build());
      }
      jKPMLNNECOKCase_ = 11;
      return this;
    }
    /**
     * <code>.SceneMonsterInfo monster = 11;</code>
     */
    public Builder mergeMonster(io.grasscutter.net.proto.define.SceneMonsterInfo value) {
      if (monsterBuilder_ == null) {
        if (jKPMLNNECOKCase_ == 11 &&
            jKPMLNNECOK_ != io.grasscutter.net.proto.define.SceneMonsterInfo.getDefaultInstance()) {
          jKPMLNNECOK_ = io.grasscutter.net.proto.define.SceneMonsterInfo.newBuilder((io.grasscutter.net.proto.define.SceneMonsterInfo) jKPMLNNECOK_)
              .mergeFrom(value).buildPartial();
        } else {
          jKPMLNNECOK_ = value;
        }
        onChanged();
      } else {
        if (jKPMLNNECOKCase_ == 11) {
          monsterBuilder_.mergeFrom(value);
        }
        monsterBuilder_.setMessage(value);
      }
      jKPMLNNECOKCase_ = 11;
      return this;
    }
    /**
     * <code>.SceneMonsterInfo monster = 11;</code>
     */
    public Builder clearMonster() {
      if (monsterBuilder_ == null) {
        if (jKPMLNNECOKCase_ == 11) {
          jKPMLNNECOKCase_ = 0;
          jKPMLNNECOK_ = null;
          onChanged();
        }
      } else {
        if (jKPMLNNECOKCase_ == 11) {
          jKPMLNNECOKCase_ = 0;
          jKPMLNNECOK_ = null;
        }
        monsterBuilder_.clear();
      }
      return this;
    }
    /**
     * <code>.SceneMonsterInfo monster = 11;</code>
     */
    public io.grasscutter.net.proto.define.SceneMonsterInfo.Builder getMonsterBuilder() {
      return getMonsterFieldBuilder().getBuilder();
    }
    /**
     * <code>.SceneMonsterInfo monster = 11;</code>
     */
    @java.lang.Override
    public io.grasscutter.net.proto.define.SceneMonsterInfoOrBuilder getMonsterOrBuilder() {
      if ((jKPMLNNECOKCase_ == 11) && (monsterBuilder_ != null)) {
        return monsterBuilder_.getMessageOrBuilder();
      } else {
        if (jKPMLNNECOKCase_ == 11) {
          return (io.grasscutter.net.proto.define.SceneMonsterInfo) jKPMLNNECOK_;
        }
        return io.grasscutter.net.proto.define.SceneMonsterInfo.getDefaultInstance();
      }
    }
    /**
     * <code>.SceneMonsterInfo monster = 11;</code>
     */
    private com.google.protobuf.SingleFieldBuilderV3<
        io.grasscutter.net.proto.define.SceneMonsterInfo, io.grasscutter.net.proto.define.SceneMonsterInfo.Builder, io.grasscutter.net.proto.define.SceneMonsterInfoOrBuilder> 
        getMonsterFieldBuilder() {
      if (monsterBuilder_ == null) {
        if (!(jKPMLNNECOKCase_ == 11)) {
          jKPMLNNECOK_ = io.grasscutter.net.proto.define.SceneMonsterInfo.getDefaultInstance();
        }
        monsterBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
            io.grasscutter.net.proto.define.SceneMonsterInfo, io.grasscutter.net.proto.define.SceneMonsterInfo.Builder, io.grasscutter.net.proto.define.SceneMonsterInfoOrBuilder>(
                (io.grasscutter.net.proto.define.SceneMonsterInfo) jKPMLNNECOK_,
                getParentForChildren(),
                isClean());
        jKPMLNNECOK_ = null;
      }
      jKPMLNNECOKCase_ = 11;
      onChanged();;
      return monsterBuilder_;
    }

    private com.google.protobuf.SingleFieldBuilderV3<
        io.grasscutter.net.proto.define.NAPNKPIHEBF, io.grasscutter.net.proto.define.NAPNKPIHEBF.Builder, io.grasscutter.net.proto.define.NAPNKPIHEBFOrBuilder> avatarBuilder_;
    /**
     * <code>.NAPNKPIHEBF avatar = 10;</code>
     * @return Whether the avatar field is set.
     */
    @java.lang.Override
    public boolean hasAvatar() {
      return jKPMLNNECOKCase_ == 10;
    }
    /**
     * <code>.NAPNKPIHEBF avatar = 10;</code>
     * @return The avatar.
     */
    @java.lang.Override
    public io.grasscutter.net.proto.define.NAPNKPIHEBF getAvatar() {
      if (avatarBuilder_ == null) {
        if (jKPMLNNECOKCase_ == 10) {
          return (io.grasscutter.net.proto.define.NAPNKPIHEBF) jKPMLNNECOK_;
        }
        return io.grasscutter.net.proto.define.NAPNKPIHEBF.getDefaultInstance();
      } else {
        if (jKPMLNNECOKCase_ == 10) {
          return avatarBuilder_.getMessage();
        }
        return io.grasscutter.net.proto.define.NAPNKPIHEBF.getDefaultInstance();
      }
    }
    /**
     * <code>.NAPNKPIHEBF avatar = 10;</code>
     */
    public Builder setAvatar(io.grasscutter.net.proto.define.NAPNKPIHEBF value) {
      if (avatarBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        jKPMLNNECOK_ = value;
        onChanged();
      } else {
        avatarBuilder_.setMessage(value);
      }
      jKPMLNNECOKCase_ = 10;
      return this;
    }
    /**
     * <code>.NAPNKPIHEBF avatar = 10;</code>
     */
    public Builder setAvatar(
        io.grasscutter.net.proto.define.NAPNKPIHEBF.Builder builderForValue) {
      if (avatarBuilder_ == null) {
        jKPMLNNECOK_ = builderForValue.build();
        onChanged();
      } else {
        avatarBuilder_.setMessage(builderForValue.build());
      }
      jKPMLNNECOKCase_ = 10;
      return this;
    }
    /**
     * <code>.NAPNKPIHEBF avatar = 10;</code>
     */
    public Builder mergeAvatar(io.grasscutter.net.proto.define.NAPNKPIHEBF value) {
      if (avatarBuilder_ == null) {
        if (jKPMLNNECOKCase_ == 10 &&
            jKPMLNNECOK_ != io.grasscutter.net.proto.define.NAPNKPIHEBF.getDefaultInstance()) {
          jKPMLNNECOK_ = io.grasscutter.net.proto.define.NAPNKPIHEBF.newBuilder((io.grasscutter.net.proto.define.NAPNKPIHEBF) jKPMLNNECOK_)
              .mergeFrom(value).buildPartial();
        } else {
          jKPMLNNECOK_ = value;
        }
        onChanged();
      } else {
        if (jKPMLNNECOKCase_ == 10) {
          avatarBuilder_.mergeFrom(value);
        }
        avatarBuilder_.setMessage(value);
      }
      jKPMLNNECOKCase_ = 10;
      return this;
    }
    /**
     * <code>.NAPNKPIHEBF avatar = 10;</code>
     */
    public Builder clearAvatar() {
      if (avatarBuilder_ == null) {
        if (jKPMLNNECOKCase_ == 10) {
          jKPMLNNECOKCase_ = 0;
          jKPMLNNECOK_ = null;
          onChanged();
        }
      } else {
        if (jKPMLNNECOKCase_ == 10) {
          jKPMLNNECOKCase_ = 0;
          jKPMLNNECOK_ = null;
        }
        avatarBuilder_.clear();
      }
      return this;
    }
    /**
     * <code>.NAPNKPIHEBF avatar = 10;</code>
     */
    public io.grasscutter.net.proto.define.NAPNKPIHEBF.Builder getAvatarBuilder() {
      return getAvatarFieldBuilder().getBuilder();
    }
    /**
     * <code>.NAPNKPIHEBF avatar = 10;</code>
     */
    @java.lang.Override
    public io.grasscutter.net.proto.define.NAPNKPIHEBFOrBuilder getAvatarOrBuilder() {
      if ((jKPMLNNECOKCase_ == 10) && (avatarBuilder_ != null)) {
        return avatarBuilder_.getMessageOrBuilder();
      } else {
        if (jKPMLNNECOKCase_ == 10) {
          return (io.grasscutter.net.proto.define.NAPNKPIHEBF) jKPMLNNECOK_;
        }
        return io.grasscutter.net.proto.define.NAPNKPIHEBF.getDefaultInstance();
      }
    }
    /**
     * <code>.NAPNKPIHEBF avatar = 10;</code>
     */
    private com.google.protobuf.SingleFieldBuilderV3<
        io.grasscutter.net.proto.define.NAPNKPIHEBF, io.grasscutter.net.proto.define.NAPNKPIHEBF.Builder, io.grasscutter.net.proto.define.NAPNKPIHEBFOrBuilder> 
        getAvatarFieldBuilder() {
      if (avatarBuilder_ == null) {
        if (!(jKPMLNNECOKCase_ == 10)) {
          jKPMLNNECOK_ = io.grasscutter.net.proto.define.NAPNKPIHEBF.getDefaultInstance();
        }
        avatarBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
            io.grasscutter.net.proto.define.NAPNKPIHEBF, io.grasscutter.net.proto.define.NAPNKPIHEBF.Builder, io.grasscutter.net.proto.define.NAPNKPIHEBFOrBuilder>(
                (io.grasscutter.net.proto.define.NAPNKPIHEBF) jKPMLNNECOK_,
                getParentForChildren(),
                isClean());
        jKPMLNNECOK_ = null;
      }
      jKPMLNNECOKCase_ = 10;
      onChanged();;
      return avatarBuilder_;
    }

    private int entityId_ ;
    /**
     * <code>uint32 entity_id = 2;</code>
     * @return The entityId.
     */
    @java.lang.Override
    public int getEntityId() {
      return entityId_;
    }
    /**
     * <code>uint32 entity_id = 2;</code>
     * @param value The entityId to set.
     * @return This builder for chaining.
     */
    public Builder setEntityId(int value) {
      
      entityId_ = value;
      onChanged();
      return this;
    }
    /**
     * <code>uint32 entity_id = 2;</code>
     * @return This builder for chaining.
     */
    public Builder clearEntityId() {
      
      entityId_ = 0;
      onChanged();
      return this;
    }
    @java.lang.Override
    public final Builder setUnknownFields(
        final com.google.protobuf.UnknownFieldSet unknownFields) {
      return super.setUnknownFields(unknownFields);
    }

    @java.lang.Override
    public final Builder mergeUnknownFields(
        final com.google.protobuf.UnknownFieldSet unknownFields) {
      return super.mergeUnknownFields(unknownFields);
    }


    // @@protoc_insertion_point(builder_scope:SceneEntityInfo)
  }

  // @@protoc_insertion_point(class_scope:SceneEntityInfo)
  private static final io.grasscutter.net.proto.define.SceneEntityInfo DEFAULT_INSTANCE;
  static {
    DEFAULT_INSTANCE = new io.grasscutter.net.proto.define.SceneEntityInfo();
  }

  public static io.grasscutter.net.proto.define.SceneEntityInfo getDefaultInstance() {
    return DEFAULT_INSTANCE;
  }

  private static final com.google.protobuf.Parser<SceneEntityInfo>
      PARSER = new com.google.protobuf.AbstractParser<SceneEntityInfo>() {
    @java.lang.Override
    public SceneEntityInfo parsePartialFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return new SceneEntityInfo(input, extensionRegistry);
    }
  };

  public static com.google.protobuf.Parser<SceneEntityInfo> parser() {
    return PARSER;
  }

  @java.lang.Override
  public com.google.protobuf.Parser<SceneEntityInfo> getParserForType() {
    return PARSER;
  }

  @java.lang.Override
  public io.grasscutter.net.proto.define.SceneEntityInfo getDefaultInstanceForType() {
    return DEFAULT_INSTANCE;
  }

}

