content: // Generated by the protocol buffer compiler.  DO NOT EDIT!
  // source: SceneEntityInfo.proto
  
  package emu.grasscutter.net.proto;
  
  public final class SceneEntityInfoOuterClass {
    private SceneEntityInfoOuterClass() {}
    public static void registerAllExtensions(
        com.google.protobuf.ExtensionRegistryLite registry) {
    }
  
    public static void registerAllExtensions(
        com.google.protobuf.ExtensionRegistry registry) {
      registerAllExtensions(
          (com.google.protobuf.ExtensionRegistryLite) registry);
    }
    public interface SceneEntityInfoOrBuilder extends
        // @@protoc_insertion_point(interface_extends:SceneEntityInfo)
        com.google.protobuf.MessageOrBuilder {
  
      /**
       * <code>.ProtEntityType entityType = 1;</code>
       * @return The enum numeric value on the wire for entityType.
       */
      int getEntityTypeValue();
      /**
       * <code>.ProtEntityType entityType = 1;</code>
       * @return The entityType.
       */
      emu.grasscutter.net.proto.ProtEntityTypeOuterClass.ProtEntityType getEntityType();
  
      /**
       * <code>uint32 entityId = 2;</code>
       * @return The entityId.
       */
      int getEntityId();
  
      /**
       * <code>string createTime = 3;</code>
       * @return The createTime.
       */
      java.lang.String getCreateTime();
      /**
       * <code>string createTime = 3;</code>
       * @return The bytes for createTime.
       */
      com.google.protobuf.ByteString
          getCreateTimeBytes();
  
      /**
       * <code>.MotionInfo motionInfo = 4;</code>
       * @return Whether the motionInfo field is set.
       */
      boolean hasMotionInfo();
      /**
       * <code>.MotionInfo motionInfo = 4;</code>
       * @return The motionInfo.
       */
      emu.grasscutter.net.proto.MotionInfoOuterClass.MotionInfo getMotionInfo();
      /**
       * <code>.MotionInfo motionInfo = 4;</code>
       */
      emu.grasscutter.net.proto.MotionInfoOuterClass.MotionInfoOrBuilder getMotionInfoOrBuilder();
  
      /**
       * <code>repeated .PropPair propList = 5;</code>
       */
      java.util.List<emu.grasscutter.net.proto.PropPairOuterClass.PropPair> 
          getPropListList();
      /**
       * <code>repeated .PropPair propList = 5;</code>
       */
      emu.grasscutter.net.proto.PropPairOuterClass.PropPair getPropList(int index);
      /**
       * <code>repeated .PropPair propList = 5;</code>
       */
      int getPropListCount();
      /**
       * <code>repeated .PropPair propList = 5;</code>
       */
      java.util.List<? extends emu.grasscutter.net.proto.PropPairOuterClass.PropPairOrBuilder> 
          getPropListOrBuilderList();
      /**
       * <code>repeated .PropPair propList = 5;</code>
       */
      emu.grasscutter.net.proto.PropPairOuterClass.PropPairOrBuilder getPropListOrBuilder(
          int index);
  
      /**
       * <code>repeated .FightPropPair fightPropList = 6;</code>
       */
      java.util.List<emu.grasscutter.net.proto.FightPropPairOuterClass.FightPropPair> 
          getFightPropListList();
      /**
       * <code>repeated .FightPropPair fightPropList = 6;</code>
       */
      emu.grasscutter.net.proto.FightPropPairOuterClass.FightPropPair getFightPropList(int index);
      /**
       * <code>repeated .FightPropPair fightPropList = 6;</code>
       */
      int getFightPropListCount();
      /**
       * <code>repeated .FightPropPair fightPropList = 6;</code>
       */
      java.util.List<? extends emu.grasscutter.net.proto.FightPropPairOuterClass.FightPropPairOrBuilder> 
          getFightPropListOrBuilderList();
      /**
       * <code>repeated .FightPropPair fightPropList = 6;</code>
       */
      emu.grasscutter.net.proto.FightPropPairOuterClass.FightPropPairOrBuilder getFightPropListOrBuilder(
          int index);
  
      /**
       * <code>uint32 lifeState = 7;</code>
       * @return The lifeState.
       */
      int getLifeState();
  
      /**
       * <code>repeated .AnimatorParameterValueInfoPair animatorParaList = 9;</code>
       */
      java.util.List<emu.grasscutter.net.proto.AnimatorParameterValueInfoPairOuterClass.AnimatorParameterValueInfoPair> 
          getAnimatorParaListList();
      /**
       * <code>repeated .AnimatorParameterValueInfoPair animatorParaList = 9;</code>
       */
      emu.grasscutter.net.proto.AnimatorParameterValueInfoPairOuterClass.AnimatorParameterValueInfoPair getAnimatorParaList(int index);
      /**
       * <code>repeated .AnimatorParameterValueInfoPair animatorParaList = 9;</code>
       */
      int getAnimatorParaListCount();
      /**
       * <code>repeated .AnimatorParameterValueInfoPair animatorParaList = 9;</code>
       */
      java.util.List<? extends emu.grasscutter.net.proto.AnimatorParameterValueInfoPairOuterClass.AnimatorParameterValueInfoPairOrBuilder> 
          getAnimatorParaListOrBuilderList();
      /**
       * <code>repeated .AnimatorParameterValueInfoPair animatorParaList = 9;</code>
       */
      emu.grasscutter.net.proto.AnimatorParameterValueInfoPairOuterClass.AnimatorParameterValueInfoPairOrBuilder getAnimatorParaListOrBuilder(
          int index);
  
      /**
       * <code>.SceneAvatarInfo avatar = 10;</code>
       * @return Whether the avatar field is set.
       */
      boolean hasAvatar();
      /**
       * <code>.SceneAvatarInfo avatar = 10;</code>
       * @return The avatar.
       */
      emu.grasscutter.net.proto.SceneAvatarInfoOuterClass.SceneAvatarInfo getAvatar();
      /**
       * <code>.SceneAvatarInfo avatar = 10;</code>
       */
      emu.grasscutter.net.proto.SceneAvatarInfoOuterClass.SceneAvatarInfoOrBuilder getAvatarOrBuilder();
  
      /**
       * <code>.SceneMonsterInfo monster = 11;</code>
       * @return Whether the monster field is set.
       */
      boolean hasMonster();
      /**
       * <code>.SceneMonsterInfo monster = 11;</code>
       * @return The monster.
       */
      emu.grasscutter.net.proto.SceneMonsterInfoOuterClass.SceneMonsterInfo getMonster();
      /**
       * <code>.SceneMonsterInfo monster = 11;</code>
       */
      emu.grasscutter.net.proto.SceneMonsterInfoOuterClass.SceneMonsterInfoOrBuilder getMonsterOrBuilder();
  
      /**
       * <code>.SceneNpcInfo npc = 12;</code>
       * @return Whether the npc field is set.
       */
      boolean hasNpc();
      /**
       * <code>.SceneNpcInfo npc = 12;</code>
       * @return The npc.
       */
      emu.grasscutter.net.proto.SceneNpcInfoOuterClass.SceneNpcInfo getNpc();
      /**
       * <code>.SceneNpcInfo npc = 12;</code>
       */
      emu.grasscutter.net.proto.SceneNpcInfoOuterClass.SceneNpcInfoOrBuilder getNpcOrBuilder();
  
      /**
       * <code>.SceneGadgetInfo gadget = 13;</code>
       * @return Whether the gadget field is set.
       */
      boolean hasGadget();
      /**
       * <code>.SceneGadgetInfo gadget = 13;</code>
       * @return The gadget.
       */
      emu.grasscutter.net.proto.SceneGadgetInfoOuterClass.SceneGadgetInfo getGadget();
      /**
       * <code>.SceneGadgetInfo gadget = 13;</code>
       */
      emu.grasscutter.net.proto.SceneGadgetInfoOuterClass.SceneGadgetInfoOrBuilder getGadgetOrBuilder();
  
      /**
       * <code>uint32 lastMoveSceneTimeMs = 17;</code>
       * @return The lastMoveSceneTimeMs.
       */
      int getLastMoveSceneTimeMs();
  
      /**
       * <code>uint32 lastMoveReliableSeq = 18;</code>
       * @return The lastMoveReliableSeq.
       */
      int getLastMoveReliableSeq();
  
      /**
       * <code>.EntityClientData entityClientData = 19;</code>
       * @return Whether the entityClientData field is set.
       */
      boolean hasEntityClientData();
      /**
       * <code>.EntityClientData entityClientData = 19;</code>
       * @return The entityClientData.
       */
      emu.grasscutter.net.proto.EntityClientDataOuterClass.EntityClientData getEntityClientData();
      /**
       * <code>.EntityClientData entityClientData = 19;</code>
       */
      emu.grasscutter.net.proto.EntityClientDataOuterClass.EntityClientDataOrBuilder getEntityClientDataOrBuilder();
  
      /**
       * <code>repeated .EntityEnvironmentInfo entityEnvironmentInfoList = 20;</code>
       */
      java.util.List<emu.grasscutter.net.proto.EntityEnvironmentInfoOuterClass.EntityEnvironmentInfo> 
          getEntityEnvironmentInfoListList();
      /**
       * <code>repeated .EntityEnvironmentInfo entityEnvironmentInfoList = 20;</code>
       */
      emu.grasscutter.net.proto.EntityEnvironmentInfoOuterClass.EntityEnvironmentInfo getEntityEnvironmentInfoList(int index);
      /**
       * <code>repeated .EntityEnvironmentInfo entityEnvironmentInfoList = 20;</code>
       */
      int getEntityEnvironmentInfoListCount();
      /**
       * <code>repeated .EntityEnvironmentInfo entityEnvironmentInfoList = 20;</code>
       */
      java.util.List<? extends emu.grasscutter.net.proto.EntityEnvironmentInfoOuterClass.EntityEnvironmentInfoOrBuilder> 
          getEntityEnvironmentInfoListOrBuilderList();
      /**
       * <code>repeated .EntityEnvironmentInfo entityEnvironmentInfoList = 20;</code>
       */
      emu.grasscutter.net.proto.EntityEnvironmentInfoOuterClass.EntityEnvironmentInfoOrBuilder getEntityEnvironmentInfoListOrBuilder(
          int index);
  
      /**
       * <code>.EntityAuthorityInfo entityAuthorityInfo = 21;</code>
       * @return Whether the entityAuthorityInfo field is set.
       */
      boolean hasEntityAuthorityInfo();
      /**
       * <code>.EntityAuthorityInfo entityAuthorityInfo = 21;</code>
       * @return The entityAuthorityInfo.
       */
      emu.grasscutter.net.proto.EntityAuthorityInfoOuterClass.EntityAuthorityInfo getEntityAuthorityInfo();
      /**
       * <code>.EntityAuthorityInfo entityAuthorityInfo = 21;</code>
       */
      emu.grasscutter.net.proto.EntityAuthorityInfoOuterClass.EntityAuthorityInfoOrBuilder getEntityAuthorityInfoOrBuilder();
  
      /**
       * <code>repeated string tagList = 22;</code>
       * @return A list containing the tagList.
       */
      java.util.List<java.lang.String>
          getTagListList();
      /**
       * <code>repeated string tagList = 22;</code>
       * @return The count of tagList.
       */
      int getTagListCount();
      /**
       * <code>repeated string tagList = 22;</code>
       * @param index The index of the element to return.
       * @return The tagList at the given index.
       */
      java.lang.String getTagList(int index);
      /**
       * <code>repeated string tagList = 22;</code>
       * @param index The index of the value to return.
       * @return The bytes of the tagList at the given index.
       */
      com.google.protobuf.ByteString
          getTagListBytes(int index);
  
      /**
       * <code>repeated .ServerBuff serverBuffList = 23;</code>
       */
      java.util.List<emu.grasscutter.net.proto.ServerBuffOuterClass.ServerBuff> 
          getServerBuffListList();
      /**
       * <code>repeated .ServerBuff serverBuffList = 23;</code>
       */
      emu.grasscutter.net.proto.ServerBuffOuterClass.ServerBuff getServerBuffList(int index);
      /**
       * <code>repeated .ServerBuff serverBuffList = 23;</code>
       */
      int getServerBuffListCount();
      /**
       * <code>repeated .ServerBuff serverBuffList = 23;</code>
       */
      java.util.List<? extends emu.grasscutter.net.proto.ServerBuffOuterClass.ServerBuffOrBuilder> 
          getServerBuffListOrBuilderList();
      /**
       * <code>repeated .ServerBuff serverBuffList = 23;</code>
       */
      emu.grasscutter.net.proto.ServerBuffOuterClass.ServerBuffOrBuilder getServerBuffListOrBuilder(
          int index);
  
      public emu.grasscutter.net.proto.SceneEntityInfoOuterClass.SceneEntityInfo.EntityCase getEntityCase();
    }
    /**
     * Protobuf type {@code SceneEntityInfo}
     */
    public static 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() {
        entityType_ = 0;
        createTime_ = "";
        propList_ = java.util.Collections.emptyList();
        fightPropList_ = java.util.Collections.emptyList();
        animatorParaList_ = java.util.Collections.emptyList();
        entityEnvironmentInfoList_ = java.util.Collections.emptyList();
        tagList_ = com.google.protobuf.LazyStringArrayList.EMPTY;
        serverBuffList_ = java.util.Collections.emptyList();
      }
  
      @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();
  
                createTime_ = s;
                break;
              }
              case 34: {
                emu.grasscutter.net.proto.MotionInfoOuterClass.MotionInfo.Builder subBuilder = null;
                if (motionInfo_ != null) {
                  subBuilder = motionInfo_.toBuilder();
                }
                motionInfo_ = input.readMessage(emu.grasscutter.net.proto.MotionInfoOuterClass.MotionInfo.parser(), extensionRegistry);
                if (subBuilder != null) {
                  subBuilder.mergeFrom(motionInfo_);
                  motionInfo_ = subBuilder.buildPartial();
                }
  
                break;
              }
              case 42: {
                if (!((mutable_bitField0_ & 0x00000001) != 0)) {
                  propList_ = new java.util.ArrayList<emu.grasscutter.net.proto.PropPairOuterClass.PropPair>();
                  mutable_bitField0_ |= 0x00000001;
                }
                propList_.add(
                    input.readMessage(emu.grasscutter.net.proto.PropPairOuterClass.PropPair.parser(), extensionRegistry));
                break;
              }
              case 50: {
                if (!((mutable_bitField0_ & 0x00000002) != 0)) {
                  fightPropList_ = new java.util.ArrayList<emu.grasscutter.net.proto.FightPropPairOuterClass.FightPropPair>();
                  mutable_bitField0_ |= 0x00000002;
                }
                fightPropList_.add(
                    input.readMessage(emu.grasscutter.net.proto.FightPropPairOuterClass.FightPropPair.parser(), extensionRegistry));
                break;
              }
              case 56: {
  
                lifeState_ = input.readUInt32();
                break;
              }
              case 74: {
                if (!((mutable_bitField0_ & 0x00000004) != 0)) {
                  animatorParaList_ = new java.util.ArrayList<emu.grasscutter.net.proto.AnimatorParameterValueInfoPairOuterClass.AnimatorParameterValueInfoPair>();
                  mutable_bitField0_ |= 0x00000004;
                }
                animatorParaList_.add(
                    input.readMessage(emu.grasscutter.net.proto.AnimatorParameterValueInfoPairOuterClass.AnimatorParameterValueInfoPair.parser(), extensionRegistry));
                break;
              }
              case 82: {
                emu.grasscutter.net.proto.SceneAvatarInfoOuterClass.SceneAvatarInfo.Builder subBuilder = null;
                if (entityCase_ == 10) {
                  subBuilder = ((emu.grasscutter.net.proto.SceneAvatarInfoOuterClass.SceneAvatarInfo) entity_).toBuilder();
                }
                entity_ =
                    input.readMessage(emu.grasscutter.net.proto.SceneAvatarInfoOuterClass.SceneAvatarInfo.parser(), extensionRegistry);
                if (subBuilder != null) {
                  subBuilder.mergeFrom((emu.grasscutter.net.proto.SceneAvatarInfoOuterClass.SceneAvatarInfo) entity_);
                  entity_ = subBuilder.buildPartial();
                }
                entityCase_ = 10;
                break;
              }
              case 90: {
                emu.grasscutter.net.proto.SceneMonsterInfoOuterClass.SceneMonsterInfo.Builder subBuilder = null;
                if (entityCase_ == 11) {
                  subBuilder = ((emu.grasscutter.net.proto.SceneMonsterInfoOuterClass.SceneMonsterInfo) entity_).toBuilder();
                }
                entity_ =
                    input.readMessage(emu.grasscutter.net.proto.SceneMonsterInfoOuterClass.SceneMonsterInfo.parser(), extensionRegistry);
                if (subBuilder != null) {
                  subBuilder.mergeFrom((emu.grasscutter.net.proto.SceneMonsterInfoOuterClass.SceneMonsterInfo) entity_);
                  entity_ = subBuilder.buildPartial();
                }
                entityCase_ = 11;
                break;
              }
              case 98: {
                emu.grasscutter.net.proto.SceneNpcInfoOuterClass.SceneNpcInfo.Builder subBuilder = null;
                if (entityCase_ == 12) {
                  subBuilder = ((emu.grasscutter.net.proto.SceneNpcInfoOuterClass.SceneNpcInfo) entity_).toBuilder();
                }
                entity_ =
                    input.readMessage(emu.grasscutter.net.proto.SceneNpcInfoOuterClass.SceneNpcInfo.parser(), extensionRegistry);
                if (subBuilder != null) {
                  subBuilder.mergeFrom((emu.grasscutter.net.proto.SceneNpcInfoOuterClass.SceneNpcInfo) entity_);
                  entity_ = subBuilder.buildPartial();
                }
                entityCase_ = 12;
                break;
              }
              case 106: {
                emu.grasscutter.net.proto.SceneGadgetInfoOuterClass.SceneGadgetInfo.Builder subBuilder = null;
                if (entityCase_ == 13) {
                  subBuilder = ((emu.grasscutter.net.proto.SceneGadgetInfoOuterClass.SceneGadgetInfo) entity_).toBuilder();
                }
                entity_ =
                    input.readMessage(emu.grasscutter.net.proto.SceneGadgetInfoOuterClass.SceneGadgetInfo.parser(), extensionRegistry);
                if (subBuilder != null) {
                  subBuilder.mergeFrom((emu.grasscutter.net.proto.SceneGadgetInfoOuterClass.SceneGadgetInfo) entity_);
                  entity_ = subBuilder.buildPartial();
                }
                entityCase_ = 13;
                break;
              }
              case 136: {
  
                lastMoveSceneTimeMs_ = input.readUInt32();
                break;
              }
              case 144: {
  
                lastMoveReliableSeq_ = input.readUInt32();
                break;
              }
              case 154: {
                emu.grasscutter.net.proto.EntityClientDataOuterClass.EntityClientData.Builder subBuilder = null;
                if (entityClientData_ != null) {
                  subBuilder = entityClientData_.toBuilder();
                }
                entityClientData_ = input.readMessage(emu.grasscutter.net.proto.EntityClientDataOuterClass.EntityClientData.parser(), extensionRegistry);
                if (subBuilder != null) {
                  subBuilder.mergeFrom(entityClientData_);
                  entityClientData_ = subBuilder.buildPartial();
                }
  
                break;
              }
              case 162: {
                if (!((mutable_bitField0_ & 0x00000008) != 0)) {
                  entityEnvironmentInfoList_ = new java.util.ArrayList<emu.grasscutter.net.proto.EntityEnvironmentInfoOuterClass.EntityEnvironmentInfo>();
                  mutable_bitField0_ |= 0x00000008;
                }
                entityEnvironmentInfoList_.add(
                    input.readMessage(emu.grasscutter.net.proto.EntityEnvironmentInfoOuterClass.EntityEnvironmentInfo.parser(), extensionRegistry));
                break;
              }
              case 170: {
                emu.grasscutter.net.proto.EntityAuthorityInfoOuterClass.EntityAuthorityInfo.Builder subBuilder = null;
                if (entityAuthorityInfo_ != null) {
                  subBuilder = entityAuthorityInfo_.toBuilder();
                }
                entityAuthorityInfo_ = input.readMessage(emu.grasscutter.net.proto.EntityAuthorityInfoOuterClass.EntityAuthorityInfo.parser(), extensionRegistry);
                if (subBuilder != null) {
                  subBuilder.mergeFrom(entityAuthorityInfo_);
                  entityAuthorityInfo_ = subBuilder.buildPartial();
                }
  
                break;
              }
              case 178: {
                java.lang.String s = input.readStringRequireUtf8();
                if (!((mutable_bitField0_ & 0x00000010) != 0)) {
                  tagList_ = new com.google.protobuf.LazyStringArrayList();
                  mutable_bitField0_ |= 0x00000010;
                }
                tagList_.add(s);
                break;
              }
              case 186: {
                if (!((mutable_bitField0_ & 0x00000020) != 0)) {
                  serverBuffList_ = new java.util.ArrayList<emu.grasscutter.net.proto.ServerBuffOuterClass.ServerBuff>();
                  mutable_bitField0_ |= 0x00000020;
                }
                serverBuffList_.add(
                    input.readMessage(emu.grasscutter.net.proto.ServerBuffOuterClass.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_ & 0x00000001) != 0)) {
            propList_ = java.util.Collections.unmodifiableList(propList_);
          }
          if (((mutable_bitField0_ & 0x00000002) != 0)) {
            fightPropList_ = java.util.Collections.unmodifiableList(fightPropList_);
          }
          if (((mutable_bitField0_ & 0x00000004) != 0)) {
            animatorParaList_ = java.util.Collections.unmodifiableList(animatorParaList_);
          }
          if (((mutable_bitField0_ & 0x00000008) != 0)) {
            entityEnvironmentInfoList_ = java.util.Collections.unmodifiableList(entityEnvironmentInfoList_);
          }
          if (((mutable_bitField0_ & 0x00000010) != 0)) {
            tagList_ = tagList_.getUnmodifiableView();
          }
          if (((mutable_bitField0_ & 0x00000020) != 0)) {
            serverBuffList_ = java.util.Collections.unmodifiableList(serverBuffList_);
          }
          this.unknownFields = unknownFields.build();
          makeExtensionsImmutable();
        }
      }
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return emu.grasscutter.net.proto.SceneEntityInfoOuterClass.internal_static_SceneEntityInfo_descriptor;
      }
  
      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return emu.grasscutter.net.proto.SceneEntityInfoOuterClass.internal_static_SceneEntityInfo_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                emu.grasscutter.net.proto.SceneEntityInfoOuterClass.SceneEntityInfo.class, emu.grasscutter.net.proto.SceneEntityInfoOuterClass.SceneEntityInfo.Builder.class);
      }
  
      private int entityCase_ = 0;
      private java.lang.Object entity_;
      public enum EntityCase
          implements com.google.protobuf.Internal.EnumLite,
              com.google.protobuf.AbstractMessage.InternalOneOfEnum {
        AVATAR(10),
        MONSTER(11),
        NPC(12),
        GADGET(13),
        ENTITY_NOT_SET(0);
        private final int value;
        private EntityCase(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 EntityCase valueOf(int value) {
          return forNumber(value);
        }
  
        public static EntityCase forNumber(int value) {
          switch (value) {
            case 10: return AVATAR;
            case 11: return MONSTER;
            case 12: return NPC;
            case 13: return GADGET;
            case 0: return ENTITY_NOT_SET;
            default: return null;
          }
        }
        public int getNumber() {
          return this.value;
        }
      };
  
      public EntityCase
      getEntityCase() {
        return EntityCase.forNumber(
            entityCase_);
      }
  
      public static final int ENTITYTYPE_FIELD_NUMBER = 1;
      private int entityType_;
      /**
       * <code>.ProtEntityType entityType = 1;</code>
       * @return The enum numeric value on the wire for entityType.
       */
      @java.lang.Override public int getEntityTypeValue() {
        return entityType_;
      }
      /**
       * <code>.ProtEntityType entityType = 1;</code>
       * @return The entityType.
       */
      @java.lang.Override public emu.grasscutter.net.proto.ProtEntityTypeOuterClass.ProtEntityType getEntityType() {
        @SuppressWarnings("deprecation")
        emu.grasscutter.net.proto.ProtEntityTypeOuterClass.ProtEntityType result = emu.grasscutter.net.proto.ProtEntityTypeOuterClass.ProtEntityType.valueOf(entityType_);
        return result == null ? emu.grasscutter.net.proto.ProtEntityTypeOuterClass.ProtEntityType.UNRECOGNIZED : result;
      }
  
      public static final int ENTITYID_FIELD_NUMBER = 2;
      private int entityId_;
      /**
       * <code>uint32 entityId = 2;</code>
       * @return The entityId.
       */
      @java.lang.Override
      public int getEntityId() {
        return entityId_;
      }
  
      public static final int CREATETIME_FIELD_NUMBER = 3;
      private volatile java.lang.Object createTime_;
      /**
       * <code>string createTime = 3;</code>
       * @return The createTime.
       */
      @java.lang.Override
      public java.lang.String getCreateTime() {
        java.lang.Object ref = createTime_;
        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();
          createTime_ = s;
          return s;
        }
      }
      /**
       * <code>string createTime = 3;</code>
       * @return The bytes for createTime.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString
          getCreateTimeBytes() {
        java.lang.Object ref = createTime_;
        if (ref instanceof java.lang.String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          createTime_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
  
      public static final int MOTIONINFO_FIELD_NUMBER = 4;
      private emu.grasscutter.net.proto.MotionInfoOuterClass.MotionInfo motionInfo_;
      /**
       * <code>.MotionInfo motionInfo = 4;</code>
       * @return Whether the motionInfo field is set.
       */
      @java.lang.Override
      public boolean hasMotionInfo() {
        return motionInfo_ != null;
      }
      /**
       * <code>.MotionInfo motionInfo = 4;</code>
       * @return The motionInfo.
       */
      @java.lang.Override
      public emu.grasscutter.net.proto.MotionInfoOuterClass.MotionInfo getMotionInfo() {
        return motionInfo_ == null ? emu.grasscutter.net.proto.MotionInfoOuterClass.MotionInfo.getDefaultInstance() : motionInfo_;
      }
      /**
       * <code>.MotionInfo motionInfo = 4;</code>
       */
      @java.lang.Override
      public emu.grasscutter.net.proto.MotionInfoOuterClass.MotionInfoOrBuilder getMotionInfoOrBuilder() {
        return getMotionInfo();
      }
  
      public static final int PROPLIST_FIELD_NUMBER = 5;
      private java.util.List<emu.grasscutter.net.proto.PropPairOuterClass.PropPair> propList_;
      /**
       * <code>repeated .PropPair propList = 5;</code>
       */
      @java.lang.Override
      public java.util.List<emu.grasscutter.net.proto.PropPairOuterClass.PropPair> getPropListList() {
        return propList_;
      }
      /**
       * <code>repeated .PropPair propList = 5;</code>
       */
      @java.lang.Override
      public java.util.List<? extends emu.grasscutter.net.proto.PropPairOuterClass.PropPairOrBuilder> 
          getPropListOrBuilderList() {
        return propList_;
      }
      /**
       * <code>repeated .PropPair propList = 5;</code>
       */
      @java.lang.Override
      public int getPropListCount() {
        return propList_.size();
      }
      /**
       * <code>repeated .PropPair propList = 5;</code>
       */
      @java.lang.Override
      public emu.grasscutter.net.proto.PropPairOuterClass.PropPair getPropList(int index) {
        return propList_.get(index);
      }
      /**
       * <code>repeated .PropPair propList = 5;</code>
       */
      @java.lang.Override
      public emu.grasscutter.net.proto.PropPairOuterClass.PropPairOrBuilder getPropListOrBuilder(
          int index) {
        return propList_.get(index);
      }
  
      public static final int FIGHTPROPLIST_FIELD_NUMBER = 6;
      private java.util.List<emu.grasscutter.net.proto.FightPropPairOuterClass.FightPropPair> fightPropList_;
      /**
       * <code>repeated .FightPropPair fightPropList = 6;</code>
       */
      @java.lang.Override
      public java.util.List<emu.grasscutter.net.proto.FightPropPairOuterClass.FightPropPair> getFightPropListList() {
        return fightPropList_;
      }
      /**
       * <code>repeated .FightPropPair fightPropList = 6;</code>
       */
      @java.lang.Override
      public java.util.List<? extends emu.grasscutter.net.proto.FightPropPairOuterClass.FightPropPairOrBuilder> 
          getFightPropListOrBuilderList() {
        return fightPropList_;
      }
      /**
       * <code>repeated .FightPropPair fightPropList = 6;</code>
       */
      @java.lang.Override
      public int getFightPropListCount() {
        return fightPropList_.size();
      }
      /**
       * <code>repeated .FightPropPair fightPropList = 6;</code>
       */
      @java.lang.Override
      public emu.grasscutter.net.proto.FightPropPairOuterClass.FightPropPair getFightPropList(int index) {
        return fightPropList_.get(index);
      }
      /**
       * <code>repeated .FightPropPair fightPropList = 6;</code>
       */
      @java.lang.Override
      public emu.grasscutter.net.proto.FightPropPairOuterClass.FightPropPairOrBuilder getFightPropListOrBuilder(
          int index) {
        return fightPropList_.get(index);
      }
  
      public static final int LIFESTATE_FIELD_NUMBER = 7;
      private int lifeState_;
      /**
       * <code>uint32 lifeState = 7;</code>
       * @return The lifeState.
       */
      @java.lang.Override
      public int getLifeState() {
        return lifeState_;
      }
  
      public static final int ANIMATORPARALIST_FIELD_NUMBER = 9;
      private java.util.List<emu.grasscutter.net.proto.AnimatorParameterValueInfoPairOuterClass.AnimatorParameterValueInfoPair> animatorParaList_;
      /**
       * <code>repeated .AnimatorParameterValueInfoPair animatorParaList = 9;</code>
       */
      @java.lang.Override
      public java.util.List<emu.grasscutter.net.proto.AnimatorParameterValueInfoPairOuterClass.AnimatorParameterValueInfoPair> getAnimatorParaListList() {
        return animatorParaList_;
      }
      /**
       * <code>repeated .AnimatorParameterValueInfoPair animatorParaList = 9;</code>
       */
      @java.lang.Override
      public java.util.List<? extends emu.grasscutter.net.proto.AnimatorParameterValueInfoPairOuterClass.AnimatorParameterValueInfoPairOrBuilder> 
          getAnimatorParaListOrBuilderList() {
        return animatorParaList_;
      }
      /**
       * <code>repeated .AnimatorParameterValueInfoPair animatorParaList = 9;</code>
       */
      @java.lang.Override
      public int getAnimatorParaListCount() {
        return animatorParaList_.size();
      }
      /**
       * <code>repeated .AnimatorParameterValueInfoPair animatorParaList = 9;</code>
       */
      @java.lang.Override
      public emu.grasscutter.net.proto.AnimatorParameterValueInfoPairOuterClass.AnimatorParameterValueInfoPair getAnimatorParaList(int index) {
        return animatorParaList_.get(index);
      }
      /**
       * <code>repeated .AnimatorParameterValueInfoPair animatorParaList = 9;</code>
       */
      @java.lang.Override
      public emu.grasscutter.net.proto.AnimatorParameterValueInfoPairOuterClass.AnimatorParameterValueInfoPairOrBuilder getAnimatorParaListOrBuilder(
          int index) {
        return animatorParaList_.get(index);
      }
  
      public static final int AVATAR_FIELD_NUMBER = 10;
      /**
       * <code>.SceneAvatarInfo avatar = 10;</code>
       * @return Whether the avatar field is set.
       */
      @java.lang.Override
      public boolean hasAvatar() {
        return entityCase_ == 10;
      }
      /**
       * <code>.SceneAvatarInfo avatar = 10;</code>
       * @return The avatar.
       */
      @java.lang.Override
      public emu.grasscutter.net.proto.SceneAvatarInfoOuterClass.SceneAvatarInfo getAvatar() {
        if (entityCase_ == 10) {
           return (emu.grasscutter.net.proto.SceneAvatarInfoOuterClass.SceneAvatarInfo) entity_;
        }
        return emu.grasscutter.net.proto.SceneAvatarInfoOuterClass.SceneAvatarInfo.getDefaultInstance();
      }
      /**
       * <code>.SceneAvatarInfo avatar = 10;</code>
       */
      @java.lang.Override
      public emu.grasscutter.net.proto.SceneAvatarInfoOuterClass.SceneAvatarInfoOrBuilder getAvatarOrBuilder() {
        if (entityCase_ == 10) {
           return (emu.grasscutter.net.proto.SceneAvatarInfoOuterClass.SceneAvatarInfo) entity_;
        }
        return emu.grasscutter.net.proto.SceneAvatarInfoOuterClass.SceneAvatarInfo.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 entityCase_ == 11;
      }
      /**
       * <code>.SceneMonsterInfo monster = 11;</code>
       * @return The monster.
       */
      @java.lang.Override
      public emu.grasscutter.net.proto.SceneMonsterInfoOuterClass.SceneMonsterInfo getMonster() {
        if (entityCase_ == 11) {
           return (emu.grasscutter.net.proto.SceneMonsterInfoOuterClass.SceneMonsterInfo) entity_;
        }
        return emu.grasscutter.net.proto.SceneMonsterInfoOuterClass.SceneMonsterInfo.getDefaultInstance();
      }
      /**
       * <code>.SceneMonsterInfo monster = 11;</code>
       */
      @java.lang.Override
      public emu.grasscutter.net.proto.SceneMonsterInfoOuterClass.SceneMonsterInfoOrBuilder getMonsterOrBuilder() {
        if (entityCase_ == 11) {
           return (emu.grasscutter.net.proto.SceneMonsterInfoOuterClass.SceneMonsterInfo) entity_;
        }
        return emu.grasscutter.net.proto.SceneMonsterInfoOuterClass.SceneMonsterInfo.getDefaultInstance();
      }
  
      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 entityCase_ == 12;
      }
      /**
       * <code>.SceneNpcInfo npc = 12;</code>
       * @return The npc.
       */
      @java.lang.Override
      public emu.grasscutter.net.proto.SceneNpcInfoOuterClass.SceneNpcInfo getNpc() {
        if (entityCase_ == 12) {
           return (emu.grasscutter.net.proto.SceneNpcInfoOuterClass.SceneNpcInfo) entity_;
        }
        return emu.grasscutter.net.proto.SceneNpcInfoOuterClass.SceneNpcInfo.getDefaultInstance();
      }
      /**
       * <code>.SceneNpcInfo npc = 12;</code>
       */
      @java.lang.Override
      public emu.grasscutter.net.proto.SceneNpcInfoOuterClass.SceneNpcInfoOrBuilder getNpcOrBuilder() {
        if (entityCase_ == 12) {
           return (emu.grasscutter.net.proto.SceneNpcInfoOuterClass.SceneNpcInfo) entity_;
        }
        return emu.grasscutter.net.proto.SceneNpcInfoOuterClass.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 entityCase_ == 13;
      }
      /**
       * <code>.SceneGadgetInfo gadget = 13;</code>
       * @return The gadget.
       */
      @java.lang.Override
      public emu.grasscutter.net.proto.SceneGadgetInfoOuterClass.SceneGadgetInfo getGadget() {
        if (entityCase_ == 13) {
           return (emu.grasscutter.net.proto.SceneGadgetInfoOuterClass.SceneGadgetInfo) entity_;
        }
        return emu.grasscutter.net.proto.SceneGadgetInfoOuterClass.SceneGadgetInfo.getDefaultInstance();
      }
      /**
       * <code>.SceneGadgetInfo gadget = 13;</code>
       */
      @java.lang.Override
      public emu.grasscutter.net.proto.SceneGadgetInfoOuterClass.SceneGadgetInfoOrBuilder getGadgetOrBuilder() {
        if (entityCase_ == 13) {
           return (emu.grasscutter.net.proto.SceneGadgetInfoOuterClass.SceneGadgetInfo) entity_;
        }
        return emu.grasscutter.net.proto.SceneGadgetInfoOuterClass.SceneGadgetInfo.getDefaultInstance();
      }
  
      public static final int LASTMOVESCENETIMEMS_FIELD_NUMBER = 17;
      private int lastMoveSceneTimeMs_;
      /**
       * <code>uint32 lastMoveSceneTimeMs = 17;</code>
       * @return The lastMoveSceneTimeMs.
       */
      @java.lang.Override
      public int getLastMoveSceneTimeMs() {
        return lastMoveSceneTimeMs_;
      }
  
      public static final int LASTMOVERELIABLESEQ_FIELD_NUMBER = 18;
      private int lastMoveReliableSeq_;
      /**
       * <code>uint32 lastMoveReliableSeq = 18;</code>
       * @return The lastMoveReliableSeq.
       */
      @java.lang.Override
      public int getLastMoveReliableSeq() {
        return lastMoveReliableSeq_;
      }
  
      public static final int ENTITYCLIENTDATA_FIELD_NUMBER = 19;
      private emu.grasscutter.net.proto.EntityClientDataOuterClass.EntityClientData entityClientData_;
      /**
       * <code>.EntityClientData entityClientData = 19;</code>
       * @return Whether the entityClientData field is set.
       */
      @java.lang.Override
      public boolean hasEntityClientData() {
        return entityClientData_ != null;
      }
      /**
       * <code>.EntityClientData entityClientData = 19;</code>
       * @return The entityClientData.
       */
      @java.lang.Override
      public emu.grasscutter.net.proto.EntityClientDataOuterClass.EntityClientData getEntityClientData() {
        return entityClientData_ == null ? emu.grasscutter.net.proto.EntityClientDataOuterClass.EntityClientData.getDefaultInstance() : entityClientData_;
      }
      /**
       * <code>.EntityClientData entityClientData = 19;</code>
       */
      @java.lang.Override
      public emu.grasscutter.net.proto.EntityClientDataOuterClass.EntityClientDataOrBuilder getEntityClientDataOrBuilder() {
        return getEntityClientData();
      }
  
      public static final int ENTITYENVIRONMENTINFOLIST_FIELD_NUMBER = 20;
      private java.util.List<emu.grasscutter.net.proto.EntityEnvironmentInfoOuterClass.EntityEnvironmentInfo> entityEnvironmentInfoList_;
      /**
       * <code>repeated .EntityEnvironmentInfo entityEnvironmentInfoList = 20;</code>
       */
      @java.lang.Override
      public java.util.List<emu.grasscutter.net.proto.EntityEnvironmentInfoOuterClass.EntityEnvironmentInfo> getEntityEnvironmentInfoListList() {
        return entityEnvironmentInfoList_;
      }
      /**
       * <code>repeated .EntityEnvironmentInfo entityEnvironmentInfoList = 20;</code>
       */
      @java.lang.Override
      public java.util.List<? extends emu.grasscutter.net.proto.EntityEnvironmentInfoOuterClass.EntityEnvironmentInfoOrBuilder> 
          getEntityEnvironmentInfoListOrBuilderList() {
        return entityEnvironmentInfoList_;
      }
      /**
       * <code>repeated .EntityEnvironmentInfo entityEnvironmentInfoList = 20;</code>
       */
      @java.lang.Override
      public int getEntityEnvironmentInfoListCount() {
        return entityEnvironmentInfoList_.size();
      }
      /**
       * <code>repeated .EntityEnvironmentInfo entityEnvironmentInfoList = 20;</code>
       */
      @java.lang.Override
      public emu.grasscutter.net.proto.EntityEnvironmentInfoOuterClass.EntityEnvironmentInfo getEntityEnvironmentInfoList(int index) {
        return entityEnvironmentInfoList_.get(index);
      }
      /**
       * <code>repeated .EntityEnvironmentInfo entityEnvironmentInfoList = 20;</code>
       */
      @java.lang.Override
      public emu.grasscutter.net.proto.EntityEnvironmentInfoOuterClass.EntityEnvironmentInfoOrBuilder getEntityEnvironmentInfoListOrBuilder(
          int index) {
        return entityEnvironmentInfoList_.get(index);
      }
  
      public static final int ENTITYAUTHORITYINFO_FIELD_NUMBER = 21;
      private emu.grasscutter.net.proto.EntityAuthorityInfoOuterClass.EntityAuthorityInfo entityAuthorityInfo_;
      /**
       * <code>.EntityAuthorityInfo entityAuthorityInfo = 21;</code>
       * @return Whether the entityAuthorityInfo field is set.
       */
      @java.lang.Override
      public boolean hasEntityAuthorityInfo() {
        return entityAuthorityInfo_ != null;
      }
      /**
       * <code>.EntityAuthorityInfo entityAuthorityInfo = 21;</code>
       * @return The entityAuthorityInfo.
       */
      @java.lang.Override
      public emu.grasscutter.net.proto.EntityAuthorityInfoOuterClass.EntityAuthorityInfo getEntityAuthorityInfo() {
        return entityAuthorityInfo_ == null ? emu.grasscutter.net.proto.EntityAuthorityInfoOuterClass.EntityAuthorityInfo.getDefaultInstance() : entityAuthorityInfo_;
      }
      /**
       * <code>.EntityAuthorityInfo entityAuthorityInfo = 21;</code>
       */
      @java.lang.Override
      public emu.grasscutter.net.proto.EntityAuthorityInfoOuterClass.EntityAuthorityInfoOrBuilder getEntityAuthorityInfoOrBuilder() {
        return getEntityAuthorityInfo();
      }
  
      public static final int TAGLIST_FIELD_NUMBER = 22;
      private com.google.protobuf.LazyStringList tagList_;
      /**
       * <code>repeated string tagList = 22;</code>
       * @return A list containing the tagList.
       */
      public com.google.protobuf.ProtocolStringList
          getTagListList() {
        return tagList_;
      }
      /**
       * <code>repeated string tagList = 22;</code>
       * @return The count of tagList.
       */
      public int getTagListCount() {
        return tagList_.size();
      }
      /**
       * <code>repeated string tagList = 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 tagList = 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 SERVERBUFFLIST_FIELD_NUMBER = 23;
      private java.util.List<emu.grasscutter.net.proto.ServerBuffOuterClass.ServerBuff> serverBuffList_;
      /**
       * <code>repeated .ServerBuff serverBuffList = 23;</code>
       */
      @java.lang.Override
      public java.util.List<emu.grasscutter.net.proto.ServerBuffOuterClass.ServerBuff> getServerBuffListList() {
        return serverBuffList_;
      }
      /**
       * <code>repeated .ServerBuff serverBuffList = 23;</code>
       */
      @java.lang.Override
      public java.util.List<? extends emu.grasscutter.net.proto.ServerBuffOuterClass.ServerBuffOrBuilder> 
          getServerBuffListOrBuilderList() {
        return serverBuffList_;
      }
      /**
       * <code>repeated .ServerBuff serverBuffList = 23;</code>
       */
      @java.lang.Override
      public int getServerBuffListCount() {
        return serverBuffList_.size();
      }
      /**
       * <code>repeated .ServerBuff serverBuffList = 23;</code>
       */
      @java.lang.Override
      public emu.grasscutter.net.proto.ServerBuffOuterClass.ServerBuff getServerBuffList(int index) {
        return serverBuffList_.get(index);
      }
      /**
       * <code>repeated .ServerBuff serverBuffList = 23;</code>
       */
      @java.lang.Override
      public emu.grasscutter.net.proto.ServerBuffOuterClass.ServerBuffOrBuilder getServerBuffListOrBuilder(
          int index) {
        return serverBuffList_.get(index);
      }
  
      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_ != emu.grasscutter.net.proto.ProtEntityTypeOuterClass.ProtEntityType.PROT_ENTITY_TYPE_NONE.getNumber()) {
          output.writeEnum(1, entityType_);
        }
        if (entityId_ != 0) {
          output.writeUInt32(2, entityId_);
        }
        if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(createTime_)) {
          com.google.protobuf.GeneratedMessageV3.writeString(output, 3, createTime_);
        }
        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 (entityCase_ == 10) {
          output.writeMessage(10, (emu.grasscutter.net.proto.SceneAvatarInfoOuterClass.SceneAvatarInfo) entity_);
        }
        if (entityCase_ == 11) {
          output.writeMessage(11, (emu.grasscutter.net.proto.SceneMonsterInfoOuterClass.SceneMonsterInfo) entity_);
        }
        if (entityCase_ == 12) {
          output.writeMessage(12, (emu.grasscutter.net.proto.SceneNpcInfoOuterClass.SceneNpcInfo) entity_);
        }
        if (entityCase_ == 13) {
          output.writeMessage(13, (emu.grasscutter.net.proto.SceneGadgetInfoOuterClass.SceneGadgetInfo) entity_);
        }
        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_ != emu.grasscutter.net.proto.ProtEntityTypeOuterClass.ProtEntityType.PROT_ENTITY_TYPE_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(createTime_)) {
          size += com.google.protobuf.GeneratedMessageV3.computeStringSize(3, createTime_);
        }
        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 (entityCase_ == 10) {
          size += com.google.protobuf.CodedOutputStream
            .computeMessageSize(10, (emu.grasscutter.net.proto.SceneAvatarInfoOuterClass.SceneAvatarInfo) entity_);
        }
        if (entityCase_ == 11) {
          size += com.google.protobuf.CodedOutputStream
            .computeMessageSize(11, (emu.grasscutter.net.proto.SceneMonsterInfoOuterClass.SceneMonsterInfo) entity_);
        }
        if (entityCase_ == 12) {
          size += com.google.protobuf.CodedOutputStream
            .computeMessageSize(12, (emu.grasscutter.net.proto.SceneNpcInfoOuterClass.SceneNpcInfo) entity_);
        }
        if (entityCase_ == 13) {
          size += com.google.protobuf.CodedOutputStream
            .computeMessageSize(13, (emu.grasscutter.net.proto.SceneGadgetInfoOuterClass.SceneGadgetInfo) entity_);
        }
        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 emu.grasscutter.net.proto.SceneEntityInfoOuterClass.SceneEntityInfo)) {
          return super.equals(obj);
        }
        emu.grasscutter.net.proto.SceneEntityInfoOuterClass.SceneEntityInfo other = (emu.grasscutter.net.proto.SceneEntityInfoOuterClass.SceneEntityInfo) obj;
  
        if (entityType_ != other.entityType_) return false;
        if (getEntityId()
            != other.getEntityId()) return false;
        if (!getCreateTime()
            .equals(other.getCreateTime())) return false;
        if (hasMotionInfo() != other.hasMotionInfo()) return false;
        if (hasMotionInfo()) {
          if (!getMotionInfo()
              .equals(other.getMotionInfo())) return false;
        }
        if (!getPropListList()
            .equals(other.getPropListList())) return false;
        if (!getFightPropListList()
            .equals(other.getFightPropListList())) return false;
        if (getLifeState()
            != other.getLifeState()) return false;
        if (!getAnimatorParaListList()
            .equals(other.getAnimatorParaListList())) return false;
        if (getLastMoveSceneTimeMs()
            != other.getLastMoveSceneTimeMs()) return false;
        if (getLastMoveReliableSeq()
            != other.getLastMoveReliableSeq()) return false;
        if (hasEntityClientData() != other.hasEntityClientData()) return false;
        if (hasEntityClientData()) {
          if (!getEntityClientData()
              .equals(other.getEntityClientData())) 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 (!getTagListList()
            .equals(other.getTagListList())) return false;
        if (!getServerBuffListList()
            .equals(other.getServerBuffListList())) return false;
        if (!getEntityCase().equals(other.getEntityCase())) return false;
        switch (entityCase_) {
          case 10:
            if (!getAvatar()
                .equals(other.getAvatar())) return false;
            break;
          case 11:
            if (!getMonster()
                .equals(other.getMonster())) return false;
            break;
          case 12:
            if (!getNpc()
                .equals(other.getNpc())) return false;
            break;
          case 13:
            if (!getGadget()
                .equals(other.getGadget())) 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();
        hash = (37 * hash) + ENTITYTYPE_FIELD_NUMBER;
        hash = (53 * hash) + entityType_;
        hash = (37 * hash) + ENTITYID_FIELD_NUMBER;
        hash = (53 * hash) + getEntityId();
        hash = (37 * hash) + CREATETIME_FIELD_NUMBER;
        hash = (53 * hash) + getCreateTime().hashCode();
        if (hasMotionInfo()) {
          hash = (37 * hash) + MOTIONINFO_FIELD_NUMBER;
          hash = (53 * hash) + getMotionInfo().hashCode();
        }
        if (getPropListCount() > 0) {
          hash = (37 * hash) + PROPLIST_FIELD_NUMBER;
          hash = (53 * hash) + getPropListList().hashCode();
        }
        if (getFightPropListCount() > 0) {
          hash = (37 * hash) + FIGHTPROPLIST_FIELD_NUMBER;
          hash = (53 * hash) + getFightPropListList().hashCode();
        }
        hash = (37 * hash) + LIFESTATE_FIELD_NUMBER;
        hash = (53 * hash) + getLifeState();
        if (getAnimatorParaListCount() > 0) {
          hash = (37 * hash) + ANIMATORPARALIST_FIELD_NUMBER;
          hash = (53 * hash) + getAnimatorParaListList().hashCode();
        }
        hash = (37 * hash) + LASTMOVESCENETIMEMS_FIELD_NUMBER;
        hash = (53 * hash) + getLastMoveSceneTimeMs();
        hash = (37 * hash) + LASTMOVERELIABLESEQ_FIELD_NUMBER;
        hash = (53 * hash) + getLastMoveReliableSeq();
        if (hasEntityClientData()) {
          hash = (37 * hash) + ENTITYCLIENTDATA_FIELD_NUMBER;
          hash = (53 * hash) + getEntityClientData().hashCode();
        }
        if (getEntityEnvironmentInfoListCount() > 0) {
          hash = (37 * hash) + ENTITYENVIRONMENTINFOLIST_FIELD_NUMBER;
          hash = (53 * hash) + getEntityEnvironmentInfoListList().hashCode();
        }
        if (hasEntityAuthorityInfo()) {
          hash = (37 * hash) + ENTITYAUTHORITYINFO_FIELD_NUMBER;
          hash = (53 * hash) + getEntityAuthorityInfo().hashCode();
        }
        if (getTagListCount() > 0) {
          hash = (37 * hash) + TAGLIST_FIELD_NUMBER;
          hash = (53 * hash) + getTagListList().hashCode();
        }
        if (getServerBuffListCount() > 0) {
          hash = (37 * hash) + SERVERBUFFLIST_FIELD_NUMBER;
          hash = (53 * hash) + getServerBuffListList().hashCode();
        }
        switch (entityCase_) {
          case 10:
            hash = (37 * hash) + AVATAR_FIELD_NUMBER;
            hash = (53 * hash) + getAvatar().hashCode();
            break;
          case 11:
            hash = (37 * hash) + MONSTER_FIELD_NUMBER;
            hash = (53 * hash) + getMonster().hashCode();
            break;
          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 0:
          default:
        }
        hash = (29 * hash) + unknownFields.hashCode();
        memoizedHashCode = hash;
        return hash;
      }
  
      public static emu.grasscutter.net.proto.SceneEntityInfoOuterClass.SceneEntityInfo parseFrom(
          java.nio.ByteBuffer data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static emu.grasscutter.net.proto.SceneEntityInfoOuterClass.SceneEntityInfo parseFrom(
          java.nio.ByteBuffer data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static emu.grasscutter.net.proto.SceneEntityInfoOuterClass.SceneEntityInfo parseFrom(
          com.google.protobuf.ByteString data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static emu.grasscutter.net.proto.SceneEntityInfoOuterClass.SceneEntityInfo parseFrom(
          com.google.protobuf.ByteString data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static emu.grasscutter.net.proto.SceneEntityInfoOuterClass.SceneEntityInfo parseFrom(byte[] data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static emu.grasscutter.net.proto.SceneEntityInfoOuterClass.SceneEntityInfo parseFrom(
          byte[] data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static emu.grasscutter.net.proto.SceneEntityInfoOuterClass.SceneEntityInfo parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static emu.grasscutter.net.proto.SceneEntityInfoOuterClass.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 emu.grasscutter.net.proto.SceneEntityInfoOuterClass.SceneEntityInfo parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseDelimitedWithIOException(PARSER, input);
      }
      public static emu.grasscutter.net.proto.SceneEntityInfoOuterClass.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 emu.grasscutter.net.proto.SceneEntityInfoOuterClass.SceneEntityInfo parseFrom(
          com.google.protobuf.CodedInputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static emu.grasscutter.net.proto.SceneEntityInfoOuterClass.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(emu.grasscutter.net.proto.SceneEntityInfoOuterClass.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)
          emu.grasscutter.net.proto.SceneEntityInfoOuterClass.SceneEntityInfoOrBuilder {
        public static final com.google.protobuf.Descriptors.Descriptor
            getDescriptor() {
          return emu.grasscutter.net.proto.SceneEntityInfoOuterClass.internal_static_SceneEntityInfo_descriptor;
        }
  
        @java.lang.Override
        protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return emu.grasscutter.net.proto.SceneEntityInfoOuterClass.internal_static_SceneEntityInfo_fieldAccessorTable
              .ensureFieldAccessorsInitialized(
                  emu.grasscutter.net.proto.SceneEntityInfoOuterClass.SceneEntityInfo.class, emu.grasscutter.net.proto.SceneEntityInfoOuterClass.SceneEntityInfo.Builder.class);
        }
  
        // Construct using emu.grasscutter.net.proto.SceneEntityInfoOuterClass.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) {
            getPropListFieldBuilder();
            getFightPropListFieldBuilder();
            getAnimatorParaListFieldBuilder();
            getEntityEnvironmentInfoListFieldBuilder();
            getServerBuffListFieldBuilder();
          }
        }
        @java.lang.Override
        public Builder clear() {
          super.clear();
          entityType_ = 0;
  
          entityId_ = 0;
  
          createTime_ = "";
  
          if (motionInfoBuilder_ == null) {
            motionInfo_ = null;
          } else {
            motionInfo_ = null;
            motionInfoBuilder_ = null;
          }
          if (propListBuilder_ == null) {
            propList_ = java.util.Collections.emptyList();
            bitField0_ = (bitField0_ & ~0x00000001);
          } else {
            propListBuilder_.clear();
          }
          if (fightPropListBuilder_ == null) {
            fightPropList_ = java.util.Collections.emptyList();
            bitField0_ = (bitField0_ & ~0x00000002);
          } else {
            fightPropListBuilder_.clear();
          }
          lifeState_ = 0;
  
          if (animatorParaListBuilder_ == null) {
            animatorParaList_ = java.util.Collections.emptyList();
            bitField0_ = (bitField0_ & ~0x00000004);
          } else {
            animatorParaListBuilder_.clear();
          }
          lastMoveSceneTimeMs_ = 0;
  
          lastMoveReliableSeq_ = 0;
  
          if (entityClientDataBuilder_ == null) {
            entityClientData_ = null;
          } else {
            entityClientData_ = null;
            entityClientDataBuilder_ = null;
          }
          if (entityEnvironmentInfoListBuilder_ == null) {
            entityEnvironmentInfoList_ = java.util.Collections.emptyList();
            bitField0_ = (bitField0_ & ~0x00000008);
          } else {
            entityEnvironmentInfoListBuilder_.clear();
          }
          if (entityAuthorityInfoBuilder_ == null) {
            entityAuthorityInfo_ = null;
          } else {
            entityAuthorityInfo_ = null;
            entityAuthorityInfoBuilder_ = null;
          }
          tagList_ = com.google.protobuf.LazyStringArrayList.EMPTY;
          bitField0_ = (bitField0_ & ~0x00000010);
          if (serverBuffListBuilder_ == null) {
            serverBuffList_ = java.util.Collections.emptyList();
            bitField0_ = (bitField0_ & ~0x00000020);
          } else {
            serverBuffListBuilder_.clear();
          }
          entityCase_ = 0;
          entity_ = null;
          return this;
        }
  
        @java.lang.Override
        public com.google.protobuf.Descriptors.Descriptor
            getDescriptorForType() {
          return emu.grasscutter.net.proto.SceneEntityInfoOuterClass.internal_static_SceneEntityInfo_descriptor;
        }
  
        @java.lang.Override
        public emu.grasscutter.net.proto.SceneEntityInfoOuterClass.SceneEntityInfo getDefaultInstanceForType() {
          return emu.grasscutter.net.proto.SceneEntityInfoOuterClass.SceneEntityInfo.getDefaultInstance();
        }
  
        @java.lang.Override
        public emu.grasscutter.net.proto.SceneEntityInfoOuterClass.SceneEntityInfo build() {
          emu.grasscutter.net.proto.SceneEntityInfoOuterClass.SceneEntityInfo result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return result;
        }
  
        @java.lang.Override
        public emu.grasscutter.net.proto.SceneEntityInfoOuterClass.SceneEntityInfo buildPartial() {
          emu.grasscutter.net.proto.SceneEntityInfoOuterClass.SceneEntityInfo result = new emu.grasscutter.net.proto.SceneEntityInfoOuterClass.SceneEntityInfo(this);
          int from_bitField0_ = bitField0_;
          result.entityType_ = entityType_;
          result.entityId_ = entityId_;
          result.createTime_ = createTime_;
          if (motionInfoBuilder_ == null) {
            result.motionInfo_ = motionInfo_;
          } else {
            result.motionInfo_ = motionInfoBuilder_.build();
          }
          if (propListBuilder_ == null) {
            if (((bitField0_ & 0x00000001) != 0)) {
              propList_ = java.util.Collections.unmodifiableList(propList_);
              bitField0_ = (bitField0_ & ~0x00000001);
            }
            result.propList_ = propList_;
          } else {
            result.propList_ = propListBuilder_.build();
          }
          if (fightPropListBuilder_ == null) {
            if (((bitField0_ & 0x00000002) != 0)) {
              fightPropList_ = java.util.Collections.unmodifiableList(fightPropList_);
              bitField0_ = (bitField0_ & ~0x00000002);
            }
            result.fightPropList_ = fightPropList_;
          } else {
            result.fightPropList_ = fightPropListBuilder_.build();
          }
          result.lifeState_ = lifeState_;
          if (animatorParaListBuilder_ == null) {
            if (((bitField0_ & 0x00000004) != 0)) {
              animatorParaList_ = java.util.Collections.unmodifiableList(animatorParaList_);
              bitField0_ = (bitField0_ & ~0x00000004);
            }
            result.animatorParaList_ = animatorParaList_;
          } else {
            result.animatorParaList_ = animatorParaListBuilder_.build();
          }
          if (entityCase_ == 10) {
            if (avatarBuilder_ == null) {
              result.entity_ = entity_;
            } else {
              result.entity_ = avatarBuilder_.build();
            }
          }
          if (entityCase_ == 11) {
            if (monsterBuilder_ == null) {
              result.entity_ = entity_;
            } else {
              result.entity_ = monsterBuilder_.build();
            }
          }
          if (entityCase_ == 12) {
            if (npcBuilder_ == null) {
              result.entity_ = entity_;
            } else {
              result.entity_ = npcBuilder_.build();
            }
          }
          if (entityCase_ == 13) {
            if (gadgetBuilder_ == null) {
              result.entity_ = entity_;
            } else {
              result.entity_ = gadgetBuilder_.build();
            }
          }
          result.lastMoveSceneTimeMs_ = lastMoveSceneTimeMs_;
          result.lastMoveReliableSeq_ = lastMoveReliableSeq_;
          if (entityClientDataBuilder_ == null) {
            result.entityClientData_ = entityClientData_;
          } else {
            result.entityClientData_ = entityClientDataBuilder_.build();
          }
          if (entityEnvironmentInfoListBuilder_ == null) {
            if (((bitField0_ & 0x00000008) != 0)) {
              entityEnvironmentInfoList_ = java.util.Collections.unmodifiableList(entityEnvironmentInfoList_);
              bitField0_ = (bitField0_ & ~0x00000008);
            }
            result.entityEnvironmentInfoList_ = entityEnvironmentInfoList_;
          } else {
            result.entityEnvironmentInfoList_ = entityEnvironmentInfoListBuilder_.build();
          }
          if (entityAuthorityInfoBuilder_ == null) {
            result.entityAuthorityInfo_ = entityAuthorityInfo_;
          } else {
            result.entityAuthorityInfo_ = entityAuthorityInfoBuilder_.build();
          }
          if (((bitField0_ & 0x00000010) != 0)) {
            tagList_ = tagList_.getUnmodifiableView();
            bitField0_ = (bitField0_ & ~0x00000010);
          }
          result.tagList_ = tagList_;
          if (serverBuffListBuilder_ == null) {
            if (((bitField0_ & 0x00000020) != 0)) {
              serverBuffList_ = java.util.Collections.unmodifiableList(serverBuffList_);
              bitField0_ = (bitField0_ & ~0x00000020);
            }
            result.serverBuffList_ = serverBuffList_;
          } else {
            result.serverBuffList_ = serverBuffListBuilder_.build();
          }
          result.entityCase_ = entityCase_;
          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 emu.grasscutter.net.proto.SceneEntityInfoOuterClass.SceneEntityInfo) {
            return mergeFrom((emu.grasscutter.net.proto.SceneEntityInfoOuterClass.SceneEntityInfo)other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }
  
        public Builder mergeFrom(emu.grasscutter.net.proto.SceneEntityInfoOuterClass.SceneEntityInfo other) {
          if (other == emu.grasscutter.net.proto.SceneEntityInfoOuterClass.SceneEntityInfo.getDefaultInstance()) return this;
          if (other.entityType_ != 0) {
            setEntityTypeValue(other.getEntityTypeValue());
          }
          if (other.getEntityId() != 0) {
            setEntityId(other.getEntityId());
          }
          if (!other.getCreateTime().isEmpty()) {
            createTime_ = other.createTime_;
            onChanged();
          }
          if (other.hasMotionInfo()) {
            mergeMotionInfo(other.getMotionInfo());
          }
          if (propListBuilder_ == null) {
            if (!other.propList_.isEmpty()) {
              if (propList_.isEmpty()) {
                propList_ = other.propList_;
                bitField0_ = (bitField0_ & ~0x00000001);
              } else {
                ensurePropListIsMutable();
                propList_.addAll(other.propList_);
              }
              onChanged();
            }
          } else {
            if (!other.propList_.isEmpty()) {
              if (propListBuilder_.isEmpty()) {
                propListBuilder_.dispose();
                propListBuilder_ = null;
                propList_ = other.propList_;
                bitField0_ = (bitField0_ & ~0x00000001);
                propListBuilder_ = 
                  com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
                     getPropListFieldBuilder() : null;
              } else {
                propListBuilder_.addAllMessages(other.propList_);
              }
            }
          }
          if (fightPropListBuilder_ == null) {
            if (!other.fightPropList_.isEmpty()) {
              if (fightPropList_.isEmpty()) {
                fightPropList_ = other.fightPropList_;
                bitField0_ = (bitField0_ & ~0x00000002);
              } else {
                ensureFightPropListIsMutable();
                fightPropList_.addAll(other.fightPropList_);
              }
              onChanged();
            }
          } else {
            if (!other.fightPropList_.isEmpty()) {
              if (fightPropListBuilder_.isEmpty()) {
                fightPropListBuilder_.dispose();
                fightPropListBuilder_ = null;
                fightPropList_ = other.fightPropList_;
                bitField0_ = (bitField0_ & ~0x00000002);
                fightPropListBuilder_ = 
                  com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
                     getFightPropListFieldBuilder() : null;
              } else {
                fightPropListBuilder_.addAllMessages(other.fightPropList_);
              }
            }
          }
          if (other.getLifeState() != 0) {
            setLifeState(other.getLifeState());
          }
          if (animatorParaListBuilder_ == null) {
            if (!other.animatorParaList_.isEmpty()) {
              if (animatorParaList_.isEmpty()) {
                animatorParaList_ = other.animatorParaList_;
                bitField0_ = (bitField0_ & ~0x00000004);
              } else {
                ensureAnimatorParaListIsMutable();
                animatorParaList_.addAll(other.animatorParaList_);
              }
              onChanged();
            }
          } else {
            if (!other.animatorParaList_.isEmpty()) {
              if (animatorParaListBuilder_.isEmpty()) {
                animatorParaListBuilder_.dispose();
                animatorParaListBuilder_ = null;
                animatorParaList_ = other.animatorParaList_;
                bitField0_ = (bitField0_ & ~0x00000004);
                animatorParaListBuilder_ = 
                  com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
                     getAnimatorParaListFieldBuilder() : null;
              } else {
                animatorParaListBuilder_.addAllMessages(other.animatorParaList_);
              }
            }
          }
          if (other.getLastMoveSceneTimeMs() != 0) {
            setLastMoveSceneTimeMs(other.getLastMoveSceneTimeMs());
          }
          if (other.getLastMoveReliableSeq() != 0) {
            setLastMoveReliableSeq(other.getLastMoveReliableSeq());
          }
          if (other.hasEntityClientData()) {
            mergeEntityClientData(other.getEntityClientData());
          }
          if (entityEnvironmentInfoListBuilder_ == null) {
            if (!other.entityEnvironmentInfoList_.isEmpty()) {
              if (entityEnvironmentInfoList_.isEmpty()) {
                entityEnvironmentInfoList_ = other.entityEnvironmentInfoList_;
                bitField0_ = (bitField0_ & ~0x00000008);
              } else {
                ensureEntityEnvironmentInfoListIsMutable();
                entityEnvironmentInfoList_.addAll(other.entityEnvironmentInfoList_);
              }
              onChanged();
            }
          } else {
            if (!other.entityEnvironmentInfoList_.isEmpty()) {
              if (entityEnvironmentInfoListBuilder_.isEmpty()) {
                entityEnvironmentInfoListBuilder_.dispose();
                entityEnvironmentInfoListBuilder_ = null;
                entityEnvironmentInfoList_ = other.entityEnvironmentInfoList_;
                bitField0_ = (bitField0_ & ~0x00000008);
                entityEnvironmentInfoListBuilder_ = 
                  com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
                     getEntityEnvironmentInfoListFieldBuilder() : null;
              } else {
                entityEnvironmentInfoListBuilder_.addAllMessages(other.entityEnvironmentInfoList_);
              }
            }
          }
          if (other.hasEntityAuthorityInfo()) {
            mergeEntityAuthorityInfo(other.getEntityAuthorityInfo());
          }
          if (!other.tagList_.isEmpty()) {
            if (tagList_.isEmpty()) {
              tagList_ = other.tagList_;
              bitField0_ = (bitField0_ & ~0x00000010);
            } else {
              ensureTagListIsMutable();
              tagList_.addAll(other.tagList_);
            }
            onChanged();
          }
          if (serverBuffListBuilder_ == null) {
            if (!other.serverBuffList_.isEmpty()) {
              if (serverBuffList_.isEmpty()) {
                serverBuffList_ = other.serverBuffList_;
                bitField0_ = (bitField0_ & ~0x00000020);
              } else {
                ensureServerBuffListIsMutable();
                serverBuffList_.addAll(other.serverBuffList_);
              }
              onChanged();
            }
          } else {
            if (!other.serverBuffList_.isEmpty()) {
              if (serverBuffListBuilder_.isEmpty()) {
                serverBuffListBuilder_.dispose();
                serverBuffListBuilder_ = null;
                serverBuffList_ = other.serverBuffList_;
                bitField0_ = (bitField0_ & ~0x00000020);
                serverBuffListBuilder_ = 
                  com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
                     getServerBuffListFieldBuilder() : null;
              } else {
                serverBuffListBuilder_.addAllMessages(other.serverBuffList_);
              }
            }
          }
          switch (other.getEntityCase()) {
            case AVATAR: {
              mergeAvatar(other.getAvatar());
              break;
            }
            case MONSTER: {
              mergeMonster(other.getMonster());
              break;
            }
            case NPC: {
              mergeNpc(other.getNpc());
              break;
            }
            case GADGET: {
              mergeGadget(other.getGadget());
              break;
            }
            case ENTITY_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 {
          emu.grasscutter.net.proto.SceneEntityInfoOuterClass.SceneEntityInfo parsedMessage = null;
          try {
            parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
            parsedMessage = (emu.grasscutter.net.proto.SceneEntityInfoOuterClass.SceneEntityInfo) e.getUnfinishedMessage();
            throw e.unwrapIOException();
          } finally {
            if (parsedMessage != null) {
              mergeFrom(parsedMessage);
            }
          }
          return this;
        }
        private int entityCase_ = 0;
        private java.lang.Object entity_;
        public EntityCase
            getEntityCase() {
          return EntityCase.forNumber(
              entityCase_);
        }
  
        public Builder clearEntity() {
          entityCase_ = 0;
          entity_ = null;
          onChanged();
          return this;
        }
  
        private int bitField0_;
  
        private int entityType_ = 0;
        /**
         * <code>.ProtEntityType entityType = 1;</code>
         * @return The enum numeric value on the wire for entityType.
         */
        @java.lang.Override public int getEntityTypeValue() {
          return entityType_;
        }
        /**
         * <code>.ProtEntityType entityType = 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 entityType = 1;</code>
         * @return The entityType.
         */
        @java.lang.Override
        public emu.grasscutter.net.proto.ProtEntityTypeOuterClass.ProtEntityType getEntityType() {
          @SuppressWarnings("deprecation")
          emu.grasscutter.net.proto.ProtEntityTypeOuterClass.ProtEntityType result = emu.grasscutter.net.proto.ProtEntityTypeOuterClass.ProtEntityType.valueOf(entityType_);
          return result == null ? emu.grasscutter.net.proto.ProtEntityTypeOuterClass.ProtEntityType.UNRECOGNIZED : result;
        }
        /**
         * <code>.ProtEntityType entityType = 1;</code>
         * @param value The entityType to set.
         * @return This builder for chaining.
         */
        public Builder setEntityType(emu.grasscutter.net.proto.ProtEntityTypeOuterClass.ProtEntityType value) {
          if (value == null) {
            throw new NullPointerException();
          }
          
          entityType_ = value.getNumber();
          onChanged();
          return this;
        }
        /**
         * <code>.ProtEntityType entityType = 1;</code>
         * @return This builder for chaining.
         */
        public Builder clearEntityType() {
          
          entityType_ = 0;
          onChanged();
          return this;
        }
  
        private int entityId_ ;
        /**
         * <code>uint32 entityId = 2;</code>
         * @return The entityId.
         */
        @java.lang.Override
        public int getEntityId() {
          return entityId_;
        }
        /**
         * <code>uint32 entityId = 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 entityId = 2;</code>
         * @return This builder for chaining.
         */
        public Builder clearEntityId() {
          
          entityId_ = 0;
          onChanged();
          return this;
        }
  
        private java.lang.Object createTime_ = "";
        /**
         * <code>string createTime = 3;</code>
         * @return The createTime.
         */
        public java.lang.String getCreateTime() {
          java.lang.Object ref = createTime_;
          if (!(ref instanceof java.lang.String)) {
            com.google.protobuf.ByteString bs =
                (com.google.protobuf.ByteString) ref;
            java.lang.String s = bs.toStringUtf8();
            createTime_ = s;
            return s;
          } else {
            return (java.lang.String) ref;
          }
        }
        /**
         * <code>string createTime = 3;</code>
         * @return The bytes for createTime.
         */
        public com.google.protobuf.ByteString
            getCreateTimeBytes() {
          java.lang.Object ref = createTime_;
          if (ref instanceof String) {
            com.google.protobuf.ByteString b = 
                com.google.protobuf.ByteString.copyFromUtf8(
                    (java.lang.String) ref);
            createTime_ = b;
            return b;
          } else {
            return (com.google.protobuf.ByteString) ref;
          }
        }
        /**
         * <code>string createTime = 3;</code>
         * @param value The createTime to set.
         * @return This builder for chaining.
         */
        public Builder setCreateTime(
            java.lang.String value) {
          if (value == null) {
      throw new NullPointerException();
    }
    
          createTime_ = value;
          onChanged();
          return this;
        }
        /**
         * <code>string createTime = 3;</code>
         * @return This builder for chaining.
         */
        public Builder clearCreateTime() {
          
          createTime_ = getDefaultInstance().getCreateTime();
          onChanged();
          return this;
        }
        /**
         * <code>string createTime = 3;</code>
         * @param value The bytes for createTime to set.
         * @return This builder for chaining.
         */
        public Builder setCreateTimeBytes(
            com.google.protobuf.ByteString value) {
          if (value == null) {
      throw new NullPointerException();
    }
    checkByteStringIsUtf8(value);
          
          createTime_ = value;
          onChanged();
          return this;
        }
  
        private emu.grasscutter.net.proto.MotionInfoOuterClass.MotionInfo motionInfo_;
        private com.google.protobuf.SingleFieldBuilderV3<
            emu.grasscutter.net.proto.MotionInfoOuterClass.MotionInfo, emu.grasscutter.net.proto.MotionInfoOuterClass.MotionInfo.Builder, emu.grasscutter.net.proto.MotionInfoOuterClass.MotionInfoOrBuilder> motionInfoBuilder_;
        /**
         * <code>.MotionInfo motionInfo = 4;</code>
         * @return Whether the motionInfo field is set.
         */
        public boolean hasMotionInfo() {
          return motionInfoBuilder_ != null || motionInfo_ != null;
        }
        /**
         * <code>.MotionInfo motionInfo = 4;</code>
         * @return The motionInfo.
         */
        public emu.grasscutter.net.proto.MotionInfoOuterClass.MotionInfo getMotionInfo() {
          if (motionInfoBuilder_ == null) {
            return motionInfo_ == null ? emu.grasscutter.net.proto.MotionInfoOuterClass.MotionInfo.getDefaultInstance() : motionInfo_;
          } else {
            return motionInfoBuilder_.getMessage();
          }
        }
        /**
         * <code>.MotionInfo motionInfo = 4;</code>
         */
        public Builder setMotionInfo(emu.grasscutter.net.proto.MotionInfoOuterClass.MotionInfo value) {
          if (motionInfoBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            motionInfo_ = value;
            onChanged();
          } else {
            motionInfoBuilder_.setMessage(value);
          }
  
          return this;
        }
        /**
         * <code>.MotionInfo motionInfo = 4;</code>
         */
        public Builder setMotionInfo(
            emu.grasscutter.net.proto.MotionInfoOuterClass.MotionInfo.Builder builderForValue) {
          if (motionInfoBuilder_ == null) {
            motionInfo_ = builderForValue.build();
            onChanged();
          } else {
            motionInfoBuilder_.setMessage(builderForValue.build());
          }
  
          return this;
        }
        /**
         * <code>.MotionInfo motionInfo = 4;</code>
         */
        public Builder mergeMotionInfo(emu.grasscutter.net.proto.MotionInfoOuterClass.MotionInfo value) {
          if (motionInfoBuilder_ == null) {
            if (motionInfo_ != null) {
              motionInfo_ =
                emu.grasscutter.net.proto.MotionInfoOuterClass.MotionInfo.newBuilder(motionInfo_).mergeFrom(value).buildPartial();
            } else {
              motionInfo_ = value;
            }
            onChanged();
          } else {
            motionInfoBuilder_.mergeFrom(value);
          }
  
          return this;
        }
        /**
         * <code>.MotionInfo motionInfo = 4;</code>
         */
        public Builder clearMotionInfo() {
          if (motionInfoBuilder_ == null) {
            motionInfo_ = null;
            onChanged();
          } else {
            motionInfo_ = null;
            motionInfoBuilder_ = null;
          }
  
          return this;
        }
        /**
         * <code>.MotionInfo motionInfo = 4;</code>
         */
        public emu.grasscutter.net.proto.MotionInfoOuterClass.MotionInfo.Builder getMotionInfoBuilder() {
          
          onChanged();
          return getMotionInfoFieldBuilder().getBuilder();
        }
        /**
         * <code>.MotionInfo motionInfo = 4;</code>
         */
        public emu.grasscutter.net.proto.MotionInfoOuterClass.MotionInfoOrBuilder getMotionInfoOrBuilder() {
          if (motionInfoBuilder_ != null) {
            return motionInfoBuilder_.getMessageOrBuilder();
          } else {
            return motionInfo_ == null ?
                emu.grasscutter.net.proto.MotionInfoOuterClass.MotionInfo.getDefaultInstance() : motionInfo_;
          }
        }
        /**
         * <code>.MotionInfo motionInfo = 4;</code>
         */
        private com.google.protobuf.SingleFieldBuilderV3<
            emu.grasscutter.net.proto.MotionInfoOuterClass.MotionInfo, emu.grasscutter.net.proto.MotionInfoOuterClass.MotionInfo.Builder, emu.grasscutter.net.proto.MotionInfoOuterClass.MotionInfoOrBuilder> 
            getMotionInfoFieldBuilder() {
          if (motionInfoBuilder_ == null) {
            motionInfoBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
                emu.grasscutter.net.proto.MotionInfoOuterClass.MotionInfo, emu.grasscutter.net.proto.MotionInfoOuterClass.MotionInfo.Builder, emu.grasscutter.net.proto.MotionInfoOuterClass.MotionInfoOrBuilder>(
                    getMotionInfo(),
                    getParentForChildren(),
                    isClean());
            motionInfo_ = null;
          }
          return motionInfoBuilder_;
        }
  
        private java.util.List<emu.grasscutter.net.proto.PropPairOuterClass.PropPair> propList_ =
          java.util.Collections.emptyList();
        private void ensurePropListIsMutable() {
          if (!((bitField0_ & 0x00000001) != 0)) {
            propList_ = new java.util.ArrayList<emu.grasscutter.net.proto.PropPairOuterClass.PropPair>(propList_);
            bitField0_ |= 0x00000001;
           }
        }
  
        private com.google.protobuf.RepeatedFieldBuilderV3<
            emu.grasscutter.net.proto.PropPairOuterClass.PropPair, emu.grasscutter.net.proto.PropPairOuterClass.PropPair.Builder, emu.grasscutter.net.proto.PropPairOuterClass.PropPairOrBuilder> propListBuilder_;
  
        /**
         * <code>repeated .PropPair propList = 5;</code>
         */
        public java.util.List<emu.grasscutter.net.proto.PropPairOuterClass.PropPair> getPropListList() {
          if (propListBuilder_ == null) {
            return java.util.Collections.unmodifiableList(propList_);
          } else {
            return propListBuilder_.getMessageList();
          }
        }
        /**
         * <code>repeated .PropPair propList = 5;</code>
         */
        public int getPropListCount() {
          if (propListBuilder_ == null) {
            return propList_.size();
          } else {
            return propListBuilder_.getCount();
          }
        }
        /**
         * <code>repeated .PropPair propList = 5;</code>
         */
        public emu.grasscutter.net.proto.PropPairOuterClass.PropPair getPropList(int index) {
          if (propListBuilder_ == null) {
            return propList_.get(index);
          } else {
            return propListBuilder_.getMessage(index);
          }
        }
        /**
         * <code>repeated .PropPair propList = 5;</code>
         */
        public Builder setPropList(
            int index, emu.grasscutter.net.proto.PropPairOuterClass.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 propList = 5;</code>
         */
        public Builder setPropList(
            int index, emu.grasscutter.net.proto.PropPairOuterClass.PropPair.Builder builderForValue) {
          if (propListBuilder_ == null) {
            ensurePropListIsMutable();
            propList_.set(index, builderForValue.build());
            onChanged();
          } else {
            propListBuilder_.setMessage(index, builderForValue.build());
          }
          return this;
        }
        /**
         * <code>repeated .PropPair propList = 5;</code>
         */
        public Builder addPropList(emu.grasscutter.net.proto.PropPairOuterClass.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 propList = 5;</code>
         */
        public Builder addPropList(
            int index, emu.grasscutter.net.proto.PropPairOuterClass.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 propList = 5;</code>
         */
        public Builder addPropList(
            emu.grasscutter.net.proto.PropPairOuterClass.PropPair.Builder builderForValue) {
          if (propListBuilder_ == null) {
            ensurePropListIsMutable();
            propList_.add(builderForValue.build());
            onChanged();
          } else {
            propListBuilder_.addMessage(builderForValue.build());
          }
          return this;
        }
        /**
         * <code>repeated .PropPair propList = 5;</code>
         */
        public Builder addPropList(
            int index, emu.grasscutter.net.proto.PropPairOuterClass.PropPair.Builder builderForValue) {
          if (propListBuilder_ == null) {
            ensurePropListIsMutable();
            propList_.add(index, builderForValue.build());
            onChanged();
          } else {
            propListBuilder_.addMessage(index, builderForValue.build());
          }
          return this;
        }
        /**
         * <code>repeated .PropPair propList = 5;</code>
         */
        public Builder addAllPropList(
            java.lang.Iterable<? extends emu.grasscutter.net.proto.PropPairOuterClass.PropPair> values) {
          if (propListBuilder_ == null) {
            ensurePropListIsMutable();
            com.google.protobuf.AbstractMessageLite.Builder.addAll(
                values, propList_);
            onChanged();
          } else {
            propListBuilder_.addAllMessages(values);
          }
          return this;
        }
        /**
         * <code>repeated .PropPair propList = 5;</code>
         */
        public Builder clearPropList() {
          if (propListBuilder_ == null) {
            propList_ = java.util.Collections.emptyList();
            bitField0_ = (bitField0_ & ~0x00000001);
            onChanged();
          } else {
            propListBuilder_.clear();
          }
          return this;
        }
        /**
         * <code>repeated .PropPair propList = 5;</code>
         */
        public Builder removePropList(int index) {
          if (propListBuilder_ == null) {
            ensurePropListIsMutable();
            propList_.remove(index);
            onChanged();
          } else {
            propListBuilder_.remove(index);
          }
          return this;
        }
        /**
         * <code>repeated .PropPair propList = 5;</code>
         */
        public emu.grasscutter.net.proto.PropPairOuterClass.PropPair.Builder getPropListBuilder(
            int index) {
          return getPropListFieldBuilder().getBuilder(index);
        }
        /**
         * <code>repeated .PropPair propList = 5;</code>
         */
        public emu.grasscutter.net.proto.PropPairOuterClass.PropPairOrBuilder getPropListOrBuilder(
            int index) {
          if (propListBuilder_ == null) {
            return propList_.get(index);  } else {
            return propListBuilder_.getMessageOrBuilder(index);
          }
        }
        /**
         * <code>repeated .PropPair propList = 5;</code>
         */
        public java.util.List<? extends emu.grasscutter.net.proto.PropPairOuterClass.PropPairOrBuilder> 
             getPropListOrBuilderList() {
          if (propListBuilder_ != null) {
            return propListBuilder_.getMessageOrBuilderList();
          } else {
            return java.util.Collections.unmodifiableList(propList_);
          }
        }
        /**
         * <code>repeated .PropPair propList = 5;</code>
         */
        public emu.grasscutter.net.proto.PropPairOuterClass.PropPair.Builder addPropListBuilder() {
          return getPropListFieldBuilder().addBuilder(
              emu.grasscutter.net.proto.PropPairOuterClass.PropPair.getDefaultInstance());
        }
        /**
         * <code>repeated .PropPair propList = 5;</code>
         */
        public emu.grasscutter.net.proto.PropPairOuterClass.PropPair.Builder addPropListBuilder(
            int index) {
          return getPropListFieldBuilder().addBuilder(
              index, emu.grasscutter.net.proto.PropPairOuterClass.PropPair.getDefaultInstance());
        }
        /**
         * <code>repeated .PropPair propList = 5;</code>
         */
        public java.util.List<emu.grasscutter.net.proto.PropPairOuterClass.PropPair.Builder> 
             getPropListBuilderList() {
          return getPropListFieldBuilder().getBuilderList();
        }
        private com.google.protobuf.RepeatedFieldBuilderV3<
            emu.grasscutter.net.proto.PropPairOuterClass.PropPair, emu.grasscutter.net.proto.PropPairOuterClass.PropPair.Builder, emu.grasscutter.net.proto.PropPairOuterClass.PropPairOrBuilder> 
            getPropListFieldBuilder() {
          if (propListBuilder_ == null) {
            propListBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
                emu.grasscutter.net.proto.PropPairOuterClass.PropPair, emu.grasscutter.net.proto.PropPairOuterClass.PropPair.Builder, emu.grasscutter.net.proto.PropPairOuterClass.PropPairOrBuilder>(
                    propList_,
                    ((bitField0_ & 0x00000001) != 0),
                    getParentForChildren(),
                    isClean());
            propList_ = null;
          }
          return propListBuilder_;
        }
  
        private java.util.List<emu.grasscutter.net.proto.FightPropPairOuterClass.FightPropPair> fightPropList_ =
          java.util.Collections.emptyList();
        private void ensureFightPropListIsMutable() {
          if (!((bitField0_ & 0x00000002) != 0)) {
            fightPropList_ = new java.util.ArrayList<emu.grasscutter.net.proto.FightPropPairOuterClass.FightPropPair>(fightPropList_);
            bitField0_ |= 0x00000002;
           }
        }
  
        private com.google.protobuf.RepeatedFieldBuilderV3<
            emu.grasscutter.net.proto.FightPropPairOuterClass.FightPropPair, emu.grasscutter.net.proto.FightPropPairOuterClass.FightPropPair.Builder, emu.grasscutter.net.proto.FightPropPairOuterClass.FightPropPairOrBuilder> fightPropListBuilder_;
  
        /**
         * <code>repeated .FightPropPair fightPropList = 6;</code>
         */
        public java.util.List<emu.grasscutter.net.proto.FightPropPairOuterClass.FightPropPair> getFightPropListList() {
          if (fightPropListBuilder_ == null) {
            return java.util.Collections.unmodifiableList(fightPropList_);
          } else {
            return fightPropListBuilder_.getMessageList();
          }
        }
        /**
         * <code>repeated .FightPropPair fightPropList = 6;</code>
         */
        public int getFightPropListCount() {
          if (fightPropListBuilder_ == null) {
            return fightPropList_.size();
          } else {
            return fightPropListBuilder_.getCount();
          }
        }
        /**
         * <code>repeated .FightPropPair fightPropList = 6;</code>
         */
        public emu.grasscutter.net.proto.FightPropPairOuterClass.FightPropPair getFightPropList(int index) {
          if (fightPropListBuilder_ == null) {
            return fightPropList_.get(index);
          } else {
            return fightPropListBuilder_.getMessage(index);
          }
        }
        /**
         * <code>repeated .FightPropPair fightPropList = 6;</code>
         */
        public Builder setFightPropList(
            int index, emu.grasscutter.net.proto.FightPropPairOuterClass.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 fightPropList = 6;</code>
         */
        public Builder setFightPropList(
            int index, emu.grasscutter.net.proto.FightPropPairOuterClass.FightPropPair.Builder builderForValue) {
          if (fightPropListBuilder_ == null) {
            ensureFightPropListIsMutable();
            fightPropList_.set(index, builderForValue.build());
            onChanged();
          } else {
            fightPropListBuilder_.setMessage(index, builderForValue.build());
          }
          return this;
        }
        /**
         * <code>repeated .FightPropPair fightPropList = 6;</code>
         */
        public Builder addFightPropList(emu.grasscutter.net.proto.FightPropPairOuterClass.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 fightPropList = 6;</code>
         */
        public Builder addFightPropList(
            int index, emu.grasscutter.net.proto.FightPropPairOuterClass.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 fightPropList = 6;</code>
         */
        public Builder addFightPropList(
            emu.grasscutter.net.proto.FightPropPairOuterClass.FightPropPair.Builder builderForValue) {
          if (fightPropListBuilder_ == null) {
            ensureFightPropListIsMutable();
            fightPropList_.add(builderForValue.build());
            onChanged();
          } else {
            fightPropListBuilder_.addMessage(builderForValue.build());
          }
          return this;
        }
        /**
         * <code>repeated .FightPropPair fightPropList = 6;</code>
         */
        public Builder addFightPropList(
            int index, emu.grasscutter.net.proto.FightPropPairOuterClass.FightPropPair.Builder builderForValue) {
          if (fightPropListBuilder_ == null) {
            ensureFightPropListIsMutable();
            fightPropList_.add(index, builderForValue.build());
            onChanged();
          } else {
            fightPropListBuilder_.addMessage(index, builderForValue.build());
          }
          return this;
        }
        /**
         * <code>repeated .FightPropPair fightPropList = 6;</code>
         */
        public Builder addAllFightPropList(
            java.lang.Iterable<? extends emu.grasscutter.net.proto.FightPropPairOuterClass.FightPropPair> values) {
          if (fightPropListBuilder_ == null) {
            ensureFightPropListIsMutable();
            com.google.protobuf.AbstractMessageLite.Builder.addAll(
                values, fightPropList_);
            onChanged();
          } else {
            fightPropListBuilder_.addAllMessages(values);
          }
          return this;
        }
        /**
         * <code>repeated .FightPropPair fightPropList = 6;</code>
         */
        public Builder clearFightPropList() {
          if (fightPropListBuilder_ == null) {
            fightPropList_ = java.util.Collections.emptyList();
            bitField0_ = (bitField0_ & ~0x00000002);
            onChanged();
          } else {
            fightPropListBuilder_.clear();
          }
          return this;
        }
        /**
         * <code>repeated .FightPropPair fightPropList = 6;</code>
         */
        public Builder removeFightPropList(int index) {
          if (fightPropListBuilder_ == null) {
            ensureFightPropListIsMutable();
            fightPropList_.remove(index);
            onChanged();
          } else {
            fightPropListBuilder_.remove(index);
          }
          return this;
        }
        /**
         * <code>repeated .FightPropPair fightPropList = 6;</code>
         */
        public emu.grasscutter.net.proto.FightPropPairOuterClass.FightPropPair.Builder getFightPropListBuilder(
            int index) {
          return getFightPropListFieldBuilder().getBuilder(index);
        }
        /**
         * <code>repeated .FightPropPair fightPropList = 6;</code>
         */
        public emu.grasscutter.net.proto.FightPropPairOuterClass.FightPropPairOrBuilder getFightPropListOrBuilder(
            int index) {
          if (fightPropListBuilder_ == null) {
            return fightPropList_.get(index);  } else {
            return fightPropListBuilder_.getMessageOrBuilder(index);
          }
        }
        /**
         * <code>repeated .FightPropPair fightPropList = 6;</code>
         */
        public java.util.List<? extends emu.grasscutter.net.proto.FightPropPairOuterClass.FightPropPairOrBuilder> 
             getFightPropListOrBuilderList() {
          if (fightPropListBuilder_ != null) {
            return fightPropListBuilder_.getMessageOrBuilderList();
          } else {
            return java.util.Collections.unmodifiableList(fightPropList_);
          }
        }
        /**
         * <code>repeated .FightPropPair fightPropList = 6;</code>
         */
        public emu.grasscutter.net.proto.FightPropPairOuterClass.FightPropPair.Builder addFightPropListBuilder() {
          return getFightPropListFieldBuilder().addBuilder(
              emu.grasscutter.net.proto.FightPropPairOuterClass.FightPropPair.getDefaultInstance());
        }
        /**
         * <code>repeated .FightPropPair fightPropList = 6;</code>
         */
        public emu.grasscutter.net.proto.FightPropPairOuterClass.FightPropPair.Builder addFightPropListBuilder(
            int index) {
          return getFightPropListFieldBuilder().addBuilder(
              index, emu.grasscutter.net.proto.FightPropPairOuterClass.FightPropPair.getDefaultInstance());
        }
        /**
         * <code>repeated .FightPropPair fightPropList = 6;</code>
         */
        public java.util.List<emu.grasscutter.net.proto.FightPropPairOuterClass.FightPropPair.Builder> 
             getFightPropListBuilderList() {
          return getFightPropListFieldBuilder().getBuilderList();
        }
        private com.google.protobuf.RepeatedFieldBuilderV3<
            emu.grasscutter.net.proto.FightPropPairOuterClass.FightPropPair, emu.grasscutter.net.proto.FightPropPairOuterClass.FightPropPair.Builder, emu.grasscutter.net.proto.FightPropPairOuterClass.FightPropPairOrBuilder> 
            getFightPropListFieldBuilder() {
          if (fightPropListBuilder_ == null) {
            fightPropListBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
                emu.grasscutter.net.proto.FightPropPairOuterClass.FightPropPair, emu.grasscutter.net.proto.FightPropPairOuterClass.FightPropPair.Builder, emu.grasscutter.net.proto.FightPropPairOuterClass.FightPropPairOrBuilder>(
                    fightPropList_,
                    ((bitField0_ & 0x00000002) != 0),
                    getParentForChildren(),
                    isClean());
            fightPropList_ = null;
          }
          return fightPropListBuilder_;
        }
  
        private int lifeState_ ;
        /**
         * <code>uint32 lifeState = 7;</code>
         * @return The lifeState.
         */
        @java.lang.Override
        public int getLifeState() {
          return lifeState_;
        }
        /**
         * <code>uint32 lifeState = 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 lifeState = 7;</code>
         * @return This builder for chaining.
         */
        public Builder clearLifeState() {
          
          lifeState_ = 0;
          onChanged();
          return this;
        }
  
        private java.util.List<emu.grasscutter.net.proto.AnimatorParameterValueInfoPairOuterClass.AnimatorParameterValueInfoPair> animatorParaList_ =
          java.util.Collections.emptyList();
        private void ensureAnimatorParaListIsMutable() {
          if (!((bitField0_ & 0x00000004) != 0)) {
            animatorParaList_ = new java.util.ArrayList<emu.grasscutter.net.proto.AnimatorParameterValueInfoPairOuterClass.AnimatorParameterValueInfoPair>(animatorParaList_);
            bitField0_ |= 0x00000004;
           }
        }
  
        private com.google.protobuf.RepeatedFieldBuilderV3<
            emu.grasscutter.net.proto.AnimatorParameterValueInfoPairOuterClass.AnimatorParameterValueInfoPair, emu.grasscutter.net.proto.AnimatorParameterValueInfoPairOuterClass.AnimatorParameterValueInfoPair.Builder, emu.grasscutter.net.proto.AnimatorParameterValueInfoPairOuterClass.AnimatorParameterValueInfoPairOrBuilder> animatorParaListBuilder_;
  
        /**
         * <code>repeated .AnimatorParameterValueInfoPair animatorParaList = 9;</code>
         */
        public java.util.List<emu.grasscutter.net.proto.AnimatorParameterValueInfoPairOuterClass.AnimatorParameterValueInfoPair> getAnimatorParaListList() {
          if (animatorParaListBuilder_ == null) {
            return java.util.Collections.unmodifiableList(animatorParaList_);
          } else {
            return animatorParaListBuilder_.getMessageList();
          }
        }
        /**
         * <code>repeated .AnimatorParameterValueInfoPair animatorParaList = 9;</code>
         */
        public int getAnimatorParaListCount() {
          if (animatorParaListBuilder_ == null) {
            return animatorParaList_.size();
          } else {
            return animatorParaListBuilder_.getCount();
          }
        }
        /**
         * <code>repeated .AnimatorParameterValueInfoPair animatorParaList = 9;</code>
         */
        public emu.grasscutter.net.proto.AnimatorParameterValueInfoPairOuterClass.AnimatorParameterValueInfoPair getAnimatorParaList(int index) {
          if (animatorParaListBuilder_ == null) {
            return animatorParaList_.get(index);
          } else {
            return animatorParaListBuilder_.getMessage(index);
          }
        }
        /**
         * <code>repeated .AnimatorParameterValueInfoPair animatorParaList = 9;</code>
         */
        public Builder setAnimatorParaList(
            int index, emu.grasscutter.net.proto.AnimatorParameterValueInfoPairOuterClass.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 animatorParaList = 9;</code>
         */
        public Builder setAnimatorParaList(
            int index, emu.grasscutter.net.proto.AnimatorParameterValueInfoPairOuterClass.AnimatorParameterValueInfoPair.Builder builderForValue) {
          if (animatorParaListBuilder_ == null) {
            ensureAnimatorParaListIsMutable();
            animatorParaList_.set(index, builderForValue.build());
            onChanged();
          } else {
            animatorParaListBuilder_.setMessage(index, builderForValue.build());
          }
          return this;
        }
        /**
         * <code>repeated .AnimatorParameterValueInfoPair animatorParaList = 9;</code>
         */
        public Builder addAnimatorParaList(emu.grasscutter.net.proto.AnimatorParameterValueInfoPairOuterClass.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 animatorParaList = 9;</code>
         */
        public Builder addAnimatorParaList(
            int index, emu.grasscutter.net.proto.AnimatorParameterValueInfoPairOuterClass.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 animatorParaList = 9;</code>
         */
        public Builder addAnimatorParaList(
            emu.grasscutter.net.proto.AnimatorParameterValueInfoPairOuterClass.AnimatorParameterValueInfoPair.Builder builderForValue) {
          if (animatorParaListBuilder_ == null) {
            ensureAnimatorParaListIsMutable();
            animatorParaList_.add(builderForValue.build());
            onChanged();
          } else {
            animatorParaListBuilder_.addMessage(builderForValue.build());
          }
          return this;
        }
        /**
         * <code>repeated .AnimatorParameterValueInfoPair animatorParaList = 9;</code>
         */
        public Builder addAnimatorParaList(
            int index, emu.grasscutter.net.proto.AnimatorParameterValueInfoPairOuterClass.AnimatorParameterValueInfoPair.Builder builderForValue) {
          if (animatorParaListBuilder_ == null) {
            ensureAnimatorParaListIsMutable();
            animatorParaList_.add(index, builderForValue.build());
            onChanged();
          } else {
            animatorParaListBuilder_.addMessage(index, builderForValue.build());
          }
          return this;
        }
        /**
         * <code>repeated .AnimatorParameterValueInfoPair animatorParaList = 9;</code>
         */
        public Builder addAllAnimatorParaList(
            java.lang.Iterable<? extends emu.grasscutter.net.proto.AnimatorParameterValueInfoPairOuterClass.AnimatorParameterValueInfoPair> values) {
          if (animatorParaListBuilder_ == null) {
            ensureAnimatorParaListIsMutable();
            com.google.protobuf.AbstractMessageLite.Builder.addAll(
                values, animatorParaList_);
            onChanged();
          } else {
            animatorParaListBuilder_.addAllMessages(values);
          }
          return this;
        }
        /**
         * <code>repeated .AnimatorParameterValueInfoPair animatorParaList = 9;</code>
         */
        public Builder clearAnimatorParaList() {
          if (animatorParaListBuilder_ == null) {
            animatorParaList_ = java.util.Collections.emptyList();
            bitField0_ = (bitField0_ & ~0x00000004);
            onChanged();
          } else {
            animatorParaListBuilder_.clear();
          }
          return this;
        }
        /**
         * <code>repeated .AnimatorParameterValueInfoPair animatorParaList = 9;</code>
         */
        public Builder removeAnimatorParaList(int index) {
          if (animatorParaListBuilder_ == null) {
            ensureAnimatorParaListIsMutable();
            animatorParaList_.remove(index);
            onChanged();
          } else {
            animatorParaListBuilder_.remove(index);
          }
          return this;
        }
        /**
         * <code>repeated .AnimatorParameterValueInfoPair animatorParaList = 9;</code>
         */
        public emu.grasscutter.net.proto.AnimatorParameterValueInfoPairOuterClass.AnimatorParameterValueInfoPair.Builder getAnimatorParaListBuilder(
            int index) {
          return getAnimatorParaListFieldBuilder().getBuilder(index);
        }
        /**
         * <code>repeated .AnimatorParameterValueInfoPair animatorParaList = 9;</code>
         */
        public emu.grasscutter.net.proto.AnimatorParameterValueInfoPairOuterClass.AnimatorParameterValueInfoPairOrBuilder getAnimatorParaListOrBuilder(
            int index) {
          if (animatorParaListBuilder_ == null) {
            return animatorParaList_.get(index);  } else {
            return animatorParaListBuilder_.getMessageOrBuilder(index);
          }
        }
        /**
         * <code>repeated .AnimatorParameterValueInfoPair animatorParaList = 9;</code>
         */
        public java.util.List<? extends emu.grasscutter.net.proto.AnimatorParameterValueInfoPairOuterClass.AnimatorParameterValueInfoPairOrBuilder> 
             getAnimatorParaListOrBuilderList() {
          if (animatorParaListBuilder_ != null) {
            return animatorParaListBuilder_.getMessageOrBuilderList();
          } else {
            return java.util.Collections.unmodifiableList(animatorParaList_);
          }
        }
        /**
         * <code>repeated .AnimatorParameterValueInfoPair animatorParaList = 9;</code>
         */
        public emu.grasscutter.net.proto.AnimatorParameterValueInfoPairOuterClass.AnimatorParameterValueInfoPair.Builder addAnimatorParaListBuilder() {
          return getAnimatorParaListFieldBuilder().addBuilder(
              emu.grasscutter.net.proto.AnimatorParameterValueInfoPairOuterClass.AnimatorParameterValueInfoPair.getDefaultInstance());
        }
        /**
         * <code>repeated .AnimatorParameterValueInfoPair animatorParaList = 9;</code>
         */
        public emu.grasscutter.net.proto.AnimatorParameterValueInfoPairOuterClass.AnimatorParameterValueInfoPair.Builder addAnimatorParaListBuilder(
            int index) {
          return getAnimatorParaListFieldBuilder().addBuilder(
              index, emu.grasscutter.net.proto.AnimatorParameterValueInfoPairOuterClass.AnimatorParameterValueInfoPair.getDefaultInstance());
        }
        /**
         * <code>repeated .AnimatorParameterValueInfoPair animatorParaList = 9;</code>
         */
        public java.util.List<emu.grasscutter.net.proto.AnimatorParameterValueInfoPairOuterClass.AnimatorParameterValueInfoPair.Builder> 
             getAnimatorParaListBuilderList() {
          return getAnimatorParaListFieldBuilder().getBuilderList();
        }
        private com.google.protobuf.RepeatedFieldBuilderV3<
            emu.grasscutter.net.proto.AnimatorParameterValueInfoPairOuterClass.AnimatorParameterValueInfoPair, emu.grasscutter.net.proto.AnimatorParameterValueInfoPairOuterClass.AnimatorParameterValueInfoPair.Builder, emu.grasscutter.net.proto.AnimatorParameterValueInfoPairOuterClass.AnimatorParameterValueInfoPairOrBuilder> 
            getAnimatorParaListFieldBuilder() {
          if (animatorParaListBuilder_ == null) {
            animatorParaListBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
                emu.grasscutter.net.proto.AnimatorParameterValueInfoPairOuterClass.AnimatorParameterValueInfoPair, emu.grasscutter.net.proto.AnimatorParameterValueInfoPairOuterClass.AnimatorParameterValueInfoPair.Builder, emu.grasscutter.net.proto.AnimatorParameterValueInfoPairOuterClass.AnimatorParameterValueInfoPairOrBuilder>(
                    animatorParaList_,
                    ((bitField0_ & 0x00000004) != 0),
                    getParentForChildren(),
                    isClean());
            animatorParaList_ = null;
          }
          return animatorParaListBuilder_;
        }
  
        private com.google.protobuf.SingleFieldBuilderV3<
            emu.grasscutter.net.proto.SceneAvatarInfoOuterClass.SceneAvatarInfo, emu.grasscutter.net.proto.SceneAvatarInfoOuterClass.SceneAvatarInfo.Builder, emu.grasscutter.net.proto.SceneAvatarInfoOuterClass.SceneAvatarInfoOrBuilder> avatarBuilder_;
        /**
         * <code>.SceneAvatarInfo avatar = 10;</code>
         * @return Whether the avatar field is set.
         */
        @java.lang.Override
        public boolean hasAvatar() {
          return entityCase_ == 10;
        }
        /**
         * <code>.SceneAvatarInfo avatar = 10;</code>
         * @return The avatar.
         */
        @java.lang.Override
        public emu.grasscutter.net.proto.SceneAvatarInfoOuterClass.SceneAvatarInfo getAvatar() {
          if (avatarBuilder_ == null) {
            if (entityCase_ == 10) {
              return (emu.grasscutter.net.proto.SceneAvatarInfoOuterClass.SceneAvatarInfo) entity_;
            }
            return emu.grasscutter.net.proto.SceneAvatarInfoOuterClass.SceneAvatarInfo.getDefaultInstance();
          } else {
            if (entityCase_ == 10) {
              return avatarBuilder_.getMessage();
            }
            return emu.grasscutter.net.proto.SceneAvatarInfoOuterClass.SceneAvatarInfo.getDefaultInstance();
          }
        }
        /**
         * <code>.SceneAvatarInfo avatar = 10;</code>
         */
        public Builder setAvatar(emu.grasscutter.net.proto.SceneAvatarInfoOuterClass.SceneAvatarInfo value) {
          if (avatarBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            entity_ = value;
            onChanged();
          } else {
            avatarBuilder_.setMessage(value);
          }
          entityCase_ = 10;
          return this;
        }
        /**
         * <code>.SceneAvatarInfo avatar = 10;</code>
         */
        public Builder setAvatar(
            emu.grasscutter.net.proto.SceneAvatarInfoOuterClass.SceneAvatarInfo.Builder builderForValue) {
          if (avatarBuilder_ == null) {
            entity_ = builderForValue.build();
            onChanged();
          } else {
            avatarBuilder_.setMessage(builderForValue.build());
          }
          entityCase_ = 10;
          return this;
        }
        /**
         * <code>.SceneAvatarInfo avatar = 10;</code>
         */
        public Builder mergeAvatar(emu.grasscutter.net.proto.SceneAvatarInfoOuterClass.SceneAvatarInfo value) {
          if (avatarBuilder_ == null) {
            if (entityCase_ == 10 &&
                entity_ != emu.grasscutter.net.proto.SceneAvatarInfoOuterClass.SceneAvatarInfo.getDefaultInstance()) {
              entity_ = emu.grasscutter.net.proto.SceneAvatarInfoOuterClass.SceneAvatarInfo.newBuilder((emu.grasscutter.net.proto.SceneAvatarInfoOuterClass.SceneAvatarInfo) entity_)
                  .mergeFrom(value).buildPartial();
            } else {
              entity_ = value;
            }
            onChanged();
          } else {
            if (entityCase_ == 10) {
              avatarBuilder_.mergeFrom(value);
            }
            avatarBuilder_.setMessage(value);
          }
          entityCase_ = 10;
          return this;
        }
        /**
         * <code>.SceneAvatarInfo avatar = 10;</code>
         */
        public Builder clearAvatar() {
          if (avatarBuilder_ == null) {
            if (entityCase_ == 10) {
              entityCase_ = 0;
              entity_ = null;
              onChanged();
            }
          } else {
            if (entityCase_ == 10) {
              entityCase_ = 0;
              entity_ = null;
            }
            avatarBuilder_.clear();
          }
          return this;
        }
        /**
         * <code>.SceneAvatarInfo avatar = 10;</code>
         */
        public emu.grasscutter.net.proto.SceneAvatarInfoOuterClass.SceneAvatarInfo.Builder getAvatarBuilder() {
          return getAvatarFieldBuilder().getBuilder();
        }
        /**
         * <code>.SceneAvatarInfo avatar = 10;</code>
         */
        @java.lang.Override
        public emu.grasscutter.net.proto.SceneAvatarInfoOuterClass.SceneAvatarInfoOrBuilder getAvatarOrBuilder() {
          if ((entityCase_ == 10) && (avatarBuilder_ != null)) {
            return avatarBuilder_.getMessageOrBuilder();
          } else {
            if (entityCase_ == 10) {
              return (emu.grasscutter.net.proto.SceneAvatarInfoOuterClass.SceneAvatarInfo) entity_;
            }
            return emu.grasscutter.net.proto.SceneAvatarInfoOuterClass.SceneAvatarInfo.getDefaultInstance();
          }
        }
        /**
         * <code>.SceneAvatarInfo avatar = 10;</code>
         */
        private com.google.protobuf.SingleFieldBuilderV3<
            emu.grasscutter.net.proto.SceneAvatarInfoOuterClass.SceneAvatarInfo, emu.grasscutter.net.proto.SceneAvatarInfoOuterClass.SceneAvatarInfo.Builder, emu.grasscutter.net.proto.SceneAvatarInfoOuterClass.SceneAvatarInfoOrBuilder> 
            getAvatarFieldBuilder() {
          if (avatarBuilder_ == null) {
            if (!(entityCase_ == 10)) {
              entity_ = emu.grasscutter.net.proto.SceneAvatarInfoOuterClass.SceneAvatarInfo.getDefaultInstance();
            }
            avatarBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
                emu.grasscutter.net.proto.SceneAvatarInfoOuterClass.SceneAvatarInfo, emu.grasscutter.net.proto.SceneAvatarInfoOuterClass.SceneAvatarInfo.Builder, emu.grasscutter.net.proto.SceneAvatarInfoOuterClass.SceneAvatarInfoOrBuilder>(
                    (emu.grasscutter.net.proto.SceneAvatarInfoOuterClass.SceneAvatarInfo) entity_,
                    getParentForChildren(),
                    isClean());
            entity_ = null;
          }
          entityCase_ = 10;
          onChanged();;
          return avatarBuilder_;
        }
  
        private com.google.protobuf.SingleFieldBuilderV3<
            emu.grasscutter.net.proto.SceneMonsterInfoOuterClass.SceneMonsterInfo, emu.grasscutter.net.proto.SceneMonsterInfoOuterClass.SceneMonsterInfo.Builder, emu.grasscutter.net.proto.SceneMonsterInfoOuterClass.SceneMonsterInfoOrBuilder> monsterBuilder_;
        /**
         * <code>.SceneMonsterInfo monster = 11;</code>
         * @return Whether the monster field is set.
         */
        @java.lang.Override
        public boolean hasMonster() {
          return entityCase_ == 11;
        }
        /**
         * <code>.SceneMonsterInfo monster = 11;</code>
         * @return The monster.
         */
        @java.lang.Override
        public emu.grasscutter.net.proto.SceneMonsterInfoOuterClass.SceneMonsterInfo getMonster() {
          if (monsterBuilder_ == null) {
            if (entityCase_ == 11) {
              return (emu.grasscutter.net.proto.SceneMonsterInfoOuterClass.SceneMonsterInfo) entity_;
            }
            return emu.grasscutter.net.proto.SceneMonsterInfoOuterClass.SceneMonsterInfo.getDefaultInstance();
          } else {
            if (entityCase_ == 11) {
              return monsterBuilder_.getMessage();
            }
            return emu.grasscutter.net.proto.SceneMonsterInfoOuterClass.SceneMonsterInfo.getDefaultInstance();
          }
        }
        /**
         * <code>.SceneMonsterInfo monster = 11;</code>
         */
        public Builder setMonster(emu.grasscutter.net.proto.SceneMonsterInfoOuterClass.SceneMonsterInfo value) {
          if (monsterBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            entity_ = value;
            onChanged();
          } else {
            monsterBuilder_.setMessage(value);
          }
          entityCase_ = 11;
          return this;
        }
        /**
         * <code>.SceneMonsterInfo monster = 11;</code>
         */
        public Builder setMonster(
            emu.grasscutter.net.proto.SceneMonsterInfoOuterClass.SceneMonsterInfo.Builder builderForValue) {
          if (monsterBuilder_ == null) {
            entity_ = builderForValue.build();
            onChanged();
          } else {
            monsterBuilder_.setMessage(builderForValue.build());
          }
          entityCase_ = 11;
          return this;
        }
        /**
         * <code>.SceneMonsterInfo monster = 11;</code>
         */
        public Builder mergeMonster(emu.grasscutter.net.proto.SceneMonsterInfoOuterClass.SceneMonsterInfo value) {
          if (monsterBuilder_ == null) {
            if (entityCase_ == 11 &&
                entity_ != emu.grasscutter.net.proto.SceneMonsterInfoOuterClass.SceneMonsterInfo.getDefaultInstance()) {
              entity_ = emu.grasscutter.net.proto.SceneMonsterInfoOuterClass.SceneMonsterInfo.newBuilder((emu.grasscutter.net.proto.SceneMonsterInfoOuterClass.SceneMonsterInfo) entity_)
                  .mergeFrom(value).buildPartial();
            } else {
              entity_ = value;
            }
            onChanged();
          } else {
            if (entityCase_ == 11) {
              monsterBuilder_.mergeFrom(value);
            }
            monsterBuilder_.setMessage(value);
          }
          entityCase_ = 11;
          return this;
        }
        /**
         * <code>.SceneMonsterInfo monster = 11;</code>
         */
        public Builder clearMonster() {
          if (monsterBuilder_ == null) {
            if (entityCase_ == 11) {
              entityCase_ = 0;
              entity_ = null;
              onChanged();
            }
          } else {
            if (entityCase_ == 11) {
              entityCase_ = 0;
              entity_ = null;
            }
            monsterBuilder_.clear();
          }
          return this;
        }
        /**
         * <code>.SceneMonsterInfo monster = 11;</code>
         */
        public emu.grasscutter.net.proto.SceneMonsterInfoOuterClass.SceneMonsterInfo.Builder getMonsterBuilder() {
          return getMonsterFieldBuilder().getBuilder();
        }
        /**
         * <code>.SceneMonsterInfo monster = 11;</code>
         */
        @java.lang.Override
        public emu.grasscutter.net.proto.SceneMonsterInfoOuterClass.SceneMonsterInfoOrBuilder getMonsterOrBuilder() {
          if ((entityCase_ == 11) && (monsterBuilder_ != null)) {
            return monsterBuilder_.getMessageOrBuilder();
          } else {
            if (entityCase_ == 11) {
              return (emu.grasscutter.net.proto.SceneMonsterInfoOuterClass.SceneMonsterInfo) entity_;
            }
            return emu.grasscutter.net.proto.SceneMonsterInfoOuterClass.SceneMonsterInfo.getDefaultInstance();
          }
        }
        /**
         * <code>.SceneMonsterInfo monster = 11;</code>
         */
        private com.google.protobuf.SingleFieldBuilderV3<
            emu.grasscutter.net.proto.SceneMonsterInfoOuterClass.SceneMonsterInfo, emu.grasscutter.net.proto.SceneMonsterInfoOuterClass.SceneMonsterInfo.Builder, emu.grasscutter.net.proto.SceneMonsterInfoOuterClass.SceneMonsterInfoOrBuilder> 
            getMonsterFieldBuilder() {
          if (monsterBuilder_ == null) {
            if (!(entityCase_ == 11)) {
              entity_ = emu.grasscutter.net.proto.SceneMonsterInfoOuterClass.SceneMonsterInfo.getDefaultInstance();
            }
            monsterBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
                emu.grasscutter.net.proto.SceneMonsterInfoOuterClass.SceneMonsterInfo, emu.grasscutter.net.proto.SceneMonsterInfoOuterClass.SceneMonsterInfo.Builder, emu.grasscutter.net.proto.SceneMonsterInfoOuterClass.SceneMonsterInfoOrBuilder>(
                    (emu.grasscutter.net.proto.SceneMonsterInfoOuterClass.SceneMonsterInfo) entity_,
                    getParentForChildren(),
                    isClean());
            entity_ = null;
          }
          entityCase_ = 11;
          onChanged();;
          return monsterBuilder_;
        }
  
        private com.google.protobuf.SingleFieldBuilderV3<
            emu.grasscutter.net.proto.SceneNpcInfoOuterClass.SceneNpcInfo, emu.grasscutter.net.proto.SceneNpcInfoOuterClass.SceneNpcInfo.Builder, emu.grasscutter.net.proto.SceneNpcInfoOuterClass.SceneNpcInfoOrBuilder> npcBuilder_;
        /**
         * <code>.SceneNpcInfo npc = 12;</code>
         * @return Whether the npc field is set.
         */
        @java.lang.Override
        public boolean hasNpc() {
          return entityCase_ == 12;
        }
        /**
         * <code>.SceneNpcInfo npc = 12;</code>
         * @return The npc.
         */
        @java.lang.Override
        public emu.grasscutter.net.proto.SceneNpcInfoOuterClass.SceneNpcInfo getNpc() {
          if (npcBuilder_ == null) {
            if (entityCase_ == 12) {
              return (emu.grasscutter.net.proto.SceneNpcInfoOuterClass.SceneNpcInfo) entity_;
            }
            return emu.grasscutter.net.proto.SceneNpcInfoOuterClass.SceneNpcInfo.getDefaultInstance();
          } else {
            if (entityCase_ == 12) {
              return npcBuilder_.getMessage();
            }
            return emu.grasscutter.net.proto.SceneNpcInfoOuterClass.SceneNpcInfo.getDefaultInstance();
          }
        }
        /**
         * <code>.SceneNpcInfo npc = 12;</code>
         */
        public Builder setNpc(emu.grasscutter.net.proto.SceneNpcInfoOuterClass.SceneNpcInfo value) {
          if (npcBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            entity_ = value;
            onChanged();
          } else {
            npcBuilder_.setMessage(value);
          }
          entityCase_ = 12;
          return this;
        }
        /**
         * <code>.SceneNpcInfo npc = 12;</code>
         */
        public Builder setNpc(
            emu.grasscutter.net.proto.SceneNpcInfoOuterClass.SceneNpcInfo.Builder builderForValue) {
          if (npcBuilder_ == null) {
            entity_ = builderForValue.build();
            onChanged();
          } else {
            npcBuilder_.setMessage(builderForValue.build());
          }
          entityCase_ = 12;
          return this;
        }
        /**
         * <code>.SceneNpcInfo npc = 12;</code>
         */
        public Builder mergeNpc(emu.grasscutter.net.proto.SceneNpcInfoOuterClass.SceneNpcInfo value) {
          if (npcBuilder_ == null) {
            if (entityCase_ == 12 &&
                entity_ != emu.grasscutter.net.proto.SceneNpcInfoOuterClass.SceneNpcInfo.getDefaultInstance()) {
              entity_ = emu.grasscutter.net.proto.SceneNpcInfoOuterClass.SceneNpcInfo.newBuilder((emu.grasscutter.net.proto.SceneNpcInfoOuterClass.SceneNpcInfo) entity_)
                  .mergeFrom(value).buildPartial();
            } else {
              entity_ = value;
            }
            onChanged();
          } else {
            if (entityCase_ == 12) {
              npcBuilder_.mergeFrom(value);
            }
            npcBuilder_.setMessage(value);
          }
          entityCase_ = 12;
          return this;
        }
        /**
         * <code>.SceneNpcInfo npc = 12;</code>
         */
        public Builder clearNpc() {
          if (npcBuilder_ == null) {
            if (entityCase_ == 12) {
              entityCase_ = 0;
              entity_ = null;
              onChanged();
            }
          } else {
            if (entityCase_ == 12) {
              entityCase_ = 0;
              entity_ = null;
            }
            npcBuilder_.clear();
          }
          return this;
        }
        /**
         * <code>.SceneNpcInfo npc = 12;</code>
         */
        public emu.grasscutter.net.proto.SceneNpcInfoOuterClass.SceneNpcInfo.Builder getNpcBuilder() {
          return getNpcFieldBuilder().getBuilder();
        }
        /**
         * <code>.SceneNpcInfo npc = 12;</code>
         */
        @java.lang.Override
        public emu.grasscutter.net.proto.SceneNpcInfoOuterClass.SceneNpcInfoOrBuilder getNpcOrBuilder() {
          if ((entityCase_ == 12) && (npcBuilder_ != null)) {
            return npcBuilder_.getMessageOrBuilder();
          } else {
            if (entityCase_ == 12) {
              return (emu.grasscutter.net.proto.SceneNpcInfoOuterClass.SceneNpcInfo) entity_;
            }
            return emu.grasscutter.net.proto.SceneNpcInfoOuterClass.SceneNpcInfo.getDefaultInstance();
          }
        }
        /**
         * <code>.SceneNpcInfo npc = 12;</code>
         */
        private com.google.protobuf.SingleFieldBuilderV3<
            emu.grasscutter.net.proto.SceneNpcInfoOuterClass.SceneNpcInfo, emu.grasscutter.net.proto.SceneNpcInfoOuterClass.SceneNpcInfo.Builder, emu.grasscutter.net.proto.SceneNpcInfoOuterClass.SceneNpcInfoOrBuilder> 
            getNpcFieldBuilder() {
          if (npcBuilder_ == null) {
            if (!(entityCase_ == 12)) {
              entity_ = emu.grasscutter.net.proto.SceneNpcInfoOuterClass.SceneNpcInfo.getDefaultInstance();
            }
            npcBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
                emu.grasscutter.net.proto.SceneNpcInfoOuterClass.SceneNpcInfo, emu.grasscutter.net.proto.SceneNpcInfoOuterClass.SceneNpcInfo.Builder, emu.grasscutter.net.proto.SceneNpcInfoOuterClass.SceneNpcInfoOrBuilder>(
                    (emu.grasscutter.net.proto.SceneNpcInfoOuterClass.SceneNpcInfo) entity_,
                    getParentForChildren(),
                    isClean());
            entity_ = null;
          }
          entityCase_ = 12;
          onChanged();;
          return npcBuilder_;
        }
  
        private com.google.protobuf.SingleFieldBuilderV3<
            emu.grasscutter.net.proto.SceneGadgetInfoOuterClass.SceneGadgetInfo, emu.grasscutter.net.proto.SceneGadgetInfoOuterClass.SceneGadgetInfo.Builder, emu.grasscutter.net.proto.SceneGadgetInfoOuterClass.SceneGadgetInfoOrBuilder> gadgetBuilder_;
        /**
         * <code>.SceneGadgetInfo gadget = 13;</code>
         * @return Whether the gadget field is set.
         */
        @java.lang.Override
        public boolean hasGadget() {
          return entityCase_ == 13;
        }
        /**
         * <code>.SceneGadgetInfo gadget = 13;</code>
         * @return The gadget.
         */
        @java.lang.Override
        public emu.grasscutter.net.proto.SceneGadgetInfoOuterClass.SceneGadgetInfo getGadget() {
          if (gadgetBuilder_ == null) {
            if (entityCase_ == 13) {
              return (emu.grasscutter.net.proto.SceneGadgetInfoOuterClass.SceneGadgetInfo) entity_;
            }
            return emu.grasscutter.net.proto.SceneGadgetInfoOuterClass.SceneGadgetInfo.getDefaultInstance();
          } else {
            if (entityCase_ == 13) {
              return gadgetBuilder_.getMessage();
            }
            return emu.grasscutter.net.proto.SceneGadgetInfoOuterClass.SceneGadgetInfo.getDefaultInstance();
          }
        }
        /**
         * <code>.SceneGadgetInfo gadget = 13;</code>
         */
        public Builder setGadget(emu.grasscutter.net.proto.SceneGadgetInfoOuterClass.SceneGadgetInfo value) {
          if (gadgetBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            entity_ = value;
            onChanged();
          } else {
            gadgetBuilder_.setMessage(value);
          }
          entityCase_ = 13;
          return this;
        }
        /**
         * <code>.SceneGadgetInfo gadget = 13;</code>
         */
        public Builder setGadget(
            emu.grasscutter.net.proto.SceneGadgetInfoOuterClass.SceneGadgetInfo.Builder builderForValue) {
          if (gadgetBuilder_ == null) {
            entity_ = builderForValue.build();
            onChanged();
          } else {
            gadgetBuilder_.setMessage(builderForValue.build());
          }
          entityCase_ = 13;
          return this;
        }
        /**
         * <code>.SceneGadgetInfo gadget = 13;</code>
         */
        public Builder mergeGadget(emu.grasscutter.net.proto.SceneGadgetInfoOuterClass.SceneGadgetInfo value) {
          if (gadgetBuilder_ == null) {
            if (entityCase_ == 13 &&
                entity_ != emu.grasscutter.net.proto.SceneGadgetInfoOuterClass.SceneGadgetInfo.getDefaultInstance()) {
              entity_ = emu.grasscutter.net.proto.SceneGadgetInfoOuterClass.SceneGadgetInfo.newBuilder((emu.grasscutter.net.proto.SceneGadgetInfoOuterClass.SceneGadgetInfo) entity_)
                  .mergeFrom(value).buildPartial();
            } else {
              entity_ = value;
            }
            onChanged();
          } else {
            if (entityCase_ == 13) {
              gadgetBuilder_.mergeFrom(value);
            }
            gadgetBuilder_.setMessage(value);
          }
          entityCase_ = 13;
          return this;
        }
        /**
         * <code>.SceneGadgetInfo gadget = 13;</code>
         */
        public Builder clearGadget() {
          if (gadgetBuilder_ == null) {
            if (entityCase_ == 13) {
              entityCase_ = 0;
              entity_ = null;
              onChanged();
            }
          } else {
            if (entityCase_ == 13) {
              entityCase_ = 0;
              entity_ = null;
            }
            gadgetBuilder_.clear();
          }
          return this;
        }
        /**
         * <code>.SceneGadgetInfo gadget = 13;</code>
         */
        public emu.grasscutter.net.proto.SceneGadgetInfoOuterClass.SceneGadgetInfo.Builder getGadgetBuilder() {
          return getGadgetFieldBuilder().getBuilder();
        }
        /**
         * <code>.SceneGadgetInfo gadget = 13;</code>
         */
        @java.lang.Override
        public emu.grasscutter.net.proto.SceneGadgetInfoOuterClass.SceneGadgetInfoOrBuilder getGadgetOrBuilder() {
          if ((entityCase_ == 13) && (gadgetBuilder_ != null)) {
            return gadgetBuilder_.getMessageOrBuilder();
          } else {
            if (entityCase_ == 13) {
              return (emu.grasscutter.net.proto.SceneGadgetInfoOuterClass.SceneGadgetInfo) entity_;
            }
            return emu.grasscutter.net.proto.SceneGadgetInfoOuterClass.SceneGadgetInfo.getDefaultInstance();
          }
        }
        /**
         * <code>.SceneGadgetInfo gadget = 13;</code>
         */
        private com.google.protobuf.SingleFieldBuilderV3<
            emu.grasscutter.net.proto.SceneGadgetInfoOuterClass.SceneGadgetInfo, emu.grasscutter.net.proto.SceneGadgetInfoOuterClass.SceneGadgetInfo.Builder, emu.grasscutter.net.proto.SceneGadgetInfoOuterClass.SceneGadgetInfoOrBuilder> 
            getGadgetFieldBuilder() {
          if (gadgetBuilder_ == null) {
            if (!(entityCase_ == 13)) {
              entity_ = emu.grasscutter.net.proto.SceneGadgetInfoOuterClass.SceneGadgetInfo.getDefaultInstance();
            }
            gadgetBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
                emu.grasscutter.net.proto.SceneGadgetInfoOuterClass.SceneGadgetInfo, emu.grasscutter.net.proto.SceneGadgetInfoOuterClass.SceneGadgetInfo.Builder, emu.grasscutter.net.proto.SceneGadgetInfoOuterClass.SceneGadgetInfoOrBuilder>(
                    (emu.grasscutter.net.proto.SceneGadgetInfoOuterClass.SceneGadgetInfo) entity_,
                    getParentForChildren(),
                    isClean());
            entity_ = null;
          }
          entityCase_ = 13;
          onChanged();;
          return gadgetBuilder_;
        }
  
        private int lastMoveSceneTimeMs_ ;
        /**
         * <code>uint32 lastMoveSceneTimeMs = 17;</code>
         * @return The lastMoveSceneTimeMs.
         */
        @java.lang.Override
        public int getLastMoveSceneTimeMs() {
          return lastMoveSceneTimeMs_;
        }
        /**
         * <code>uint32 lastMoveSceneTimeMs = 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 lastMoveSceneTimeMs = 17;</code>
         * @return This builder for chaining.
         */
        public Builder clearLastMoveSceneTimeMs() {
          
          lastMoveSceneTimeMs_ = 0;
          onChanged();
          return this;
        }
  
        private int lastMoveReliableSeq_ ;
        /**
         * <code>uint32 lastMoveReliableSeq = 18;</code>
         * @return The lastMoveReliableSeq.
         */
        @java.lang.Override
        public int getLastMoveReliableSeq() {
          return lastMoveReliableSeq_;
        }
        /**
         * <code>uint32 lastMoveReliableSeq = 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 lastMoveReliableSeq = 18;</code>
         * @return This builder for chaining.
         */
        public Builder clearLastMoveReliableSeq() {
          
          lastMoveReliableSeq_ = 0;
          onChanged();
          return this;
        }
  
        private emu.grasscutter.net.proto.EntityClientDataOuterClass.EntityClientData entityClientData_;
        private com.google.protobuf.SingleFieldBuilderV3<
            emu.grasscutter.net.proto.EntityClientDataOuterClass.EntityClientData, emu.grasscutter.net.proto.EntityClientDataOuterClass.EntityClientData.Builder, emu.grasscutter.net.proto.EntityClientDataOuterClass.EntityClientDataOrBuilder> entityClientDataBuilder_;
        /**
         * <code>.EntityClientData entityClientData = 19;</code>
         * @return Whether the entityClientData field is set.
         */
        public boolean hasEntityClientData() {
          return entityClientDataBuilder_ != null || entityClientData_ != null;
        }
        /**
         * <code>.EntityClientData entityClientData = 19;</code>
         * @return The entityClientData.
         */
        public emu.grasscutter.net.proto.EntityClientDataOuterClass.EntityClientData getEntityClientData() {
          if (entityClientDataBuilder_ == null) {
            return entityClientData_ == null ? emu.grasscutter.net.proto.EntityClientDataOuterClass.EntityClientData.getDefaultInstance() : entityClientData_;
          } else {
            return entityClientDataBuilder_.getMessage();
          }
        }
        /**
         * <code>.EntityClientData entityClientData = 19;</code>
         */
        public Builder setEntityClientData(emu.grasscutter.net.proto.EntityClientDataOuterClass.EntityClientData value) {
          if (entityClientDataBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            entityClientData_ = value;
            onChanged();
          } else {
            entityClientDataBuilder_.setMessage(value);
          }
  
          return this;
        }
        /**
         * <code>.EntityClientData entityClientData = 19;</code>
         */
        public Builder setEntityClientData(
            emu.grasscutter.net.proto.EntityClientDataOuterClass.EntityClientData.Builder builderForValue) {
          if (entityClientDataBuilder_ == null) {
            entityClientData_ = builderForValue.build();
            onChanged();
          } else {
            entityClientDataBuilder_.setMessage(builderForValue.build());
          }
  
          return this;
        }
        /**
         * <code>.EntityClientData entityClientData = 19;</code>
         */
        public Builder mergeEntityClientData(emu.grasscutter.net.proto.EntityClientDataOuterClass.EntityClientData value) {
          if (entityClientDataBuilder_ == null) {
            if (entityClientData_ != null) {
              entityClientData_ =
                emu.grasscutter.net.proto.EntityClientDataOuterClass.EntityClientData.newBuilder(entityClientData_).mergeFrom(value).buildPartial();
            } else {
              entityClientData_ = value;
            }
            onChanged();
          } else {
            entityClientDataBuilder_.mergeFrom(value);
          }
  
          return this;
        }
        /**
         * <code>.EntityClientData entityClientData = 19;</code>
         */
        public Builder clearEntityClientData() {
          if (entityClientDataBuilder_ == null) {
            entityClientData_ = null;
            onChanged();
          } else {
            entityClientData_ = null;
            entityClientDataBuilder_ = null;
          }
  
          return this;
        }
        /**
         * <code>.EntityClientData entityClientData = 19;</code>
         */
        public emu.grasscutter.net.proto.EntityClientDataOuterClass.EntityClientData.Builder getEntityClientDataBuilder() {
          
          onChanged();
          return getEntityClientDataFieldBuilder().getBuilder();
        }
        /**
         * <code>.EntityClientData entityClientData = 19;</code>
         */
        public emu.grasscutter.net.proto.EntityClientDataOuterClass.EntityClientDataOrBuilder getEntityClientDataOrBuilder() {
          if (entityClientDataBuilder_ != null) {
            return entityClientDataBuilder_.getMessageOrBuilder();
          } else {
            return entityClientData_ == null ?
                emu.grasscutter.net.proto.EntityClientDataOuterClass.EntityClientData.getDefaultInstance() : entityClientData_;
          }
        }
        /**
         * <code>.EntityClientData entityClientData = 19;</code>
         */
        private com.google.protobuf.SingleFieldBuilderV3<
            emu.grasscutter.net.proto.EntityClientDataOuterClass.EntityClientData, emu.grasscutter.net.proto.EntityClientDataOuterClass.EntityClientData.Builder, emu.grasscutter.net.proto.EntityClientDataOuterClass.EntityClientDataOrBuilder> 
            getEntityClientDataFieldBuilder() {
          if (entityClientDataBuilder_ == null) {
            entityClientDataBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
                emu.grasscutter.net.proto.EntityClientDataOuterClass.EntityClientData, emu.grasscutter.net.proto.EntityClientDataOuterClass.EntityClientData.Builder, emu.grasscutter.net.proto.EntityClientDataOuterClass.EntityClientDataOrBuilder>(
                    getEntityClientData(),
                    getParentForChildren(),
                    isClean());
            entityClientData_ = null;
          }
          return entityClientDataBuilder_;
        }
  
        private java.util.List<emu.grasscutter.net.proto.EntityEnvironmentInfoOuterClass.EntityEnvironmentInfo> entityEnvironmentInfoList_ =
          java.util.Collections.emptyList();
        private void ensureEntityEnvironmentInfoListIsMutable() {
          if (!((bitField0_ & 0x00000008) != 0)) {
            entityEnvironmentInfoList_ = new java.util.ArrayList<emu.grasscutter.net.proto.EntityEnvironmentInfoOuterClass.EntityEnvironmentInfo>(entityEnvironmentInfoList_);
            bitField0_ |= 0x00000008;
           }
        }
  
        private com.google.protobuf.RepeatedFieldBuilderV3<
            emu.grasscutter.net.proto.EntityEnvironmentInfoOuterClass.EntityEnvironmentInfo, emu.grasscutter.net.proto.EntityEnvironmentInfoOuterClass.EntityEnvironmentInfo.Builder, emu.grasscutter.net.proto.EntityEnvironmentInfoOuterClass.EntityEnvironmentInfoOrBuilder> entityEnvironmentInfoListBuilder_;
  
        /**
         * <code>repeated .EntityEnvironmentInfo entityEnvironmentInfoList = 20;</code>
         */
        public java.util.List<emu.grasscutter.net.proto.EntityEnvironmentInfoOuterClass.EntityEnvironmentInfo> getEntityEnvironmentInfoListList() {
          if (entityEnvironmentInfoListBuilder_ == null) {
            return java.util.Collections.unmodifiableList(entityEnvironmentInfoList_);
          } else {
            return entityEnvironmentInfoListBuilder_.getMessageList();
          }
        }
        /**
         * <code>repeated .EntityEnvironmentInfo entityEnvironmentInfoList = 20;</code>
         */
        public int getEntityEnvironmentInfoListCount() {
          if (entityEnvironmentInfoListBuilder_ == null) {
            return entityEnvironmentInfoList_.size();
          } else {
            return entityEnvironmentInfoListBuilder_.getCount();
          }
        }
        /**
         * <code>repeated .EntityEnvironmentInfo entityEnvironmentInfoList = 20;</code>
         */
        public emu.grasscutter.net.proto.EntityEnvironmentInfoOuterClass.EntityEnvironmentInfo getEntityEnvironmentInfoList(int index) {
          if (entityEnvironmentInfoListBuilder_ == null) {
            return entityEnvironmentInfoList_.get(index);
          } else {
            return entityEnvironmentInfoListBuilder_.getMessage(index);
          }
        }
        /**
         * <code>repeated .EntityEnvironmentInfo entityEnvironmentInfoList = 20;</code>
         */
        public Builder setEntityEnvironmentInfoList(
            int index, emu.grasscutter.net.proto.EntityEnvironmentInfoOuterClass.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 entityEnvironmentInfoList = 20;</code>
         */
        public Builder setEntityEnvironmentInfoList(
            int index, emu.grasscutter.net.proto.EntityEnvironmentInfoOuterClass.EntityEnvironmentInfo.Builder builderForValue) {
          if (entityEnvironmentInfoListBuilder_ == null) {
            ensureEntityEnvironmentInfoListIsMutable();
            entityEnvironmentInfoList_.set(index, builderForValue.build());
            onChanged();
          } else {
            entityEnvironmentInfoListBuilder_.setMessage(index, builderForValue.build());
          }
          return this;
        }
        /**
         * <code>repeated .EntityEnvironmentInfo entityEnvironmentInfoList = 20;</code>
         */
        public Builder addEntityEnvironmentInfoList(emu.grasscutter.net.proto.EntityEnvironmentInfoOuterClass.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 entityEnvironmentInfoList = 20;</code>
         */
        public Builder addEntityEnvironmentInfoList(
            int index, emu.grasscutter.net.proto.EntityEnvironmentInfoOuterClass.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 entityEnvironmentInfoList = 20;</code>
         */
        public Builder addEntityEnvironmentInfoList(
            emu.grasscutter.net.proto.EntityEnvironmentInfoOuterClass.EntityEnvironmentInfo.Builder builderForValue) {
          if (entityEnvironmentInfoListBuilder_ == null) {
            ensureEntityEnvironmentInfoListIsMutable();
            entityEnvironmentInfoList_.add(builderForValue.build());
            onChanged();
          } else {
            entityEnvironmentInfoListBuilder_.addMessage(builderForValue.build());
          }
          return this;
        }
        /**
         * <code>repeated .EntityEnvironmentInfo entityEnvironmentInfoList = 20;</code>
         */
        public Builder addEntityEnvironmentInfoList(
            int index, emu.grasscutter.net.proto.EntityEnvironmentInfoOuterClass.EntityEnvironmentInfo.Builder builderForValue) {
          if (entityEnvironmentInfoListBuilder_ == null) {
            ensureEntityEnvironmentInfoListIsMutable();
            entityEnvironmentInfoList_.add(index, builderForValue.build());
            onChanged();
          } else {
            entityEnvironmentInfoListBuilder_.addMessage(index, builderForValue.build());
          }
          return this;
        }
        /**
         * <code>repeated .EntityEnvironmentInfo entityEnvironmentInfoList = 20;</code>
         */
        public Builder addAllEntityEnvironmentInfoList(
            java.lang.Iterable<? extends emu.grasscutter.net.proto.EntityEnvironmentInfoOuterClass.EntityEnvironmentInfo> values) {
          if (entityEnvironmentInfoListBuilder_ == null) {
            ensureEntityEnvironmentInfoListIsMutable();
            com.google.protobuf.AbstractMessageLite.Builder.addAll(
                values, entityEnvironmentInfoList_);
            onChanged();
          } else {
            entityEnvironmentInfoListBuilder_.addAllMessages(values);
          }
          return this;
        }
        /**
         * <code>repeated .EntityEnvironmentInfo entityEnvironmentInfoList = 20;</code>
         */
        public Builder clearEntityEnvironmentInfoList() {
          if (entityEnvironmentInfoListBuilder_ == null) {
            entityEnvironmentInfoList_ = java.util.Collections.emptyList();
            bitField0_ = (bitField0_ & ~0x00000008);
            onChanged();
          } else {
            entityEnvironmentInfoListBuilder_.clear();
          }
          return this;
        }
        /**
         * <code>repeated .EntityEnvironmentInfo entityEnvironmentInfoList = 20;</code>
         */
        public Builder removeEntityEnvironmentInfoList(int index) {
          if (entityEnvironmentInfoListBuilder_ == null) {
            ensureEntityEnvironmentInfoListIsMutable();
            entityEnvironmentInfoList_.remove(index);
            onChanged();
          } else {
            entityEnvironmentInfoListBuilder_.remove(index);
          }
          return this;
        }
        /**
         * <code>repeated .EntityEnvironmentInfo entityEnvironmentInfoList = 20;</code>
         */
        public emu.grasscutter.net.proto.EntityEnvironmentInfoOuterClass.EntityEnvironmentInfo.Builder getEntityEnvironmentInfoListBuilder(
            int index) {
          return getEntityEnvironmentInfoListFieldBuilder().getBuilder(index);
        }
        /**
         * <code>repeated .EntityEnvironmentInfo entityEnvironmentInfoList = 20;</code>
         */
        public emu.grasscutter.net.proto.EntityEnvironmentInfoOuterClass.EntityEnvironmentInfoOrBuilder getEntityEnvironmentInfoListOrBuilder(
            int index) {
          if (entityEnvironmentInfoListBuilder_ == null) {
            return entityEnvironmentInfoList_.get(index);  } else {
            return entityEnvironmentInfoListBuilder_.getMessageOrBuilder(index);
          }
        }
        /**
         * <code>repeated .EntityEnvironmentInfo entityEnvironmentInfoList = 20;</code>
         */
        public java.util.List<? extends emu.grasscutter.net.proto.EntityEnvironmentInfoOuterClass.EntityEnvironmentInfoOrBuilder> 
             getEntityEnvironmentInfoListOrBuilderList() {
          if (entityEnvironmentInfoListBuilder_ != null) {
            return entityEnvironmentInfoListBuilder_.getMessageOrBuilderList();
          } else {
            return java.util.Collections.unmodifiableList(entityEnvironmentInfoList_);
          }
        }
        /**
         * <code>repeated .EntityEnvironmentInfo entityEnvironmentInfoList = 20;</code>
         */
        public emu.grasscutter.net.proto.EntityEnvironmentInfoOuterClass.EntityEnvironmentInfo.Builder addEntityEnvironmentInfoListBuilder() {
          return getEntityEnvironmentInfoListFieldBuilder().addBuilder(
              emu.grasscutter.net.proto.EntityEnvironmentInfoOuterClass.EntityEnvironmentInfo.getDefaultInstance());
        }
        /**
         * <code>repeated .EntityEnvironmentInfo entityEnvironmentInfoList = 20;</code>
         */
        public emu.grasscutter.net.proto.EntityEnvironmentInfoOuterClass.EntityEnvironmentInfo.Builder addEntityEnvironmentInfoListBuilder(
            int index) {
          return getEntityEnvironmentInfoListFieldBuilder().addBuilder(
              index, emu.grasscutter.net.proto.EntityEnvironmentInfoOuterClass.EntityEnvironmentInfo.getDefaultInstance());
        }
        /**
         * <code>repeated .EntityEnvironmentInfo entityEnvironmentInfoList = 20;</code>
         */
        public java.util.List<emu.grasscutter.net.proto.EntityEnvironmentInfoOuterClass.EntityEnvironmentInfo.Builder> 
             getEntityEnvironmentInfoListBuilderList() {
          return getEntityEnvironmentInfoListFieldBuilder().getBuilderList();
        }
        private com.google.protobuf.RepeatedFieldBuilderV3<
            emu.grasscutter.net.proto.EntityEnvironmentInfoOuterClass.EntityEnvironmentInfo, emu.grasscutter.net.proto.EntityEnvironmentInfoOuterClass.EntityEnvironmentInfo.Builder, emu.grasscutter.net.proto.EntityEnvironmentInfoOuterClass.EntityEnvironmentInfoOrBuilder> 
            getEntityEnvironmentInfoListFieldBuilder() {
          if (entityEnvironmentInfoListBuilder_ == null) {
            entityEnvironmentInfoListBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
                emu.grasscutter.net.proto.EntityEnvironmentInfoOuterClass.EntityEnvironmentInfo, emu.grasscutter.net.proto.EntityEnvironmentInfoOuterClass.EntityEnvironmentInfo.Builder, emu.grasscutter.net.proto.EntityEnvironmentInfoOuterClass.EntityEnvironmentInfoOrBuilder>(
                    entityEnvironmentInfoList_,
                    ((bitField0_ & 0x00000008) != 0),
                    getParentForChildren(),
                    isClean());
            entityEnvironmentInfoList_ = null;
          }
          return entityEnvironmentInfoListBuilder_;
        }
  
        private emu.grasscutter.net.proto.EntityAuthorityInfoOuterClass.EntityAuthorityInfo entityAuthorityInfo_;
        private com.google.protobuf.SingleFieldBuilderV3<
            emu.grasscutter.net.proto.EntityAuthorityInfoOuterClass.EntityAuthorityInfo, emu.grasscutter.net.proto.EntityAuthorityInfoOuterClass.EntityAuthorityInfo.Builder, emu.grasscutter.net.proto.EntityAuthorityInfoOuterClass.EntityAuthorityInfoOrBuilder> entityAuthorityInfoBuilder_;
        /**
         * <code>.EntityAuthorityInfo entityAuthorityInfo = 21;</code>
         * @return Whether the entityAuthorityInfo field is set.
         */
        public boolean hasEntityAuthorityInfo() {
          return entityAuthorityInfoBuilder_ != null || entityAuthorityInfo_ != null;
        }
        /**
         * <code>.EntityAuthorityInfo entityAuthorityInfo = 21;</code>
         * @return The entityAuthorityInfo.
         */
        public emu.grasscutter.net.proto.EntityAuthorityInfoOuterClass.EntityAuthorityInfo getEntityAuthorityInfo() {
          if (entityAuthorityInfoBuilder_ == null) {
            return entityAuthorityInfo_ == null ? emu.grasscutter.net.proto.EntityAuthorityInfoOuterClass.EntityAuthorityInfo.getDefaultInstance() : entityAuthorityInfo_;
          } else {
            return entityAuthorityInfoBuilder_.getMessage();
          }
        }
        /**
         * <code>.EntityAuthorityInfo entityAuthorityInfo = 21;</code>
         */
        public Builder setEntityAuthorityInfo(emu.grasscutter.net.proto.EntityAuthorityInfoOuterClass.EntityAuthorityInfo value) {
          if (entityAuthorityInfoBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            entityAuthorityInfo_ = value;
            onChanged();
          } else {
            entityAuthorityInfoBuilder_.setMessage(value);
          }
  
          return this;
        }
        /**
         * <code>.EntityAuthorityInfo entityAuthorityInfo = 21;</code>
         */
        public Builder setEntityAuthorityInfo(
            emu.grasscutter.net.proto.EntityAuthorityInfoOuterClass.EntityAuthorityInfo.Builder builderForValue) {
          if (entityAuthorityInfoBuilder_ == null) {
            entityAuthorityInfo_ = builderForValue.build();
            onChanged();
          } else {
            entityAuthorityInfoBuilder_.setMessage(builderForValue.build());
          }
  
          return this;
        }
        /**
         * <code>.EntityAuthorityInfo entityAuthorityInfo = 21;</code>
         */
        public Builder mergeEntityAuthorityInfo(emu.grasscutter.net.proto.EntityAuthorityInfoOuterClass.EntityAuthorityInfo value) {
          if (entityAuthorityInfoBuilder_ == null) {
            if (entityAuthorityInfo_ != null) {
              entityAuthorityInfo_ =
                emu.grasscutter.net.proto.EntityAuthorityInfoOuterClass.EntityAuthorityInfo.newBuilder(entityAuthorityInfo_).mergeFrom(value).buildPartial();
            } else {
              entityAuthorityInfo_ = value;
            }
            onChanged();
          } else {
            entityAuthorityInfoBuilder_.mergeFrom(value);
          }
  
          return this;
        }
        /**
         * <code>.EntityAuthorityInfo entityAuthorityInfo = 21;</code>
         */
        public Builder clearEntityAuthorityInfo() {
          if (entityAuthorityInfoBuilder_ == null) {
            entityAuthorityInfo_ = null;
            onChanged();
          } else {
            entityAuthorityInfo_ = null;
            entityAuthorityInfoBuilder_ = null;
          }
  
          return this;
        }
        /**
         * <code>.EntityAuthorityInfo entityAuthorityInfo = 21;</code>
         */
        public emu.grasscutter.net.proto.EntityAuthorityInfoOuterClass.EntityAuthorityInfo.Builder getEntityAuthorityInfoBuilder() {
          
          onChanged();
          return getEntityAuthorityInfoFieldBuilder().getBuilder();
        }
        /**
         * <code>.EntityAuthorityInfo entityAuthorityInfo = 21;</code>
         */
        public emu.grasscutter.net.proto.EntityAuthorityInfoOuterClass.EntityAuthorityInfoOrBuilder getEntityAuthorityInfoOrBuilder() {
          if (entityAuthorityInfoBuilder_ != null) {
            return entityAuthorityInfoBuilder_.getMessageOrBuilder();
          } else {
            return entityAuthorityInfo_ == null ?
                emu.grasscutter.net.proto.EntityAuthorityInfoOuterClass.EntityAuthorityInfo.getDefaultInstance() : entityAuthorityInfo_;
          }
        }
        /**
         * <code>.EntityAuthorityInfo entityAuthorityInfo = 21;</code>
         */
        private com.google.protobuf.SingleFieldBuilderV3<
            emu.grasscutter.net.proto.EntityAuthorityInfoOuterClass.EntityAuthorityInfo, emu.grasscutter.net.proto.EntityAuthorityInfoOuterClass.EntityAuthorityInfo.Builder, emu.grasscutter.net.proto.EntityAuthorityInfoOuterClass.EntityAuthorityInfoOrBuilder> 
            getEntityAuthorityInfoFieldBuilder() {
          if (entityAuthorityInfoBuilder_ == null) {
            entityAuthorityInfoBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
                emu.grasscutter.net.proto.EntityAuthorityInfoOuterClass.EntityAuthorityInfo, emu.grasscutter.net.proto.EntityAuthorityInfoOuterClass.EntityAuthorityInfo.Builder, emu.grasscutter.net.proto.EntityAuthorityInfoOuterClass.EntityAuthorityInfoOrBuilder>(
                    getEntityAuthorityInfo(),
                    getParentForChildren(),
                    isClean());
            entityAuthorityInfo_ = null;
          }
          return entityAuthorityInfoBuilder_;
        }
  
        private com.google.protobuf.LazyStringList tagList_ = com.google.protobuf.LazyStringArrayList.EMPTY;
        private void ensureTagListIsMutable() {
          if (!((bitField0_ & 0x00000010) != 0)) {
            tagList_ = new com.google.protobuf.LazyStringArrayList(tagList_);
            bitField0_ |= 0x00000010;
           }
        }
        /**
         * <code>repeated string tagList = 22;</code>
         * @return A list containing the tagList.
         */
        public com.google.protobuf.ProtocolStringList
            getTagListList() {
          return tagList_.getUnmodifiableView();
        }
        /**
         * <code>repeated string tagList = 22;</code>
         * @return The count of tagList.
         */
        public int getTagListCount() {
          return tagList_.size();
        }
        /**
         * <code>repeated string tagList = 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 tagList = 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 tagList = 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 tagList = 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 tagList = 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 tagList = 22;</code>
         * @return This builder for chaining.
         */
        public Builder clearTagList() {
          tagList_ = com.google.protobuf.LazyStringArrayList.EMPTY;
          bitField0_ = (bitField0_ & ~0x00000010);
          onChanged();
          return this;
        }
        /**
         * <code>repeated string tagList = 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 java.util.List<emu.grasscutter.net.proto.ServerBuffOuterClass.ServerBuff> serverBuffList_ =
          java.util.Collections.emptyList();
        private void ensureServerBuffListIsMutable() {
          if (!((bitField0_ & 0x00000020) != 0)) {
            serverBuffList_ = new java.util.ArrayList<emu.grasscutter.net.proto.ServerBuffOuterClass.ServerBuff>(serverBuffList_);
            bitField0_ |= 0x00000020;
           }
        }
  
        private com.google.protobuf.RepeatedFieldBuilderV3<
            emu.grasscutter.net.proto.ServerBuffOuterClass.ServerBuff, emu.grasscutter.net.proto.ServerBuffOuterClass.ServerBuff.Builder, emu.grasscutter.net.proto.ServerBuffOuterClass.ServerBuffOrBuilder> serverBuffListBuilder_;
  
        /**
         * <code>repeated .ServerBuff serverBuffList = 23;</code>
         */
        public java.util.List<emu.grasscutter.net.proto.ServerBuffOuterClass.ServerBuff> getServerBuffListList() {
          if (serverBuffListBuilder_ == null) {
            return java.util.Collections.unmodifiableList(serverBuffList_);
          } else {
            return serverBuffListBuilder_.getMessageList();
          }
        }
        /**
         * <code>repeated .ServerBuff serverBuffList = 23;</code>
         */
        public int getServerBuffListCount() {
          if (serverBuffListBuilder_ == null) {
            return serverBuffList_.size();
          } else {
            return serverBuffListBuilder_.getCount();
          }
        }
        /**
         * <code>repeated .ServerBuff serverBuffList = 23;</code>
         */
        public emu.grasscutter.net.proto.ServerBuffOuterClass.ServerBuff getServerBuffList(int index) {
          if (serverBuffListBuilder_ == null) {
            return serverBuffList_.get(index);
          } else {
            return serverBuffListBuilder_.getMessage(index);
          }
        }
        /**
         * <code>repeated .ServerBuff serverBuffList = 23;</code>
         */
        public Builder setServerBuffList(
            int index, emu.grasscutter.net.proto.ServerBuffOuterClass.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 serverBuffList = 23;</code>
         */
        public Builder setServerBuffList(
            int index, emu.grasscutter.net.proto.ServerBuffOuterClass.ServerBuff.Builder builderForValue) {
          if (serverBuffListBuilder_ == null) {
            ensureServerBuffListIsMutable();
            serverBuffList_.set(index, builderForValue.build());
            onChanged();
          } else {
            serverBuffListBuilder_.setMessage(index, builderForValue.build());
          }
          return this;
        }
        /**
         * <code>repeated .ServerBuff serverBuffList = 23;</code>
         */
        public Builder addServerBuffList(emu.grasscutter.net.proto.ServerBuffOuterClass.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 serverBuffList = 23;</code>
         */
        public Builder addServerBuffList(
            int index, emu.grasscutter.net.proto.ServerBuffOuterClass.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 serverBuffList = 23;</code>
         */
        public Builder addServerBuffList(
            emu.grasscutter.net.proto.ServerBuffOuterClass.ServerBuff.Builder builderForValue) {
          if (serverBuffListBuilder_ == null) {
            ensureServerBuffListIsMutable();
            serverBuffList_.add(builderForValue.build());
            onChanged();
          } else {
            serverBuffListBuilder_.addMessage(builderForValue.build());
          }
          return this;
        }
        /**
         * <code>repeated .ServerBuff serverBuffList = 23;</code>
         */
        public Builder addServerBuffList(
            int index, emu.grasscutter.net.proto.ServerBuffOuterClass.ServerBuff.Builder builderForValue) {
          if (serverBuffListBuilder_ == null) {
            ensureServerBuffListIsMutable();
            serverBuffList_.add(index, builderForValue.build());
            onChanged();
          } else {
            serverBuffListBuilder_.addMessage(index, builderForValue.build());
          }
          return this;
        }
        /**
         * <code>repeated .ServerBuff serverBuffList = 23;</code>
         */
        public Builder addAllServerBuffList(
            java.lang.Iterable<? extends emu.grasscutter.net.proto.ServerBuffOuterClass.ServerBuff> values) {
          if (serverBuffListBuilder_ == null) {
            ensureServerBuffListIsMutable();
            com.google.protobuf.AbstractMessageLite.Builder.addAll(
                values, serverBuffList_);
            onChanged();
          } else {
            serverBuffListBuilder_.addAllMessages(values);
          }
          return this;
        }
        /**
         * <code>repeated .ServerBuff serverBuffList = 23;</code>
         */
        public Builder clearServerBuffList() {
          if (serverBuffListBuilder_ == null) {
            serverBuffList_ = java.util.Collections.emptyList();
            bitField0_ = (bitField0_ & ~0x00000020);
            onChanged();
          } else {
            serverBuffListBuilder_.clear();
          }
          return this;
        }
        /**
         * <code>repeated .ServerBuff serverBuffList = 23;</code>
         */
        public Builder removeServerBuffList(int index) {
          if (serverBuffListBuilder_ == null) {
            ensureServerBuffListIsMutable();
            serverBuffList_.remove(index);
            onChanged();
          } else {
            serverBuffListBuilder_.remove(index);
          }
          return this;
        }
        /**
         * <code>repeated .ServerBuff serverBuffList = 23;</code>
         */
        public emu.grasscutter.net.proto.ServerBuffOuterClass.ServerBuff.Builder getServerBuffListBuilder(
            int index) {
          return getServerBuffListFieldBuilder().getBuilder(index);
        }
        /**
         * <code>repeated .ServerBuff serverBuffList = 23;</code>
         */
        public emu.grasscutter.net.proto.ServerBuffOuterClass.ServerBuffOrBuilder getServerBuffListOrBuilder(
            int index) {
          if (serverBuffListBuilder_ == null) {
            return serverBuffList_.get(index);  } else {
            return serverBuffListBuilder_.getMessageOrBuilder(index);
          }
        }
        /**
         * <code>repeated .ServerBuff serverBuffList = 23;</code>
         */
        public java.util.List<? extends emu.grasscutter.net.proto.ServerBuffOuterClass.ServerBuffOrBuilder> 
             getServerBuffListOrBuilderList() {
          if (serverBuffListBuilder_ != null) {
            return serverBuffListBuilder_.getMessageOrBuilderList();
          } else {
            return java.util.Collections.unmodifiableList(serverBuffList_);
          }
        }
        /**
         * <code>repeated .ServerBuff serverBuffList = 23;</code>
         */
        public emu.grasscutter.net.proto.ServerBuffOuterClass.ServerBuff.Builder addServerBuffListBuilder() {
          return getServerBuffListFieldBuilder().addBuilder(
              emu.grasscutter.net.proto.ServerBuffOuterClass.ServerBuff.getDefaultInstance());
        }
        /**
         * <code>repeated .ServerBuff serverBuffList = 23;</code>
         */
        public emu.grasscutter.net.proto.ServerBuffOuterClass.ServerBuff.Builder addServerBuffListBuilder(
            int index) {
          return getServerBuffListFieldBuilder().addBuilder(
              index, emu.grasscutter.net.proto.ServerBuffOuterClass.ServerBuff.getDefaultInstance());
        }
        /**
         * <code>repeated .ServerBuff serverBuffList = 23;</code>
         */
        public java.util.List<emu.grasscutter.net.proto.ServerBuffOuterClass.ServerBuff.Builder> 
             getServerBuffListBuilderList() {
          return getServerBuffListFieldBuilder().getBuilderList();
        }
        private com.google.protobuf.RepeatedFieldBuilderV3<
            emu.grasscutter.net.proto.ServerBuffOuterClass.ServerBuff, emu.grasscutter.net.proto.ServerBuffOuterClass.ServerBuff.Builder, emu.grasscutter.net.proto.ServerBuffOuterClass.ServerBuffOrBuilder> 
            getServerBuffListFieldBuilder() {
          if (serverBuffListBuilder_ == null) {
            serverBuffListBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
                emu.grasscutter.net.proto.ServerBuffOuterClass.ServerBuff, emu.grasscutter.net.proto.ServerBuffOuterClass.ServerBuff.Builder, emu.grasscutter.net.proto.ServerBuffOuterClass.ServerBuffOrBuilder>(
                    serverBuffList_,
                    ((bitField0_ & 0x00000020) != 0),
                    getParentForChildren(),
                    isClean());
            serverBuffList_ = null;
          }
          return serverBuffListBuilder_;
        }
        @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 emu.grasscutter.net.proto.SceneEntityInfoOuterClass.SceneEntityInfo DEFAULT_INSTANCE;
      static {
        DEFAULT_INSTANCE = new emu.grasscutter.net.proto.SceneEntityInfoOuterClass.SceneEntityInfo();
      }
  
      public static emu.grasscutter.net.proto.SceneEntityInfoOuterClass.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 emu.grasscutter.net.proto.SceneEntityInfoOuterClass.SceneEntityInfo getDefaultInstanceForType() {
        return DEFAULT_INSTANCE;
      }
  
    }
  
    private static final com.google.protobuf.Descriptors.Descriptor
      internal_static_SceneEntityInfo_descriptor;
    private static final 
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internal_static_SceneEntityInfo_fieldAccessorTable;
  
    public static com.google.protobuf.Descriptors.FileDescriptor
        getDescriptor() {
      return descriptor;
    }
    private static  com.google.protobuf.Descriptors.FileDescriptor
        descriptor;
    static {
      java.lang.String[] descriptorData = {
        "\n\025SceneEntityInfo.proto\032\024ProtEntityType." +
        "proto\032\020MotionInfo.proto\032\026SceneMonsterInf" +
        "o.proto\032\025SceneAvatarInfo.proto\032\025SceneGad" +
        "getInfo.proto\032\022SceneNpcInfo.proto\032\026Entit" +
        "yClientData.proto\032\031EntityAuthorityInfo.p" +
        "roto\032\016PropPair.proto\032\023FightPropPair.prot" +
        "o\032$AnimatorParameterValueInfoPair.proto\032" +
        "\033EntityEnvironmentInfo.proto\032\020ServerBuff" +
        ".proto\"\260\005\n\017SceneEntityInfo\022#\n\nentityType" +
        "\030\001 \001(\0162\017.ProtEntityType\022\020\n\010entityId\030\002 \001(" +
        "\r\022\022\n\ncreateTime\030\003 \001(\t\022\037\n\nmotionInfo\030\004 \001(" +
        "\0132\013.MotionInfo\022\033\n\010propList\030\005 \003(\0132\t.PropP" +
        "air\022%\n\rfightPropList\030\006 \003(\0132\016.FightPropPa" +
        "ir\022\021\n\tlifeState\030\007 \001(\r\0229\n\020animatorParaLis" +
        "t\030\t \003(\0132\037.AnimatorParameterValueInfoPair" +
        "\022\"\n\006avatar\030\n \001(\0132\020.SceneAvatarInfoH\000\022$\n\007" +
        "monster\030\013 \001(\0132\021.SceneMonsterInfoH\000\022\034\n\003np" +
        "c\030\014 \001(\0132\r.SceneNpcInfoH\000\022\"\n\006gadget\030\r \001(\013" +
        "2\020.SceneGadgetInfoH\000\022\033\n\023lastMoveSceneTim" +
        "eMs\030\021 \001(\r\022\033\n\023lastMoveReliableSeq\030\022 \001(\r\022+" +
        "\n\020entityClientData\030\023 \001(\0132\021.EntityClientD" +
        "ata\0229\n\031entityEnvironmentInfoList\030\024 \003(\0132\026" +
        ".EntityEnvironmentInfo\0221\n\023entityAuthorit" +
        "yInfo\030\025 \001(\0132\024.EntityAuthorityInfo\022\017\n\007tag" +
        "List\030\026 \003(\t\022#\n\016serverBuffList\030\027 \003(\0132\013.Ser" +
        "verBuffB\010\n\006entityB\033\n\031emu.grasscutter.net" +
        ".protob\006proto3"
      };
      descriptor = com.google.protobuf.Descriptors.FileDescriptor
        .internalBuildGeneratedFileFrom(descriptorData,
          new com.google.protobuf.Descriptors.FileDescriptor[] {
            emu.grasscutter.net.proto.ProtEntityTypeOuterClass.getDescriptor(),
            emu.grasscutter.net.proto.MotionInfoOuterClass.getDescriptor(),
            emu.grasscutter.net.proto.SceneMonsterInfoOuterClass.getDescriptor(),
            emu.grasscutter.net.proto.SceneAvatarInfoOuterClass.getDescriptor(),
            emu.grasscutter.net.proto.SceneGadgetInfoOuterClass.getDescriptor(),
            emu.grasscutter.net.proto.SceneNpcInfoOuterClass.getDescriptor(),
            emu.grasscutter.net.proto.EntityClientDataOuterClass.getDescriptor(),
            emu.grasscutter.net.proto.EntityAuthorityInfoOuterClass.getDescriptor(),
            emu.grasscutter.net.proto.PropPairOuterClass.getDescriptor(),
            emu.grasscutter.net.proto.FightPropPairOuterClass.getDescriptor(),
            emu.grasscutter.net.proto.AnimatorParameterValueInfoPairOuterClass.getDescriptor(),
            emu.grasscutter.net.proto.EntityEnvironmentInfoOuterClass.getDescriptor(),
            emu.grasscutter.net.proto.ServerBuffOuterClass.getDescriptor(),
          });
      internal_static_SceneEntityInfo_descriptor =
        getDescriptor().getMessageTypes().get(0);
      internal_static_SceneEntityInfo_fieldAccessorTable = new
        com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
          internal_static_SceneEntityInfo_descriptor,
          new java.lang.String[] { "EntityType", "EntityId", "CreateTime", "MotionInfo", "PropList", "FightPropList", "LifeState", "AnimatorParaList", "Avatar", "Monster", "Npc", "Gadget", "LastMoveSceneTimeMs", "LastMoveReliableSeq", "EntityClientData", "EntityEnvironmentInfoList", "EntityAuthorityInfo", "TagList", "ServerBuffList", "Entity", });
      emu.grasscutter.net.proto.ProtEntityTypeOuterClass.getDescriptor();
      emu.grasscutter.net.proto.MotionInfoOuterClass.getDescriptor();
      emu.grasscutter.net.proto.SceneMonsterInfoOuterClass.getDescriptor();
      emu.grasscutter.net.proto.SceneAvatarInfoOuterClass.getDescriptor();
      emu.grasscutter.net.proto.SceneGadgetInfoOuterClass.getDescriptor();
      emu.grasscutter.net.proto.SceneNpcInfoOuterClass.getDescriptor();
      emu.grasscutter.net.proto.EntityClientDataOuterClass.getDescriptor();
      emu.grasscutter.net.proto.EntityAuthorityInfoOuterClass.getDescriptor();
      emu.grasscutter.net.proto.PropPairOuterClass.getDescriptor();
      emu.grasscutter.net.proto.FightPropPairOuterClass.getDescriptor();
      emu.grasscutter.net.proto.AnimatorParameterValueInfoPairOuterClass.getDescriptor();
      emu.grasscutter.net.proto.EntityEnvironmentInfoOuterClass.getDescriptor();
      emu.grasscutter.net.proto.ServerBuffOuterClass.getDescriptor();
    }
  
    // @@protoc_insertion_point(outer_class_scope)
  }
  