content: // Generated by the protocol buffer compiler.  DO NOT EDIT!
  // source: BreakoutSnapShot.proto
  
  package emu.grasscutter.net.proto;
  
  public final class BreakoutSnapShotOuterClass {
    private BreakoutSnapShotOuterClass() {}
    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 BreakoutSnapShotOrBuilder extends
        // @@protoc_insertion_point(interface_extends:BreakoutSnapShot)
        com.google.protobuf.MessageOrBuilder {
  
      /**
       * <code>uint64 clientGameTime = 1;</code>
       * @return The clientGameTime.
       */
      long getClientGameTime();
  
      /**
       * <code>uint64 serverGameTime = 2;</code>
       * @return The serverGameTime.
       */
      long getServerGameTime();
  
      /**
       * <code>repeated .BreakoutPhysicalObject ballList = 3;</code>
       */
      java.util.List<emu.grasscutter.net.proto.BreakoutPhysicalObjectOuterClass.BreakoutPhysicalObject> 
          getBallListList();
      /**
       * <code>repeated .BreakoutPhysicalObject ballList = 3;</code>
       */
      emu.grasscutter.net.proto.BreakoutPhysicalObjectOuterClass.BreakoutPhysicalObject getBallList(int index);
      /**
       * <code>repeated .BreakoutPhysicalObject ballList = 3;</code>
       */
      int getBallListCount();
      /**
       * <code>repeated .BreakoutPhysicalObject ballList = 3;</code>
       */
      java.util.List<? extends emu.grasscutter.net.proto.BreakoutPhysicalObjectOuterClass.BreakoutPhysicalObjectOrBuilder> 
          getBallListOrBuilderList();
      /**
       * <code>repeated .BreakoutPhysicalObject ballList = 3;</code>
       */
      emu.grasscutter.net.proto.BreakoutPhysicalObjectOuterClass.BreakoutPhysicalObjectOrBuilder getBallListOrBuilder(
          int index);
  
      /**
       * <code>repeated .BreakoutPhysicalObject physicalObjectList = 4;</code>
       */
      java.util.List<emu.grasscutter.net.proto.BreakoutPhysicalObjectOuterClass.BreakoutPhysicalObject> 
          getPhysicalObjectListList();
      /**
       * <code>repeated .BreakoutPhysicalObject physicalObjectList = 4;</code>
       */
      emu.grasscutter.net.proto.BreakoutPhysicalObjectOuterClass.BreakoutPhysicalObject getPhysicalObjectList(int index);
      /**
       * <code>repeated .BreakoutPhysicalObject physicalObjectList = 4;</code>
       */
      int getPhysicalObjectListCount();
      /**
       * <code>repeated .BreakoutPhysicalObject physicalObjectList = 4;</code>
       */
      java.util.List<? extends emu.grasscutter.net.proto.BreakoutPhysicalObjectOuterClass.BreakoutPhysicalObjectOrBuilder> 
          getPhysicalObjectListOrBuilderList();
      /**
       * <code>repeated .BreakoutPhysicalObject physicalObjectList = 4;</code>
       */
      emu.grasscutter.net.proto.BreakoutPhysicalObjectOuterClass.BreakoutPhysicalObjectOrBuilder getPhysicalObjectListOrBuilder(
          int index);
  
      /**
       * <code>repeated .BreakoutAction actionList = 5;</code>
       */
      java.util.List<emu.grasscutter.net.proto.BreakoutActionOuterClass.BreakoutAction> 
          getActionListList();
      /**
       * <code>repeated .BreakoutAction actionList = 5;</code>
       */
      emu.grasscutter.net.proto.BreakoutActionOuterClass.BreakoutAction getActionList(int index);
      /**
       * <code>repeated .BreakoutAction actionList = 5;</code>
       */
      int getActionListCount();
      /**
       * <code>repeated .BreakoutAction actionList = 5;</code>
       */
      java.util.List<? extends emu.grasscutter.net.proto.BreakoutActionOuterClass.BreakoutActionOrBuilder> 
          getActionListOrBuilderList();
      /**
       * <code>repeated .BreakoutAction actionList = 5;</code>
       */
      emu.grasscutter.net.proto.BreakoutActionOuterClass.BreakoutActionOrBuilder getActionListOrBuilder(
          int index);
  
      /**
       * <code>uint32 waveIndex = 6;</code>
       * @return The waveIndex.
       */
      int getWaveIndex();
  
      /**
       * <code>bool isFinish = 7;</code>
       * @return The isFinish.
       */
      boolean getIsFinish();
  
      /**
       * <code>uint32 score = 8;</code>
       * @return The score.
       */
      int getScore();
  
      /**
       * <code>uint32 combo = 9;</code>
       * @return The combo.
       */
      int getCombo();
  
      /**
       * <code>uint32 maxCombo = 10;</code>
       * @return The maxCombo.
       */
      int getMaxCombo();
  
      /**
       * <code>uint32 lifeCount = 11;</code>
       * @return The lifeCount.
       */
      int getLifeCount();
  
      /**
       * <code>uint32 waveSuiteIndex = 12;</code>
       * @return The waveSuiteIndex.
       */
      int getWaveSuiteIndex();
  
      /**
       * <code>repeated .BreakoutSpawnPoint spawnPointList = 13;</code>
       */
      java.util.List<emu.grasscutter.net.proto.BreakoutSpawnPointOuterClass.BreakoutSpawnPoint> 
          getSpawnPointListList();
      /**
       * <code>repeated .BreakoutSpawnPoint spawnPointList = 13;</code>
       */
      emu.grasscutter.net.proto.BreakoutSpawnPointOuterClass.BreakoutSpawnPoint getSpawnPointList(int index);
      /**
       * <code>repeated .BreakoutSpawnPoint spawnPointList = 13;</code>
       */
      int getSpawnPointListCount();
      /**
       * <code>repeated .BreakoutSpawnPoint spawnPointList = 13;</code>
       */
      java.util.List<? extends emu.grasscutter.net.proto.BreakoutSpawnPointOuterClass.BreakoutSpawnPointOrBuilder> 
          getSpawnPointListOrBuilderList();
      /**
       * <code>repeated .BreakoutSpawnPoint spawnPointList = 13;</code>
       */
      emu.grasscutter.net.proto.BreakoutSpawnPointOuterClass.BreakoutSpawnPointOrBuilder getSpawnPointListOrBuilder(
          int index);
  
      /**
       * <code>uint32 remainingBossHp = 14;</code>
       * @return The remainingBossHp.
       */
      int getRemainingBossHp();
  
      /**
       * <code>repeated .BreakoutElementReactionCounter brickElementReactionList = 15;</code>
       */
      java.util.List<emu.grasscutter.net.proto.BreakoutElementReactionCounterOuterClass.BreakoutElementReactionCounter> 
          getBrickElementReactionListList();
      /**
       * <code>repeated .BreakoutElementReactionCounter brickElementReactionList = 15;</code>
       */
      emu.grasscutter.net.proto.BreakoutElementReactionCounterOuterClass.BreakoutElementReactionCounter getBrickElementReactionList(int index);
      /**
       * <code>repeated .BreakoutElementReactionCounter brickElementReactionList = 15;</code>
       */
      int getBrickElementReactionListCount();
      /**
       * <code>repeated .BreakoutElementReactionCounter brickElementReactionList = 15;</code>
       */
      java.util.List<? extends emu.grasscutter.net.proto.BreakoutElementReactionCounterOuterClass.BreakoutElementReactionCounterOrBuilder> 
          getBrickElementReactionListOrBuilderList();
      /**
       * <code>repeated .BreakoutElementReactionCounter brickElementReactionList = 15;</code>
       */
      emu.grasscutter.net.proto.BreakoutElementReactionCounterOuterClass.BreakoutElementReactionCounterOrBuilder getBrickElementReactionListOrBuilder(
          int index);
  
      /**
       * <code>repeated .BreakoutElementReactionCounter ballElementReactionList = 16;</code>
       */
      java.util.List<emu.grasscutter.net.proto.BreakoutElementReactionCounterOuterClass.BreakoutElementReactionCounter> 
          getBallElementReactionListList();
      /**
       * <code>repeated .BreakoutElementReactionCounter ballElementReactionList = 16;</code>
       */
      emu.grasscutter.net.proto.BreakoutElementReactionCounterOuterClass.BreakoutElementReactionCounter getBallElementReactionList(int index);
      /**
       * <code>repeated .BreakoutElementReactionCounter ballElementReactionList = 16;</code>
       */
      int getBallElementReactionListCount();
      /**
       * <code>repeated .BreakoutElementReactionCounter ballElementReactionList = 16;</code>
       */
      java.util.List<? extends emu.grasscutter.net.proto.BreakoutElementReactionCounterOuterClass.BreakoutElementReactionCounterOrBuilder> 
          getBallElementReactionListOrBuilderList();
      /**
       * <code>repeated .BreakoutElementReactionCounter ballElementReactionList = 16;</code>
       */
      emu.grasscutter.net.proto.BreakoutElementReactionCounterOuterClass.BreakoutElementReactionCounterOrBuilder getBallElementReactionListOrBuilder(
          int index);
  
      /**
       * <code>repeated .BreakoutSyncConnectUidInfo uidInfoList = 17;</code>
       */
      java.util.List<emu.grasscutter.net.proto.BreakoutSyncConnectUidInfoOuterClass.BreakoutSyncConnectUidInfo> 
          getUidInfoListList();
      /**
       * <code>repeated .BreakoutSyncConnectUidInfo uidInfoList = 17;</code>
       */
      emu.grasscutter.net.proto.BreakoutSyncConnectUidInfoOuterClass.BreakoutSyncConnectUidInfo getUidInfoList(int index);
      /**
       * <code>repeated .BreakoutSyncConnectUidInfo uidInfoList = 17;</code>
       */
      int getUidInfoListCount();
      /**
       * <code>repeated .BreakoutSyncConnectUidInfo uidInfoList = 17;</code>
       */
      java.util.List<? extends emu.grasscutter.net.proto.BreakoutSyncConnectUidInfoOuterClass.BreakoutSyncConnectUidInfoOrBuilder> 
          getUidInfoListOrBuilderList();
      /**
       * <code>repeated .BreakoutSyncConnectUidInfo uidInfoList = 17;</code>
       */
      emu.grasscutter.net.proto.BreakoutSyncConnectUidInfoOuterClass.BreakoutSyncConnectUidInfoOrBuilder getUidInfoListOrBuilder(
          int index);
  
      /**
       * <code>repeated .BreakoutPhysicalObject dynamicObjectList = 18;</code>
       */
      java.util.List<emu.grasscutter.net.proto.BreakoutPhysicalObjectOuterClass.BreakoutPhysicalObject> 
          getDynamicObjectListList();
      /**
       * <code>repeated .BreakoutPhysicalObject dynamicObjectList = 18;</code>
       */
      emu.grasscutter.net.proto.BreakoutPhysicalObjectOuterClass.BreakoutPhysicalObject getDynamicObjectList(int index);
      /**
       * <code>repeated .BreakoutPhysicalObject dynamicObjectList = 18;</code>
       */
      int getDynamicObjectListCount();
      /**
       * <code>repeated .BreakoutPhysicalObject dynamicObjectList = 18;</code>
       */
      java.util.List<? extends emu.grasscutter.net.proto.BreakoutPhysicalObjectOuterClass.BreakoutPhysicalObjectOrBuilder> 
          getDynamicObjectListOrBuilderList();
      /**
       * <code>repeated .BreakoutPhysicalObject dynamicObjectList = 18;</code>
       */
      emu.grasscutter.net.proto.BreakoutPhysicalObjectOuterClass.BreakoutPhysicalObjectOrBuilder getDynamicObjectListOrBuilder(
          int index);
  
      /**
       * <code>repeated uint32 idIndexList = 19;</code>
       * @return A list containing the idIndexList.
       */
      java.util.List<java.lang.Integer> getIdIndexListList();
      /**
       * <code>repeated uint32 idIndexList = 19;</code>
       * @return The count of idIndexList.
       */
      int getIdIndexListCount();
      /**
       * <code>repeated uint32 idIndexList = 19;</code>
       * @param index The index of the element to return.
       * @return The idIndexList at the given index.
       */
      int getIdIndexList(int index);
  
      /**
       * <code>int32 rawClientGameTime = 20;</code>
       * @return The rawClientGameTime.
       */
      int getRawClientGameTime();
    }
    /**
     * Protobuf type {@code BreakoutSnapShot}
     */
    public static final class BreakoutSnapShot extends
        com.google.protobuf.GeneratedMessageV3 implements
        // @@protoc_insertion_point(message_implements:BreakoutSnapShot)
        BreakoutSnapShotOrBuilder {
    private static final long serialVersionUID = 0L;
      // Use BreakoutSnapShot.newBuilder() to construct.
      private BreakoutSnapShot(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
        super(builder);
      }
      private BreakoutSnapShot() {
        ballList_ = java.util.Collections.emptyList();
        physicalObjectList_ = java.util.Collections.emptyList();
        actionList_ = java.util.Collections.emptyList();
        spawnPointList_ = java.util.Collections.emptyList();
        brickElementReactionList_ = java.util.Collections.emptyList();
        ballElementReactionList_ = java.util.Collections.emptyList();
        uidInfoList_ = java.util.Collections.emptyList();
        dynamicObjectList_ = java.util.Collections.emptyList();
        idIndexList_ = emptyIntList();
      }
  
      @java.lang.Override
      @SuppressWarnings({"unused"})
      protected java.lang.Object newInstance(
          UnusedPrivateParameter unused) {
        return new BreakoutSnapShot();
      }
  
      @java.lang.Override
      public final com.google.protobuf.UnknownFieldSet
      getUnknownFields() {
        return this.unknownFields;
      }
      private BreakoutSnapShot(
          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: {
  
                clientGameTime_ = input.readUInt64();
                break;
              }
              case 16: {
  
                serverGameTime_ = input.readUInt64();
                break;
              }
              case 26: {
                if (!((mutable_bitField0_ & 0x00000001) != 0)) {
                  ballList_ = new java.util.ArrayList<emu.grasscutter.net.proto.BreakoutPhysicalObjectOuterClass.BreakoutPhysicalObject>();
                  mutable_bitField0_ |= 0x00000001;
                }
                ballList_.add(
                    input.readMessage(emu.grasscutter.net.proto.BreakoutPhysicalObjectOuterClass.BreakoutPhysicalObject.parser(), extensionRegistry));
                break;
              }
              case 34: {
                if (!((mutable_bitField0_ & 0x00000002) != 0)) {
                  physicalObjectList_ = new java.util.ArrayList<emu.grasscutter.net.proto.BreakoutPhysicalObjectOuterClass.BreakoutPhysicalObject>();
                  mutable_bitField0_ |= 0x00000002;
                }
                physicalObjectList_.add(
                    input.readMessage(emu.grasscutter.net.proto.BreakoutPhysicalObjectOuterClass.BreakoutPhysicalObject.parser(), extensionRegistry));
                break;
              }
              case 42: {
                if (!((mutable_bitField0_ & 0x00000004) != 0)) {
                  actionList_ = new java.util.ArrayList<emu.grasscutter.net.proto.BreakoutActionOuterClass.BreakoutAction>();
                  mutable_bitField0_ |= 0x00000004;
                }
                actionList_.add(
                    input.readMessage(emu.grasscutter.net.proto.BreakoutActionOuterClass.BreakoutAction.parser(), extensionRegistry));
                break;
              }
              case 48: {
  
                waveIndex_ = input.readUInt32();
                break;
              }
              case 56: {
  
                isFinish_ = input.readBool();
                break;
              }
              case 64: {
  
                score_ = input.readUInt32();
                break;
              }
              case 72: {
  
                combo_ = input.readUInt32();
                break;
              }
              case 80: {
  
                maxCombo_ = input.readUInt32();
                break;
              }
              case 88: {
  
                lifeCount_ = input.readUInt32();
                break;
              }
              case 96: {
  
                waveSuiteIndex_ = input.readUInt32();
                break;
              }
              case 106: {
                if (!((mutable_bitField0_ & 0x00000008) != 0)) {
                  spawnPointList_ = new java.util.ArrayList<emu.grasscutter.net.proto.BreakoutSpawnPointOuterClass.BreakoutSpawnPoint>();
                  mutable_bitField0_ |= 0x00000008;
                }
                spawnPointList_.add(
                    input.readMessage(emu.grasscutter.net.proto.BreakoutSpawnPointOuterClass.BreakoutSpawnPoint.parser(), extensionRegistry));
                break;
              }
              case 112: {
  
                remainingBossHp_ = input.readUInt32();
                break;
              }
              case 122: {
                if (!((mutable_bitField0_ & 0x00000010) != 0)) {
                  brickElementReactionList_ = new java.util.ArrayList<emu.grasscutter.net.proto.BreakoutElementReactionCounterOuterClass.BreakoutElementReactionCounter>();
                  mutable_bitField0_ |= 0x00000010;
                }
                brickElementReactionList_.add(
                    input.readMessage(emu.grasscutter.net.proto.BreakoutElementReactionCounterOuterClass.BreakoutElementReactionCounter.parser(), extensionRegistry));
                break;
              }
              case 130: {
                if (!((mutable_bitField0_ & 0x00000020) != 0)) {
                  ballElementReactionList_ = new java.util.ArrayList<emu.grasscutter.net.proto.BreakoutElementReactionCounterOuterClass.BreakoutElementReactionCounter>();
                  mutable_bitField0_ |= 0x00000020;
                }
                ballElementReactionList_.add(
                    input.readMessage(emu.grasscutter.net.proto.BreakoutElementReactionCounterOuterClass.BreakoutElementReactionCounter.parser(), extensionRegistry));
                break;
              }
              case 138: {
                if (!((mutable_bitField0_ & 0x00000040) != 0)) {
                  uidInfoList_ = new java.util.ArrayList<emu.grasscutter.net.proto.BreakoutSyncConnectUidInfoOuterClass.BreakoutSyncConnectUidInfo>();
                  mutable_bitField0_ |= 0x00000040;
                }
                uidInfoList_.add(
                    input.readMessage(emu.grasscutter.net.proto.BreakoutSyncConnectUidInfoOuterClass.BreakoutSyncConnectUidInfo.parser(), extensionRegistry));
                break;
              }
              case 146: {
                if (!((mutable_bitField0_ & 0x00000080) != 0)) {
                  dynamicObjectList_ = new java.util.ArrayList<emu.grasscutter.net.proto.BreakoutPhysicalObjectOuterClass.BreakoutPhysicalObject>();
                  mutable_bitField0_ |= 0x00000080;
                }
                dynamicObjectList_.add(
                    input.readMessage(emu.grasscutter.net.proto.BreakoutPhysicalObjectOuterClass.BreakoutPhysicalObject.parser(), extensionRegistry));
                break;
              }
              case 152: {
                if (!((mutable_bitField0_ & 0x00000100) != 0)) {
                  idIndexList_ = newIntList();
                  mutable_bitField0_ |= 0x00000100;
                }
                idIndexList_.addInt(input.readUInt32());
                break;
              }
              case 154: {
                int length = input.readRawVarint32();
                int limit = input.pushLimit(length);
                if (!((mutable_bitField0_ & 0x00000100) != 0) && input.getBytesUntilLimit() > 0) {
                  idIndexList_ = newIntList();
                  mutable_bitField0_ |= 0x00000100;
                }
                while (input.getBytesUntilLimit() > 0) {
                  idIndexList_.addInt(input.readUInt32());
                }
                input.popLimit(limit);
                break;
              }
              case 160: {
  
                rawClientGameTime_ = input.readInt32();
                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)) {
            ballList_ = java.util.Collections.unmodifiableList(ballList_);
          }
          if (((mutable_bitField0_ & 0x00000002) != 0)) {
            physicalObjectList_ = java.util.Collections.unmodifiableList(physicalObjectList_);
          }
          if (((mutable_bitField0_ & 0x00000004) != 0)) {
            actionList_ = java.util.Collections.unmodifiableList(actionList_);
          }
          if (((mutable_bitField0_ & 0x00000008) != 0)) {
            spawnPointList_ = java.util.Collections.unmodifiableList(spawnPointList_);
          }
          if (((mutable_bitField0_ & 0x00000010) != 0)) {
            brickElementReactionList_ = java.util.Collections.unmodifiableList(brickElementReactionList_);
          }
          if (((mutable_bitField0_ & 0x00000020) != 0)) {
            ballElementReactionList_ = java.util.Collections.unmodifiableList(ballElementReactionList_);
          }
          if (((mutable_bitField0_ & 0x00000040) != 0)) {
            uidInfoList_ = java.util.Collections.unmodifiableList(uidInfoList_);
          }
          if (((mutable_bitField0_ & 0x00000080) != 0)) {
            dynamicObjectList_ = java.util.Collections.unmodifiableList(dynamicObjectList_);
          }
          if (((mutable_bitField0_ & 0x00000100) != 0)) {
            idIndexList_.makeImmutable(); // C
          }
          this.unknownFields = unknownFields.build();
          makeExtensionsImmutable();
        }
      }
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return emu.grasscutter.net.proto.BreakoutSnapShotOuterClass.internal_static_BreakoutSnapShot_descriptor;
      }
  
      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return emu.grasscutter.net.proto.BreakoutSnapShotOuterClass.internal_static_BreakoutSnapShot_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                emu.grasscutter.net.proto.BreakoutSnapShotOuterClass.BreakoutSnapShot.class, emu.grasscutter.net.proto.BreakoutSnapShotOuterClass.BreakoutSnapShot.Builder.class);
      }
  
      public static final int CLIENTGAMETIME_FIELD_NUMBER = 1;
      private long clientGameTime_;
      /**
       * <code>uint64 clientGameTime = 1;</code>
       * @return The clientGameTime.
       */
      @java.lang.Override
      public long getClientGameTime() {
        return clientGameTime_;
      }
  
      public static final int SERVERGAMETIME_FIELD_NUMBER = 2;
      private long serverGameTime_;
      /**
       * <code>uint64 serverGameTime = 2;</code>
       * @return The serverGameTime.
       */
      @java.lang.Override
      public long getServerGameTime() {
        return serverGameTime_;
      }
  
      public static final int BALLLIST_FIELD_NUMBER = 3;
      private java.util.List<emu.grasscutter.net.proto.BreakoutPhysicalObjectOuterClass.BreakoutPhysicalObject> ballList_;
      /**
       * <code>repeated .BreakoutPhysicalObject ballList = 3;</code>
       */
      @java.lang.Override
      public java.util.List<emu.grasscutter.net.proto.BreakoutPhysicalObjectOuterClass.BreakoutPhysicalObject> getBallListList() {
        return ballList_;
      }
      /**
       * <code>repeated .BreakoutPhysicalObject ballList = 3;</code>
       */
      @java.lang.Override
      public java.util.List<? extends emu.grasscutter.net.proto.BreakoutPhysicalObjectOuterClass.BreakoutPhysicalObjectOrBuilder> 
          getBallListOrBuilderList() {
        return ballList_;
      }
      /**
       * <code>repeated .BreakoutPhysicalObject ballList = 3;</code>
       */
      @java.lang.Override
      public int getBallListCount() {
        return ballList_.size();
      }
      /**
       * <code>repeated .BreakoutPhysicalObject ballList = 3;</code>
       */
      @java.lang.Override
      public emu.grasscutter.net.proto.BreakoutPhysicalObjectOuterClass.BreakoutPhysicalObject getBallList(int index) {
        return ballList_.get(index);
      }
      /**
       * <code>repeated .BreakoutPhysicalObject ballList = 3;</code>
       */
      @java.lang.Override
      public emu.grasscutter.net.proto.BreakoutPhysicalObjectOuterClass.BreakoutPhysicalObjectOrBuilder getBallListOrBuilder(
          int index) {
        return ballList_.get(index);
      }
  
      public static final int PHYSICALOBJECTLIST_FIELD_NUMBER = 4;
      private java.util.List<emu.grasscutter.net.proto.BreakoutPhysicalObjectOuterClass.BreakoutPhysicalObject> physicalObjectList_;
      /**
       * <code>repeated .BreakoutPhysicalObject physicalObjectList = 4;</code>
       */
      @java.lang.Override
      public java.util.List<emu.grasscutter.net.proto.BreakoutPhysicalObjectOuterClass.BreakoutPhysicalObject> getPhysicalObjectListList() {
        return physicalObjectList_;
      }
      /**
       * <code>repeated .BreakoutPhysicalObject physicalObjectList = 4;</code>
       */
      @java.lang.Override
      public java.util.List<? extends emu.grasscutter.net.proto.BreakoutPhysicalObjectOuterClass.BreakoutPhysicalObjectOrBuilder> 
          getPhysicalObjectListOrBuilderList() {
        return physicalObjectList_;
      }
      /**
       * <code>repeated .BreakoutPhysicalObject physicalObjectList = 4;</code>
       */
      @java.lang.Override
      public int getPhysicalObjectListCount() {
        return physicalObjectList_.size();
      }
      /**
       * <code>repeated .BreakoutPhysicalObject physicalObjectList = 4;</code>
       */
      @java.lang.Override
      public emu.grasscutter.net.proto.BreakoutPhysicalObjectOuterClass.BreakoutPhysicalObject getPhysicalObjectList(int index) {
        return physicalObjectList_.get(index);
      }
      /**
       * <code>repeated .BreakoutPhysicalObject physicalObjectList = 4;</code>
       */
      @java.lang.Override
      public emu.grasscutter.net.proto.BreakoutPhysicalObjectOuterClass.BreakoutPhysicalObjectOrBuilder getPhysicalObjectListOrBuilder(
          int index) {
        return physicalObjectList_.get(index);
      }
  
      public static final int ACTIONLIST_FIELD_NUMBER = 5;
      private java.util.List<emu.grasscutter.net.proto.BreakoutActionOuterClass.BreakoutAction> actionList_;
      /**
       * <code>repeated .BreakoutAction actionList = 5;</code>
       */
      @java.lang.Override
      public java.util.List<emu.grasscutter.net.proto.BreakoutActionOuterClass.BreakoutAction> getActionListList() {
        return actionList_;
      }
      /**
       * <code>repeated .BreakoutAction actionList = 5;</code>
       */
      @java.lang.Override
      public java.util.List<? extends emu.grasscutter.net.proto.BreakoutActionOuterClass.BreakoutActionOrBuilder> 
          getActionListOrBuilderList() {
        return actionList_;
      }
      /**
       * <code>repeated .BreakoutAction actionList = 5;</code>
       */
      @java.lang.Override
      public int getActionListCount() {
        return actionList_.size();
      }
      /**
       * <code>repeated .BreakoutAction actionList = 5;</code>
       */
      @java.lang.Override
      public emu.grasscutter.net.proto.BreakoutActionOuterClass.BreakoutAction getActionList(int index) {
        return actionList_.get(index);
      }
      /**
       * <code>repeated .BreakoutAction actionList = 5;</code>
       */
      @java.lang.Override
      public emu.grasscutter.net.proto.BreakoutActionOuterClass.BreakoutActionOrBuilder getActionListOrBuilder(
          int index) {
        return actionList_.get(index);
      }
  
      public static final int WAVEINDEX_FIELD_NUMBER = 6;
      private int waveIndex_;
      /**
       * <code>uint32 waveIndex = 6;</code>
       * @return The waveIndex.
       */
      @java.lang.Override
      public int getWaveIndex() {
        return waveIndex_;
      }
  
      public static final int ISFINISH_FIELD_NUMBER = 7;
      private boolean isFinish_;
      /**
       * <code>bool isFinish = 7;</code>
       * @return The isFinish.
       */
      @java.lang.Override
      public boolean getIsFinish() {
        return isFinish_;
      }
  
      public static final int SCORE_FIELD_NUMBER = 8;
      private int score_;
      /**
       * <code>uint32 score = 8;</code>
       * @return The score.
       */
      @java.lang.Override
      public int getScore() {
        return score_;
      }
  
      public static final int COMBO_FIELD_NUMBER = 9;
      private int combo_;
      /**
       * <code>uint32 combo = 9;</code>
       * @return The combo.
       */
      @java.lang.Override
      public int getCombo() {
        return combo_;
      }
  
      public static final int MAXCOMBO_FIELD_NUMBER = 10;
      private int maxCombo_;
      /**
       * <code>uint32 maxCombo = 10;</code>
       * @return The maxCombo.
       */
      @java.lang.Override
      public int getMaxCombo() {
        return maxCombo_;
      }
  
      public static final int LIFECOUNT_FIELD_NUMBER = 11;
      private int lifeCount_;
      /**
       * <code>uint32 lifeCount = 11;</code>
       * @return The lifeCount.
       */
      @java.lang.Override
      public int getLifeCount() {
        return lifeCount_;
      }
  
      public static final int WAVESUITEINDEX_FIELD_NUMBER = 12;
      private int waveSuiteIndex_;
      /**
       * <code>uint32 waveSuiteIndex = 12;</code>
       * @return The waveSuiteIndex.
       */
      @java.lang.Override
      public int getWaveSuiteIndex() {
        return waveSuiteIndex_;
      }
  
      public static final int SPAWNPOINTLIST_FIELD_NUMBER = 13;
      private java.util.List<emu.grasscutter.net.proto.BreakoutSpawnPointOuterClass.BreakoutSpawnPoint> spawnPointList_;
      /**
       * <code>repeated .BreakoutSpawnPoint spawnPointList = 13;</code>
       */
      @java.lang.Override
      public java.util.List<emu.grasscutter.net.proto.BreakoutSpawnPointOuterClass.BreakoutSpawnPoint> getSpawnPointListList() {
        return spawnPointList_;
      }
      /**
       * <code>repeated .BreakoutSpawnPoint spawnPointList = 13;</code>
       */
      @java.lang.Override
      public java.util.List<? extends emu.grasscutter.net.proto.BreakoutSpawnPointOuterClass.BreakoutSpawnPointOrBuilder> 
          getSpawnPointListOrBuilderList() {
        return spawnPointList_;
      }
      /**
       * <code>repeated .BreakoutSpawnPoint spawnPointList = 13;</code>
       */
      @java.lang.Override
      public int getSpawnPointListCount() {
        return spawnPointList_.size();
      }
      /**
       * <code>repeated .BreakoutSpawnPoint spawnPointList = 13;</code>
       */
      @java.lang.Override
      public emu.grasscutter.net.proto.BreakoutSpawnPointOuterClass.BreakoutSpawnPoint getSpawnPointList(int index) {
        return spawnPointList_.get(index);
      }
      /**
       * <code>repeated .BreakoutSpawnPoint spawnPointList = 13;</code>
       */
      @java.lang.Override
      public emu.grasscutter.net.proto.BreakoutSpawnPointOuterClass.BreakoutSpawnPointOrBuilder getSpawnPointListOrBuilder(
          int index) {
        return spawnPointList_.get(index);
      }
  
      public static final int REMAININGBOSSHP_FIELD_NUMBER = 14;
      private int remainingBossHp_;
      /**
       * <code>uint32 remainingBossHp = 14;</code>
       * @return The remainingBossHp.
       */
      @java.lang.Override
      public int getRemainingBossHp() {
        return remainingBossHp_;
      }
  
      public static final int BRICKELEMENTREACTIONLIST_FIELD_NUMBER = 15;
      private java.util.List<emu.grasscutter.net.proto.BreakoutElementReactionCounterOuterClass.BreakoutElementReactionCounter> brickElementReactionList_;
      /**
       * <code>repeated .BreakoutElementReactionCounter brickElementReactionList = 15;</code>
       */
      @java.lang.Override
      public java.util.List<emu.grasscutter.net.proto.BreakoutElementReactionCounterOuterClass.BreakoutElementReactionCounter> getBrickElementReactionListList() {
        return brickElementReactionList_;
      }
      /**
       * <code>repeated .BreakoutElementReactionCounter brickElementReactionList = 15;</code>
       */
      @java.lang.Override
      public java.util.List<? extends emu.grasscutter.net.proto.BreakoutElementReactionCounterOuterClass.BreakoutElementReactionCounterOrBuilder> 
          getBrickElementReactionListOrBuilderList() {
        return brickElementReactionList_;
      }
      /**
       * <code>repeated .BreakoutElementReactionCounter brickElementReactionList = 15;</code>
       */
      @java.lang.Override
      public int getBrickElementReactionListCount() {
        return brickElementReactionList_.size();
      }
      /**
       * <code>repeated .BreakoutElementReactionCounter brickElementReactionList = 15;</code>
       */
      @java.lang.Override
      public emu.grasscutter.net.proto.BreakoutElementReactionCounterOuterClass.BreakoutElementReactionCounter getBrickElementReactionList(int index) {
        return brickElementReactionList_.get(index);
      }
      /**
       * <code>repeated .BreakoutElementReactionCounter brickElementReactionList = 15;</code>
       */
      @java.lang.Override
      public emu.grasscutter.net.proto.BreakoutElementReactionCounterOuterClass.BreakoutElementReactionCounterOrBuilder getBrickElementReactionListOrBuilder(
          int index) {
        return brickElementReactionList_.get(index);
      }
  
      public static final int BALLELEMENTREACTIONLIST_FIELD_NUMBER = 16;
      private java.util.List<emu.grasscutter.net.proto.BreakoutElementReactionCounterOuterClass.BreakoutElementReactionCounter> ballElementReactionList_;
      /**
       * <code>repeated .BreakoutElementReactionCounter ballElementReactionList = 16;</code>
       */
      @java.lang.Override
      public java.util.List<emu.grasscutter.net.proto.BreakoutElementReactionCounterOuterClass.BreakoutElementReactionCounter> getBallElementReactionListList() {
        return ballElementReactionList_;
      }
      /**
       * <code>repeated .BreakoutElementReactionCounter ballElementReactionList = 16;</code>
       */
      @java.lang.Override
      public java.util.List<? extends emu.grasscutter.net.proto.BreakoutElementReactionCounterOuterClass.BreakoutElementReactionCounterOrBuilder> 
          getBallElementReactionListOrBuilderList() {
        return ballElementReactionList_;
      }
      /**
       * <code>repeated .BreakoutElementReactionCounter ballElementReactionList = 16;</code>
       */
      @java.lang.Override
      public int getBallElementReactionListCount() {
        return ballElementReactionList_.size();
      }
      /**
       * <code>repeated .BreakoutElementReactionCounter ballElementReactionList = 16;</code>
       */
      @java.lang.Override
      public emu.grasscutter.net.proto.BreakoutElementReactionCounterOuterClass.BreakoutElementReactionCounter getBallElementReactionList(int index) {
        return ballElementReactionList_.get(index);
      }
      /**
       * <code>repeated .BreakoutElementReactionCounter ballElementReactionList = 16;</code>
       */
      @java.lang.Override
      public emu.grasscutter.net.proto.BreakoutElementReactionCounterOuterClass.BreakoutElementReactionCounterOrBuilder getBallElementReactionListOrBuilder(
          int index) {
        return ballElementReactionList_.get(index);
      }
  
      public static final int UIDINFOLIST_FIELD_NUMBER = 17;
      private java.util.List<emu.grasscutter.net.proto.BreakoutSyncConnectUidInfoOuterClass.BreakoutSyncConnectUidInfo> uidInfoList_;
      /**
       * <code>repeated .BreakoutSyncConnectUidInfo uidInfoList = 17;</code>
       */
      @java.lang.Override
      public java.util.List<emu.grasscutter.net.proto.BreakoutSyncConnectUidInfoOuterClass.BreakoutSyncConnectUidInfo> getUidInfoListList() {
        return uidInfoList_;
      }
      /**
       * <code>repeated .BreakoutSyncConnectUidInfo uidInfoList = 17;</code>
       */
      @java.lang.Override
      public java.util.List<? extends emu.grasscutter.net.proto.BreakoutSyncConnectUidInfoOuterClass.BreakoutSyncConnectUidInfoOrBuilder> 
          getUidInfoListOrBuilderList() {
        return uidInfoList_;
      }
      /**
       * <code>repeated .BreakoutSyncConnectUidInfo uidInfoList = 17;</code>
       */
      @java.lang.Override
      public int getUidInfoListCount() {
        return uidInfoList_.size();
      }
      /**
       * <code>repeated .BreakoutSyncConnectUidInfo uidInfoList = 17;</code>
       */
      @java.lang.Override
      public emu.grasscutter.net.proto.BreakoutSyncConnectUidInfoOuterClass.BreakoutSyncConnectUidInfo getUidInfoList(int index) {
        return uidInfoList_.get(index);
      }
      /**
       * <code>repeated .BreakoutSyncConnectUidInfo uidInfoList = 17;</code>
       */
      @java.lang.Override
      public emu.grasscutter.net.proto.BreakoutSyncConnectUidInfoOuterClass.BreakoutSyncConnectUidInfoOrBuilder getUidInfoListOrBuilder(
          int index) {
        return uidInfoList_.get(index);
      }
  
      public static final int DYNAMICOBJECTLIST_FIELD_NUMBER = 18;
      private java.util.List<emu.grasscutter.net.proto.BreakoutPhysicalObjectOuterClass.BreakoutPhysicalObject> dynamicObjectList_;
      /**
       * <code>repeated .BreakoutPhysicalObject dynamicObjectList = 18;</code>
       */
      @java.lang.Override
      public java.util.List<emu.grasscutter.net.proto.BreakoutPhysicalObjectOuterClass.BreakoutPhysicalObject> getDynamicObjectListList() {
        return dynamicObjectList_;
      }
      /**
       * <code>repeated .BreakoutPhysicalObject dynamicObjectList = 18;</code>
       */
      @java.lang.Override
      public java.util.List<? extends emu.grasscutter.net.proto.BreakoutPhysicalObjectOuterClass.BreakoutPhysicalObjectOrBuilder> 
          getDynamicObjectListOrBuilderList() {
        return dynamicObjectList_;
      }
      /**
       * <code>repeated .BreakoutPhysicalObject dynamicObjectList = 18;</code>
       */
      @java.lang.Override
      public int getDynamicObjectListCount() {
        return dynamicObjectList_.size();
      }
      /**
       * <code>repeated .BreakoutPhysicalObject dynamicObjectList = 18;</code>
       */
      @java.lang.Override
      public emu.grasscutter.net.proto.BreakoutPhysicalObjectOuterClass.BreakoutPhysicalObject getDynamicObjectList(int index) {
        return dynamicObjectList_.get(index);
      }
      /**
       * <code>repeated .BreakoutPhysicalObject dynamicObjectList = 18;</code>
       */
      @java.lang.Override
      public emu.grasscutter.net.proto.BreakoutPhysicalObjectOuterClass.BreakoutPhysicalObjectOrBuilder getDynamicObjectListOrBuilder(
          int index) {
        return dynamicObjectList_.get(index);
      }
  
      public static final int IDINDEXLIST_FIELD_NUMBER = 19;
      private com.google.protobuf.Internal.IntList idIndexList_;
      /**
       * <code>repeated uint32 idIndexList = 19;</code>
       * @return A list containing the idIndexList.
       */
      @java.lang.Override
      public java.util.List<java.lang.Integer>
          getIdIndexListList() {
        return idIndexList_;
      }
      /**
       * <code>repeated uint32 idIndexList = 19;</code>
       * @return The count of idIndexList.
       */
      public int getIdIndexListCount() {
        return idIndexList_.size();
      }
      /**
       * <code>repeated uint32 idIndexList = 19;</code>
       * @param index The index of the element to return.
       * @return The idIndexList at the given index.
       */
      public int getIdIndexList(int index) {
        return idIndexList_.getInt(index);
      }
      private int idIndexListMemoizedSerializedSize = -1;
  
      public static final int RAWCLIENTGAMETIME_FIELD_NUMBER = 20;
      private int rawClientGameTime_;
      /**
       * <code>int32 rawClientGameTime = 20;</code>
       * @return The rawClientGameTime.
       */
      @java.lang.Override
      public int getRawClientGameTime() {
        return rawClientGameTime_;
      }
  
      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 {
        getSerializedSize();
        if (clientGameTime_ != 0L) {
          output.writeUInt64(1, clientGameTime_);
        }
        if (serverGameTime_ != 0L) {
          output.writeUInt64(2, serverGameTime_);
        }
        for (int i = 0; i < ballList_.size(); i++) {
          output.writeMessage(3, ballList_.get(i));
        }
        for (int i = 0; i < physicalObjectList_.size(); i++) {
          output.writeMessage(4, physicalObjectList_.get(i));
        }
        for (int i = 0; i < actionList_.size(); i++) {
          output.writeMessage(5, actionList_.get(i));
        }
        if (waveIndex_ != 0) {
          output.writeUInt32(6, waveIndex_);
        }
        if (isFinish_ != false) {
          output.writeBool(7, isFinish_);
        }
        if (score_ != 0) {
          output.writeUInt32(8, score_);
        }
        if (combo_ != 0) {
          output.writeUInt32(9, combo_);
        }
        if (maxCombo_ != 0) {
          output.writeUInt32(10, maxCombo_);
        }
        if (lifeCount_ != 0) {
          output.writeUInt32(11, lifeCount_);
        }
        if (waveSuiteIndex_ != 0) {
          output.writeUInt32(12, waveSuiteIndex_);
        }
        for (int i = 0; i < spawnPointList_.size(); i++) {
          output.writeMessage(13, spawnPointList_.get(i));
        }
        if (remainingBossHp_ != 0) {
          output.writeUInt32(14, remainingBossHp_);
        }
        for (int i = 0; i < brickElementReactionList_.size(); i++) {
          output.writeMessage(15, brickElementReactionList_.get(i));
        }
        for (int i = 0; i < ballElementReactionList_.size(); i++) {
          output.writeMessage(16, ballElementReactionList_.get(i));
        }
        for (int i = 0; i < uidInfoList_.size(); i++) {
          output.writeMessage(17, uidInfoList_.get(i));
        }
        for (int i = 0; i < dynamicObjectList_.size(); i++) {
          output.writeMessage(18, dynamicObjectList_.get(i));
        }
        if (getIdIndexListList().size() > 0) {
          output.writeUInt32NoTag(154);
          output.writeUInt32NoTag(idIndexListMemoizedSerializedSize);
        }
        for (int i = 0; i < idIndexList_.size(); i++) {
          output.writeUInt32NoTag(idIndexList_.getInt(i));
        }
        if (rawClientGameTime_ != 0) {
          output.writeInt32(20, rawClientGameTime_);
        }
        unknownFields.writeTo(output);
      }
  
      @java.lang.Override
      public int getSerializedSize() {
        int size = memoizedSize;
        if (size != -1) return size;
  
        size = 0;
        if (clientGameTime_ != 0L) {
          size += com.google.protobuf.CodedOutputStream
            .computeUInt64Size(1, clientGameTime_);
        }
        if (serverGameTime_ != 0L) {
          size += com.google.protobuf.CodedOutputStream
            .computeUInt64Size(2, serverGameTime_);
        }
        for (int i = 0; i < ballList_.size(); i++) {
          size += com.google.protobuf.CodedOutputStream
            .computeMessageSize(3, ballList_.get(i));
        }
        for (int i = 0; i < physicalObjectList_.size(); i++) {
          size += com.google.protobuf.CodedOutputStream
            .computeMessageSize(4, physicalObjectList_.get(i));
        }
        for (int i = 0; i < actionList_.size(); i++) {
          size += com.google.protobuf.CodedOutputStream
            .computeMessageSize(5, actionList_.get(i));
        }
        if (waveIndex_ != 0) {
          size += com.google.protobuf.CodedOutputStream
            .computeUInt32Size(6, waveIndex_);
        }
        if (isFinish_ != false) {
          size += com.google.protobuf.CodedOutputStream
            .computeBoolSize(7, isFinish_);
        }
        if (score_ != 0) {
          size += com.google.protobuf.CodedOutputStream
            .computeUInt32Size(8, score_);
        }
        if (combo_ != 0) {
          size += com.google.protobuf.CodedOutputStream
            .computeUInt32Size(9, combo_);
        }
        if (maxCombo_ != 0) {
          size += com.google.protobuf.CodedOutputStream
            .computeUInt32Size(10, maxCombo_);
        }
        if (lifeCount_ != 0) {
          size += com.google.protobuf.CodedOutputStream
            .computeUInt32Size(11, lifeCount_);
        }
        if (waveSuiteIndex_ != 0) {
          size += com.google.protobuf.CodedOutputStream
            .computeUInt32Size(12, waveSuiteIndex_);
        }
        for (int i = 0; i < spawnPointList_.size(); i++) {
          size += com.google.protobuf.CodedOutputStream
            .computeMessageSize(13, spawnPointList_.get(i));
        }
        if (remainingBossHp_ != 0) {
          size += com.google.protobuf.CodedOutputStream
            .computeUInt32Size(14, remainingBossHp_);
        }
        for (int i = 0; i < brickElementReactionList_.size(); i++) {
          size += com.google.protobuf.CodedOutputStream
            .computeMessageSize(15, brickElementReactionList_.get(i));
        }
        for (int i = 0; i < ballElementReactionList_.size(); i++) {
          size += com.google.protobuf.CodedOutputStream
            .computeMessageSize(16, ballElementReactionList_.get(i));
        }
        for (int i = 0; i < uidInfoList_.size(); i++) {
          size += com.google.protobuf.CodedOutputStream
            .computeMessageSize(17, uidInfoList_.get(i));
        }
        for (int i = 0; i < dynamicObjectList_.size(); i++) {
          size += com.google.protobuf.CodedOutputStream
            .computeMessageSize(18, dynamicObjectList_.get(i));
        }
        {
          int dataSize = 0;
          for (int i = 0; i < idIndexList_.size(); i++) {
            dataSize += com.google.protobuf.CodedOutputStream
              .computeUInt32SizeNoTag(idIndexList_.getInt(i));
          }
          size += dataSize;
          if (!getIdIndexListList().isEmpty()) {
            size += 2;
            size += com.google.protobuf.CodedOutputStream
                .computeInt32SizeNoTag(dataSize);
          }
          idIndexListMemoizedSerializedSize = dataSize;
        }
        if (rawClientGameTime_ != 0) {
          size += com.google.protobuf.CodedOutputStream
            .computeInt32Size(20, rawClientGameTime_);
        }
        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.BreakoutSnapShotOuterClass.BreakoutSnapShot)) {
          return super.equals(obj);
        }
        emu.grasscutter.net.proto.BreakoutSnapShotOuterClass.BreakoutSnapShot other = (emu.grasscutter.net.proto.BreakoutSnapShotOuterClass.BreakoutSnapShot) obj;
  
        if (getClientGameTime()
            != other.getClientGameTime()) return false;
        if (getServerGameTime()
            != other.getServerGameTime()) return false;
        if (!getBallListList()
            .equals(other.getBallListList())) return false;
        if (!getPhysicalObjectListList()
            .equals(other.getPhysicalObjectListList())) return false;
        if (!getActionListList()
            .equals(other.getActionListList())) return false;
        if (getWaveIndex()
            != other.getWaveIndex()) return false;
        if (getIsFinish()
            != other.getIsFinish()) return false;
        if (getScore()
            != other.getScore()) return false;
        if (getCombo()
            != other.getCombo()) return false;
        if (getMaxCombo()
            != other.getMaxCombo()) return false;
        if (getLifeCount()
            != other.getLifeCount()) return false;
        if (getWaveSuiteIndex()
            != other.getWaveSuiteIndex()) return false;
        if (!getSpawnPointListList()
            .equals(other.getSpawnPointListList())) return false;
        if (getRemainingBossHp()
            != other.getRemainingBossHp()) return false;
        if (!getBrickElementReactionListList()
            .equals(other.getBrickElementReactionListList())) return false;
        if (!getBallElementReactionListList()
            .equals(other.getBallElementReactionListList())) return false;
        if (!getUidInfoListList()
            .equals(other.getUidInfoListList())) return false;
        if (!getDynamicObjectListList()
            .equals(other.getDynamicObjectListList())) return false;
        if (!getIdIndexListList()
            .equals(other.getIdIndexListList())) return false;
        if (getRawClientGameTime()
            != other.getRawClientGameTime()) return false;
        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) + CLIENTGAMETIME_FIELD_NUMBER;
        hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
            getClientGameTime());
        hash = (37 * hash) + SERVERGAMETIME_FIELD_NUMBER;
        hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
            getServerGameTime());
        if (getBallListCount() > 0) {
          hash = (37 * hash) + BALLLIST_FIELD_NUMBER;
          hash = (53 * hash) + getBallListList().hashCode();
        }
        if (getPhysicalObjectListCount() > 0) {
          hash = (37 * hash) + PHYSICALOBJECTLIST_FIELD_NUMBER;
          hash = (53 * hash) + getPhysicalObjectListList().hashCode();
        }
        if (getActionListCount() > 0) {
          hash = (37 * hash) + ACTIONLIST_FIELD_NUMBER;
          hash = (53 * hash) + getActionListList().hashCode();
        }
        hash = (37 * hash) + WAVEINDEX_FIELD_NUMBER;
        hash = (53 * hash) + getWaveIndex();
        hash = (37 * hash) + ISFINISH_FIELD_NUMBER;
        hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
            getIsFinish());
        hash = (37 * hash) + SCORE_FIELD_NUMBER;
        hash = (53 * hash) + getScore();
        hash = (37 * hash) + COMBO_FIELD_NUMBER;
        hash = (53 * hash) + getCombo();
        hash = (37 * hash) + MAXCOMBO_FIELD_NUMBER;
        hash = (53 * hash) + getMaxCombo();
        hash = (37 * hash) + LIFECOUNT_FIELD_NUMBER;
        hash = (53 * hash) + getLifeCount();
        hash = (37 * hash) + WAVESUITEINDEX_FIELD_NUMBER;
        hash = (53 * hash) + getWaveSuiteIndex();
        if (getSpawnPointListCount() > 0) {
          hash = (37 * hash) + SPAWNPOINTLIST_FIELD_NUMBER;
          hash = (53 * hash) + getSpawnPointListList().hashCode();
        }
        hash = (37 * hash) + REMAININGBOSSHP_FIELD_NUMBER;
        hash = (53 * hash) + getRemainingBossHp();
        if (getBrickElementReactionListCount() > 0) {
          hash = (37 * hash) + BRICKELEMENTREACTIONLIST_FIELD_NUMBER;
          hash = (53 * hash) + getBrickElementReactionListList().hashCode();
        }
        if (getBallElementReactionListCount() > 0) {
          hash = (37 * hash) + BALLELEMENTREACTIONLIST_FIELD_NUMBER;
          hash = (53 * hash) + getBallElementReactionListList().hashCode();
        }
        if (getUidInfoListCount() > 0) {
          hash = (37 * hash) + UIDINFOLIST_FIELD_NUMBER;
          hash = (53 * hash) + getUidInfoListList().hashCode();
        }
        if (getDynamicObjectListCount() > 0) {
          hash = (37 * hash) + DYNAMICOBJECTLIST_FIELD_NUMBER;
          hash = (53 * hash) + getDynamicObjectListList().hashCode();
        }
        if (getIdIndexListCount() > 0) {
          hash = (37 * hash) + IDINDEXLIST_FIELD_NUMBER;
          hash = (53 * hash) + getIdIndexListList().hashCode();
        }
        hash = (37 * hash) + RAWCLIENTGAMETIME_FIELD_NUMBER;
        hash = (53 * hash) + getRawClientGameTime();
        hash = (29 * hash) + unknownFields.hashCode();
        memoizedHashCode = hash;
        return hash;
      }
  
      public static emu.grasscutter.net.proto.BreakoutSnapShotOuterClass.BreakoutSnapShot parseFrom(
          java.nio.ByteBuffer data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static emu.grasscutter.net.proto.BreakoutSnapShotOuterClass.BreakoutSnapShot 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.BreakoutSnapShotOuterClass.BreakoutSnapShot parseFrom(
          com.google.protobuf.ByteString data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static emu.grasscutter.net.proto.BreakoutSnapShotOuterClass.BreakoutSnapShot 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.BreakoutSnapShotOuterClass.BreakoutSnapShot parseFrom(byte[] data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static emu.grasscutter.net.proto.BreakoutSnapShotOuterClass.BreakoutSnapShot parseFrom(
          byte[] data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static emu.grasscutter.net.proto.BreakoutSnapShotOuterClass.BreakoutSnapShot parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static emu.grasscutter.net.proto.BreakoutSnapShotOuterClass.BreakoutSnapShot 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.BreakoutSnapShotOuterClass.BreakoutSnapShot parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseDelimitedWithIOException(PARSER, input);
      }
      public static emu.grasscutter.net.proto.BreakoutSnapShotOuterClass.BreakoutSnapShot 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.BreakoutSnapShotOuterClass.BreakoutSnapShot parseFrom(
          com.google.protobuf.CodedInputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static emu.grasscutter.net.proto.BreakoutSnapShotOuterClass.BreakoutSnapShot 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.BreakoutSnapShotOuterClass.BreakoutSnapShot 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 BreakoutSnapShot}
       */
      public static final class Builder extends
          com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
          // @@protoc_insertion_point(builder_implements:BreakoutSnapShot)
          emu.grasscutter.net.proto.BreakoutSnapShotOuterClass.BreakoutSnapShotOrBuilder {
        public static final com.google.protobuf.Descriptors.Descriptor
            getDescriptor() {
          return emu.grasscutter.net.proto.BreakoutSnapShotOuterClass.internal_static_BreakoutSnapShot_descriptor;
        }
  
        @java.lang.Override
        protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return emu.grasscutter.net.proto.BreakoutSnapShotOuterClass.internal_static_BreakoutSnapShot_fieldAccessorTable
              .ensureFieldAccessorsInitialized(
                  emu.grasscutter.net.proto.BreakoutSnapShotOuterClass.BreakoutSnapShot.class, emu.grasscutter.net.proto.BreakoutSnapShotOuterClass.BreakoutSnapShot.Builder.class);
        }
  
        // Construct using emu.grasscutter.net.proto.BreakoutSnapShotOuterClass.BreakoutSnapShot.newBuilder()
        private Builder() {
          maybeForceBuilderInitialization();
        }
  
        private Builder(
            com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
          super(parent);
          maybeForceBuilderInitialization();
        }
        private void maybeForceBuilderInitialization() {
          if (com.google.protobuf.GeneratedMessageV3
                  .alwaysUseFieldBuilders) {
            getBallListFieldBuilder();
            getPhysicalObjectListFieldBuilder();
            getActionListFieldBuilder();
            getSpawnPointListFieldBuilder();
            getBrickElementReactionListFieldBuilder();
            getBallElementReactionListFieldBuilder();
            getUidInfoListFieldBuilder();
            getDynamicObjectListFieldBuilder();
          }
        }
        @java.lang.Override
        public Builder clear() {
          super.clear();
          clientGameTime_ = 0L;
  
          serverGameTime_ = 0L;
  
          if (ballListBuilder_ == null) {
            ballList_ = java.util.Collections.emptyList();
            bitField0_ = (bitField0_ & ~0x00000001);
          } else {
            ballListBuilder_.clear();
          }
          if (physicalObjectListBuilder_ == null) {
            physicalObjectList_ = java.util.Collections.emptyList();
            bitField0_ = (bitField0_ & ~0x00000002);
          } else {
            physicalObjectListBuilder_.clear();
          }
          if (actionListBuilder_ == null) {
            actionList_ = java.util.Collections.emptyList();
            bitField0_ = (bitField0_ & ~0x00000004);
          } else {
            actionListBuilder_.clear();
          }
          waveIndex_ = 0;
  
          isFinish_ = false;
  
          score_ = 0;
  
          combo_ = 0;
  
          maxCombo_ = 0;
  
          lifeCount_ = 0;
  
          waveSuiteIndex_ = 0;
  
          if (spawnPointListBuilder_ == null) {
            spawnPointList_ = java.util.Collections.emptyList();
            bitField0_ = (bitField0_ & ~0x00000008);
          } else {
            spawnPointListBuilder_.clear();
          }
          remainingBossHp_ = 0;
  
          if (brickElementReactionListBuilder_ == null) {
            brickElementReactionList_ = java.util.Collections.emptyList();
            bitField0_ = (bitField0_ & ~0x00000010);
          } else {
            brickElementReactionListBuilder_.clear();
          }
          if (ballElementReactionListBuilder_ == null) {
            ballElementReactionList_ = java.util.Collections.emptyList();
            bitField0_ = (bitField0_ & ~0x00000020);
          } else {
            ballElementReactionListBuilder_.clear();
          }
          if (uidInfoListBuilder_ == null) {
            uidInfoList_ = java.util.Collections.emptyList();
            bitField0_ = (bitField0_ & ~0x00000040);
          } else {
            uidInfoListBuilder_.clear();
          }
          if (dynamicObjectListBuilder_ == null) {
            dynamicObjectList_ = java.util.Collections.emptyList();
            bitField0_ = (bitField0_ & ~0x00000080);
          } else {
            dynamicObjectListBuilder_.clear();
          }
          idIndexList_ = emptyIntList();
          bitField0_ = (bitField0_ & ~0x00000100);
          rawClientGameTime_ = 0;
  
          return this;
        }
  
        @java.lang.Override
        public com.google.protobuf.Descriptors.Descriptor
            getDescriptorForType() {
          return emu.grasscutter.net.proto.BreakoutSnapShotOuterClass.internal_static_BreakoutSnapShot_descriptor;
        }
  
        @java.lang.Override
        public emu.grasscutter.net.proto.BreakoutSnapShotOuterClass.BreakoutSnapShot getDefaultInstanceForType() {
          return emu.grasscutter.net.proto.BreakoutSnapShotOuterClass.BreakoutSnapShot.getDefaultInstance();
        }
  
        @java.lang.Override
        public emu.grasscutter.net.proto.BreakoutSnapShotOuterClass.BreakoutSnapShot build() {
          emu.grasscutter.net.proto.BreakoutSnapShotOuterClass.BreakoutSnapShot result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return result;
        }
  
        @java.lang.Override
        public emu.grasscutter.net.proto.BreakoutSnapShotOuterClass.BreakoutSnapShot buildPartial() {
          emu.grasscutter.net.proto.BreakoutSnapShotOuterClass.BreakoutSnapShot result = new emu.grasscutter.net.proto.BreakoutSnapShotOuterClass.BreakoutSnapShot(this);
          int from_bitField0_ = bitField0_;
          result.clientGameTime_ = clientGameTime_;
          result.serverGameTime_ = serverGameTime_;
          if (ballListBuilder_ == null) {
            if (((bitField0_ & 0x00000001) != 0)) {
              ballList_ = java.util.Collections.unmodifiableList(ballList_);
              bitField0_ = (bitField0_ & ~0x00000001);
            }
            result.ballList_ = ballList_;
          } else {
            result.ballList_ = ballListBuilder_.build();
          }
          if (physicalObjectListBuilder_ == null) {
            if (((bitField0_ & 0x00000002) != 0)) {
              physicalObjectList_ = java.util.Collections.unmodifiableList(physicalObjectList_);
              bitField0_ = (bitField0_ & ~0x00000002);
            }
            result.physicalObjectList_ = physicalObjectList_;
          } else {
            result.physicalObjectList_ = physicalObjectListBuilder_.build();
          }
          if (actionListBuilder_ == null) {
            if (((bitField0_ & 0x00000004) != 0)) {
              actionList_ = java.util.Collections.unmodifiableList(actionList_);
              bitField0_ = (bitField0_ & ~0x00000004);
            }
            result.actionList_ = actionList_;
          } else {
            result.actionList_ = actionListBuilder_.build();
          }
          result.waveIndex_ = waveIndex_;
          result.isFinish_ = isFinish_;
          result.score_ = score_;
          result.combo_ = combo_;
          result.maxCombo_ = maxCombo_;
          result.lifeCount_ = lifeCount_;
          result.waveSuiteIndex_ = waveSuiteIndex_;
          if (spawnPointListBuilder_ == null) {
            if (((bitField0_ & 0x00000008) != 0)) {
              spawnPointList_ = java.util.Collections.unmodifiableList(spawnPointList_);
              bitField0_ = (bitField0_ & ~0x00000008);
            }
            result.spawnPointList_ = spawnPointList_;
          } else {
            result.spawnPointList_ = spawnPointListBuilder_.build();
          }
          result.remainingBossHp_ = remainingBossHp_;
          if (brickElementReactionListBuilder_ == null) {
            if (((bitField0_ & 0x00000010) != 0)) {
              brickElementReactionList_ = java.util.Collections.unmodifiableList(brickElementReactionList_);
              bitField0_ = (bitField0_ & ~0x00000010);
            }
            result.brickElementReactionList_ = brickElementReactionList_;
          } else {
            result.brickElementReactionList_ = brickElementReactionListBuilder_.build();
          }
          if (ballElementReactionListBuilder_ == null) {
            if (((bitField0_ & 0x00000020) != 0)) {
              ballElementReactionList_ = java.util.Collections.unmodifiableList(ballElementReactionList_);
              bitField0_ = (bitField0_ & ~0x00000020);
            }
            result.ballElementReactionList_ = ballElementReactionList_;
          } else {
            result.ballElementReactionList_ = ballElementReactionListBuilder_.build();
          }
          if (uidInfoListBuilder_ == null) {
            if (((bitField0_ & 0x00000040) != 0)) {
              uidInfoList_ = java.util.Collections.unmodifiableList(uidInfoList_);
              bitField0_ = (bitField0_ & ~0x00000040);
            }
            result.uidInfoList_ = uidInfoList_;
          } else {
            result.uidInfoList_ = uidInfoListBuilder_.build();
          }
          if (dynamicObjectListBuilder_ == null) {
            if (((bitField0_ & 0x00000080) != 0)) {
              dynamicObjectList_ = java.util.Collections.unmodifiableList(dynamicObjectList_);
              bitField0_ = (bitField0_ & ~0x00000080);
            }
            result.dynamicObjectList_ = dynamicObjectList_;
          } else {
            result.dynamicObjectList_ = dynamicObjectListBuilder_.build();
          }
          if (((bitField0_ & 0x00000100) != 0)) {
            idIndexList_.makeImmutable();
            bitField0_ = (bitField0_ & ~0x00000100);
          }
          result.idIndexList_ = idIndexList_;
          result.rawClientGameTime_ = rawClientGameTime_;
          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.BreakoutSnapShotOuterClass.BreakoutSnapShot) {
            return mergeFrom((emu.grasscutter.net.proto.BreakoutSnapShotOuterClass.BreakoutSnapShot)other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }
  
        public Builder mergeFrom(emu.grasscutter.net.proto.BreakoutSnapShotOuterClass.BreakoutSnapShot other) {
          if (other == emu.grasscutter.net.proto.BreakoutSnapShotOuterClass.BreakoutSnapShot.getDefaultInstance()) return this;
          if (other.getClientGameTime() != 0L) {
            setClientGameTime(other.getClientGameTime());
          }
          if (other.getServerGameTime() != 0L) {
            setServerGameTime(other.getServerGameTime());
          }
          if (ballListBuilder_ == null) {
            if (!other.ballList_.isEmpty()) {
              if (ballList_.isEmpty()) {
                ballList_ = other.ballList_;
                bitField0_ = (bitField0_ & ~0x00000001);
              } else {
                ensureBallListIsMutable();
                ballList_.addAll(other.ballList_);
              }
              onChanged();
            }
          } else {
            if (!other.ballList_.isEmpty()) {
              if (ballListBuilder_.isEmpty()) {
                ballListBuilder_.dispose();
                ballListBuilder_ = null;
                ballList_ = other.ballList_;
                bitField0_ = (bitField0_ & ~0x00000001);
                ballListBuilder_ = 
                  com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
                     getBallListFieldBuilder() : null;
              } else {
                ballListBuilder_.addAllMessages(other.ballList_);
              }
            }
          }
          if (physicalObjectListBuilder_ == null) {
            if (!other.physicalObjectList_.isEmpty()) {
              if (physicalObjectList_.isEmpty()) {
                physicalObjectList_ = other.physicalObjectList_;
                bitField0_ = (bitField0_ & ~0x00000002);
              } else {
                ensurePhysicalObjectListIsMutable();
                physicalObjectList_.addAll(other.physicalObjectList_);
              }
              onChanged();
            }
          } else {
            if (!other.physicalObjectList_.isEmpty()) {
              if (physicalObjectListBuilder_.isEmpty()) {
                physicalObjectListBuilder_.dispose();
                physicalObjectListBuilder_ = null;
                physicalObjectList_ = other.physicalObjectList_;
                bitField0_ = (bitField0_ & ~0x00000002);
                physicalObjectListBuilder_ = 
                  com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
                     getPhysicalObjectListFieldBuilder() : null;
              } else {
                physicalObjectListBuilder_.addAllMessages(other.physicalObjectList_);
              }
            }
          }
          if (actionListBuilder_ == null) {
            if (!other.actionList_.isEmpty()) {
              if (actionList_.isEmpty()) {
                actionList_ = other.actionList_;
                bitField0_ = (bitField0_ & ~0x00000004);
              } else {
                ensureActionListIsMutable();
                actionList_.addAll(other.actionList_);
              }
              onChanged();
            }
          } else {
            if (!other.actionList_.isEmpty()) {
              if (actionListBuilder_.isEmpty()) {
                actionListBuilder_.dispose();
                actionListBuilder_ = null;
                actionList_ = other.actionList_;
                bitField0_ = (bitField0_ & ~0x00000004);
                actionListBuilder_ = 
                  com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
                     getActionListFieldBuilder() : null;
              } else {
                actionListBuilder_.addAllMessages(other.actionList_);
              }
            }
          }
          if (other.getWaveIndex() != 0) {
            setWaveIndex(other.getWaveIndex());
          }
          if (other.getIsFinish() != false) {
            setIsFinish(other.getIsFinish());
          }
          if (other.getScore() != 0) {
            setScore(other.getScore());
          }
          if (other.getCombo() != 0) {
            setCombo(other.getCombo());
          }
          if (other.getMaxCombo() != 0) {
            setMaxCombo(other.getMaxCombo());
          }
          if (other.getLifeCount() != 0) {
            setLifeCount(other.getLifeCount());
          }
          if (other.getWaveSuiteIndex() != 0) {
            setWaveSuiteIndex(other.getWaveSuiteIndex());
          }
          if (spawnPointListBuilder_ == null) {
            if (!other.spawnPointList_.isEmpty()) {
              if (spawnPointList_.isEmpty()) {
                spawnPointList_ = other.spawnPointList_;
                bitField0_ = (bitField0_ & ~0x00000008);
              } else {
                ensureSpawnPointListIsMutable();
                spawnPointList_.addAll(other.spawnPointList_);
              }
              onChanged();
            }
          } else {
            if (!other.spawnPointList_.isEmpty()) {
              if (spawnPointListBuilder_.isEmpty()) {
                spawnPointListBuilder_.dispose();
                spawnPointListBuilder_ = null;
                spawnPointList_ = other.spawnPointList_;
                bitField0_ = (bitField0_ & ~0x00000008);
                spawnPointListBuilder_ = 
                  com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
                     getSpawnPointListFieldBuilder() : null;
              } else {
                spawnPointListBuilder_.addAllMessages(other.spawnPointList_);
              }
            }
          }
          if (other.getRemainingBossHp() != 0) {
            setRemainingBossHp(other.getRemainingBossHp());
          }
          if (brickElementReactionListBuilder_ == null) {
            if (!other.brickElementReactionList_.isEmpty()) {
              if (brickElementReactionList_.isEmpty()) {
                brickElementReactionList_ = other.brickElementReactionList_;
                bitField0_ = (bitField0_ & ~0x00000010);
              } else {
                ensureBrickElementReactionListIsMutable();
                brickElementReactionList_.addAll(other.brickElementReactionList_);
              }
              onChanged();
            }
          } else {
            if (!other.brickElementReactionList_.isEmpty()) {
              if (brickElementReactionListBuilder_.isEmpty()) {
                brickElementReactionListBuilder_.dispose();
                brickElementReactionListBuilder_ = null;
                brickElementReactionList_ = other.brickElementReactionList_;
                bitField0_ = (bitField0_ & ~0x00000010);
                brickElementReactionListBuilder_ = 
                  com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
                     getBrickElementReactionListFieldBuilder() : null;
              } else {
                brickElementReactionListBuilder_.addAllMessages(other.brickElementReactionList_);
              }
            }
          }
          if (ballElementReactionListBuilder_ == null) {
            if (!other.ballElementReactionList_.isEmpty()) {
              if (ballElementReactionList_.isEmpty()) {
                ballElementReactionList_ = other.ballElementReactionList_;
                bitField0_ = (bitField0_ & ~0x00000020);
              } else {
                ensureBallElementReactionListIsMutable();
                ballElementReactionList_.addAll(other.ballElementReactionList_);
              }
              onChanged();
            }
          } else {
            if (!other.ballElementReactionList_.isEmpty()) {
              if (ballElementReactionListBuilder_.isEmpty()) {
                ballElementReactionListBuilder_.dispose();
                ballElementReactionListBuilder_ = null;
                ballElementReactionList_ = other.ballElementReactionList_;
                bitField0_ = (bitField0_ & ~0x00000020);
                ballElementReactionListBuilder_ = 
                  com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
                     getBallElementReactionListFieldBuilder() : null;
              } else {
                ballElementReactionListBuilder_.addAllMessages(other.ballElementReactionList_);
              }
            }
          }
          if (uidInfoListBuilder_ == null) {
            if (!other.uidInfoList_.isEmpty()) {
              if (uidInfoList_.isEmpty()) {
                uidInfoList_ = other.uidInfoList_;
                bitField0_ = (bitField0_ & ~0x00000040);
              } else {
                ensureUidInfoListIsMutable();
                uidInfoList_.addAll(other.uidInfoList_);
              }
              onChanged();
            }
          } else {
            if (!other.uidInfoList_.isEmpty()) {
              if (uidInfoListBuilder_.isEmpty()) {
                uidInfoListBuilder_.dispose();
                uidInfoListBuilder_ = null;
                uidInfoList_ = other.uidInfoList_;
                bitField0_ = (bitField0_ & ~0x00000040);
                uidInfoListBuilder_ = 
                  com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
                     getUidInfoListFieldBuilder() : null;
              } else {
                uidInfoListBuilder_.addAllMessages(other.uidInfoList_);
              }
            }
          }
          if (dynamicObjectListBuilder_ == null) {
            if (!other.dynamicObjectList_.isEmpty()) {
              if (dynamicObjectList_.isEmpty()) {
                dynamicObjectList_ = other.dynamicObjectList_;
                bitField0_ = (bitField0_ & ~0x00000080);
              } else {
                ensureDynamicObjectListIsMutable();
                dynamicObjectList_.addAll(other.dynamicObjectList_);
              }
              onChanged();
            }
          } else {
            if (!other.dynamicObjectList_.isEmpty()) {
              if (dynamicObjectListBuilder_.isEmpty()) {
                dynamicObjectListBuilder_.dispose();
                dynamicObjectListBuilder_ = null;
                dynamicObjectList_ = other.dynamicObjectList_;
                bitField0_ = (bitField0_ & ~0x00000080);
                dynamicObjectListBuilder_ = 
                  com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
                     getDynamicObjectListFieldBuilder() : null;
              } else {
                dynamicObjectListBuilder_.addAllMessages(other.dynamicObjectList_);
              }
            }
          }
          if (!other.idIndexList_.isEmpty()) {
            if (idIndexList_.isEmpty()) {
              idIndexList_ = other.idIndexList_;
              bitField0_ = (bitField0_ & ~0x00000100);
            } else {
              ensureIdIndexListIsMutable();
              idIndexList_.addAll(other.idIndexList_);
            }
            onChanged();
          }
          if (other.getRawClientGameTime() != 0) {
            setRawClientGameTime(other.getRawClientGameTime());
          }
          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.BreakoutSnapShotOuterClass.BreakoutSnapShot parsedMessage = null;
          try {
            parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
            parsedMessage = (emu.grasscutter.net.proto.BreakoutSnapShotOuterClass.BreakoutSnapShot) e.getUnfinishedMessage();
            throw e.unwrapIOException();
          } finally {
            if (parsedMessage != null) {
              mergeFrom(parsedMessage);
            }
          }
          return this;
        }
        private int bitField0_;
  
        private long clientGameTime_ ;
        /**
         * <code>uint64 clientGameTime = 1;</code>
         * @return The clientGameTime.
         */
        @java.lang.Override
        public long getClientGameTime() {
          return clientGameTime_;
        }
        /**
         * <code>uint64 clientGameTime = 1;</code>
         * @param value The clientGameTime to set.
         * @return This builder for chaining.
         */
        public Builder setClientGameTime(long value) {
          
          clientGameTime_ = value;
          onChanged();
          return this;
        }
        /**
         * <code>uint64 clientGameTime = 1;</code>
         * @return This builder for chaining.
         */
        public Builder clearClientGameTime() {
          
          clientGameTime_ = 0L;
          onChanged();
          return this;
        }
  
        private long serverGameTime_ ;
        /**
         * <code>uint64 serverGameTime = 2;</code>
         * @return The serverGameTime.
         */
        @java.lang.Override
        public long getServerGameTime() {
          return serverGameTime_;
        }
        /**
         * <code>uint64 serverGameTime = 2;</code>
         * @param value The serverGameTime to set.
         * @return This builder for chaining.
         */
        public Builder setServerGameTime(long value) {
          
          serverGameTime_ = value;
          onChanged();
          return this;
        }
        /**
         * <code>uint64 serverGameTime = 2;</code>
         * @return This builder for chaining.
         */
        public Builder clearServerGameTime() {
          
          serverGameTime_ = 0L;
          onChanged();
          return this;
        }
  
        private java.util.List<emu.grasscutter.net.proto.BreakoutPhysicalObjectOuterClass.BreakoutPhysicalObject> ballList_ =
          java.util.Collections.emptyList();
        private void ensureBallListIsMutable() {
          if (!((bitField0_ & 0x00000001) != 0)) {
            ballList_ = new java.util.ArrayList<emu.grasscutter.net.proto.BreakoutPhysicalObjectOuterClass.BreakoutPhysicalObject>(ballList_);
            bitField0_ |= 0x00000001;
           }
        }
  
        private com.google.protobuf.RepeatedFieldBuilderV3<
            emu.grasscutter.net.proto.BreakoutPhysicalObjectOuterClass.BreakoutPhysicalObject, emu.grasscutter.net.proto.BreakoutPhysicalObjectOuterClass.BreakoutPhysicalObject.Builder, emu.grasscutter.net.proto.BreakoutPhysicalObjectOuterClass.BreakoutPhysicalObjectOrBuilder> ballListBuilder_;
  
        /**
         * <code>repeated .BreakoutPhysicalObject ballList = 3;</code>
         */
        public java.util.List<emu.grasscutter.net.proto.BreakoutPhysicalObjectOuterClass.BreakoutPhysicalObject> getBallListList() {
          if (ballListBuilder_ == null) {
            return java.util.Collections.unmodifiableList(ballList_);
          } else {
            return ballListBuilder_.getMessageList();
          }
        }
        /**
         * <code>repeated .BreakoutPhysicalObject ballList = 3;</code>
         */
        public int getBallListCount() {
          if (ballListBuilder_ == null) {
            return ballList_.size();
          } else {
            return ballListBuilder_.getCount();
          }
        }
        /**
         * <code>repeated .BreakoutPhysicalObject ballList = 3;</code>
         */
        public emu.grasscutter.net.proto.BreakoutPhysicalObjectOuterClass.BreakoutPhysicalObject getBallList(int index) {
          if (ballListBuilder_ == null) {
            return ballList_.get(index);
          } else {
            return ballListBuilder_.getMessage(index);
          }
        }
        /**
         * <code>repeated .BreakoutPhysicalObject ballList = 3;</code>
         */
        public Builder setBallList(
            int index, emu.grasscutter.net.proto.BreakoutPhysicalObjectOuterClass.BreakoutPhysicalObject value) {
          if (ballListBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            ensureBallListIsMutable();
            ballList_.set(index, value);
            onChanged();
          } else {
            ballListBuilder_.setMessage(index, value);
          }
          return this;
        }
        /**
         * <code>repeated .BreakoutPhysicalObject ballList = 3;</code>
         */
        public Builder setBallList(
            int index, emu.grasscutter.net.proto.BreakoutPhysicalObjectOuterClass.BreakoutPhysicalObject.Builder builderForValue) {
          if (ballListBuilder_ == null) {
            ensureBallListIsMutable();
            ballList_.set(index, builderForValue.build());
            onChanged();
          } else {
            ballListBuilder_.setMessage(index, builderForValue.build());
          }
          return this;
        }
        /**
         * <code>repeated .BreakoutPhysicalObject ballList = 3;</code>
         */
        public Builder addBallList(emu.grasscutter.net.proto.BreakoutPhysicalObjectOuterClass.BreakoutPhysicalObject value) {
          if (ballListBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            ensureBallListIsMutable();
            ballList_.add(value);
            onChanged();
          } else {
            ballListBuilder_.addMessage(value);
          }
          return this;
        }
        /**
         * <code>repeated .BreakoutPhysicalObject ballList = 3;</code>
         */
        public Builder addBallList(
            int index, emu.grasscutter.net.proto.BreakoutPhysicalObjectOuterClass.BreakoutPhysicalObject value) {
          if (ballListBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            ensureBallListIsMutable();
            ballList_.add(index, value);
            onChanged();
          } else {
            ballListBuilder_.addMessage(index, value);
          }
          return this;
        }
        /**
         * <code>repeated .BreakoutPhysicalObject ballList = 3;</code>
         */
        public Builder addBallList(
            emu.grasscutter.net.proto.BreakoutPhysicalObjectOuterClass.BreakoutPhysicalObject.Builder builderForValue) {
          if (ballListBuilder_ == null) {
            ensureBallListIsMutable();
            ballList_.add(builderForValue.build());
            onChanged();
          } else {
            ballListBuilder_.addMessage(builderForValue.build());
          }
          return this;
        }
        /**
         * <code>repeated .BreakoutPhysicalObject ballList = 3;</code>
         */
        public Builder addBallList(
            int index, emu.grasscutter.net.proto.BreakoutPhysicalObjectOuterClass.BreakoutPhysicalObject.Builder builderForValue) {
          if (ballListBuilder_ == null) {
            ensureBallListIsMutable();
            ballList_.add(index, builderForValue.build());
            onChanged();
          } else {
            ballListBuilder_.addMessage(index, builderForValue.build());
          }
          return this;
        }
        /**
         * <code>repeated .BreakoutPhysicalObject ballList = 3;</code>
         */
        public Builder addAllBallList(
            java.lang.Iterable<? extends emu.grasscutter.net.proto.BreakoutPhysicalObjectOuterClass.BreakoutPhysicalObject> values) {
          if (ballListBuilder_ == null) {
            ensureBallListIsMutable();
            com.google.protobuf.AbstractMessageLite.Builder.addAll(
                values, ballList_);
            onChanged();
          } else {
            ballListBuilder_.addAllMessages(values);
          }
          return this;
        }
        /**
         * <code>repeated .BreakoutPhysicalObject ballList = 3;</code>
         */
        public Builder clearBallList() {
          if (ballListBuilder_ == null) {
            ballList_ = java.util.Collections.emptyList();
            bitField0_ = (bitField0_ & ~0x00000001);
            onChanged();
          } else {
            ballListBuilder_.clear();
          }
          return this;
        }
        /**
         * <code>repeated .BreakoutPhysicalObject ballList = 3;</code>
         */
        public Builder removeBallList(int index) {
          if (ballListBuilder_ == null) {
            ensureBallListIsMutable();
            ballList_.remove(index);
            onChanged();
          } else {
            ballListBuilder_.remove(index);
          }
          return this;
        }
        /**
         * <code>repeated .BreakoutPhysicalObject ballList = 3;</code>
         */
        public emu.grasscutter.net.proto.BreakoutPhysicalObjectOuterClass.BreakoutPhysicalObject.Builder getBallListBuilder(
            int index) {
          return getBallListFieldBuilder().getBuilder(index);
        }
        /**
         * <code>repeated .BreakoutPhysicalObject ballList = 3;</code>
         */
        public emu.grasscutter.net.proto.BreakoutPhysicalObjectOuterClass.BreakoutPhysicalObjectOrBuilder getBallListOrBuilder(
            int index) {
          if (ballListBuilder_ == null) {
            return ballList_.get(index);  } else {
            return ballListBuilder_.getMessageOrBuilder(index);
          }
        }
        /**
         * <code>repeated .BreakoutPhysicalObject ballList = 3;</code>
         */
        public java.util.List<? extends emu.grasscutter.net.proto.BreakoutPhysicalObjectOuterClass.BreakoutPhysicalObjectOrBuilder> 
             getBallListOrBuilderList() {
          if (ballListBuilder_ != null) {
            return ballListBuilder_.getMessageOrBuilderList();
          } else {
            return java.util.Collections.unmodifiableList(ballList_);
          }
        }
        /**
         * <code>repeated .BreakoutPhysicalObject ballList = 3;</code>
         */
        public emu.grasscutter.net.proto.BreakoutPhysicalObjectOuterClass.BreakoutPhysicalObject.Builder addBallListBuilder() {
          return getBallListFieldBuilder().addBuilder(
              emu.grasscutter.net.proto.BreakoutPhysicalObjectOuterClass.BreakoutPhysicalObject.getDefaultInstance());
        }
        /**
         * <code>repeated .BreakoutPhysicalObject ballList = 3;</code>
         */
        public emu.grasscutter.net.proto.BreakoutPhysicalObjectOuterClass.BreakoutPhysicalObject.Builder addBallListBuilder(
            int index) {
          return getBallListFieldBuilder().addBuilder(
              index, emu.grasscutter.net.proto.BreakoutPhysicalObjectOuterClass.BreakoutPhysicalObject.getDefaultInstance());
        }
        /**
         * <code>repeated .BreakoutPhysicalObject ballList = 3;</code>
         */
        public java.util.List<emu.grasscutter.net.proto.BreakoutPhysicalObjectOuterClass.BreakoutPhysicalObject.Builder> 
             getBallListBuilderList() {
          return getBallListFieldBuilder().getBuilderList();
        }
        private com.google.protobuf.RepeatedFieldBuilderV3<
            emu.grasscutter.net.proto.BreakoutPhysicalObjectOuterClass.BreakoutPhysicalObject, emu.grasscutter.net.proto.BreakoutPhysicalObjectOuterClass.BreakoutPhysicalObject.Builder, emu.grasscutter.net.proto.BreakoutPhysicalObjectOuterClass.BreakoutPhysicalObjectOrBuilder> 
            getBallListFieldBuilder() {
          if (ballListBuilder_ == null) {
            ballListBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
                emu.grasscutter.net.proto.BreakoutPhysicalObjectOuterClass.BreakoutPhysicalObject, emu.grasscutter.net.proto.BreakoutPhysicalObjectOuterClass.BreakoutPhysicalObject.Builder, emu.grasscutter.net.proto.BreakoutPhysicalObjectOuterClass.BreakoutPhysicalObjectOrBuilder>(
                    ballList_,
                    ((bitField0_ & 0x00000001) != 0),
                    getParentForChildren(),
                    isClean());
            ballList_ = null;
          }
          return ballListBuilder_;
        }
  
        private java.util.List<emu.grasscutter.net.proto.BreakoutPhysicalObjectOuterClass.BreakoutPhysicalObject> physicalObjectList_ =
          java.util.Collections.emptyList();
        private void ensurePhysicalObjectListIsMutable() {
          if (!((bitField0_ & 0x00000002) != 0)) {
            physicalObjectList_ = new java.util.ArrayList<emu.grasscutter.net.proto.BreakoutPhysicalObjectOuterClass.BreakoutPhysicalObject>(physicalObjectList_);
            bitField0_ |= 0x00000002;
           }
        }
  
        private com.google.protobuf.RepeatedFieldBuilderV3<
            emu.grasscutter.net.proto.BreakoutPhysicalObjectOuterClass.BreakoutPhysicalObject, emu.grasscutter.net.proto.BreakoutPhysicalObjectOuterClass.BreakoutPhysicalObject.Builder, emu.grasscutter.net.proto.BreakoutPhysicalObjectOuterClass.BreakoutPhysicalObjectOrBuilder> physicalObjectListBuilder_;
  
        /**
         * <code>repeated .BreakoutPhysicalObject physicalObjectList = 4;</code>
         */
        public java.util.List<emu.grasscutter.net.proto.BreakoutPhysicalObjectOuterClass.BreakoutPhysicalObject> getPhysicalObjectListList() {
          if (physicalObjectListBuilder_ == null) {
            return java.util.Collections.unmodifiableList(physicalObjectList_);
          } else {
            return physicalObjectListBuilder_.getMessageList();
          }
        }
        /**
         * <code>repeated .BreakoutPhysicalObject physicalObjectList = 4;</code>
         */
        public int getPhysicalObjectListCount() {
          if (physicalObjectListBuilder_ == null) {
            return physicalObjectList_.size();
          } else {
            return physicalObjectListBuilder_.getCount();
          }
        }
        /**
         * <code>repeated .BreakoutPhysicalObject physicalObjectList = 4;</code>
         */
        public emu.grasscutter.net.proto.BreakoutPhysicalObjectOuterClass.BreakoutPhysicalObject getPhysicalObjectList(int index) {
          if (physicalObjectListBuilder_ == null) {
            return physicalObjectList_.get(index);
          } else {
            return physicalObjectListBuilder_.getMessage(index);
          }
        }
        /**
         * <code>repeated .BreakoutPhysicalObject physicalObjectList = 4;</code>
         */
        public Builder setPhysicalObjectList(
            int index, emu.grasscutter.net.proto.BreakoutPhysicalObjectOuterClass.BreakoutPhysicalObject value) {
          if (physicalObjectListBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            ensurePhysicalObjectListIsMutable();
            physicalObjectList_.set(index, value);
            onChanged();
          } else {
            physicalObjectListBuilder_.setMessage(index, value);
          }
          return this;
        }
        /**
         * <code>repeated .BreakoutPhysicalObject physicalObjectList = 4;</code>
         */
        public Builder setPhysicalObjectList(
            int index, emu.grasscutter.net.proto.BreakoutPhysicalObjectOuterClass.BreakoutPhysicalObject.Builder builderForValue) {
          if (physicalObjectListBuilder_ == null) {
            ensurePhysicalObjectListIsMutable();
            physicalObjectList_.set(index, builderForValue.build());
            onChanged();
          } else {
            physicalObjectListBuilder_.setMessage(index, builderForValue.build());
          }
          return this;
        }
        /**
         * <code>repeated .BreakoutPhysicalObject physicalObjectList = 4;</code>
         */
        public Builder addPhysicalObjectList(emu.grasscutter.net.proto.BreakoutPhysicalObjectOuterClass.BreakoutPhysicalObject value) {
          if (physicalObjectListBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            ensurePhysicalObjectListIsMutable();
            physicalObjectList_.add(value);
            onChanged();
          } else {
            physicalObjectListBuilder_.addMessage(value);
          }
          return this;
        }
        /**
         * <code>repeated .BreakoutPhysicalObject physicalObjectList = 4;</code>
         */
        public Builder addPhysicalObjectList(
            int index, emu.grasscutter.net.proto.BreakoutPhysicalObjectOuterClass.BreakoutPhysicalObject value) {
          if (physicalObjectListBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            ensurePhysicalObjectListIsMutable();
            physicalObjectList_.add(index, value);
            onChanged();
          } else {
            physicalObjectListBuilder_.addMessage(index, value);
          }
          return this;
        }
        /**
         * <code>repeated .BreakoutPhysicalObject physicalObjectList = 4;</code>
         */
        public Builder addPhysicalObjectList(
            emu.grasscutter.net.proto.BreakoutPhysicalObjectOuterClass.BreakoutPhysicalObject.Builder builderForValue) {
          if (physicalObjectListBuilder_ == null) {
            ensurePhysicalObjectListIsMutable();
            physicalObjectList_.add(builderForValue.build());
            onChanged();
          } else {
            physicalObjectListBuilder_.addMessage(builderForValue.build());
          }
          return this;
        }
        /**
         * <code>repeated .BreakoutPhysicalObject physicalObjectList = 4;</code>
         */
        public Builder addPhysicalObjectList(
            int index, emu.grasscutter.net.proto.BreakoutPhysicalObjectOuterClass.BreakoutPhysicalObject.Builder builderForValue) {
          if (physicalObjectListBuilder_ == null) {
            ensurePhysicalObjectListIsMutable();
            physicalObjectList_.add(index, builderForValue.build());
            onChanged();
          } else {
            physicalObjectListBuilder_.addMessage(index, builderForValue.build());
          }
          return this;
        }
        /**
         * <code>repeated .BreakoutPhysicalObject physicalObjectList = 4;</code>
         */
        public Builder addAllPhysicalObjectList(
            java.lang.Iterable<? extends emu.grasscutter.net.proto.BreakoutPhysicalObjectOuterClass.BreakoutPhysicalObject> values) {
          if (physicalObjectListBuilder_ == null) {
            ensurePhysicalObjectListIsMutable();
            com.google.protobuf.AbstractMessageLite.Builder.addAll(
                values, physicalObjectList_);
            onChanged();
          } else {
            physicalObjectListBuilder_.addAllMessages(values);
          }
          return this;
        }
        /**
         * <code>repeated .BreakoutPhysicalObject physicalObjectList = 4;</code>
         */
        public Builder clearPhysicalObjectList() {
          if (physicalObjectListBuilder_ == null) {
            physicalObjectList_ = java.util.Collections.emptyList();
            bitField0_ = (bitField0_ & ~0x00000002);
            onChanged();
          } else {
            physicalObjectListBuilder_.clear();
          }
          return this;
        }
        /**
         * <code>repeated .BreakoutPhysicalObject physicalObjectList = 4;</code>
         */
        public Builder removePhysicalObjectList(int index) {
          if (physicalObjectListBuilder_ == null) {
            ensurePhysicalObjectListIsMutable();
            physicalObjectList_.remove(index);
            onChanged();
          } else {
            physicalObjectListBuilder_.remove(index);
          }
          return this;
        }
        /**
         * <code>repeated .BreakoutPhysicalObject physicalObjectList = 4;</code>
         */
        public emu.grasscutter.net.proto.BreakoutPhysicalObjectOuterClass.BreakoutPhysicalObject.Builder getPhysicalObjectListBuilder(
            int index) {
          return getPhysicalObjectListFieldBuilder().getBuilder(index);
        }
        /**
         * <code>repeated .BreakoutPhysicalObject physicalObjectList = 4;</code>
         */
        public emu.grasscutter.net.proto.BreakoutPhysicalObjectOuterClass.BreakoutPhysicalObjectOrBuilder getPhysicalObjectListOrBuilder(
            int index) {
          if (physicalObjectListBuilder_ == null) {
            return physicalObjectList_.get(index);  } else {
            return physicalObjectListBuilder_.getMessageOrBuilder(index);
          }
        }
        /**
         * <code>repeated .BreakoutPhysicalObject physicalObjectList = 4;</code>
         */
        public java.util.List<? extends emu.grasscutter.net.proto.BreakoutPhysicalObjectOuterClass.BreakoutPhysicalObjectOrBuilder> 
             getPhysicalObjectListOrBuilderList() {
          if (physicalObjectListBuilder_ != null) {
            return physicalObjectListBuilder_.getMessageOrBuilderList();
          } else {
            return java.util.Collections.unmodifiableList(physicalObjectList_);
          }
        }
        /**
         * <code>repeated .BreakoutPhysicalObject physicalObjectList = 4;</code>
         */
        public emu.grasscutter.net.proto.BreakoutPhysicalObjectOuterClass.BreakoutPhysicalObject.Builder addPhysicalObjectListBuilder() {
          return getPhysicalObjectListFieldBuilder().addBuilder(
              emu.grasscutter.net.proto.BreakoutPhysicalObjectOuterClass.BreakoutPhysicalObject.getDefaultInstance());
        }
        /**
         * <code>repeated .BreakoutPhysicalObject physicalObjectList = 4;</code>
         */
        public emu.grasscutter.net.proto.BreakoutPhysicalObjectOuterClass.BreakoutPhysicalObject.Builder addPhysicalObjectListBuilder(
            int index) {
          return getPhysicalObjectListFieldBuilder().addBuilder(
              index, emu.grasscutter.net.proto.BreakoutPhysicalObjectOuterClass.BreakoutPhysicalObject.getDefaultInstance());
        }
        /**
         * <code>repeated .BreakoutPhysicalObject physicalObjectList = 4;</code>
         */
        public java.util.List<emu.grasscutter.net.proto.BreakoutPhysicalObjectOuterClass.BreakoutPhysicalObject.Builder> 
             getPhysicalObjectListBuilderList() {
          return getPhysicalObjectListFieldBuilder().getBuilderList();
        }
        private com.google.protobuf.RepeatedFieldBuilderV3<
            emu.grasscutter.net.proto.BreakoutPhysicalObjectOuterClass.BreakoutPhysicalObject, emu.grasscutter.net.proto.BreakoutPhysicalObjectOuterClass.BreakoutPhysicalObject.Builder, emu.grasscutter.net.proto.BreakoutPhysicalObjectOuterClass.BreakoutPhysicalObjectOrBuilder> 
            getPhysicalObjectListFieldBuilder() {
          if (physicalObjectListBuilder_ == null) {
            physicalObjectListBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
                emu.grasscutter.net.proto.BreakoutPhysicalObjectOuterClass.BreakoutPhysicalObject, emu.grasscutter.net.proto.BreakoutPhysicalObjectOuterClass.BreakoutPhysicalObject.Builder, emu.grasscutter.net.proto.BreakoutPhysicalObjectOuterClass.BreakoutPhysicalObjectOrBuilder>(
                    physicalObjectList_,
                    ((bitField0_ & 0x00000002) != 0),
                    getParentForChildren(),
                    isClean());
            physicalObjectList_ = null;
          }
          return physicalObjectListBuilder_;
        }
  
        private java.util.List<emu.grasscutter.net.proto.BreakoutActionOuterClass.BreakoutAction> actionList_ =
          java.util.Collections.emptyList();
        private void ensureActionListIsMutable() {
          if (!((bitField0_ & 0x00000004) != 0)) {
            actionList_ = new java.util.ArrayList<emu.grasscutter.net.proto.BreakoutActionOuterClass.BreakoutAction>(actionList_);
            bitField0_ |= 0x00000004;
           }
        }
  
        private com.google.protobuf.RepeatedFieldBuilderV3<
            emu.grasscutter.net.proto.BreakoutActionOuterClass.BreakoutAction, emu.grasscutter.net.proto.BreakoutActionOuterClass.BreakoutAction.Builder, emu.grasscutter.net.proto.BreakoutActionOuterClass.BreakoutActionOrBuilder> actionListBuilder_;
  
        /**
         * <code>repeated .BreakoutAction actionList = 5;</code>
         */
        public java.util.List<emu.grasscutter.net.proto.BreakoutActionOuterClass.BreakoutAction> getActionListList() {
          if (actionListBuilder_ == null) {
            return java.util.Collections.unmodifiableList(actionList_);
          } else {
            return actionListBuilder_.getMessageList();
          }
        }
        /**
         * <code>repeated .BreakoutAction actionList = 5;</code>
         */
        public int getActionListCount() {
          if (actionListBuilder_ == null) {
            return actionList_.size();
          } else {
            return actionListBuilder_.getCount();
          }
        }
        /**
         * <code>repeated .BreakoutAction actionList = 5;</code>
         */
        public emu.grasscutter.net.proto.BreakoutActionOuterClass.BreakoutAction getActionList(int index) {
          if (actionListBuilder_ == null) {
            return actionList_.get(index);
          } else {
            return actionListBuilder_.getMessage(index);
          }
        }
        /**
         * <code>repeated .BreakoutAction actionList = 5;</code>
         */
        public Builder setActionList(
            int index, emu.grasscutter.net.proto.BreakoutActionOuterClass.BreakoutAction value) {
          if (actionListBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            ensureActionListIsMutable();
            actionList_.set(index, value);
            onChanged();
          } else {
            actionListBuilder_.setMessage(index, value);
          }
          return this;
        }
        /**
         * <code>repeated .BreakoutAction actionList = 5;</code>
         */
        public Builder setActionList(
            int index, emu.grasscutter.net.proto.BreakoutActionOuterClass.BreakoutAction.Builder builderForValue) {
          if (actionListBuilder_ == null) {
            ensureActionListIsMutable();
            actionList_.set(index, builderForValue.build());
            onChanged();
          } else {
            actionListBuilder_.setMessage(index, builderForValue.build());
          }
          return this;
        }
        /**
         * <code>repeated .BreakoutAction actionList = 5;</code>
         */
        public Builder addActionList(emu.grasscutter.net.proto.BreakoutActionOuterClass.BreakoutAction value) {
          if (actionListBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            ensureActionListIsMutable();
            actionList_.add(value);
            onChanged();
          } else {
            actionListBuilder_.addMessage(value);
          }
          return this;
        }
        /**
         * <code>repeated .BreakoutAction actionList = 5;</code>
         */
        public Builder addActionList(
            int index, emu.grasscutter.net.proto.BreakoutActionOuterClass.BreakoutAction value) {
          if (actionListBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            ensureActionListIsMutable();
            actionList_.add(index, value);
            onChanged();
          } else {
            actionListBuilder_.addMessage(index, value);
          }
          return this;
        }
        /**
         * <code>repeated .BreakoutAction actionList = 5;</code>
         */
        public Builder addActionList(
            emu.grasscutter.net.proto.BreakoutActionOuterClass.BreakoutAction.Builder builderForValue) {
          if (actionListBuilder_ == null) {
            ensureActionListIsMutable();
            actionList_.add(builderForValue.build());
            onChanged();
          } else {
            actionListBuilder_.addMessage(builderForValue.build());
          }
          return this;
        }
        /**
         * <code>repeated .BreakoutAction actionList = 5;</code>
         */
        public Builder addActionList(
            int index, emu.grasscutter.net.proto.BreakoutActionOuterClass.BreakoutAction.Builder builderForValue) {
          if (actionListBuilder_ == null) {
            ensureActionListIsMutable();
            actionList_.add(index, builderForValue.build());
            onChanged();
          } else {
            actionListBuilder_.addMessage(index, builderForValue.build());
          }
          return this;
        }
        /**
         * <code>repeated .BreakoutAction actionList = 5;</code>
         */
        public Builder addAllActionList(
            java.lang.Iterable<? extends emu.grasscutter.net.proto.BreakoutActionOuterClass.BreakoutAction> values) {
          if (actionListBuilder_ == null) {
            ensureActionListIsMutable();
            com.google.protobuf.AbstractMessageLite.Builder.addAll(
                values, actionList_);
            onChanged();
          } else {
            actionListBuilder_.addAllMessages(values);
          }
          return this;
        }
        /**
         * <code>repeated .BreakoutAction actionList = 5;</code>
         */
        public Builder clearActionList() {
          if (actionListBuilder_ == null) {
            actionList_ = java.util.Collections.emptyList();
            bitField0_ = (bitField0_ & ~0x00000004);
            onChanged();
          } else {
            actionListBuilder_.clear();
          }
          return this;
        }
        /**
         * <code>repeated .BreakoutAction actionList = 5;</code>
         */
        public Builder removeActionList(int index) {
          if (actionListBuilder_ == null) {
            ensureActionListIsMutable();
            actionList_.remove(index);
            onChanged();
          } else {
            actionListBuilder_.remove(index);
          }
          return this;
        }
        /**
         * <code>repeated .BreakoutAction actionList = 5;</code>
         */
        public emu.grasscutter.net.proto.BreakoutActionOuterClass.BreakoutAction.Builder getActionListBuilder(
            int index) {
          return getActionListFieldBuilder().getBuilder(index);
        }
        /**
         * <code>repeated .BreakoutAction actionList = 5;</code>
         */
        public emu.grasscutter.net.proto.BreakoutActionOuterClass.BreakoutActionOrBuilder getActionListOrBuilder(
            int index) {
          if (actionListBuilder_ == null) {
            return actionList_.get(index);  } else {
            return actionListBuilder_.getMessageOrBuilder(index);
          }
        }
        /**
         * <code>repeated .BreakoutAction actionList = 5;</code>
         */
        public java.util.List<? extends emu.grasscutter.net.proto.BreakoutActionOuterClass.BreakoutActionOrBuilder> 
             getActionListOrBuilderList() {
          if (actionListBuilder_ != null) {
            return actionListBuilder_.getMessageOrBuilderList();
          } else {
            return java.util.Collections.unmodifiableList(actionList_);
          }
        }
        /**
         * <code>repeated .BreakoutAction actionList = 5;</code>
         */
        public emu.grasscutter.net.proto.BreakoutActionOuterClass.BreakoutAction.Builder addActionListBuilder() {
          return getActionListFieldBuilder().addBuilder(
              emu.grasscutter.net.proto.BreakoutActionOuterClass.BreakoutAction.getDefaultInstance());
        }
        /**
         * <code>repeated .BreakoutAction actionList = 5;</code>
         */
        public emu.grasscutter.net.proto.BreakoutActionOuterClass.BreakoutAction.Builder addActionListBuilder(
            int index) {
          return getActionListFieldBuilder().addBuilder(
              index, emu.grasscutter.net.proto.BreakoutActionOuterClass.BreakoutAction.getDefaultInstance());
        }
        /**
         * <code>repeated .BreakoutAction actionList = 5;</code>
         */
        public java.util.List<emu.grasscutter.net.proto.BreakoutActionOuterClass.BreakoutAction.Builder> 
             getActionListBuilderList() {
          return getActionListFieldBuilder().getBuilderList();
        }
        private com.google.protobuf.RepeatedFieldBuilderV3<
            emu.grasscutter.net.proto.BreakoutActionOuterClass.BreakoutAction, emu.grasscutter.net.proto.BreakoutActionOuterClass.BreakoutAction.Builder, emu.grasscutter.net.proto.BreakoutActionOuterClass.BreakoutActionOrBuilder> 
            getActionListFieldBuilder() {
          if (actionListBuilder_ == null) {
            actionListBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
                emu.grasscutter.net.proto.BreakoutActionOuterClass.BreakoutAction, emu.grasscutter.net.proto.BreakoutActionOuterClass.BreakoutAction.Builder, emu.grasscutter.net.proto.BreakoutActionOuterClass.BreakoutActionOrBuilder>(
                    actionList_,
                    ((bitField0_ & 0x00000004) != 0),
                    getParentForChildren(),
                    isClean());
            actionList_ = null;
          }
          return actionListBuilder_;
        }
  
        private int waveIndex_ ;
        /**
         * <code>uint32 waveIndex = 6;</code>
         * @return The waveIndex.
         */
        @java.lang.Override
        public int getWaveIndex() {
          return waveIndex_;
        }
        /**
         * <code>uint32 waveIndex = 6;</code>
         * @param value The waveIndex to set.
         * @return This builder for chaining.
         */
        public Builder setWaveIndex(int value) {
          
          waveIndex_ = value;
          onChanged();
          return this;
        }
        /**
         * <code>uint32 waveIndex = 6;</code>
         * @return This builder for chaining.
         */
        public Builder clearWaveIndex() {
          
          waveIndex_ = 0;
          onChanged();
          return this;
        }
  
        private boolean isFinish_ ;
        /**
         * <code>bool isFinish = 7;</code>
         * @return The isFinish.
         */
        @java.lang.Override
        public boolean getIsFinish() {
          return isFinish_;
        }
        /**
         * <code>bool isFinish = 7;</code>
         * @param value The isFinish to set.
         * @return This builder for chaining.
         */
        public Builder setIsFinish(boolean value) {
          
          isFinish_ = value;
          onChanged();
          return this;
        }
        /**
         * <code>bool isFinish = 7;</code>
         * @return This builder for chaining.
         */
        public Builder clearIsFinish() {
          
          isFinish_ = false;
          onChanged();
          return this;
        }
  
        private int score_ ;
        /**
         * <code>uint32 score = 8;</code>
         * @return The score.
         */
        @java.lang.Override
        public int getScore() {
          return score_;
        }
        /**
         * <code>uint32 score = 8;</code>
         * @param value The score to set.
         * @return This builder for chaining.
         */
        public Builder setScore(int value) {
          
          score_ = value;
          onChanged();
          return this;
        }
        /**
         * <code>uint32 score = 8;</code>
         * @return This builder for chaining.
         */
        public Builder clearScore() {
          
          score_ = 0;
          onChanged();
          return this;
        }
  
        private int combo_ ;
        /**
         * <code>uint32 combo = 9;</code>
         * @return The combo.
         */
        @java.lang.Override
        public int getCombo() {
          return combo_;
        }
        /**
         * <code>uint32 combo = 9;</code>
         * @param value The combo to set.
         * @return This builder for chaining.
         */
        public Builder setCombo(int value) {
          
          combo_ = value;
          onChanged();
          return this;
        }
        /**
         * <code>uint32 combo = 9;</code>
         * @return This builder for chaining.
         */
        public Builder clearCombo() {
          
          combo_ = 0;
          onChanged();
          return this;
        }
  
        private int maxCombo_ ;
        /**
         * <code>uint32 maxCombo = 10;</code>
         * @return The maxCombo.
         */
        @java.lang.Override
        public int getMaxCombo() {
          return maxCombo_;
        }
        /**
         * <code>uint32 maxCombo = 10;</code>
         * @param value The maxCombo to set.
         * @return This builder for chaining.
         */
        public Builder setMaxCombo(int value) {
          
          maxCombo_ = value;
          onChanged();
          return this;
        }
        /**
         * <code>uint32 maxCombo = 10;</code>
         * @return This builder for chaining.
         */
        public Builder clearMaxCombo() {
          
          maxCombo_ = 0;
          onChanged();
          return this;
        }
  
        private int lifeCount_ ;
        /**
         * <code>uint32 lifeCount = 11;</code>
         * @return The lifeCount.
         */
        @java.lang.Override
        public int getLifeCount() {
          return lifeCount_;
        }
        /**
         * <code>uint32 lifeCount = 11;</code>
         * @param value The lifeCount to set.
         * @return This builder for chaining.
         */
        public Builder setLifeCount(int value) {
          
          lifeCount_ = value;
          onChanged();
          return this;
        }
        /**
         * <code>uint32 lifeCount = 11;</code>
         * @return This builder for chaining.
         */
        public Builder clearLifeCount() {
          
          lifeCount_ = 0;
          onChanged();
          return this;
        }
  
        private int waveSuiteIndex_ ;
        /**
         * <code>uint32 waveSuiteIndex = 12;</code>
         * @return The waveSuiteIndex.
         */
        @java.lang.Override
        public int getWaveSuiteIndex() {
          return waveSuiteIndex_;
        }
        /**
         * <code>uint32 waveSuiteIndex = 12;</code>
         * @param value The waveSuiteIndex to set.
         * @return This builder for chaining.
         */
        public Builder setWaveSuiteIndex(int value) {
          
          waveSuiteIndex_ = value;
          onChanged();
          return this;
        }
        /**
         * <code>uint32 waveSuiteIndex = 12;</code>
         * @return This builder for chaining.
         */
        public Builder clearWaveSuiteIndex() {
          
          waveSuiteIndex_ = 0;
          onChanged();
          return this;
        }
  
        private java.util.List<emu.grasscutter.net.proto.BreakoutSpawnPointOuterClass.BreakoutSpawnPoint> spawnPointList_ =
          java.util.Collections.emptyList();
        private void ensureSpawnPointListIsMutable() {
          if (!((bitField0_ & 0x00000008) != 0)) {
            spawnPointList_ = new java.util.ArrayList<emu.grasscutter.net.proto.BreakoutSpawnPointOuterClass.BreakoutSpawnPoint>(spawnPointList_);
            bitField0_ |= 0x00000008;
           }
        }
  
        private com.google.protobuf.RepeatedFieldBuilderV3<
            emu.grasscutter.net.proto.BreakoutSpawnPointOuterClass.BreakoutSpawnPoint, emu.grasscutter.net.proto.BreakoutSpawnPointOuterClass.BreakoutSpawnPoint.Builder, emu.grasscutter.net.proto.BreakoutSpawnPointOuterClass.BreakoutSpawnPointOrBuilder> spawnPointListBuilder_;
  
        /**
         * <code>repeated .BreakoutSpawnPoint spawnPointList = 13;</code>
         */
        public java.util.List<emu.grasscutter.net.proto.BreakoutSpawnPointOuterClass.BreakoutSpawnPoint> getSpawnPointListList() {
          if (spawnPointListBuilder_ == null) {
            return java.util.Collections.unmodifiableList(spawnPointList_);
          } else {
            return spawnPointListBuilder_.getMessageList();
          }
        }
        /**
         * <code>repeated .BreakoutSpawnPoint spawnPointList = 13;</code>
         */
        public int getSpawnPointListCount() {
          if (spawnPointListBuilder_ == null) {
            return spawnPointList_.size();
          } else {
            return spawnPointListBuilder_.getCount();
          }
        }
        /**
         * <code>repeated .BreakoutSpawnPoint spawnPointList = 13;</code>
         */
        public emu.grasscutter.net.proto.BreakoutSpawnPointOuterClass.BreakoutSpawnPoint getSpawnPointList(int index) {
          if (spawnPointListBuilder_ == null) {
            return spawnPointList_.get(index);
          } else {
            return spawnPointListBuilder_.getMessage(index);
          }
        }
        /**
         * <code>repeated .BreakoutSpawnPoint spawnPointList = 13;</code>
         */
        public Builder setSpawnPointList(
            int index, emu.grasscutter.net.proto.BreakoutSpawnPointOuterClass.BreakoutSpawnPoint value) {
          if (spawnPointListBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            ensureSpawnPointListIsMutable();
            spawnPointList_.set(index, value);
            onChanged();
          } else {
            spawnPointListBuilder_.setMessage(index, value);
          }
          return this;
        }
        /**
         * <code>repeated .BreakoutSpawnPoint spawnPointList = 13;</code>
         */
        public Builder setSpawnPointList(
            int index, emu.grasscutter.net.proto.BreakoutSpawnPointOuterClass.BreakoutSpawnPoint.Builder builderForValue) {
          if (spawnPointListBuilder_ == null) {
            ensureSpawnPointListIsMutable();
            spawnPointList_.set(index, builderForValue.build());
            onChanged();
          } else {
            spawnPointListBuilder_.setMessage(index, builderForValue.build());
          }
          return this;
        }
        /**
         * <code>repeated .BreakoutSpawnPoint spawnPointList = 13;</code>
         */
        public Builder addSpawnPointList(emu.grasscutter.net.proto.BreakoutSpawnPointOuterClass.BreakoutSpawnPoint value) {
          if (spawnPointListBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            ensureSpawnPointListIsMutable();
            spawnPointList_.add(value);
            onChanged();
          } else {
            spawnPointListBuilder_.addMessage(value);
          }
          return this;
        }
        /**
         * <code>repeated .BreakoutSpawnPoint spawnPointList = 13;</code>
         */
        public Builder addSpawnPointList(
            int index, emu.grasscutter.net.proto.BreakoutSpawnPointOuterClass.BreakoutSpawnPoint value) {
          if (spawnPointListBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            ensureSpawnPointListIsMutable();
            spawnPointList_.add(index, value);
            onChanged();
          } else {
            spawnPointListBuilder_.addMessage(index, value);
          }
          return this;
        }
        /**
         * <code>repeated .BreakoutSpawnPoint spawnPointList = 13;</code>
         */
        public Builder addSpawnPointList(
            emu.grasscutter.net.proto.BreakoutSpawnPointOuterClass.BreakoutSpawnPoint.Builder builderForValue) {
          if (spawnPointListBuilder_ == null) {
            ensureSpawnPointListIsMutable();
            spawnPointList_.add(builderForValue.build());
            onChanged();
          } else {
            spawnPointListBuilder_.addMessage(builderForValue.build());
          }
          return this;
        }
        /**
         * <code>repeated .BreakoutSpawnPoint spawnPointList = 13;</code>
         */
        public Builder addSpawnPointList(
            int index, emu.grasscutter.net.proto.BreakoutSpawnPointOuterClass.BreakoutSpawnPoint.Builder builderForValue) {
          if (spawnPointListBuilder_ == null) {
            ensureSpawnPointListIsMutable();
            spawnPointList_.add(index, builderForValue.build());
            onChanged();
          } else {
            spawnPointListBuilder_.addMessage(index, builderForValue.build());
          }
          return this;
        }
        /**
         * <code>repeated .BreakoutSpawnPoint spawnPointList = 13;</code>
         */
        public Builder addAllSpawnPointList(
            java.lang.Iterable<? extends emu.grasscutter.net.proto.BreakoutSpawnPointOuterClass.BreakoutSpawnPoint> values) {
          if (spawnPointListBuilder_ == null) {
            ensureSpawnPointListIsMutable();
            com.google.protobuf.AbstractMessageLite.Builder.addAll(
                values, spawnPointList_);
            onChanged();
          } else {
            spawnPointListBuilder_.addAllMessages(values);
          }
          return this;
        }
        /**
         * <code>repeated .BreakoutSpawnPoint spawnPointList = 13;</code>
         */
        public Builder clearSpawnPointList() {
          if (spawnPointListBuilder_ == null) {
            spawnPointList_ = java.util.Collections.emptyList();
            bitField0_ = (bitField0_ & ~0x00000008);
            onChanged();
          } else {
            spawnPointListBuilder_.clear();
          }
          return this;
        }
        /**
         * <code>repeated .BreakoutSpawnPoint spawnPointList = 13;</code>
         */
        public Builder removeSpawnPointList(int index) {
          if (spawnPointListBuilder_ == null) {
            ensureSpawnPointListIsMutable();
            spawnPointList_.remove(index);
            onChanged();
          } else {
            spawnPointListBuilder_.remove(index);
          }
          return this;
        }
        /**
         * <code>repeated .BreakoutSpawnPoint spawnPointList = 13;</code>
         */
        public emu.grasscutter.net.proto.BreakoutSpawnPointOuterClass.BreakoutSpawnPoint.Builder getSpawnPointListBuilder(
            int index) {
          return getSpawnPointListFieldBuilder().getBuilder(index);
        }
        /**
         * <code>repeated .BreakoutSpawnPoint spawnPointList = 13;</code>
         */
        public emu.grasscutter.net.proto.BreakoutSpawnPointOuterClass.BreakoutSpawnPointOrBuilder getSpawnPointListOrBuilder(
            int index) {
          if (spawnPointListBuilder_ == null) {
            return spawnPointList_.get(index);  } else {
            return spawnPointListBuilder_.getMessageOrBuilder(index);
          }
        }
        /**
         * <code>repeated .BreakoutSpawnPoint spawnPointList = 13;</code>
         */
        public java.util.List<? extends emu.grasscutter.net.proto.BreakoutSpawnPointOuterClass.BreakoutSpawnPointOrBuilder> 
             getSpawnPointListOrBuilderList() {
          if (spawnPointListBuilder_ != null) {
            return spawnPointListBuilder_.getMessageOrBuilderList();
          } else {
            return java.util.Collections.unmodifiableList(spawnPointList_);
          }
        }
        /**
         * <code>repeated .BreakoutSpawnPoint spawnPointList = 13;</code>
         */
        public emu.grasscutter.net.proto.BreakoutSpawnPointOuterClass.BreakoutSpawnPoint.Builder addSpawnPointListBuilder() {
          return getSpawnPointListFieldBuilder().addBuilder(
              emu.grasscutter.net.proto.BreakoutSpawnPointOuterClass.BreakoutSpawnPoint.getDefaultInstance());
        }
        /**
         * <code>repeated .BreakoutSpawnPoint spawnPointList = 13;</code>
         */
        public emu.grasscutter.net.proto.BreakoutSpawnPointOuterClass.BreakoutSpawnPoint.Builder addSpawnPointListBuilder(
            int index) {
          return getSpawnPointListFieldBuilder().addBuilder(
              index, emu.grasscutter.net.proto.BreakoutSpawnPointOuterClass.BreakoutSpawnPoint.getDefaultInstance());
        }
        /**
         * <code>repeated .BreakoutSpawnPoint spawnPointList = 13;</code>
         */
        public java.util.List<emu.grasscutter.net.proto.BreakoutSpawnPointOuterClass.BreakoutSpawnPoint.Builder> 
             getSpawnPointListBuilderList() {
          return getSpawnPointListFieldBuilder().getBuilderList();
        }
        private com.google.protobuf.RepeatedFieldBuilderV3<
            emu.grasscutter.net.proto.BreakoutSpawnPointOuterClass.BreakoutSpawnPoint, emu.grasscutter.net.proto.BreakoutSpawnPointOuterClass.BreakoutSpawnPoint.Builder, emu.grasscutter.net.proto.BreakoutSpawnPointOuterClass.BreakoutSpawnPointOrBuilder> 
            getSpawnPointListFieldBuilder() {
          if (spawnPointListBuilder_ == null) {
            spawnPointListBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
                emu.grasscutter.net.proto.BreakoutSpawnPointOuterClass.BreakoutSpawnPoint, emu.grasscutter.net.proto.BreakoutSpawnPointOuterClass.BreakoutSpawnPoint.Builder, emu.grasscutter.net.proto.BreakoutSpawnPointOuterClass.BreakoutSpawnPointOrBuilder>(
                    spawnPointList_,
                    ((bitField0_ & 0x00000008) != 0),
                    getParentForChildren(),
                    isClean());
            spawnPointList_ = null;
          }
          return spawnPointListBuilder_;
        }
  
        private int remainingBossHp_ ;
        /**
         * <code>uint32 remainingBossHp = 14;</code>
         * @return The remainingBossHp.
         */
        @java.lang.Override
        public int getRemainingBossHp() {
          return remainingBossHp_;
        }
        /**
         * <code>uint32 remainingBossHp = 14;</code>
         * @param value The remainingBossHp to set.
         * @return This builder for chaining.
         */
        public Builder setRemainingBossHp(int value) {
          
          remainingBossHp_ = value;
          onChanged();
          return this;
        }
        /**
         * <code>uint32 remainingBossHp = 14;</code>
         * @return This builder for chaining.
         */
        public Builder clearRemainingBossHp() {
          
          remainingBossHp_ = 0;
          onChanged();
          return this;
        }
  
        private java.util.List<emu.grasscutter.net.proto.BreakoutElementReactionCounterOuterClass.BreakoutElementReactionCounter> brickElementReactionList_ =
          java.util.Collections.emptyList();
        private void ensureBrickElementReactionListIsMutable() {
          if (!((bitField0_ & 0x00000010) != 0)) {
            brickElementReactionList_ = new java.util.ArrayList<emu.grasscutter.net.proto.BreakoutElementReactionCounterOuterClass.BreakoutElementReactionCounter>(brickElementReactionList_);
            bitField0_ |= 0x00000010;
           }
        }
  
        private com.google.protobuf.RepeatedFieldBuilderV3<
            emu.grasscutter.net.proto.BreakoutElementReactionCounterOuterClass.BreakoutElementReactionCounter, emu.grasscutter.net.proto.BreakoutElementReactionCounterOuterClass.BreakoutElementReactionCounter.Builder, emu.grasscutter.net.proto.BreakoutElementReactionCounterOuterClass.BreakoutElementReactionCounterOrBuilder> brickElementReactionListBuilder_;
  
        /**
         * <code>repeated .BreakoutElementReactionCounter brickElementReactionList = 15;</code>
         */
        public java.util.List<emu.grasscutter.net.proto.BreakoutElementReactionCounterOuterClass.BreakoutElementReactionCounter> getBrickElementReactionListList() {
          if (brickElementReactionListBuilder_ == null) {
            return java.util.Collections.unmodifiableList(brickElementReactionList_);
          } else {
            return brickElementReactionListBuilder_.getMessageList();
          }
        }
        /**
         * <code>repeated .BreakoutElementReactionCounter brickElementReactionList = 15;</code>
         */
        public int getBrickElementReactionListCount() {
          if (brickElementReactionListBuilder_ == null) {
            return brickElementReactionList_.size();
          } else {
            return brickElementReactionListBuilder_.getCount();
          }
        }
        /**
         * <code>repeated .BreakoutElementReactionCounter brickElementReactionList = 15;</code>
         */
        public emu.grasscutter.net.proto.BreakoutElementReactionCounterOuterClass.BreakoutElementReactionCounter getBrickElementReactionList(int index) {
          if (brickElementReactionListBuilder_ == null) {
            return brickElementReactionList_.get(index);
          } else {
            return brickElementReactionListBuilder_.getMessage(index);
          }
        }
        /**
         * <code>repeated .BreakoutElementReactionCounter brickElementReactionList = 15;</code>
         */
        public Builder setBrickElementReactionList(
            int index, emu.grasscutter.net.proto.BreakoutElementReactionCounterOuterClass.BreakoutElementReactionCounter value) {
          if (brickElementReactionListBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            ensureBrickElementReactionListIsMutable();
            brickElementReactionList_.set(index, value);
            onChanged();
          } else {
            brickElementReactionListBuilder_.setMessage(index, value);
          }
          return this;
        }
        /**
         * <code>repeated .BreakoutElementReactionCounter brickElementReactionList = 15;</code>
         */
        public Builder setBrickElementReactionList(
            int index, emu.grasscutter.net.proto.BreakoutElementReactionCounterOuterClass.BreakoutElementReactionCounter.Builder builderForValue) {
          if (brickElementReactionListBuilder_ == null) {
            ensureBrickElementReactionListIsMutable();
            brickElementReactionList_.set(index, builderForValue.build());
            onChanged();
          } else {
            brickElementReactionListBuilder_.setMessage(index, builderForValue.build());
          }
          return this;
        }
        /**
         * <code>repeated .BreakoutElementReactionCounter brickElementReactionList = 15;</code>
         */
        public Builder addBrickElementReactionList(emu.grasscutter.net.proto.BreakoutElementReactionCounterOuterClass.BreakoutElementReactionCounter value) {
          if (brickElementReactionListBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            ensureBrickElementReactionListIsMutable();
            brickElementReactionList_.add(value);
            onChanged();
          } else {
            brickElementReactionListBuilder_.addMessage(value);
          }
          return this;
        }
        /**
         * <code>repeated .BreakoutElementReactionCounter brickElementReactionList = 15;</code>
         */
        public Builder addBrickElementReactionList(
            int index, emu.grasscutter.net.proto.BreakoutElementReactionCounterOuterClass.BreakoutElementReactionCounter value) {
          if (brickElementReactionListBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            ensureBrickElementReactionListIsMutable();
            brickElementReactionList_.add(index, value);
            onChanged();
          } else {
            brickElementReactionListBuilder_.addMessage(index, value);
          }
          return this;
        }
        /**
         * <code>repeated .BreakoutElementReactionCounter brickElementReactionList = 15;</code>
         */
        public Builder addBrickElementReactionList(
            emu.grasscutter.net.proto.BreakoutElementReactionCounterOuterClass.BreakoutElementReactionCounter.Builder builderForValue) {
          if (brickElementReactionListBuilder_ == null) {
            ensureBrickElementReactionListIsMutable();
            brickElementReactionList_.add(builderForValue.build());
            onChanged();
          } else {
            brickElementReactionListBuilder_.addMessage(builderForValue.build());
          }
          return this;
        }
        /**
         * <code>repeated .BreakoutElementReactionCounter brickElementReactionList = 15;</code>
         */
        public Builder addBrickElementReactionList(
            int index, emu.grasscutter.net.proto.BreakoutElementReactionCounterOuterClass.BreakoutElementReactionCounter.Builder builderForValue) {
          if (brickElementReactionListBuilder_ == null) {
            ensureBrickElementReactionListIsMutable();
            brickElementReactionList_.add(index, builderForValue.build());
            onChanged();
          } else {
            brickElementReactionListBuilder_.addMessage(index, builderForValue.build());
          }
          return this;
        }
        /**
         * <code>repeated .BreakoutElementReactionCounter brickElementReactionList = 15;</code>
         */
        public Builder addAllBrickElementReactionList(
            java.lang.Iterable<? extends emu.grasscutter.net.proto.BreakoutElementReactionCounterOuterClass.BreakoutElementReactionCounter> values) {
          if (brickElementReactionListBuilder_ == null) {
            ensureBrickElementReactionListIsMutable();
            com.google.protobuf.AbstractMessageLite.Builder.addAll(
                values, brickElementReactionList_);
            onChanged();
          } else {
            brickElementReactionListBuilder_.addAllMessages(values);
          }
          return this;
        }
        /**
         * <code>repeated .BreakoutElementReactionCounter brickElementReactionList = 15;</code>
         */
        public Builder clearBrickElementReactionList() {
          if (brickElementReactionListBuilder_ == null) {
            brickElementReactionList_ = java.util.Collections.emptyList();
            bitField0_ = (bitField0_ & ~0x00000010);
            onChanged();
          } else {
            brickElementReactionListBuilder_.clear();
          }
          return this;
        }
        /**
         * <code>repeated .BreakoutElementReactionCounter brickElementReactionList = 15;</code>
         */
        public Builder removeBrickElementReactionList(int index) {
          if (brickElementReactionListBuilder_ == null) {
            ensureBrickElementReactionListIsMutable();
            brickElementReactionList_.remove(index);
            onChanged();
          } else {
            brickElementReactionListBuilder_.remove(index);
          }
          return this;
        }
        /**
         * <code>repeated .BreakoutElementReactionCounter brickElementReactionList = 15;</code>
         */
        public emu.grasscutter.net.proto.BreakoutElementReactionCounterOuterClass.BreakoutElementReactionCounter.Builder getBrickElementReactionListBuilder(
            int index) {
          return getBrickElementReactionListFieldBuilder().getBuilder(index);
        }
        /**
         * <code>repeated .BreakoutElementReactionCounter brickElementReactionList = 15;</code>
         */
        public emu.grasscutter.net.proto.BreakoutElementReactionCounterOuterClass.BreakoutElementReactionCounterOrBuilder getBrickElementReactionListOrBuilder(
            int index) {
          if (brickElementReactionListBuilder_ == null) {
            return brickElementReactionList_.get(index);  } else {
            return brickElementReactionListBuilder_.getMessageOrBuilder(index);
          }
        }
        /**
         * <code>repeated .BreakoutElementReactionCounter brickElementReactionList = 15;</code>
         */
        public java.util.List<? extends emu.grasscutter.net.proto.BreakoutElementReactionCounterOuterClass.BreakoutElementReactionCounterOrBuilder> 
             getBrickElementReactionListOrBuilderList() {
          if (brickElementReactionListBuilder_ != null) {
            return brickElementReactionListBuilder_.getMessageOrBuilderList();
          } else {
            return java.util.Collections.unmodifiableList(brickElementReactionList_);
          }
        }
        /**
         * <code>repeated .BreakoutElementReactionCounter brickElementReactionList = 15;</code>
         */
        public emu.grasscutter.net.proto.BreakoutElementReactionCounterOuterClass.BreakoutElementReactionCounter.Builder addBrickElementReactionListBuilder() {
          return getBrickElementReactionListFieldBuilder().addBuilder(
              emu.grasscutter.net.proto.BreakoutElementReactionCounterOuterClass.BreakoutElementReactionCounter.getDefaultInstance());
        }
        /**
         * <code>repeated .BreakoutElementReactionCounter brickElementReactionList = 15;</code>
         */
        public emu.grasscutter.net.proto.BreakoutElementReactionCounterOuterClass.BreakoutElementReactionCounter.Builder addBrickElementReactionListBuilder(
            int index) {
          return getBrickElementReactionListFieldBuilder().addBuilder(
              index, emu.grasscutter.net.proto.BreakoutElementReactionCounterOuterClass.BreakoutElementReactionCounter.getDefaultInstance());
        }
        /**
         * <code>repeated .BreakoutElementReactionCounter brickElementReactionList = 15;</code>
         */
        public java.util.List<emu.grasscutter.net.proto.BreakoutElementReactionCounterOuterClass.BreakoutElementReactionCounter.Builder> 
             getBrickElementReactionListBuilderList() {
          return getBrickElementReactionListFieldBuilder().getBuilderList();
        }
        private com.google.protobuf.RepeatedFieldBuilderV3<
            emu.grasscutter.net.proto.BreakoutElementReactionCounterOuterClass.BreakoutElementReactionCounter, emu.grasscutter.net.proto.BreakoutElementReactionCounterOuterClass.BreakoutElementReactionCounter.Builder, emu.grasscutter.net.proto.BreakoutElementReactionCounterOuterClass.BreakoutElementReactionCounterOrBuilder> 
            getBrickElementReactionListFieldBuilder() {
          if (brickElementReactionListBuilder_ == null) {
            brickElementReactionListBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
                emu.grasscutter.net.proto.BreakoutElementReactionCounterOuterClass.BreakoutElementReactionCounter, emu.grasscutter.net.proto.BreakoutElementReactionCounterOuterClass.BreakoutElementReactionCounter.Builder, emu.grasscutter.net.proto.BreakoutElementReactionCounterOuterClass.BreakoutElementReactionCounterOrBuilder>(
                    brickElementReactionList_,
                    ((bitField0_ & 0x00000010) != 0),
                    getParentForChildren(),
                    isClean());
            brickElementReactionList_ = null;
          }
          return brickElementReactionListBuilder_;
        }
  
        private java.util.List<emu.grasscutter.net.proto.BreakoutElementReactionCounterOuterClass.BreakoutElementReactionCounter> ballElementReactionList_ =
          java.util.Collections.emptyList();
        private void ensureBallElementReactionListIsMutable() {
          if (!((bitField0_ & 0x00000020) != 0)) {
            ballElementReactionList_ = new java.util.ArrayList<emu.grasscutter.net.proto.BreakoutElementReactionCounterOuterClass.BreakoutElementReactionCounter>(ballElementReactionList_);
            bitField0_ |= 0x00000020;
           }
        }
  
        private com.google.protobuf.RepeatedFieldBuilderV3<
            emu.grasscutter.net.proto.BreakoutElementReactionCounterOuterClass.BreakoutElementReactionCounter, emu.grasscutter.net.proto.BreakoutElementReactionCounterOuterClass.BreakoutElementReactionCounter.Builder, emu.grasscutter.net.proto.BreakoutElementReactionCounterOuterClass.BreakoutElementReactionCounterOrBuilder> ballElementReactionListBuilder_;
  
        /**
         * <code>repeated .BreakoutElementReactionCounter ballElementReactionList = 16;</code>
         */
        public java.util.List<emu.grasscutter.net.proto.BreakoutElementReactionCounterOuterClass.BreakoutElementReactionCounter> getBallElementReactionListList() {
          if (ballElementReactionListBuilder_ == null) {
            return java.util.Collections.unmodifiableList(ballElementReactionList_);
          } else {
            return ballElementReactionListBuilder_.getMessageList();
          }
        }
        /**
         * <code>repeated .BreakoutElementReactionCounter ballElementReactionList = 16;</code>
         */
        public int getBallElementReactionListCount() {
          if (ballElementReactionListBuilder_ == null) {
            return ballElementReactionList_.size();
          } else {
            return ballElementReactionListBuilder_.getCount();
          }
        }
        /**
         * <code>repeated .BreakoutElementReactionCounter ballElementReactionList = 16;</code>
         */
        public emu.grasscutter.net.proto.BreakoutElementReactionCounterOuterClass.BreakoutElementReactionCounter getBallElementReactionList(int index) {
          if (ballElementReactionListBuilder_ == null) {
            return ballElementReactionList_.get(index);
          } else {
            return ballElementReactionListBuilder_.getMessage(index);
          }
        }
        /**
         * <code>repeated .BreakoutElementReactionCounter ballElementReactionList = 16;</code>
         */
        public Builder setBallElementReactionList(
            int index, emu.grasscutter.net.proto.BreakoutElementReactionCounterOuterClass.BreakoutElementReactionCounter value) {
          if (ballElementReactionListBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            ensureBallElementReactionListIsMutable();
            ballElementReactionList_.set(index, value);
            onChanged();
          } else {
            ballElementReactionListBuilder_.setMessage(index, value);
          }
          return this;
        }
        /**
         * <code>repeated .BreakoutElementReactionCounter ballElementReactionList = 16;</code>
         */
        public Builder setBallElementReactionList(
            int index, emu.grasscutter.net.proto.BreakoutElementReactionCounterOuterClass.BreakoutElementReactionCounter.Builder builderForValue) {
          if (ballElementReactionListBuilder_ == null) {
            ensureBallElementReactionListIsMutable();
            ballElementReactionList_.set(index, builderForValue.build());
            onChanged();
          } else {
            ballElementReactionListBuilder_.setMessage(index, builderForValue.build());
          }
          return this;
        }
        /**
         * <code>repeated .BreakoutElementReactionCounter ballElementReactionList = 16;</code>
         */
        public Builder addBallElementReactionList(emu.grasscutter.net.proto.BreakoutElementReactionCounterOuterClass.BreakoutElementReactionCounter value) {
          if (ballElementReactionListBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            ensureBallElementReactionListIsMutable();
            ballElementReactionList_.add(value);
            onChanged();
          } else {
            ballElementReactionListBuilder_.addMessage(value);
          }
          return this;
        }
        /**
         * <code>repeated .BreakoutElementReactionCounter ballElementReactionList = 16;</code>
         */
        public Builder addBallElementReactionList(
            int index, emu.grasscutter.net.proto.BreakoutElementReactionCounterOuterClass.BreakoutElementReactionCounter value) {
          if (ballElementReactionListBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            ensureBallElementReactionListIsMutable();
            ballElementReactionList_.add(index, value);
            onChanged();
          } else {
            ballElementReactionListBuilder_.addMessage(index, value);
          }
          return this;
        }
        /**
         * <code>repeated .BreakoutElementReactionCounter ballElementReactionList = 16;</code>
         */
        public Builder addBallElementReactionList(
            emu.grasscutter.net.proto.BreakoutElementReactionCounterOuterClass.BreakoutElementReactionCounter.Builder builderForValue) {
          if (ballElementReactionListBuilder_ == null) {
            ensureBallElementReactionListIsMutable();
            ballElementReactionList_.add(builderForValue.build());
            onChanged();
          } else {
            ballElementReactionListBuilder_.addMessage(builderForValue.build());
          }
          return this;
        }
        /**
         * <code>repeated .BreakoutElementReactionCounter ballElementReactionList = 16;</code>
         */
        public Builder addBallElementReactionList(
            int index, emu.grasscutter.net.proto.BreakoutElementReactionCounterOuterClass.BreakoutElementReactionCounter.Builder builderForValue) {
          if (ballElementReactionListBuilder_ == null) {
            ensureBallElementReactionListIsMutable();
            ballElementReactionList_.add(index, builderForValue.build());
            onChanged();
          } else {
            ballElementReactionListBuilder_.addMessage(index, builderForValue.build());
          }
          return this;
        }
        /**
         * <code>repeated .BreakoutElementReactionCounter ballElementReactionList = 16;</code>
         */
        public Builder addAllBallElementReactionList(
            java.lang.Iterable<? extends emu.grasscutter.net.proto.BreakoutElementReactionCounterOuterClass.BreakoutElementReactionCounter> values) {
          if (ballElementReactionListBuilder_ == null) {
            ensureBallElementReactionListIsMutable();
            com.google.protobuf.AbstractMessageLite.Builder.addAll(
                values, ballElementReactionList_);
            onChanged();
          } else {
            ballElementReactionListBuilder_.addAllMessages(values);
          }
          return this;
        }
        /**
         * <code>repeated .BreakoutElementReactionCounter ballElementReactionList = 16;</code>
         */
        public Builder clearBallElementReactionList() {
          if (ballElementReactionListBuilder_ == null) {
            ballElementReactionList_ = java.util.Collections.emptyList();
            bitField0_ = (bitField0_ & ~0x00000020);
            onChanged();
          } else {
            ballElementReactionListBuilder_.clear();
          }
          return this;
        }
        /**
         * <code>repeated .BreakoutElementReactionCounter ballElementReactionList = 16;</code>
         */
        public Builder removeBallElementReactionList(int index) {
          if (ballElementReactionListBuilder_ == null) {
            ensureBallElementReactionListIsMutable();
            ballElementReactionList_.remove(index);
            onChanged();
          } else {
            ballElementReactionListBuilder_.remove(index);
          }
          return this;
        }
        /**
         * <code>repeated .BreakoutElementReactionCounter ballElementReactionList = 16;</code>
         */
        public emu.grasscutter.net.proto.BreakoutElementReactionCounterOuterClass.BreakoutElementReactionCounter.Builder getBallElementReactionListBuilder(
            int index) {
          return getBallElementReactionListFieldBuilder().getBuilder(index);
        }
        /**
         * <code>repeated .BreakoutElementReactionCounter ballElementReactionList = 16;</code>
         */
        public emu.grasscutter.net.proto.BreakoutElementReactionCounterOuterClass.BreakoutElementReactionCounterOrBuilder getBallElementReactionListOrBuilder(
            int index) {
          if (ballElementReactionListBuilder_ == null) {
            return ballElementReactionList_.get(index);  } else {
            return ballElementReactionListBuilder_.getMessageOrBuilder(index);
          }
        }
        /**
         * <code>repeated .BreakoutElementReactionCounter ballElementReactionList = 16;</code>
         */
        public java.util.List<? extends emu.grasscutter.net.proto.BreakoutElementReactionCounterOuterClass.BreakoutElementReactionCounterOrBuilder> 
             getBallElementReactionListOrBuilderList() {
          if (ballElementReactionListBuilder_ != null) {
            return ballElementReactionListBuilder_.getMessageOrBuilderList();
          } else {
            return java.util.Collections.unmodifiableList(ballElementReactionList_);
          }
        }
        /**
         * <code>repeated .BreakoutElementReactionCounter ballElementReactionList = 16;</code>
         */
        public emu.grasscutter.net.proto.BreakoutElementReactionCounterOuterClass.BreakoutElementReactionCounter.Builder addBallElementReactionListBuilder() {
          return getBallElementReactionListFieldBuilder().addBuilder(
              emu.grasscutter.net.proto.BreakoutElementReactionCounterOuterClass.BreakoutElementReactionCounter.getDefaultInstance());
        }
        /**
         * <code>repeated .BreakoutElementReactionCounter ballElementReactionList = 16;</code>
         */
        public emu.grasscutter.net.proto.BreakoutElementReactionCounterOuterClass.BreakoutElementReactionCounter.Builder addBallElementReactionListBuilder(
            int index) {
          return getBallElementReactionListFieldBuilder().addBuilder(
              index, emu.grasscutter.net.proto.BreakoutElementReactionCounterOuterClass.BreakoutElementReactionCounter.getDefaultInstance());
        }
        /**
         * <code>repeated .BreakoutElementReactionCounter ballElementReactionList = 16;</code>
         */
        public java.util.List<emu.grasscutter.net.proto.BreakoutElementReactionCounterOuterClass.BreakoutElementReactionCounter.Builder> 
             getBallElementReactionListBuilderList() {
          return getBallElementReactionListFieldBuilder().getBuilderList();
        }
        private com.google.protobuf.RepeatedFieldBuilderV3<
            emu.grasscutter.net.proto.BreakoutElementReactionCounterOuterClass.BreakoutElementReactionCounter, emu.grasscutter.net.proto.BreakoutElementReactionCounterOuterClass.BreakoutElementReactionCounter.Builder, emu.grasscutter.net.proto.BreakoutElementReactionCounterOuterClass.BreakoutElementReactionCounterOrBuilder> 
            getBallElementReactionListFieldBuilder() {
          if (ballElementReactionListBuilder_ == null) {
            ballElementReactionListBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
                emu.grasscutter.net.proto.BreakoutElementReactionCounterOuterClass.BreakoutElementReactionCounter, emu.grasscutter.net.proto.BreakoutElementReactionCounterOuterClass.BreakoutElementReactionCounter.Builder, emu.grasscutter.net.proto.BreakoutElementReactionCounterOuterClass.BreakoutElementReactionCounterOrBuilder>(
                    ballElementReactionList_,
                    ((bitField0_ & 0x00000020) != 0),
                    getParentForChildren(),
                    isClean());
            ballElementReactionList_ = null;
          }
          return ballElementReactionListBuilder_;
        }
  
        private java.util.List<emu.grasscutter.net.proto.BreakoutSyncConnectUidInfoOuterClass.BreakoutSyncConnectUidInfo> uidInfoList_ =
          java.util.Collections.emptyList();
        private void ensureUidInfoListIsMutable() {
          if (!((bitField0_ & 0x00000040) != 0)) {
            uidInfoList_ = new java.util.ArrayList<emu.grasscutter.net.proto.BreakoutSyncConnectUidInfoOuterClass.BreakoutSyncConnectUidInfo>(uidInfoList_);
            bitField0_ |= 0x00000040;
           }
        }
  
        private com.google.protobuf.RepeatedFieldBuilderV3<
            emu.grasscutter.net.proto.BreakoutSyncConnectUidInfoOuterClass.BreakoutSyncConnectUidInfo, emu.grasscutter.net.proto.BreakoutSyncConnectUidInfoOuterClass.BreakoutSyncConnectUidInfo.Builder, emu.grasscutter.net.proto.BreakoutSyncConnectUidInfoOuterClass.BreakoutSyncConnectUidInfoOrBuilder> uidInfoListBuilder_;
  
        /**
         * <code>repeated .BreakoutSyncConnectUidInfo uidInfoList = 17;</code>
         */
        public java.util.List<emu.grasscutter.net.proto.BreakoutSyncConnectUidInfoOuterClass.BreakoutSyncConnectUidInfo> getUidInfoListList() {
          if (uidInfoListBuilder_ == null) {
            return java.util.Collections.unmodifiableList(uidInfoList_);
          } else {
            return uidInfoListBuilder_.getMessageList();
          }
        }
        /**
         * <code>repeated .BreakoutSyncConnectUidInfo uidInfoList = 17;</code>
         */
        public int getUidInfoListCount() {
          if (uidInfoListBuilder_ == null) {
            return uidInfoList_.size();
          } else {
            return uidInfoListBuilder_.getCount();
          }
        }
        /**
         * <code>repeated .BreakoutSyncConnectUidInfo uidInfoList = 17;</code>
         */
        public emu.grasscutter.net.proto.BreakoutSyncConnectUidInfoOuterClass.BreakoutSyncConnectUidInfo getUidInfoList(int index) {
          if (uidInfoListBuilder_ == null) {
            return uidInfoList_.get(index);
          } else {
            return uidInfoListBuilder_.getMessage(index);
          }
        }
        /**
         * <code>repeated .BreakoutSyncConnectUidInfo uidInfoList = 17;</code>
         */
        public Builder setUidInfoList(
            int index, emu.grasscutter.net.proto.BreakoutSyncConnectUidInfoOuterClass.BreakoutSyncConnectUidInfo value) {
          if (uidInfoListBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            ensureUidInfoListIsMutable();
            uidInfoList_.set(index, value);
            onChanged();
          } else {
            uidInfoListBuilder_.setMessage(index, value);
          }
          return this;
        }
        /**
         * <code>repeated .BreakoutSyncConnectUidInfo uidInfoList = 17;</code>
         */
        public Builder setUidInfoList(
            int index, emu.grasscutter.net.proto.BreakoutSyncConnectUidInfoOuterClass.BreakoutSyncConnectUidInfo.Builder builderForValue) {
          if (uidInfoListBuilder_ == null) {
            ensureUidInfoListIsMutable();
            uidInfoList_.set(index, builderForValue.build());
            onChanged();
          } else {
            uidInfoListBuilder_.setMessage(index, builderForValue.build());
          }
          return this;
        }
        /**
         * <code>repeated .BreakoutSyncConnectUidInfo uidInfoList = 17;</code>
         */
        public Builder addUidInfoList(emu.grasscutter.net.proto.BreakoutSyncConnectUidInfoOuterClass.BreakoutSyncConnectUidInfo value) {
          if (uidInfoListBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            ensureUidInfoListIsMutable();
            uidInfoList_.add(value);
            onChanged();
          } else {
            uidInfoListBuilder_.addMessage(value);
          }
          return this;
        }
        /**
         * <code>repeated .BreakoutSyncConnectUidInfo uidInfoList = 17;</code>
         */
        public Builder addUidInfoList(
            int index, emu.grasscutter.net.proto.BreakoutSyncConnectUidInfoOuterClass.BreakoutSyncConnectUidInfo value) {
          if (uidInfoListBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            ensureUidInfoListIsMutable();
            uidInfoList_.add(index, value);
            onChanged();
          } else {
            uidInfoListBuilder_.addMessage(index, value);
          }
          return this;
        }
        /**
         * <code>repeated .BreakoutSyncConnectUidInfo uidInfoList = 17;</code>
         */
        public Builder addUidInfoList(
            emu.grasscutter.net.proto.BreakoutSyncConnectUidInfoOuterClass.BreakoutSyncConnectUidInfo.Builder builderForValue) {
          if (uidInfoListBuilder_ == null) {
            ensureUidInfoListIsMutable();
            uidInfoList_.add(builderForValue.build());
            onChanged();
          } else {
            uidInfoListBuilder_.addMessage(builderForValue.build());
          }
          return this;
        }
        /**
         * <code>repeated .BreakoutSyncConnectUidInfo uidInfoList = 17;</code>
         */
        public Builder addUidInfoList(
            int index, emu.grasscutter.net.proto.BreakoutSyncConnectUidInfoOuterClass.BreakoutSyncConnectUidInfo.Builder builderForValue) {
          if (uidInfoListBuilder_ == null) {
            ensureUidInfoListIsMutable();
            uidInfoList_.add(index, builderForValue.build());
            onChanged();
          } else {
            uidInfoListBuilder_.addMessage(index, builderForValue.build());
          }
          return this;
        }
        /**
         * <code>repeated .BreakoutSyncConnectUidInfo uidInfoList = 17;</code>
         */
        public Builder addAllUidInfoList(
            java.lang.Iterable<? extends emu.grasscutter.net.proto.BreakoutSyncConnectUidInfoOuterClass.BreakoutSyncConnectUidInfo> values) {
          if (uidInfoListBuilder_ == null) {
            ensureUidInfoListIsMutable();
            com.google.protobuf.AbstractMessageLite.Builder.addAll(
                values, uidInfoList_);
            onChanged();
          } else {
            uidInfoListBuilder_.addAllMessages(values);
          }
          return this;
        }
        /**
         * <code>repeated .BreakoutSyncConnectUidInfo uidInfoList = 17;</code>
         */
        public Builder clearUidInfoList() {
          if (uidInfoListBuilder_ == null) {
            uidInfoList_ = java.util.Collections.emptyList();
            bitField0_ = (bitField0_ & ~0x00000040);
            onChanged();
          } else {
            uidInfoListBuilder_.clear();
          }
          return this;
        }
        /**
         * <code>repeated .BreakoutSyncConnectUidInfo uidInfoList = 17;</code>
         */
        public Builder removeUidInfoList(int index) {
          if (uidInfoListBuilder_ == null) {
            ensureUidInfoListIsMutable();
            uidInfoList_.remove(index);
            onChanged();
          } else {
            uidInfoListBuilder_.remove(index);
          }
          return this;
        }
        /**
         * <code>repeated .BreakoutSyncConnectUidInfo uidInfoList = 17;</code>
         */
        public emu.grasscutter.net.proto.BreakoutSyncConnectUidInfoOuterClass.BreakoutSyncConnectUidInfo.Builder getUidInfoListBuilder(
            int index) {
          return getUidInfoListFieldBuilder().getBuilder(index);
        }
        /**
         * <code>repeated .BreakoutSyncConnectUidInfo uidInfoList = 17;</code>
         */
        public emu.grasscutter.net.proto.BreakoutSyncConnectUidInfoOuterClass.BreakoutSyncConnectUidInfoOrBuilder getUidInfoListOrBuilder(
            int index) {
          if (uidInfoListBuilder_ == null) {
            return uidInfoList_.get(index);  } else {
            return uidInfoListBuilder_.getMessageOrBuilder(index);
          }
        }
        /**
         * <code>repeated .BreakoutSyncConnectUidInfo uidInfoList = 17;</code>
         */
        public java.util.List<? extends emu.grasscutter.net.proto.BreakoutSyncConnectUidInfoOuterClass.BreakoutSyncConnectUidInfoOrBuilder> 
             getUidInfoListOrBuilderList() {
          if (uidInfoListBuilder_ != null) {
            return uidInfoListBuilder_.getMessageOrBuilderList();
          } else {
            return java.util.Collections.unmodifiableList(uidInfoList_);
          }
        }
        /**
         * <code>repeated .BreakoutSyncConnectUidInfo uidInfoList = 17;</code>
         */
        public emu.grasscutter.net.proto.BreakoutSyncConnectUidInfoOuterClass.BreakoutSyncConnectUidInfo.Builder addUidInfoListBuilder() {
          return getUidInfoListFieldBuilder().addBuilder(
              emu.grasscutter.net.proto.BreakoutSyncConnectUidInfoOuterClass.BreakoutSyncConnectUidInfo.getDefaultInstance());
        }
        /**
         * <code>repeated .BreakoutSyncConnectUidInfo uidInfoList = 17;</code>
         */
        public emu.grasscutter.net.proto.BreakoutSyncConnectUidInfoOuterClass.BreakoutSyncConnectUidInfo.Builder addUidInfoListBuilder(
            int index) {
          return getUidInfoListFieldBuilder().addBuilder(
              index, emu.grasscutter.net.proto.BreakoutSyncConnectUidInfoOuterClass.BreakoutSyncConnectUidInfo.getDefaultInstance());
        }
        /**
         * <code>repeated .BreakoutSyncConnectUidInfo uidInfoList = 17;</code>
         */
        public java.util.List<emu.grasscutter.net.proto.BreakoutSyncConnectUidInfoOuterClass.BreakoutSyncConnectUidInfo.Builder> 
             getUidInfoListBuilderList() {
          return getUidInfoListFieldBuilder().getBuilderList();
        }
        private com.google.protobuf.RepeatedFieldBuilderV3<
            emu.grasscutter.net.proto.BreakoutSyncConnectUidInfoOuterClass.BreakoutSyncConnectUidInfo, emu.grasscutter.net.proto.BreakoutSyncConnectUidInfoOuterClass.BreakoutSyncConnectUidInfo.Builder, emu.grasscutter.net.proto.BreakoutSyncConnectUidInfoOuterClass.BreakoutSyncConnectUidInfoOrBuilder> 
            getUidInfoListFieldBuilder() {
          if (uidInfoListBuilder_ == null) {
            uidInfoListBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
                emu.grasscutter.net.proto.BreakoutSyncConnectUidInfoOuterClass.BreakoutSyncConnectUidInfo, emu.grasscutter.net.proto.BreakoutSyncConnectUidInfoOuterClass.BreakoutSyncConnectUidInfo.Builder, emu.grasscutter.net.proto.BreakoutSyncConnectUidInfoOuterClass.BreakoutSyncConnectUidInfoOrBuilder>(
                    uidInfoList_,
                    ((bitField0_ & 0x00000040) != 0),
                    getParentForChildren(),
                    isClean());
            uidInfoList_ = null;
          }
          return uidInfoListBuilder_;
        }
  
        private java.util.List<emu.grasscutter.net.proto.BreakoutPhysicalObjectOuterClass.BreakoutPhysicalObject> dynamicObjectList_ =
          java.util.Collections.emptyList();
        private void ensureDynamicObjectListIsMutable() {
          if (!((bitField0_ & 0x00000080) != 0)) {
            dynamicObjectList_ = new java.util.ArrayList<emu.grasscutter.net.proto.BreakoutPhysicalObjectOuterClass.BreakoutPhysicalObject>(dynamicObjectList_);
            bitField0_ |= 0x00000080;
           }
        }
  
        private com.google.protobuf.RepeatedFieldBuilderV3<
            emu.grasscutter.net.proto.BreakoutPhysicalObjectOuterClass.BreakoutPhysicalObject, emu.grasscutter.net.proto.BreakoutPhysicalObjectOuterClass.BreakoutPhysicalObject.Builder, emu.grasscutter.net.proto.BreakoutPhysicalObjectOuterClass.BreakoutPhysicalObjectOrBuilder> dynamicObjectListBuilder_;
  
        /**
         * <code>repeated .BreakoutPhysicalObject dynamicObjectList = 18;</code>
         */
        public java.util.List<emu.grasscutter.net.proto.BreakoutPhysicalObjectOuterClass.BreakoutPhysicalObject> getDynamicObjectListList() {
          if (dynamicObjectListBuilder_ == null) {
            return java.util.Collections.unmodifiableList(dynamicObjectList_);
          } else {
            return dynamicObjectListBuilder_.getMessageList();
          }
        }
        /**
         * <code>repeated .BreakoutPhysicalObject dynamicObjectList = 18;</code>
         */
        public int getDynamicObjectListCount() {
          if (dynamicObjectListBuilder_ == null) {
            return dynamicObjectList_.size();
          } else {
            return dynamicObjectListBuilder_.getCount();
          }
        }
        /**
         * <code>repeated .BreakoutPhysicalObject dynamicObjectList = 18;</code>
         */
        public emu.grasscutter.net.proto.BreakoutPhysicalObjectOuterClass.BreakoutPhysicalObject getDynamicObjectList(int index) {
          if (dynamicObjectListBuilder_ == null) {
            return dynamicObjectList_.get(index);
          } else {
            return dynamicObjectListBuilder_.getMessage(index);
          }
        }
        /**
         * <code>repeated .BreakoutPhysicalObject dynamicObjectList = 18;</code>
         */
        public Builder setDynamicObjectList(
            int index, emu.grasscutter.net.proto.BreakoutPhysicalObjectOuterClass.BreakoutPhysicalObject value) {
          if (dynamicObjectListBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            ensureDynamicObjectListIsMutable();
            dynamicObjectList_.set(index, value);
            onChanged();
          } else {
            dynamicObjectListBuilder_.setMessage(index, value);
          }
          return this;
        }
        /**
         * <code>repeated .BreakoutPhysicalObject dynamicObjectList = 18;</code>
         */
        public Builder setDynamicObjectList(
            int index, emu.grasscutter.net.proto.BreakoutPhysicalObjectOuterClass.BreakoutPhysicalObject.Builder builderForValue) {
          if (dynamicObjectListBuilder_ == null) {
            ensureDynamicObjectListIsMutable();
            dynamicObjectList_.set(index, builderForValue.build());
            onChanged();
          } else {
            dynamicObjectListBuilder_.setMessage(index, builderForValue.build());
          }
          return this;
        }
        /**
         * <code>repeated .BreakoutPhysicalObject dynamicObjectList = 18;</code>
         */
        public Builder addDynamicObjectList(emu.grasscutter.net.proto.BreakoutPhysicalObjectOuterClass.BreakoutPhysicalObject value) {
          if (dynamicObjectListBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            ensureDynamicObjectListIsMutable();
            dynamicObjectList_.add(value);
            onChanged();
          } else {
            dynamicObjectListBuilder_.addMessage(value);
          }
          return this;
        }
        /**
         * <code>repeated .BreakoutPhysicalObject dynamicObjectList = 18;</code>
         */
        public Builder addDynamicObjectList(
            int index, emu.grasscutter.net.proto.BreakoutPhysicalObjectOuterClass.BreakoutPhysicalObject value) {
          if (dynamicObjectListBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            ensureDynamicObjectListIsMutable();
            dynamicObjectList_.add(index, value);
            onChanged();
          } else {
            dynamicObjectListBuilder_.addMessage(index, value);
          }
          return this;
        }
        /**
         * <code>repeated .BreakoutPhysicalObject dynamicObjectList = 18;</code>
         */
        public Builder addDynamicObjectList(
            emu.grasscutter.net.proto.BreakoutPhysicalObjectOuterClass.BreakoutPhysicalObject.Builder builderForValue) {
          if (dynamicObjectListBuilder_ == null) {
            ensureDynamicObjectListIsMutable();
            dynamicObjectList_.add(builderForValue.build());
            onChanged();
          } else {
            dynamicObjectListBuilder_.addMessage(builderForValue.build());
          }
          return this;
        }
        /**
         * <code>repeated .BreakoutPhysicalObject dynamicObjectList = 18;</code>
         */
        public Builder addDynamicObjectList(
            int index, emu.grasscutter.net.proto.BreakoutPhysicalObjectOuterClass.BreakoutPhysicalObject.Builder builderForValue) {
          if (dynamicObjectListBuilder_ == null) {
            ensureDynamicObjectListIsMutable();
            dynamicObjectList_.add(index, builderForValue.build());
            onChanged();
          } else {
            dynamicObjectListBuilder_.addMessage(index, builderForValue.build());
          }
          return this;
        }
        /**
         * <code>repeated .BreakoutPhysicalObject dynamicObjectList = 18;</code>
         */
        public Builder addAllDynamicObjectList(
            java.lang.Iterable<? extends emu.grasscutter.net.proto.BreakoutPhysicalObjectOuterClass.BreakoutPhysicalObject> values) {
          if (dynamicObjectListBuilder_ == null) {
            ensureDynamicObjectListIsMutable();
            com.google.protobuf.AbstractMessageLite.Builder.addAll(
                values, dynamicObjectList_);
            onChanged();
          } else {
            dynamicObjectListBuilder_.addAllMessages(values);
          }
          return this;
        }
        /**
         * <code>repeated .BreakoutPhysicalObject dynamicObjectList = 18;</code>
         */
        public Builder clearDynamicObjectList() {
          if (dynamicObjectListBuilder_ == null) {
            dynamicObjectList_ = java.util.Collections.emptyList();
            bitField0_ = (bitField0_ & ~0x00000080);
            onChanged();
          } else {
            dynamicObjectListBuilder_.clear();
          }
          return this;
        }
        /**
         * <code>repeated .BreakoutPhysicalObject dynamicObjectList = 18;</code>
         */
        public Builder removeDynamicObjectList(int index) {
          if (dynamicObjectListBuilder_ == null) {
            ensureDynamicObjectListIsMutable();
            dynamicObjectList_.remove(index);
            onChanged();
          } else {
            dynamicObjectListBuilder_.remove(index);
          }
          return this;
        }
        /**
         * <code>repeated .BreakoutPhysicalObject dynamicObjectList = 18;</code>
         */
        public emu.grasscutter.net.proto.BreakoutPhysicalObjectOuterClass.BreakoutPhysicalObject.Builder getDynamicObjectListBuilder(
            int index) {
          return getDynamicObjectListFieldBuilder().getBuilder(index);
        }
        /**
         * <code>repeated .BreakoutPhysicalObject dynamicObjectList = 18;</code>
         */
        public emu.grasscutter.net.proto.BreakoutPhysicalObjectOuterClass.BreakoutPhysicalObjectOrBuilder getDynamicObjectListOrBuilder(
            int index) {
          if (dynamicObjectListBuilder_ == null) {
            return dynamicObjectList_.get(index);  } else {
            return dynamicObjectListBuilder_.getMessageOrBuilder(index);
          }
        }
        /**
         * <code>repeated .BreakoutPhysicalObject dynamicObjectList = 18;</code>
         */
        public java.util.List<? extends emu.grasscutter.net.proto.BreakoutPhysicalObjectOuterClass.BreakoutPhysicalObjectOrBuilder> 
             getDynamicObjectListOrBuilderList() {
          if (dynamicObjectListBuilder_ != null) {
            return dynamicObjectListBuilder_.getMessageOrBuilderList();
          } else {
            return java.util.Collections.unmodifiableList(dynamicObjectList_);
          }
        }
        /**
         * <code>repeated .BreakoutPhysicalObject dynamicObjectList = 18;</code>
         */
        public emu.grasscutter.net.proto.BreakoutPhysicalObjectOuterClass.BreakoutPhysicalObject.Builder addDynamicObjectListBuilder() {
          return getDynamicObjectListFieldBuilder().addBuilder(
              emu.grasscutter.net.proto.BreakoutPhysicalObjectOuterClass.BreakoutPhysicalObject.getDefaultInstance());
        }
        /**
         * <code>repeated .BreakoutPhysicalObject dynamicObjectList = 18;</code>
         */
        public emu.grasscutter.net.proto.BreakoutPhysicalObjectOuterClass.BreakoutPhysicalObject.Builder addDynamicObjectListBuilder(
            int index) {
          return getDynamicObjectListFieldBuilder().addBuilder(
              index, emu.grasscutter.net.proto.BreakoutPhysicalObjectOuterClass.BreakoutPhysicalObject.getDefaultInstance());
        }
        /**
         * <code>repeated .BreakoutPhysicalObject dynamicObjectList = 18;</code>
         */
        public java.util.List<emu.grasscutter.net.proto.BreakoutPhysicalObjectOuterClass.BreakoutPhysicalObject.Builder> 
             getDynamicObjectListBuilderList() {
          return getDynamicObjectListFieldBuilder().getBuilderList();
        }
        private com.google.protobuf.RepeatedFieldBuilderV3<
            emu.grasscutter.net.proto.BreakoutPhysicalObjectOuterClass.BreakoutPhysicalObject, emu.grasscutter.net.proto.BreakoutPhysicalObjectOuterClass.BreakoutPhysicalObject.Builder, emu.grasscutter.net.proto.BreakoutPhysicalObjectOuterClass.BreakoutPhysicalObjectOrBuilder> 
            getDynamicObjectListFieldBuilder() {
          if (dynamicObjectListBuilder_ == null) {
            dynamicObjectListBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
                emu.grasscutter.net.proto.BreakoutPhysicalObjectOuterClass.BreakoutPhysicalObject, emu.grasscutter.net.proto.BreakoutPhysicalObjectOuterClass.BreakoutPhysicalObject.Builder, emu.grasscutter.net.proto.BreakoutPhysicalObjectOuterClass.BreakoutPhysicalObjectOrBuilder>(
                    dynamicObjectList_,
                    ((bitField0_ & 0x00000080) != 0),
                    getParentForChildren(),
                    isClean());
            dynamicObjectList_ = null;
          }
          return dynamicObjectListBuilder_;
        }
  
        private com.google.protobuf.Internal.IntList idIndexList_ = emptyIntList();
        private void ensureIdIndexListIsMutable() {
          if (!((bitField0_ & 0x00000100) != 0)) {
            idIndexList_ = mutableCopy(idIndexList_);
            bitField0_ |= 0x00000100;
           }
        }
        /**
         * <code>repeated uint32 idIndexList = 19;</code>
         * @return A list containing the idIndexList.
         */
        public java.util.List<java.lang.Integer>
            getIdIndexListList() {
          return ((bitField0_ & 0x00000100) != 0) ?
                   java.util.Collections.unmodifiableList(idIndexList_) : idIndexList_;
        }
        /**
         * <code>repeated uint32 idIndexList = 19;</code>
         * @return The count of idIndexList.
         */
        public int getIdIndexListCount() {
          return idIndexList_.size();
        }
        /**
         * <code>repeated uint32 idIndexList = 19;</code>
         * @param index The index of the element to return.
         * @return The idIndexList at the given index.
         */
        public int getIdIndexList(int index) {
          return idIndexList_.getInt(index);
        }
        /**
         * <code>repeated uint32 idIndexList = 19;</code>
         * @param index The index to set the value at.
         * @param value The idIndexList to set.
         * @return This builder for chaining.
         */
        public Builder setIdIndexList(
            int index, int value) {
          ensureIdIndexListIsMutable();
          idIndexList_.setInt(index, value);
          onChanged();
          return this;
        }
        /**
         * <code>repeated uint32 idIndexList = 19;</code>
         * @param value The idIndexList to add.
         * @return This builder for chaining.
         */
        public Builder addIdIndexList(int value) {
          ensureIdIndexListIsMutable();
          idIndexList_.addInt(value);
          onChanged();
          return this;
        }
        /**
         * <code>repeated uint32 idIndexList = 19;</code>
         * @param values The idIndexList to add.
         * @return This builder for chaining.
         */
        public Builder addAllIdIndexList(
            java.lang.Iterable<? extends java.lang.Integer> values) {
          ensureIdIndexListIsMutable();
          com.google.protobuf.AbstractMessageLite.Builder.addAll(
              values, idIndexList_);
          onChanged();
          return this;
        }
        /**
         * <code>repeated uint32 idIndexList = 19;</code>
         * @return This builder for chaining.
         */
        public Builder clearIdIndexList() {
          idIndexList_ = emptyIntList();
          bitField0_ = (bitField0_ & ~0x00000100);
          onChanged();
          return this;
        }
  
        private int rawClientGameTime_ ;
        /**
         * <code>int32 rawClientGameTime = 20;</code>
         * @return The rawClientGameTime.
         */
        @java.lang.Override
        public int getRawClientGameTime() {
          return rawClientGameTime_;
        }
        /**
         * <code>int32 rawClientGameTime = 20;</code>
         * @param value The rawClientGameTime to set.
         * @return This builder for chaining.
         */
        public Builder setRawClientGameTime(int value) {
          
          rawClientGameTime_ = value;
          onChanged();
          return this;
        }
        /**
         * <code>int32 rawClientGameTime = 20;</code>
         * @return This builder for chaining.
         */
        public Builder clearRawClientGameTime() {
          
          rawClientGameTime_ = 0;
          onChanged();
          return this;
        }
        @java.lang.Override
        public final Builder setUnknownFields(
            final com.google.protobuf.UnknownFieldSet unknownFields) {
          return super.setUnknownFields(unknownFields);
        }
  
        @java.lang.Override
        public final Builder mergeUnknownFields(
            final com.google.protobuf.UnknownFieldSet unknownFields) {
          return super.mergeUnknownFields(unknownFields);
        }
  
  
        // @@protoc_insertion_point(builder_scope:BreakoutSnapShot)
      }
  
      // @@protoc_insertion_point(class_scope:BreakoutSnapShot)
      private static final emu.grasscutter.net.proto.BreakoutSnapShotOuterClass.BreakoutSnapShot DEFAULT_INSTANCE;
      static {
        DEFAULT_INSTANCE = new emu.grasscutter.net.proto.BreakoutSnapShotOuterClass.BreakoutSnapShot();
      }
  
      public static emu.grasscutter.net.proto.BreakoutSnapShotOuterClass.BreakoutSnapShot getDefaultInstance() {
        return DEFAULT_INSTANCE;
      }
  
      private static final com.google.protobuf.Parser<BreakoutSnapShot>
          PARSER = new com.google.protobuf.AbstractParser<BreakoutSnapShot>() {
        @java.lang.Override
        public BreakoutSnapShot parsePartialFrom(
            com.google.protobuf.CodedInputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws com.google.protobuf.InvalidProtocolBufferException {
          return new BreakoutSnapShot(input, extensionRegistry);
        }
      };
  
      public static com.google.protobuf.Parser<BreakoutSnapShot> parser() {
        return PARSER;
      }
  
      @java.lang.Override
      public com.google.protobuf.Parser<BreakoutSnapShot> getParserForType() {
        return PARSER;
      }
  
      @java.lang.Override
      public emu.grasscutter.net.proto.BreakoutSnapShotOuterClass.BreakoutSnapShot getDefaultInstanceForType() {
        return DEFAULT_INSTANCE;
      }
  
    }
  
    private static final com.google.protobuf.Descriptors.Descriptor
      internal_static_BreakoutSnapShot_descriptor;
    private static final 
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internal_static_BreakoutSnapShot_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\026BreakoutSnapShot.proto\032\034BreakoutPhysic" +
        "alObject.proto\032\024BreakoutAction.proto\032\030Br" +
        "eakoutSpawnPoint.proto\032$BreakoutElementR" +
        "eactionCounter.proto\032 BreakoutSyncConnec" +
        "tUidInfo.proto\"\250\005\n\020BreakoutSnapShot\022\026\n\016c" +
        "lientGameTime\030\001 \001(\004\022\026\n\016serverGameTime\030\002 " +
        "\001(\004\022)\n\010ballList\030\003 \003(\0132\027.BreakoutPhysical" +
        "Object\0223\n\022physicalObjectList\030\004 \003(\0132\027.Bre" +
        "akoutPhysicalObject\022#\n\nactionList\030\005 \003(\0132" +
        "\017.BreakoutAction\022\021\n\twaveIndex\030\006 \001(\r\022\020\n\010i" +
        "sFinish\030\007 \001(\010\022\r\n\005score\030\010 \001(\r\022\r\n\005combo\030\t " +
        "\001(\r\022\020\n\010maxCombo\030\n \001(\r\022\021\n\tlifeCount\030\013 \001(\r" +
        "\022\026\n\016waveSuiteIndex\030\014 \001(\r\022+\n\016spawnPointLi" +
        "st\030\r \003(\0132\023.BreakoutSpawnPoint\022\027\n\017remaini" +
        "ngBossHp\030\016 \001(\r\022A\n\030brickElementReactionLi" +
        "st\030\017 \003(\0132\037.BreakoutElementReactionCounte" +
        "r\022@\n\027ballElementReactionList\030\020 \003(\0132\037.Bre" +
        "akoutElementReactionCounter\0220\n\013uidInfoLi" +
        "st\030\021 \003(\0132\033.BreakoutSyncConnectUidInfo\0222\n" +
        "\021dynamicObjectList\030\022 \003(\0132\027.BreakoutPhysi" +
        "calObject\022\023\n\013idIndexList\030\023 \003(\r\022\031\n\021rawCli" +
        "entGameTime\030\024 \001(\005B\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.BreakoutPhysicalObjectOuterClass.getDescriptor(),
            emu.grasscutter.net.proto.BreakoutActionOuterClass.getDescriptor(),
            emu.grasscutter.net.proto.BreakoutSpawnPointOuterClass.getDescriptor(),
            emu.grasscutter.net.proto.BreakoutElementReactionCounterOuterClass.getDescriptor(),
            emu.grasscutter.net.proto.BreakoutSyncConnectUidInfoOuterClass.getDescriptor(),
          });
      internal_static_BreakoutSnapShot_descriptor =
        getDescriptor().getMessageTypes().get(0);
      internal_static_BreakoutSnapShot_fieldAccessorTable = new
        com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
          internal_static_BreakoutSnapShot_descriptor,
          new java.lang.String[] { "ClientGameTime", "ServerGameTime", "BallList", "PhysicalObjectList", "ActionList", "WaveIndex", "IsFinish", "Score", "Combo", "MaxCombo", "LifeCount", "WaveSuiteIndex", "SpawnPointList", "RemainingBossHp", "BrickElementReactionList", "BallElementReactionList", "UidInfoList", "DynamicObjectList", "IdIndexList", "RawClientGameTime", });
      emu.grasscutter.net.proto.BreakoutPhysicalObjectOuterClass.getDescriptor();
      emu.grasscutter.net.proto.BreakoutActionOuterClass.getDescriptor();
      emu.grasscutter.net.proto.BreakoutSpawnPointOuterClass.getDescriptor();
      emu.grasscutter.net.proto.BreakoutElementReactionCounterOuterClass.getDescriptor();
      emu.grasscutter.net.proto.BreakoutSyncConnectUidInfoOuterClass.getDescriptor();
    }
  
    // @@protoc_insertion_point(outer_class_scope)
  }
  