content: // Generated by the protocol buffer compiler.  DO NOT EDIT!
  // source: FungusFighterInfo.proto
  
  package emu.grasscutter.net.proto;
  
  public final class FungusFighterInfoOuterClass {
    private FungusFighterInfoOuterClass() {}
    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 FungusFighterInfoOrBuilder extends
        // @@protoc_insertion_point(interface_extends:FungusFighterInfo)
        com.google.protobuf.MessageOrBuilder {
  
      /**
       * <code>repeated .FungusDetail fungusDetailList = 3;</code>
       */
      java.util.List<emu.grasscutter.net.proto.FungusDetailOuterClass.FungusDetail> 
          getFungusDetailListList();
      /**
       * <code>repeated .FungusDetail fungusDetailList = 3;</code>
       */
      emu.grasscutter.net.proto.FungusDetailOuterClass.FungusDetail getFungusDetailList(int index);
      /**
       * <code>repeated .FungusDetail fungusDetailList = 3;</code>
       */
      int getFungusDetailListCount();
      /**
       * <code>repeated .FungusDetail fungusDetailList = 3;</code>
       */
      java.util.List<? extends emu.grasscutter.net.proto.FungusDetailOuterClass.FungusDetailOrBuilder> 
          getFungusDetailListOrBuilderList();
      /**
       * <code>repeated .FungusDetail fungusDetailList = 3;</code>
       */
      emu.grasscutter.net.proto.FungusDetailOuterClass.FungusDetailOrBuilder getFungusDetailListOrBuilder(
          int index);
  
      /**
       * <code>repeated uint32 Unk3300_GIHAKKAJHDH = 9;</code>
       * @return A list containing the unk3300GIHAKKAJHDH.
       */
      java.util.List<java.lang.Integer> getUnk3300GIHAKKAJHDHList();
      /**
       * <code>repeated uint32 Unk3300_GIHAKKAJHDH = 9;</code>
       * @return The count of unk3300GIHAKKAJHDH.
       */
      int getUnk3300GIHAKKAJHDHCount();
      /**
       * <code>repeated uint32 Unk3300_GIHAKKAJHDH = 9;</code>
       * @param index The index of the element to return.
       * @return The unk3300GIHAKKAJHDH at the given index.
       */
      int getUnk3300GIHAKKAJHDH(int index);
  
      /**
       * <code>repeated .FungusTrainingProgressDetail trainingDungeonProgressDetailList = 4;</code>
       */
      java.util.List<emu.grasscutter.net.proto.FungusTrainingProgressDetailOuterClass.FungusTrainingProgressDetail> 
          getTrainingDungeonProgressDetailListList();
      /**
       * <code>repeated .FungusTrainingProgressDetail trainingDungeonProgressDetailList = 4;</code>
       */
      emu.grasscutter.net.proto.FungusTrainingProgressDetailOuterClass.FungusTrainingProgressDetail getTrainingDungeonProgressDetailList(int index);
      /**
       * <code>repeated .FungusTrainingProgressDetail trainingDungeonProgressDetailList = 4;</code>
       */
      int getTrainingDungeonProgressDetailListCount();
      /**
       * <code>repeated .FungusTrainingProgressDetail trainingDungeonProgressDetailList = 4;</code>
       */
      java.util.List<? extends emu.grasscutter.net.proto.FungusTrainingProgressDetailOuterClass.FungusTrainingProgressDetailOrBuilder> 
          getTrainingDungeonProgressDetailListOrBuilderList();
      /**
       * <code>repeated .FungusTrainingProgressDetail trainingDungeonProgressDetailList = 4;</code>
       */
      emu.grasscutter.net.proto.FungusTrainingProgressDetailOuterClass.FungusTrainingProgressDetailOrBuilder getTrainingDungeonProgressDetailListOrBuilder(
          int index);
  
      /**
       * <code>repeated uint32 Unk3300_HPDOJOBPFMJ = 2;</code>
       * @return A list containing the unk3300HPDOJOBPFMJ.
       */
      java.util.List<java.lang.Integer> getUnk3300HPDOJOBPFMJList();
      /**
       * <code>repeated uint32 Unk3300_HPDOJOBPFMJ = 2;</code>
       * @return The count of unk3300HPDOJOBPFMJ.
       */
      int getUnk3300HPDOJOBPFMJCount();
      /**
       * <code>repeated uint32 Unk3300_HPDOJOBPFMJ = 2;</code>
       * @param index The index of the element to return.
       * @return The unk3300HPDOJOBPFMJ at the given index.
       */
      int getUnk3300HPDOJOBPFMJ(int index);
  
      /**
       * <code>repeated uint32 Unk3300_KGKFJJHFHAB = 13;</code>
       * @return A list containing the unk3300KGKFJJHFHAB.
       */
      java.util.List<java.lang.Integer> getUnk3300KGKFJJHFHABList();
      /**
       * <code>repeated uint32 Unk3300_KGKFJJHFHAB = 13;</code>
       * @return The count of unk3300KGKFJJHFHAB.
       */
      int getUnk3300KGKFJJHFHABCount();
      /**
       * <code>repeated uint32 Unk3300_KGKFJJHFHAB = 13;</code>
       * @param index The index of the element to return.
       * @return The unk3300KGKFJJHFHAB at the given index.
       */
      int getUnk3300KGKFJJHFHAB(int index);
  
      /**
       * <code>repeated .FungusPlotStageDetail plotStageDetailList = 6;</code>
       */
      java.util.List<emu.grasscutter.net.proto.FungusPlotStageDetailOuterClass.FungusPlotStageDetail> 
          getPlotStageDetailListList();
      /**
       * <code>repeated .FungusPlotStageDetail plotStageDetailList = 6;</code>
       */
      emu.grasscutter.net.proto.FungusPlotStageDetailOuterClass.FungusPlotStageDetail getPlotStageDetailList(int index);
      /**
       * <code>repeated .FungusPlotStageDetail plotStageDetailList = 6;</code>
       */
      int getPlotStageDetailListCount();
      /**
       * <code>repeated .FungusPlotStageDetail plotStageDetailList = 6;</code>
       */
      java.util.List<? extends emu.grasscutter.net.proto.FungusPlotStageDetailOuterClass.FungusPlotStageDetailOrBuilder> 
          getPlotStageDetailListOrBuilderList();
      /**
       * <code>repeated .FungusPlotStageDetail plotStageDetailList = 6;</code>
       */
      emu.grasscutter.net.proto.FungusPlotStageDetailOuterClass.FungusPlotStageDetailOrBuilder getPlotStageDetailListOrBuilder(
          int index);
  
      /**
       * <code>repeated .FungusTrainingDungeonDetail trainingDungeonDetailList = 12;</code>
       */
      java.util.List<emu.grasscutter.net.proto.FungusTrainingDungeonDetailOuterClass.FungusTrainingDungeonDetail> 
          getTrainingDungeonDetailListList();
      /**
       * <code>repeated .FungusTrainingDungeonDetail trainingDungeonDetailList = 12;</code>
       */
      emu.grasscutter.net.proto.FungusTrainingDungeonDetailOuterClass.FungusTrainingDungeonDetail getTrainingDungeonDetailList(int index);
      /**
       * <code>repeated .FungusTrainingDungeonDetail trainingDungeonDetailList = 12;</code>
       */
      int getTrainingDungeonDetailListCount();
      /**
       * <code>repeated .FungusTrainingDungeonDetail trainingDungeonDetailList = 12;</code>
       */
      java.util.List<? extends emu.grasscutter.net.proto.FungusTrainingDungeonDetailOuterClass.FungusTrainingDungeonDetailOrBuilder> 
          getTrainingDungeonDetailListOrBuilderList();
      /**
       * <code>repeated .FungusTrainingDungeonDetail trainingDungeonDetailList = 12;</code>
       */
      emu.grasscutter.net.proto.FungusTrainingDungeonDetailOuterClass.FungusTrainingDungeonDetailOrBuilder getTrainingDungeonDetailListOrBuilder(
          int index);
    }
    /**
     * Protobuf type {@code FungusFighterInfo}
     */
    public static final class FungusFighterInfo extends
        com.google.protobuf.GeneratedMessageV3 implements
        // @@protoc_insertion_point(message_implements:FungusFighterInfo)
        FungusFighterInfoOrBuilder {
    private static final long serialVersionUID = 0L;
      // Use FungusFighterInfo.newBuilder() to construct.
      private FungusFighterInfo(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
        super(builder);
      }
      private FungusFighterInfo() {
        fungusDetailList_ = java.util.Collections.emptyList();
        unk3300GIHAKKAJHDH_ = emptyIntList();
        trainingDungeonProgressDetailList_ = java.util.Collections.emptyList();
        unk3300HPDOJOBPFMJ_ = emptyIntList();
        unk3300KGKFJJHFHAB_ = emptyIntList();
        plotStageDetailList_ = java.util.Collections.emptyList();
        trainingDungeonDetailList_ = java.util.Collections.emptyList();
      }
  
      @java.lang.Override
      @SuppressWarnings({"unused"})
      protected java.lang.Object newInstance(
          UnusedPrivateParameter unused) {
        return new FungusFighterInfo();
      }
  
      @java.lang.Override
      public final com.google.protobuf.UnknownFieldSet
      getUnknownFields() {
        return this.unknownFields;
      }
      private FungusFighterInfo(
          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 16: {
                if (!((mutable_bitField0_ & 0x00000008) != 0)) {
                  unk3300HPDOJOBPFMJ_ = newIntList();
                  mutable_bitField0_ |= 0x00000008;
                }
                unk3300HPDOJOBPFMJ_.addInt(input.readUInt32());
                break;
              }
              case 18: {
                int length = input.readRawVarint32();
                int limit = input.pushLimit(length);
                if (!((mutable_bitField0_ & 0x00000008) != 0) && input.getBytesUntilLimit() > 0) {
                  unk3300HPDOJOBPFMJ_ = newIntList();
                  mutable_bitField0_ |= 0x00000008;
                }
                while (input.getBytesUntilLimit() > 0) {
                  unk3300HPDOJOBPFMJ_.addInt(input.readUInt32());
                }
                input.popLimit(limit);
                break;
              }
              case 26: {
                if (!((mutable_bitField0_ & 0x00000001) != 0)) {
                  fungusDetailList_ = new java.util.ArrayList<emu.grasscutter.net.proto.FungusDetailOuterClass.FungusDetail>();
                  mutable_bitField0_ |= 0x00000001;
                }
                fungusDetailList_.add(
                    input.readMessage(emu.grasscutter.net.proto.FungusDetailOuterClass.FungusDetail.parser(), extensionRegistry));
                break;
              }
              case 34: {
                if (!((mutable_bitField0_ & 0x00000004) != 0)) {
                  trainingDungeonProgressDetailList_ = new java.util.ArrayList<emu.grasscutter.net.proto.FungusTrainingProgressDetailOuterClass.FungusTrainingProgressDetail>();
                  mutable_bitField0_ |= 0x00000004;
                }
                trainingDungeonProgressDetailList_.add(
                    input.readMessage(emu.grasscutter.net.proto.FungusTrainingProgressDetailOuterClass.FungusTrainingProgressDetail.parser(), extensionRegistry));
                break;
              }
              case 50: {
                if (!((mutable_bitField0_ & 0x00000020) != 0)) {
                  plotStageDetailList_ = new java.util.ArrayList<emu.grasscutter.net.proto.FungusPlotStageDetailOuterClass.FungusPlotStageDetail>();
                  mutable_bitField0_ |= 0x00000020;
                }
                plotStageDetailList_.add(
                    input.readMessage(emu.grasscutter.net.proto.FungusPlotStageDetailOuterClass.FungusPlotStageDetail.parser(), extensionRegistry));
                break;
              }
              case 72: {
                if (!((mutable_bitField0_ & 0x00000002) != 0)) {
                  unk3300GIHAKKAJHDH_ = newIntList();
                  mutable_bitField0_ |= 0x00000002;
                }
                unk3300GIHAKKAJHDH_.addInt(input.readUInt32());
                break;
              }
              case 74: {
                int length = input.readRawVarint32();
                int limit = input.pushLimit(length);
                if (!((mutable_bitField0_ & 0x00000002) != 0) && input.getBytesUntilLimit() > 0) {
                  unk3300GIHAKKAJHDH_ = newIntList();
                  mutable_bitField0_ |= 0x00000002;
                }
                while (input.getBytesUntilLimit() > 0) {
                  unk3300GIHAKKAJHDH_.addInt(input.readUInt32());
                }
                input.popLimit(limit);
                break;
              }
              case 98: {
                if (!((mutable_bitField0_ & 0x00000040) != 0)) {
                  trainingDungeonDetailList_ = new java.util.ArrayList<emu.grasscutter.net.proto.FungusTrainingDungeonDetailOuterClass.FungusTrainingDungeonDetail>();
                  mutable_bitField0_ |= 0x00000040;
                }
                trainingDungeonDetailList_.add(
                    input.readMessage(emu.grasscutter.net.proto.FungusTrainingDungeonDetailOuterClass.FungusTrainingDungeonDetail.parser(), extensionRegistry));
                break;
              }
              case 104: {
                if (!((mutable_bitField0_ & 0x00000010) != 0)) {
                  unk3300KGKFJJHFHAB_ = newIntList();
                  mutable_bitField0_ |= 0x00000010;
                }
                unk3300KGKFJJHFHAB_.addInt(input.readUInt32());
                break;
              }
              case 106: {
                int length = input.readRawVarint32();
                int limit = input.pushLimit(length);
                if (!((mutable_bitField0_ & 0x00000010) != 0) && input.getBytesUntilLimit() > 0) {
                  unk3300KGKFJJHFHAB_ = newIntList();
                  mutable_bitField0_ |= 0x00000010;
                }
                while (input.getBytesUntilLimit() > 0) {
                  unk3300KGKFJJHFHAB_.addInt(input.readUInt32());
                }
                input.popLimit(limit);
                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_ & 0x00000008) != 0)) {
            unk3300HPDOJOBPFMJ_.makeImmutable(); // C
          }
          if (((mutable_bitField0_ & 0x00000001) != 0)) {
            fungusDetailList_ = java.util.Collections.unmodifiableList(fungusDetailList_);
          }
          if (((mutable_bitField0_ & 0x00000004) != 0)) {
            trainingDungeonProgressDetailList_ = java.util.Collections.unmodifiableList(trainingDungeonProgressDetailList_);
          }
          if (((mutable_bitField0_ & 0x00000020) != 0)) {
            plotStageDetailList_ = java.util.Collections.unmodifiableList(plotStageDetailList_);
          }
          if (((mutable_bitField0_ & 0x00000002) != 0)) {
            unk3300GIHAKKAJHDH_.makeImmutable(); // C
          }
          if (((mutable_bitField0_ & 0x00000040) != 0)) {
            trainingDungeonDetailList_ = java.util.Collections.unmodifiableList(trainingDungeonDetailList_);
          }
          if (((mutable_bitField0_ & 0x00000010) != 0)) {
            unk3300KGKFJJHFHAB_.makeImmutable(); // C
          }
          this.unknownFields = unknownFields.build();
          makeExtensionsImmutable();
        }
      }
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return emu.grasscutter.net.proto.FungusFighterInfoOuterClass.internal_static_FungusFighterInfo_descriptor;
      }
  
      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return emu.grasscutter.net.proto.FungusFighterInfoOuterClass.internal_static_FungusFighterInfo_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                emu.grasscutter.net.proto.FungusFighterInfoOuterClass.FungusFighterInfo.class, emu.grasscutter.net.proto.FungusFighterInfoOuterClass.FungusFighterInfo.Builder.class);
      }
  
      public static final int FUNGUSDETAILLIST_FIELD_NUMBER = 3;
      private java.util.List<emu.grasscutter.net.proto.FungusDetailOuterClass.FungusDetail> fungusDetailList_;
      /**
       * <code>repeated .FungusDetail fungusDetailList = 3;</code>
       */
      @java.lang.Override
      public java.util.List<emu.grasscutter.net.proto.FungusDetailOuterClass.FungusDetail> getFungusDetailListList() {
        return fungusDetailList_;
      }
      /**
       * <code>repeated .FungusDetail fungusDetailList = 3;</code>
       */
      @java.lang.Override
      public java.util.List<? extends emu.grasscutter.net.proto.FungusDetailOuterClass.FungusDetailOrBuilder> 
          getFungusDetailListOrBuilderList() {
        return fungusDetailList_;
      }
      /**
       * <code>repeated .FungusDetail fungusDetailList = 3;</code>
       */
      @java.lang.Override
      public int getFungusDetailListCount() {
        return fungusDetailList_.size();
      }
      /**
       * <code>repeated .FungusDetail fungusDetailList = 3;</code>
       */
      @java.lang.Override
      public emu.grasscutter.net.proto.FungusDetailOuterClass.FungusDetail getFungusDetailList(int index) {
        return fungusDetailList_.get(index);
      }
      /**
       * <code>repeated .FungusDetail fungusDetailList = 3;</code>
       */
      @java.lang.Override
      public emu.grasscutter.net.proto.FungusDetailOuterClass.FungusDetailOrBuilder getFungusDetailListOrBuilder(
          int index) {
        return fungusDetailList_.get(index);
      }
  
      public static final int UNK3300_GIHAKKAJHDH_FIELD_NUMBER = 9;
      private com.google.protobuf.Internal.IntList unk3300GIHAKKAJHDH_;
      /**
       * <code>repeated uint32 Unk3300_GIHAKKAJHDH = 9;</code>
       * @return A list containing the unk3300GIHAKKAJHDH.
       */
      @java.lang.Override
      public java.util.List<java.lang.Integer>
          getUnk3300GIHAKKAJHDHList() {
        return unk3300GIHAKKAJHDH_;
      }
      /**
       * <code>repeated uint32 Unk3300_GIHAKKAJHDH = 9;</code>
       * @return The count of unk3300GIHAKKAJHDH.
       */
      public int getUnk3300GIHAKKAJHDHCount() {
        return unk3300GIHAKKAJHDH_.size();
      }
      /**
       * <code>repeated uint32 Unk3300_GIHAKKAJHDH = 9;</code>
       * @param index The index of the element to return.
       * @return The unk3300GIHAKKAJHDH at the given index.
       */
      public int getUnk3300GIHAKKAJHDH(int index) {
        return unk3300GIHAKKAJHDH_.getInt(index);
      }
      private int unk3300GIHAKKAJHDHMemoizedSerializedSize = -1;
  
      public static final int TRAININGDUNGEONPROGRESSDETAILLIST_FIELD_NUMBER = 4;
      private java.util.List<emu.grasscutter.net.proto.FungusTrainingProgressDetailOuterClass.FungusTrainingProgressDetail> trainingDungeonProgressDetailList_;
      /**
       * <code>repeated .FungusTrainingProgressDetail trainingDungeonProgressDetailList = 4;</code>
       */
      @java.lang.Override
      public java.util.List<emu.grasscutter.net.proto.FungusTrainingProgressDetailOuterClass.FungusTrainingProgressDetail> getTrainingDungeonProgressDetailListList() {
        return trainingDungeonProgressDetailList_;
      }
      /**
       * <code>repeated .FungusTrainingProgressDetail trainingDungeonProgressDetailList = 4;</code>
       */
      @java.lang.Override
      public java.util.List<? extends emu.grasscutter.net.proto.FungusTrainingProgressDetailOuterClass.FungusTrainingProgressDetailOrBuilder> 
          getTrainingDungeonProgressDetailListOrBuilderList() {
        return trainingDungeonProgressDetailList_;
      }
      /**
       * <code>repeated .FungusTrainingProgressDetail trainingDungeonProgressDetailList = 4;</code>
       */
      @java.lang.Override
      public int getTrainingDungeonProgressDetailListCount() {
        return trainingDungeonProgressDetailList_.size();
      }
      /**
       * <code>repeated .FungusTrainingProgressDetail trainingDungeonProgressDetailList = 4;</code>
       */
      @java.lang.Override
      public emu.grasscutter.net.proto.FungusTrainingProgressDetailOuterClass.FungusTrainingProgressDetail getTrainingDungeonProgressDetailList(int index) {
        return trainingDungeonProgressDetailList_.get(index);
      }
      /**
       * <code>repeated .FungusTrainingProgressDetail trainingDungeonProgressDetailList = 4;</code>
       */
      @java.lang.Override
      public emu.grasscutter.net.proto.FungusTrainingProgressDetailOuterClass.FungusTrainingProgressDetailOrBuilder getTrainingDungeonProgressDetailListOrBuilder(
          int index) {
        return trainingDungeonProgressDetailList_.get(index);
      }
  
      public static final int UNK3300_HPDOJOBPFMJ_FIELD_NUMBER = 2;
      private com.google.protobuf.Internal.IntList unk3300HPDOJOBPFMJ_;
      /**
       * <code>repeated uint32 Unk3300_HPDOJOBPFMJ = 2;</code>
       * @return A list containing the unk3300HPDOJOBPFMJ.
       */
      @java.lang.Override
      public java.util.List<java.lang.Integer>
          getUnk3300HPDOJOBPFMJList() {
        return unk3300HPDOJOBPFMJ_;
      }
      /**
       * <code>repeated uint32 Unk3300_HPDOJOBPFMJ = 2;</code>
       * @return The count of unk3300HPDOJOBPFMJ.
       */
      public int getUnk3300HPDOJOBPFMJCount() {
        return unk3300HPDOJOBPFMJ_.size();
      }
      /**
       * <code>repeated uint32 Unk3300_HPDOJOBPFMJ = 2;</code>
       * @param index The index of the element to return.
       * @return The unk3300HPDOJOBPFMJ at the given index.
       */
      public int getUnk3300HPDOJOBPFMJ(int index) {
        return unk3300HPDOJOBPFMJ_.getInt(index);
      }
      private int unk3300HPDOJOBPFMJMemoizedSerializedSize = -1;
  
      public static final int UNK3300_KGKFJJHFHAB_FIELD_NUMBER = 13;
      private com.google.protobuf.Internal.IntList unk3300KGKFJJHFHAB_;
      /**
       * <code>repeated uint32 Unk3300_KGKFJJHFHAB = 13;</code>
       * @return A list containing the unk3300KGKFJJHFHAB.
       */
      @java.lang.Override
      public java.util.List<java.lang.Integer>
          getUnk3300KGKFJJHFHABList() {
        return unk3300KGKFJJHFHAB_;
      }
      /**
       * <code>repeated uint32 Unk3300_KGKFJJHFHAB = 13;</code>
       * @return The count of unk3300KGKFJJHFHAB.
       */
      public int getUnk3300KGKFJJHFHABCount() {
        return unk3300KGKFJJHFHAB_.size();
      }
      /**
       * <code>repeated uint32 Unk3300_KGKFJJHFHAB = 13;</code>
       * @param index The index of the element to return.
       * @return The unk3300KGKFJJHFHAB at the given index.
       */
      public int getUnk3300KGKFJJHFHAB(int index) {
        return unk3300KGKFJJHFHAB_.getInt(index);
      }
      private int unk3300KGKFJJHFHABMemoizedSerializedSize = -1;
  
      public static final int PLOTSTAGEDETAILLIST_FIELD_NUMBER = 6;
      private java.util.List<emu.grasscutter.net.proto.FungusPlotStageDetailOuterClass.FungusPlotStageDetail> plotStageDetailList_;
      /**
       * <code>repeated .FungusPlotStageDetail plotStageDetailList = 6;</code>
       */
      @java.lang.Override
      public java.util.List<emu.grasscutter.net.proto.FungusPlotStageDetailOuterClass.FungusPlotStageDetail> getPlotStageDetailListList() {
        return plotStageDetailList_;
      }
      /**
       * <code>repeated .FungusPlotStageDetail plotStageDetailList = 6;</code>
       */
      @java.lang.Override
      public java.util.List<? extends emu.grasscutter.net.proto.FungusPlotStageDetailOuterClass.FungusPlotStageDetailOrBuilder> 
          getPlotStageDetailListOrBuilderList() {
        return plotStageDetailList_;
      }
      /**
       * <code>repeated .FungusPlotStageDetail plotStageDetailList = 6;</code>
       */
      @java.lang.Override
      public int getPlotStageDetailListCount() {
        return plotStageDetailList_.size();
      }
      /**
       * <code>repeated .FungusPlotStageDetail plotStageDetailList = 6;</code>
       */
      @java.lang.Override
      public emu.grasscutter.net.proto.FungusPlotStageDetailOuterClass.FungusPlotStageDetail getPlotStageDetailList(int index) {
        return plotStageDetailList_.get(index);
      }
      /**
       * <code>repeated .FungusPlotStageDetail plotStageDetailList = 6;</code>
       */
      @java.lang.Override
      public emu.grasscutter.net.proto.FungusPlotStageDetailOuterClass.FungusPlotStageDetailOrBuilder getPlotStageDetailListOrBuilder(
          int index) {
        return plotStageDetailList_.get(index);
      }
  
      public static final int TRAININGDUNGEONDETAILLIST_FIELD_NUMBER = 12;
      private java.util.List<emu.grasscutter.net.proto.FungusTrainingDungeonDetailOuterClass.FungusTrainingDungeonDetail> trainingDungeonDetailList_;
      /**
       * <code>repeated .FungusTrainingDungeonDetail trainingDungeonDetailList = 12;</code>
       */
      @java.lang.Override
      public java.util.List<emu.grasscutter.net.proto.FungusTrainingDungeonDetailOuterClass.FungusTrainingDungeonDetail> getTrainingDungeonDetailListList() {
        return trainingDungeonDetailList_;
      }
      /**
       * <code>repeated .FungusTrainingDungeonDetail trainingDungeonDetailList = 12;</code>
       */
      @java.lang.Override
      public java.util.List<? extends emu.grasscutter.net.proto.FungusTrainingDungeonDetailOuterClass.FungusTrainingDungeonDetailOrBuilder> 
          getTrainingDungeonDetailListOrBuilderList() {
        return trainingDungeonDetailList_;
      }
      /**
       * <code>repeated .FungusTrainingDungeonDetail trainingDungeonDetailList = 12;</code>
       */
      @java.lang.Override
      public int getTrainingDungeonDetailListCount() {
        return trainingDungeonDetailList_.size();
      }
      /**
       * <code>repeated .FungusTrainingDungeonDetail trainingDungeonDetailList = 12;</code>
       */
      @java.lang.Override
      public emu.grasscutter.net.proto.FungusTrainingDungeonDetailOuterClass.FungusTrainingDungeonDetail getTrainingDungeonDetailList(int index) {
        return trainingDungeonDetailList_.get(index);
      }
      /**
       * <code>repeated .FungusTrainingDungeonDetail trainingDungeonDetailList = 12;</code>
       */
      @java.lang.Override
      public emu.grasscutter.net.proto.FungusTrainingDungeonDetailOuterClass.FungusTrainingDungeonDetailOrBuilder getTrainingDungeonDetailListOrBuilder(
          int index) {
        return trainingDungeonDetailList_.get(index);
      }
  
      private byte memoizedIsInitialized = -1;
      @java.lang.Override
      public final boolean isInitialized() {
        byte isInitialized = memoizedIsInitialized;
        if (isInitialized == 1) return true;
        if (isInitialized == 0) return false;
  
        memoizedIsInitialized = 1;
        return true;
      }
  
      @java.lang.Override
      public void writeTo(com.google.protobuf.CodedOutputStream output)
                          throws java.io.IOException {
        getSerializedSize();
        if (getUnk3300HPDOJOBPFMJList().size() > 0) {
          output.writeUInt32NoTag(18);
          output.writeUInt32NoTag(unk3300HPDOJOBPFMJMemoizedSerializedSize);
        }
        for (int i = 0; i < unk3300HPDOJOBPFMJ_.size(); i++) {
          output.writeUInt32NoTag(unk3300HPDOJOBPFMJ_.getInt(i));
        }
        for (int i = 0; i < fungusDetailList_.size(); i++) {
          output.writeMessage(3, fungusDetailList_.get(i));
        }
        for (int i = 0; i < trainingDungeonProgressDetailList_.size(); i++) {
          output.writeMessage(4, trainingDungeonProgressDetailList_.get(i));
        }
        for (int i = 0; i < plotStageDetailList_.size(); i++) {
          output.writeMessage(6, plotStageDetailList_.get(i));
        }
        if (getUnk3300GIHAKKAJHDHList().size() > 0) {
          output.writeUInt32NoTag(74);
          output.writeUInt32NoTag(unk3300GIHAKKAJHDHMemoizedSerializedSize);
        }
        for (int i = 0; i < unk3300GIHAKKAJHDH_.size(); i++) {
          output.writeUInt32NoTag(unk3300GIHAKKAJHDH_.getInt(i));
        }
        for (int i = 0; i < trainingDungeonDetailList_.size(); i++) {
          output.writeMessage(12, trainingDungeonDetailList_.get(i));
        }
        if (getUnk3300KGKFJJHFHABList().size() > 0) {
          output.writeUInt32NoTag(106);
          output.writeUInt32NoTag(unk3300KGKFJJHFHABMemoizedSerializedSize);
        }
        for (int i = 0; i < unk3300KGKFJJHFHAB_.size(); i++) {
          output.writeUInt32NoTag(unk3300KGKFJJHFHAB_.getInt(i));
        }
        unknownFields.writeTo(output);
      }
  
      @java.lang.Override
      public int getSerializedSize() {
        int size = memoizedSize;
        if (size != -1) return size;
  
        size = 0;
        {
          int dataSize = 0;
          for (int i = 0; i < unk3300HPDOJOBPFMJ_.size(); i++) {
            dataSize += com.google.protobuf.CodedOutputStream
              .computeUInt32SizeNoTag(unk3300HPDOJOBPFMJ_.getInt(i));
          }
          size += dataSize;
          if (!getUnk3300HPDOJOBPFMJList().isEmpty()) {
            size += 1;
            size += com.google.protobuf.CodedOutputStream
                .computeInt32SizeNoTag(dataSize);
          }
          unk3300HPDOJOBPFMJMemoizedSerializedSize = dataSize;
        }
        for (int i = 0; i < fungusDetailList_.size(); i++) {
          size += com.google.protobuf.CodedOutputStream
            .computeMessageSize(3, fungusDetailList_.get(i));
        }
        for (int i = 0; i < trainingDungeonProgressDetailList_.size(); i++) {
          size += com.google.protobuf.CodedOutputStream
            .computeMessageSize(4, trainingDungeonProgressDetailList_.get(i));
        }
        for (int i = 0; i < plotStageDetailList_.size(); i++) {
          size += com.google.protobuf.CodedOutputStream
            .computeMessageSize(6, plotStageDetailList_.get(i));
        }
        {
          int dataSize = 0;
          for (int i = 0; i < unk3300GIHAKKAJHDH_.size(); i++) {
            dataSize += com.google.protobuf.CodedOutputStream
              .computeUInt32SizeNoTag(unk3300GIHAKKAJHDH_.getInt(i));
          }
          size += dataSize;
          if (!getUnk3300GIHAKKAJHDHList().isEmpty()) {
            size += 1;
            size += com.google.protobuf.CodedOutputStream
                .computeInt32SizeNoTag(dataSize);
          }
          unk3300GIHAKKAJHDHMemoizedSerializedSize = dataSize;
        }
        for (int i = 0; i < trainingDungeonDetailList_.size(); i++) {
          size += com.google.protobuf.CodedOutputStream
            .computeMessageSize(12, trainingDungeonDetailList_.get(i));
        }
        {
          int dataSize = 0;
          for (int i = 0; i < unk3300KGKFJJHFHAB_.size(); i++) {
            dataSize += com.google.protobuf.CodedOutputStream
              .computeUInt32SizeNoTag(unk3300KGKFJJHFHAB_.getInt(i));
          }
          size += dataSize;
          if (!getUnk3300KGKFJJHFHABList().isEmpty()) {
            size += 1;
            size += com.google.protobuf.CodedOutputStream
                .computeInt32SizeNoTag(dataSize);
          }
          unk3300KGKFJJHFHABMemoizedSerializedSize = dataSize;
        }
        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.FungusFighterInfoOuterClass.FungusFighterInfo)) {
          return super.equals(obj);
        }
        emu.grasscutter.net.proto.FungusFighterInfoOuterClass.FungusFighterInfo other = (emu.grasscutter.net.proto.FungusFighterInfoOuterClass.FungusFighterInfo) obj;
  
        if (!getFungusDetailListList()
            .equals(other.getFungusDetailListList())) return false;
        if (!getUnk3300GIHAKKAJHDHList()
            .equals(other.getUnk3300GIHAKKAJHDHList())) return false;
        if (!getTrainingDungeonProgressDetailListList()
            .equals(other.getTrainingDungeonProgressDetailListList())) return false;
        if (!getUnk3300HPDOJOBPFMJList()
            .equals(other.getUnk3300HPDOJOBPFMJList())) return false;
        if (!getUnk3300KGKFJJHFHABList()
            .equals(other.getUnk3300KGKFJJHFHABList())) return false;
        if (!getPlotStageDetailListList()
            .equals(other.getPlotStageDetailListList())) return false;
        if (!getTrainingDungeonDetailListList()
            .equals(other.getTrainingDungeonDetailListList())) 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();
        if (getFungusDetailListCount() > 0) {
          hash = (37 * hash) + FUNGUSDETAILLIST_FIELD_NUMBER;
          hash = (53 * hash) + getFungusDetailListList().hashCode();
        }
        if (getUnk3300GIHAKKAJHDHCount() > 0) {
          hash = (37 * hash) + UNK3300_GIHAKKAJHDH_FIELD_NUMBER;
          hash = (53 * hash) + getUnk3300GIHAKKAJHDHList().hashCode();
        }
        if (getTrainingDungeonProgressDetailListCount() > 0) {
          hash = (37 * hash) + TRAININGDUNGEONPROGRESSDETAILLIST_FIELD_NUMBER;
          hash = (53 * hash) + getTrainingDungeonProgressDetailListList().hashCode();
        }
        if (getUnk3300HPDOJOBPFMJCount() > 0) {
          hash = (37 * hash) + UNK3300_HPDOJOBPFMJ_FIELD_NUMBER;
          hash = (53 * hash) + getUnk3300HPDOJOBPFMJList().hashCode();
        }
        if (getUnk3300KGKFJJHFHABCount() > 0) {
          hash = (37 * hash) + UNK3300_KGKFJJHFHAB_FIELD_NUMBER;
          hash = (53 * hash) + getUnk3300KGKFJJHFHABList().hashCode();
        }
        if (getPlotStageDetailListCount() > 0) {
          hash = (37 * hash) + PLOTSTAGEDETAILLIST_FIELD_NUMBER;
          hash = (53 * hash) + getPlotStageDetailListList().hashCode();
        }
        if (getTrainingDungeonDetailListCount() > 0) {
          hash = (37 * hash) + TRAININGDUNGEONDETAILLIST_FIELD_NUMBER;
          hash = (53 * hash) + getTrainingDungeonDetailListList().hashCode();
        }
        hash = (29 * hash) + unknownFields.hashCode();
        memoizedHashCode = hash;
        return hash;
      }
  
      public static emu.grasscutter.net.proto.FungusFighterInfoOuterClass.FungusFighterInfo parseFrom(
          java.nio.ByteBuffer data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static emu.grasscutter.net.proto.FungusFighterInfoOuterClass.FungusFighterInfo 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.FungusFighterInfoOuterClass.FungusFighterInfo parseFrom(
          com.google.protobuf.ByteString data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static emu.grasscutter.net.proto.FungusFighterInfoOuterClass.FungusFighterInfo 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.FungusFighterInfoOuterClass.FungusFighterInfo parseFrom(byte[] data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static emu.grasscutter.net.proto.FungusFighterInfoOuterClass.FungusFighterInfo parseFrom(
          byte[] data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static emu.grasscutter.net.proto.FungusFighterInfoOuterClass.FungusFighterInfo parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static emu.grasscutter.net.proto.FungusFighterInfoOuterClass.FungusFighterInfo 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.FungusFighterInfoOuterClass.FungusFighterInfo parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseDelimitedWithIOException(PARSER, input);
      }
      public static emu.grasscutter.net.proto.FungusFighterInfoOuterClass.FungusFighterInfo 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.FungusFighterInfoOuterClass.FungusFighterInfo parseFrom(
          com.google.protobuf.CodedInputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static emu.grasscutter.net.proto.FungusFighterInfoOuterClass.FungusFighterInfo 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.FungusFighterInfoOuterClass.FungusFighterInfo 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 FungusFighterInfo}
       */
      public static final class Builder extends
          com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
          // @@protoc_insertion_point(builder_implements:FungusFighterInfo)
          emu.grasscutter.net.proto.FungusFighterInfoOuterClass.FungusFighterInfoOrBuilder {
        public static final com.google.protobuf.Descriptors.Descriptor
            getDescriptor() {
          return emu.grasscutter.net.proto.FungusFighterInfoOuterClass.internal_static_FungusFighterInfo_descriptor;
        }
  
        @java.lang.Override
        protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return emu.grasscutter.net.proto.FungusFighterInfoOuterClass.internal_static_FungusFighterInfo_fieldAccessorTable
              .ensureFieldAccessorsInitialized(
                  emu.grasscutter.net.proto.FungusFighterInfoOuterClass.FungusFighterInfo.class, emu.grasscutter.net.proto.FungusFighterInfoOuterClass.FungusFighterInfo.Builder.class);
        }
  
        // Construct using emu.grasscutter.net.proto.FungusFighterInfoOuterClass.FungusFighterInfo.newBuilder()
        private Builder() {
          maybeForceBuilderInitialization();
        }
  
        private Builder(
            com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
          super(parent);
          maybeForceBuilderInitialization();
        }
        private void maybeForceBuilderInitialization() {
          if (com.google.protobuf.GeneratedMessageV3
                  .alwaysUseFieldBuilders) {
            getFungusDetailListFieldBuilder();
            getTrainingDungeonProgressDetailListFieldBuilder();
            getPlotStageDetailListFieldBuilder();
            getTrainingDungeonDetailListFieldBuilder();
          }
        }
        @java.lang.Override
        public Builder clear() {
          super.clear();
          if (fungusDetailListBuilder_ == null) {
            fungusDetailList_ = java.util.Collections.emptyList();
            bitField0_ = (bitField0_ & ~0x00000001);
          } else {
            fungusDetailListBuilder_.clear();
          }
          unk3300GIHAKKAJHDH_ = emptyIntList();
          bitField0_ = (bitField0_ & ~0x00000002);
          if (trainingDungeonProgressDetailListBuilder_ == null) {
            trainingDungeonProgressDetailList_ = java.util.Collections.emptyList();
            bitField0_ = (bitField0_ & ~0x00000004);
          } else {
            trainingDungeonProgressDetailListBuilder_.clear();
          }
          unk3300HPDOJOBPFMJ_ = emptyIntList();
          bitField0_ = (bitField0_ & ~0x00000008);
          unk3300KGKFJJHFHAB_ = emptyIntList();
          bitField0_ = (bitField0_ & ~0x00000010);
          if (plotStageDetailListBuilder_ == null) {
            plotStageDetailList_ = java.util.Collections.emptyList();
            bitField0_ = (bitField0_ & ~0x00000020);
          } else {
            plotStageDetailListBuilder_.clear();
          }
          if (trainingDungeonDetailListBuilder_ == null) {
            trainingDungeonDetailList_ = java.util.Collections.emptyList();
            bitField0_ = (bitField0_ & ~0x00000040);
          } else {
            trainingDungeonDetailListBuilder_.clear();
          }
          return this;
        }
  
        @java.lang.Override
        public com.google.protobuf.Descriptors.Descriptor
            getDescriptorForType() {
          return emu.grasscutter.net.proto.FungusFighterInfoOuterClass.internal_static_FungusFighterInfo_descriptor;
        }
  
        @java.lang.Override
        public emu.grasscutter.net.proto.FungusFighterInfoOuterClass.FungusFighterInfo getDefaultInstanceForType() {
          return emu.grasscutter.net.proto.FungusFighterInfoOuterClass.FungusFighterInfo.getDefaultInstance();
        }
  
        @java.lang.Override
        public emu.grasscutter.net.proto.FungusFighterInfoOuterClass.FungusFighterInfo build() {
          emu.grasscutter.net.proto.FungusFighterInfoOuterClass.FungusFighterInfo result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return result;
        }
  
        @java.lang.Override
        public emu.grasscutter.net.proto.FungusFighterInfoOuterClass.FungusFighterInfo buildPartial() {
          emu.grasscutter.net.proto.FungusFighterInfoOuterClass.FungusFighterInfo result = new emu.grasscutter.net.proto.FungusFighterInfoOuterClass.FungusFighterInfo(this);
          int from_bitField0_ = bitField0_;
          if (fungusDetailListBuilder_ == null) {
            if (((bitField0_ & 0x00000001) != 0)) {
              fungusDetailList_ = java.util.Collections.unmodifiableList(fungusDetailList_);
              bitField0_ = (bitField0_ & ~0x00000001);
            }
            result.fungusDetailList_ = fungusDetailList_;
          } else {
            result.fungusDetailList_ = fungusDetailListBuilder_.build();
          }
          if (((bitField0_ & 0x00000002) != 0)) {
            unk3300GIHAKKAJHDH_.makeImmutable();
            bitField0_ = (bitField0_ & ~0x00000002);
          }
          result.unk3300GIHAKKAJHDH_ = unk3300GIHAKKAJHDH_;
          if (trainingDungeonProgressDetailListBuilder_ == null) {
            if (((bitField0_ & 0x00000004) != 0)) {
              trainingDungeonProgressDetailList_ = java.util.Collections.unmodifiableList(trainingDungeonProgressDetailList_);
              bitField0_ = (bitField0_ & ~0x00000004);
            }
            result.trainingDungeonProgressDetailList_ = trainingDungeonProgressDetailList_;
          } else {
            result.trainingDungeonProgressDetailList_ = trainingDungeonProgressDetailListBuilder_.build();
          }
          if (((bitField0_ & 0x00000008) != 0)) {
            unk3300HPDOJOBPFMJ_.makeImmutable();
            bitField0_ = (bitField0_ & ~0x00000008);
          }
          result.unk3300HPDOJOBPFMJ_ = unk3300HPDOJOBPFMJ_;
          if (((bitField0_ & 0x00000010) != 0)) {
            unk3300KGKFJJHFHAB_.makeImmutable();
            bitField0_ = (bitField0_ & ~0x00000010);
          }
          result.unk3300KGKFJJHFHAB_ = unk3300KGKFJJHFHAB_;
          if (plotStageDetailListBuilder_ == null) {
            if (((bitField0_ & 0x00000020) != 0)) {
              plotStageDetailList_ = java.util.Collections.unmodifiableList(plotStageDetailList_);
              bitField0_ = (bitField0_ & ~0x00000020);
            }
            result.plotStageDetailList_ = plotStageDetailList_;
          } else {
            result.plotStageDetailList_ = plotStageDetailListBuilder_.build();
          }
          if (trainingDungeonDetailListBuilder_ == null) {
            if (((bitField0_ & 0x00000040) != 0)) {
              trainingDungeonDetailList_ = java.util.Collections.unmodifiableList(trainingDungeonDetailList_);
              bitField0_ = (bitField0_ & ~0x00000040);
            }
            result.trainingDungeonDetailList_ = trainingDungeonDetailList_;
          } else {
            result.trainingDungeonDetailList_ = trainingDungeonDetailListBuilder_.build();
          }
          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.FungusFighterInfoOuterClass.FungusFighterInfo) {
            return mergeFrom((emu.grasscutter.net.proto.FungusFighterInfoOuterClass.FungusFighterInfo)other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }
  
        public Builder mergeFrom(emu.grasscutter.net.proto.FungusFighterInfoOuterClass.FungusFighterInfo other) {
          if (other == emu.grasscutter.net.proto.FungusFighterInfoOuterClass.FungusFighterInfo.getDefaultInstance()) return this;
          if (fungusDetailListBuilder_ == null) {
            if (!other.fungusDetailList_.isEmpty()) {
              if (fungusDetailList_.isEmpty()) {
                fungusDetailList_ = other.fungusDetailList_;
                bitField0_ = (bitField0_ & ~0x00000001);
              } else {
                ensureFungusDetailListIsMutable();
                fungusDetailList_.addAll(other.fungusDetailList_);
              }
              onChanged();
            }
          } else {
            if (!other.fungusDetailList_.isEmpty()) {
              if (fungusDetailListBuilder_.isEmpty()) {
                fungusDetailListBuilder_.dispose();
                fungusDetailListBuilder_ = null;
                fungusDetailList_ = other.fungusDetailList_;
                bitField0_ = (bitField0_ & ~0x00000001);
                fungusDetailListBuilder_ = 
                  com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
                     getFungusDetailListFieldBuilder() : null;
              } else {
                fungusDetailListBuilder_.addAllMessages(other.fungusDetailList_);
              }
            }
          }
          if (!other.unk3300GIHAKKAJHDH_.isEmpty()) {
            if (unk3300GIHAKKAJHDH_.isEmpty()) {
              unk3300GIHAKKAJHDH_ = other.unk3300GIHAKKAJHDH_;
              bitField0_ = (bitField0_ & ~0x00000002);
            } else {
              ensureUnk3300GIHAKKAJHDHIsMutable();
              unk3300GIHAKKAJHDH_.addAll(other.unk3300GIHAKKAJHDH_);
            }
            onChanged();
          }
          if (trainingDungeonProgressDetailListBuilder_ == null) {
            if (!other.trainingDungeonProgressDetailList_.isEmpty()) {
              if (trainingDungeonProgressDetailList_.isEmpty()) {
                trainingDungeonProgressDetailList_ = other.trainingDungeonProgressDetailList_;
                bitField0_ = (bitField0_ & ~0x00000004);
              } else {
                ensureTrainingDungeonProgressDetailListIsMutable();
                trainingDungeonProgressDetailList_.addAll(other.trainingDungeonProgressDetailList_);
              }
              onChanged();
            }
          } else {
            if (!other.trainingDungeonProgressDetailList_.isEmpty()) {
              if (trainingDungeonProgressDetailListBuilder_.isEmpty()) {
                trainingDungeonProgressDetailListBuilder_.dispose();
                trainingDungeonProgressDetailListBuilder_ = null;
                trainingDungeonProgressDetailList_ = other.trainingDungeonProgressDetailList_;
                bitField0_ = (bitField0_ & ~0x00000004);
                trainingDungeonProgressDetailListBuilder_ = 
                  com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
                     getTrainingDungeonProgressDetailListFieldBuilder() : null;
              } else {
                trainingDungeonProgressDetailListBuilder_.addAllMessages(other.trainingDungeonProgressDetailList_);
              }
            }
          }
          if (!other.unk3300HPDOJOBPFMJ_.isEmpty()) {
            if (unk3300HPDOJOBPFMJ_.isEmpty()) {
              unk3300HPDOJOBPFMJ_ = other.unk3300HPDOJOBPFMJ_;
              bitField0_ = (bitField0_ & ~0x00000008);
            } else {
              ensureUnk3300HPDOJOBPFMJIsMutable();
              unk3300HPDOJOBPFMJ_.addAll(other.unk3300HPDOJOBPFMJ_);
            }
            onChanged();
          }
          if (!other.unk3300KGKFJJHFHAB_.isEmpty()) {
            if (unk3300KGKFJJHFHAB_.isEmpty()) {
              unk3300KGKFJJHFHAB_ = other.unk3300KGKFJJHFHAB_;
              bitField0_ = (bitField0_ & ~0x00000010);
            } else {
              ensureUnk3300KGKFJJHFHABIsMutable();
              unk3300KGKFJJHFHAB_.addAll(other.unk3300KGKFJJHFHAB_);
            }
            onChanged();
          }
          if (plotStageDetailListBuilder_ == null) {
            if (!other.plotStageDetailList_.isEmpty()) {
              if (plotStageDetailList_.isEmpty()) {
                plotStageDetailList_ = other.plotStageDetailList_;
                bitField0_ = (bitField0_ & ~0x00000020);
              } else {
                ensurePlotStageDetailListIsMutable();
                plotStageDetailList_.addAll(other.plotStageDetailList_);
              }
              onChanged();
            }
          } else {
            if (!other.plotStageDetailList_.isEmpty()) {
              if (plotStageDetailListBuilder_.isEmpty()) {
                plotStageDetailListBuilder_.dispose();
                plotStageDetailListBuilder_ = null;
                plotStageDetailList_ = other.plotStageDetailList_;
                bitField0_ = (bitField0_ & ~0x00000020);
                plotStageDetailListBuilder_ = 
                  com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
                     getPlotStageDetailListFieldBuilder() : null;
              } else {
                plotStageDetailListBuilder_.addAllMessages(other.plotStageDetailList_);
              }
            }
          }
          if (trainingDungeonDetailListBuilder_ == null) {
            if (!other.trainingDungeonDetailList_.isEmpty()) {
              if (trainingDungeonDetailList_.isEmpty()) {
                trainingDungeonDetailList_ = other.trainingDungeonDetailList_;
                bitField0_ = (bitField0_ & ~0x00000040);
              } else {
                ensureTrainingDungeonDetailListIsMutable();
                trainingDungeonDetailList_.addAll(other.trainingDungeonDetailList_);
              }
              onChanged();
            }
          } else {
            if (!other.trainingDungeonDetailList_.isEmpty()) {
              if (trainingDungeonDetailListBuilder_.isEmpty()) {
                trainingDungeonDetailListBuilder_.dispose();
                trainingDungeonDetailListBuilder_ = null;
                trainingDungeonDetailList_ = other.trainingDungeonDetailList_;
                bitField0_ = (bitField0_ & ~0x00000040);
                trainingDungeonDetailListBuilder_ = 
                  com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
                     getTrainingDungeonDetailListFieldBuilder() : null;
              } else {
                trainingDungeonDetailListBuilder_.addAllMessages(other.trainingDungeonDetailList_);
              }
            }
          }
          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.FungusFighterInfoOuterClass.FungusFighterInfo parsedMessage = null;
          try {
            parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
            parsedMessage = (emu.grasscutter.net.proto.FungusFighterInfoOuterClass.FungusFighterInfo) e.getUnfinishedMessage();
            throw e.unwrapIOException();
          } finally {
            if (parsedMessage != null) {
              mergeFrom(parsedMessage);
            }
          }
          return this;
        }
        private int bitField0_;
  
        private java.util.List<emu.grasscutter.net.proto.FungusDetailOuterClass.FungusDetail> fungusDetailList_ =
          java.util.Collections.emptyList();
        private void ensureFungusDetailListIsMutable() {
          if (!((bitField0_ & 0x00000001) != 0)) {
            fungusDetailList_ = new java.util.ArrayList<emu.grasscutter.net.proto.FungusDetailOuterClass.FungusDetail>(fungusDetailList_);
            bitField0_ |= 0x00000001;
           }
        }
  
        private com.google.protobuf.RepeatedFieldBuilderV3<
            emu.grasscutter.net.proto.FungusDetailOuterClass.FungusDetail, emu.grasscutter.net.proto.FungusDetailOuterClass.FungusDetail.Builder, emu.grasscutter.net.proto.FungusDetailOuterClass.FungusDetailOrBuilder> fungusDetailListBuilder_;
  
        /**
         * <code>repeated .FungusDetail fungusDetailList = 3;</code>
         */
        public java.util.List<emu.grasscutter.net.proto.FungusDetailOuterClass.FungusDetail> getFungusDetailListList() {
          if (fungusDetailListBuilder_ == null) {
            return java.util.Collections.unmodifiableList(fungusDetailList_);
          } else {
            return fungusDetailListBuilder_.getMessageList();
          }
        }
        /**
         * <code>repeated .FungusDetail fungusDetailList = 3;</code>
         */
        public int getFungusDetailListCount() {
          if (fungusDetailListBuilder_ == null) {
            return fungusDetailList_.size();
          } else {
            return fungusDetailListBuilder_.getCount();
          }
        }
        /**
         * <code>repeated .FungusDetail fungusDetailList = 3;</code>
         */
        public emu.grasscutter.net.proto.FungusDetailOuterClass.FungusDetail getFungusDetailList(int index) {
          if (fungusDetailListBuilder_ == null) {
            return fungusDetailList_.get(index);
          } else {
            return fungusDetailListBuilder_.getMessage(index);
          }
        }
        /**
         * <code>repeated .FungusDetail fungusDetailList = 3;</code>
         */
        public Builder setFungusDetailList(
            int index, emu.grasscutter.net.proto.FungusDetailOuterClass.FungusDetail value) {
          if (fungusDetailListBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            ensureFungusDetailListIsMutable();
            fungusDetailList_.set(index, value);
            onChanged();
          } else {
            fungusDetailListBuilder_.setMessage(index, value);
          }
          return this;
        }
        /**
         * <code>repeated .FungusDetail fungusDetailList = 3;</code>
         */
        public Builder setFungusDetailList(
            int index, emu.grasscutter.net.proto.FungusDetailOuterClass.FungusDetail.Builder builderForValue) {
          if (fungusDetailListBuilder_ == null) {
            ensureFungusDetailListIsMutable();
            fungusDetailList_.set(index, builderForValue.build());
            onChanged();
          } else {
            fungusDetailListBuilder_.setMessage(index, builderForValue.build());
          }
          return this;
        }
        /**
         * <code>repeated .FungusDetail fungusDetailList = 3;</code>
         */
        public Builder addFungusDetailList(emu.grasscutter.net.proto.FungusDetailOuterClass.FungusDetail value) {
          if (fungusDetailListBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            ensureFungusDetailListIsMutable();
            fungusDetailList_.add(value);
            onChanged();
          } else {
            fungusDetailListBuilder_.addMessage(value);
          }
          return this;
        }
        /**
         * <code>repeated .FungusDetail fungusDetailList = 3;</code>
         */
        public Builder addFungusDetailList(
            int index, emu.grasscutter.net.proto.FungusDetailOuterClass.FungusDetail value) {
          if (fungusDetailListBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            ensureFungusDetailListIsMutable();
            fungusDetailList_.add(index, value);
            onChanged();
          } else {
            fungusDetailListBuilder_.addMessage(index, value);
          }
          return this;
        }
        /**
         * <code>repeated .FungusDetail fungusDetailList = 3;</code>
         */
        public Builder addFungusDetailList(
            emu.grasscutter.net.proto.FungusDetailOuterClass.FungusDetail.Builder builderForValue) {
          if (fungusDetailListBuilder_ == null) {
            ensureFungusDetailListIsMutable();
            fungusDetailList_.add(builderForValue.build());
            onChanged();
          } else {
            fungusDetailListBuilder_.addMessage(builderForValue.build());
          }
          return this;
        }
        /**
         * <code>repeated .FungusDetail fungusDetailList = 3;</code>
         */
        public Builder addFungusDetailList(
            int index, emu.grasscutter.net.proto.FungusDetailOuterClass.FungusDetail.Builder builderForValue) {
          if (fungusDetailListBuilder_ == null) {
            ensureFungusDetailListIsMutable();
            fungusDetailList_.add(index, builderForValue.build());
            onChanged();
          } else {
            fungusDetailListBuilder_.addMessage(index, builderForValue.build());
          }
          return this;
        }
        /**
         * <code>repeated .FungusDetail fungusDetailList = 3;</code>
         */
        public Builder addAllFungusDetailList(
            java.lang.Iterable<? extends emu.grasscutter.net.proto.FungusDetailOuterClass.FungusDetail> values) {
          if (fungusDetailListBuilder_ == null) {
            ensureFungusDetailListIsMutable();
            com.google.protobuf.AbstractMessageLite.Builder.addAll(
                values, fungusDetailList_);
            onChanged();
          } else {
            fungusDetailListBuilder_.addAllMessages(values);
          }
          return this;
        }
        /**
         * <code>repeated .FungusDetail fungusDetailList = 3;</code>
         */
        public Builder clearFungusDetailList() {
          if (fungusDetailListBuilder_ == null) {
            fungusDetailList_ = java.util.Collections.emptyList();
            bitField0_ = (bitField0_ & ~0x00000001);
            onChanged();
          } else {
            fungusDetailListBuilder_.clear();
          }
          return this;
        }
        /**
         * <code>repeated .FungusDetail fungusDetailList = 3;</code>
         */
        public Builder removeFungusDetailList(int index) {
          if (fungusDetailListBuilder_ == null) {
            ensureFungusDetailListIsMutable();
            fungusDetailList_.remove(index);
            onChanged();
          } else {
            fungusDetailListBuilder_.remove(index);
          }
          return this;
        }
        /**
         * <code>repeated .FungusDetail fungusDetailList = 3;</code>
         */
        public emu.grasscutter.net.proto.FungusDetailOuterClass.FungusDetail.Builder getFungusDetailListBuilder(
            int index) {
          return getFungusDetailListFieldBuilder().getBuilder(index);
        }
        /**
         * <code>repeated .FungusDetail fungusDetailList = 3;</code>
         */
        public emu.grasscutter.net.proto.FungusDetailOuterClass.FungusDetailOrBuilder getFungusDetailListOrBuilder(
            int index) {
          if (fungusDetailListBuilder_ == null) {
            return fungusDetailList_.get(index);  } else {
            return fungusDetailListBuilder_.getMessageOrBuilder(index);
          }
        }
        /**
         * <code>repeated .FungusDetail fungusDetailList = 3;</code>
         */
        public java.util.List<? extends emu.grasscutter.net.proto.FungusDetailOuterClass.FungusDetailOrBuilder> 
             getFungusDetailListOrBuilderList() {
          if (fungusDetailListBuilder_ != null) {
            return fungusDetailListBuilder_.getMessageOrBuilderList();
          } else {
            return java.util.Collections.unmodifiableList(fungusDetailList_);
          }
        }
        /**
         * <code>repeated .FungusDetail fungusDetailList = 3;</code>
         */
        public emu.grasscutter.net.proto.FungusDetailOuterClass.FungusDetail.Builder addFungusDetailListBuilder() {
          return getFungusDetailListFieldBuilder().addBuilder(
              emu.grasscutter.net.proto.FungusDetailOuterClass.FungusDetail.getDefaultInstance());
        }
        /**
         * <code>repeated .FungusDetail fungusDetailList = 3;</code>
         */
        public emu.grasscutter.net.proto.FungusDetailOuterClass.FungusDetail.Builder addFungusDetailListBuilder(
            int index) {
          return getFungusDetailListFieldBuilder().addBuilder(
              index, emu.grasscutter.net.proto.FungusDetailOuterClass.FungusDetail.getDefaultInstance());
        }
        /**
         * <code>repeated .FungusDetail fungusDetailList = 3;</code>
         */
        public java.util.List<emu.grasscutter.net.proto.FungusDetailOuterClass.FungusDetail.Builder> 
             getFungusDetailListBuilderList() {
          return getFungusDetailListFieldBuilder().getBuilderList();
        }
        private com.google.protobuf.RepeatedFieldBuilderV3<
            emu.grasscutter.net.proto.FungusDetailOuterClass.FungusDetail, emu.grasscutter.net.proto.FungusDetailOuterClass.FungusDetail.Builder, emu.grasscutter.net.proto.FungusDetailOuterClass.FungusDetailOrBuilder> 
            getFungusDetailListFieldBuilder() {
          if (fungusDetailListBuilder_ == null) {
            fungusDetailListBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
                emu.grasscutter.net.proto.FungusDetailOuterClass.FungusDetail, emu.grasscutter.net.proto.FungusDetailOuterClass.FungusDetail.Builder, emu.grasscutter.net.proto.FungusDetailOuterClass.FungusDetailOrBuilder>(
                    fungusDetailList_,
                    ((bitField0_ & 0x00000001) != 0),
                    getParentForChildren(),
                    isClean());
            fungusDetailList_ = null;
          }
          return fungusDetailListBuilder_;
        }
  
        private com.google.protobuf.Internal.IntList unk3300GIHAKKAJHDH_ = emptyIntList();
        private void ensureUnk3300GIHAKKAJHDHIsMutable() {
          if (!((bitField0_ & 0x00000002) != 0)) {
            unk3300GIHAKKAJHDH_ = mutableCopy(unk3300GIHAKKAJHDH_);
            bitField0_ |= 0x00000002;
           }
        }
        /**
         * <code>repeated uint32 Unk3300_GIHAKKAJHDH = 9;</code>
         * @return A list containing the unk3300GIHAKKAJHDH.
         */
        public java.util.List<java.lang.Integer>
            getUnk3300GIHAKKAJHDHList() {
          return ((bitField0_ & 0x00000002) != 0) ?
                   java.util.Collections.unmodifiableList(unk3300GIHAKKAJHDH_) : unk3300GIHAKKAJHDH_;
        }
        /**
         * <code>repeated uint32 Unk3300_GIHAKKAJHDH = 9;</code>
         * @return The count of unk3300GIHAKKAJHDH.
         */
        public int getUnk3300GIHAKKAJHDHCount() {
          return unk3300GIHAKKAJHDH_.size();
        }
        /**
         * <code>repeated uint32 Unk3300_GIHAKKAJHDH = 9;</code>
         * @param index The index of the element to return.
         * @return The unk3300GIHAKKAJHDH at the given index.
         */
        public int getUnk3300GIHAKKAJHDH(int index) {
          return unk3300GIHAKKAJHDH_.getInt(index);
        }
        /**
         * <code>repeated uint32 Unk3300_GIHAKKAJHDH = 9;</code>
         * @param index The index to set the value at.
         * @param value The unk3300GIHAKKAJHDH to set.
         * @return This builder for chaining.
         */
        public Builder setUnk3300GIHAKKAJHDH(
            int index, int value) {
          ensureUnk3300GIHAKKAJHDHIsMutable();
          unk3300GIHAKKAJHDH_.setInt(index, value);
          onChanged();
          return this;
        }
        /**
         * <code>repeated uint32 Unk3300_GIHAKKAJHDH = 9;</code>
         * @param value The unk3300GIHAKKAJHDH to add.
         * @return This builder for chaining.
         */
        public Builder addUnk3300GIHAKKAJHDH(int value) {
          ensureUnk3300GIHAKKAJHDHIsMutable();
          unk3300GIHAKKAJHDH_.addInt(value);
          onChanged();
          return this;
        }
        /**
         * <code>repeated uint32 Unk3300_GIHAKKAJHDH = 9;</code>
         * @param values The unk3300GIHAKKAJHDH to add.
         * @return This builder for chaining.
         */
        public Builder addAllUnk3300GIHAKKAJHDH(
            java.lang.Iterable<? extends java.lang.Integer> values) {
          ensureUnk3300GIHAKKAJHDHIsMutable();
          com.google.protobuf.AbstractMessageLite.Builder.addAll(
              values, unk3300GIHAKKAJHDH_);
          onChanged();
          return this;
        }
        /**
         * <code>repeated uint32 Unk3300_GIHAKKAJHDH = 9;</code>
         * @return This builder for chaining.
         */
        public Builder clearUnk3300GIHAKKAJHDH() {
          unk3300GIHAKKAJHDH_ = emptyIntList();
          bitField0_ = (bitField0_ & ~0x00000002);
          onChanged();
          return this;
        }
  
        private java.util.List<emu.grasscutter.net.proto.FungusTrainingProgressDetailOuterClass.FungusTrainingProgressDetail> trainingDungeonProgressDetailList_ =
          java.util.Collections.emptyList();
        private void ensureTrainingDungeonProgressDetailListIsMutable() {
          if (!((bitField0_ & 0x00000004) != 0)) {
            trainingDungeonProgressDetailList_ = new java.util.ArrayList<emu.grasscutter.net.proto.FungusTrainingProgressDetailOuterClass.FungusTrainingProgressDetail>(trainingDungeonProgressDetailList_);
            bitField0_ |= 0x00000004;
           }
        }
  
        private com.google.protobuf.RepeatedFieldBuilderV3<
            emu.grasscutter.net.proto.FungusTrainingProgressDetailOuterClass.FungusTrainingProgressDetail, emu.grasscutter.net.proto.FungusTrainingProgressDetailOuterClass.FungusTrainingProgressDetail.Builder, emu.grasscutter.net.proto.FungusTrainingProgressDetailOuterClass.FungusTrainingProgressDetailOrBuilder> trainingDungeonProgressDetailListBuilder_;
  
        /**
         * <code>repeated .FungusTrainingProgressDetail trainingDungeonProgressDetailList = 4;</code>
         */
        public java.util.List<emu.grasscutter.net.proto.FungusTrainingProgressDetailOuterClass.FungusTrainingProgressDetail> getTrainingDungeonProgressDetailListList() {
          if (trainingDungeonProgressDetailListBuilder_ == null) {
            return java.util.Collections.unmodifiableList(trainingDungeonProgressDetailList_);
          } else {
            return trainingDungeonProgressDetailListBuilder_.getMessageList();
          }
        }
        /**
         * <code>repeated .FungusTrainingProgressDetail trainingDungeonProgressDetailList = 4;</code>
         */
        public int getTrainingDungeonProgressDetailListCount() {
          if (trainingDungeonProgressDetailListBuilder_ == null) {
            return trainingDungeonProgressDetailList_.size();
          } else {
            return trainingDungeonProgressDetailListBuilder_.getCount();
          }
        }
        /**
         * <code>repeated .FungusTrainingProgressDetail trainingDungeonProgressDetailList = 4;</code>
         */
        public emu.grasscutter.net.proto.FungusTrainingProgressDetailOuterClass.FungusTrainingProgressDetail getTrainingDungeonProgressDetailList(int index) {
          if (trainingDungeonProgressDetailListBuilder_ == null) {
            return trainingDungeonProgressDetailList_.get(index);
          } else {
            return trainingDungeonProgressDetailListBuilder_.getMessage(index);
          }
        }
        /**
         * <code>repeated .FungusTrainingProgressDetail trainingDungeonProgressDetailList = 4;</code>
         */
        public Builder setTrainingDungeonProgressDetailList(
            int index, emu.grasscutter.net.proto.FungusTrainingProgressDetailOuterClass.FungusTrainingProgressDetail value) {
          if (trainingDungeonProgressDetailListBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            ensureTrainingDungeonProgressDetailListIsMutable();
            trainingDungeonProgressDetailList_.set(index, value);
            onChanged();
          } else {
            trainingDungeonProgressDetailListBuilder_.setMessage(index, value);
          }
          return this;
        }
        /**
         * <code>repeated .FungusTrainingProgressDetail trainingDungeonProgressDetailList = 4;</code>
         */
        public Builder setTrainingDungeonProgressDetailList(
            int index, emu.grasscutter.net.proto.FungusTrainingProgressDetailOuterClass.FungusTrainingProgressDetail.Builder builderForValue) {
          if (trainingDungeonProgressDetailListBuilder_ == null) {
            ensureTrainingDungeonProgressDetailListIsMutable();
            trainingDungeonProgressDetailList_.set(index, builderForValue.build());
            onChanged();
          } else {
            trainingDungeonProgressDetailListBuilder_.setMessage(index, builderForValue.build());
          }
          return this;
        }
        /**
         * <code>repeated .FungusTrainingProgressDetail trainingDungeonProgressDetailList = 4;</code>
         */
        public Builder addTrainingDungeonProgressDetailList(emu.grasscutter.net.proto.FungusTrainingProgressDetailOuterClass.FungusTrainingProgressDetail value) {
          if (trainingDungeonProgressDetailListBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            ensureTrainingDungeonProgressDetailListIsMutable();
            trainingDungeonProgressDetailList_.add(value);
            onChanged();
          } else {
            trainingDungeonProgressDetailListBuilder_.addMessage(value);
          }
          return this;
        }
        /**
         * <code>repeated .FungusTrainingProgressDetail trainingDungeonProgressDetailList = 4;</code>
         */
        public Builder addTrainingDungeonProgressDetailList(
            int index, emu.grasscutter.net.proto.FungusTrainingProgressDetailOuterClass.FungusTrainingProgressDetail value) {
          if (trainingDungeonProgressDetailListBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            ensureTrainingDungeonProgressDetailListIsMutable();
            trainingDungeonProgressDetailList_.add(index, value);
            onChanged();
          } else {
            trainingDungeonProgressDetailListBuilder_.addMessage(index, value);
          }
          return this;
        }
        /**
         * <code>repeated .FungusTrainingProgressDetail trainingDungeonProgressDetailList = 4;</code>
         */
        public Builder addTrainingDungeonProgressDetailList(
            emu.grasscutter.net.proto.FungusTrainingProgressDetailOuterClass.FungusTrainingProgressDetail.Builder builderForValue) {
          if (trainingDungeonProgressDetailListBuilder_ == null) {
            ensureTrainingDungeonProgressDetailListIsMutable();
            trainingDungeonProgressDetailList_.add(builderForValue.build());
            onChanged();
          } else {
            trainingDungeonProgressDetailListBuilder_.addMessage(builderForValue.build());
          }
          return this;
        }
        /**
         * <code>repeated .FungusTrainingProgressDetail trainingDungeonProgressDetailList = 4;</code>
         */
        public Builder addTrainingDungeonProgressDetailList(
            int index, emu.grasscutter.net.proto.FungusTrainingProgressDetailOuterClass.FungusTrainingProgressDetail.Builder builderForValue) {
          if (trainingDungeonProgressDetailListBuilder_ == null) {
            ensureTrainingDungeonProgressDetailListIsMutable();
            trainingDungeonProgressDetailList_.add(index, builderForValue.build());
            onChanged();
          } else {
            trainingDungeonProgressDetailListBuilder_.addMessage(index, builderForValue.build());
          }
          return this;
        }
        /**
         * <code>repeated .FungusTrainingProgressDetail trainingDungeonProgressDetailList = 4;</code>
         */
        public Builder addAllTrainingDungeonProgressDetailList(
            java.lang.Iterable<? extends emu.grasscutter.net.proto.FungusTrainingProgressDetailOuterClass.FungusTrainingProgressDetail> values) {
          if (trainingDungeonProgressDetailListBuilder_ == null) {
            ensureTrainingDungeonProgressDetailListIsMutable();
            com.google.protobuf.AbstractMessageLite.Builder.addAll(
                values, trainingDungeonProgressDetailList_);
            onChanged();
          } else {
            trainingDungeonProgressDetailListBuilder_.addAllMessages(values);
          }
          return this;
        }
        /**
         * <code>repeated .FungusTrainingProgressDetail trainingDungeonProgressDetailList = 4;</code>
         */
        public Builder clearTrainingDungeonProgressDetailList() {
          if (trainingDungeonProgressDetailListBuilder_ == null) {
            trainingDungeonProgressDetailList_ = java.util.Collections.emptyList();
            bitField0_ = (bitField0_ & ~0x00000004);
            onChanged();
          } else {
            trainingDungeonProgressDetailListBuilder_.clear();
          }
          return this;
        }
        /**
         * <code>repeated .FungusTrainingProgressDetail trainingDungeonProgressDetailList = 4;</code>
         */
        public Builder removeTrainingDungeonProgressDetailList(int index) {
          if (trainingDungeonProgressDetailListBuilder_ == null) {
            ensureTrainingDungeonProgressDetailListIsMutable();
            trainingDungeonProgressDetailList_.remove(index);
            onChanged();
          } else {
            trainingDungeonProgressDetailListBuilder_.remove(index);
          }
          return this;
        }
        /**
         * <code>repeated .FungusTrainingProgressDetail trainingDungeonProgressDetailList = 4;</code>
         */
        public emu.grasscutter.net.proto.FungusTrainingProgressDetailOuterClass.FungusTrainingProgressDetail.Builder getTrainingDungeonProgressDetailListBuilder(
            int index) {
          return getTrainingDungeonProgressDetailListFieldBuilder().getBuilder(index);
        }
        /**
         * <code>repeated .FungusTrainingProgressDetail trainingDungeonProgressDetailList = 4;</code>
         */
        public emu.grasscutter.net.proto.FungusTrainingProgressDetailOuterClass.FungusTrainingProgressDetailOrBuilder getTrainingDungeonProgressDetailListOrBuilder(
            int index) {
          if (trainingDungeonProgressDetailListBuilder_ == null) {
            return trainingDungeonProgressDetailList_.get(index);  } else {
            return trainingDungeonProgressDetailListBuilder_.getMessageOrBuilder(index);
          }
        }
        /**
         * <code>repeated .FungusTrainingProgressDetail trainingDungeonProgressDetailList = 4;</code>
         */
        public java.util.List<? extends emu.grasscutter.net.proto.FungusTrainingProgressDetailOuterClass.FungusTrainingProgressDetailOrBuilder> 
             getTrainingDungeonProgressDetailListOrBuilderList() {
          if (trainingDungeonProgressDetailListBuilder_ != null) {
            return trainingDungeonProgressDetailListBuilder_.getMessageOrBuilderList();
          } else {
            return java.util.Collections.unmodifiableList(trainingDungeonProgressDetailList_);
          }
        }
        /**
         * <code>repeated .FungusTrainingProgressDetail trainingDungeonProgressDetailList = 4;</code>
         */
        public emu.grasscutter.net.proto.FungusTrainingProgressDetailOuterClass.FungusTrainingProgressDetail.Builder addTrainingDungeonProgressDetailListBuilder() {
          return getTrainingDungeonProgressDetailListFieldBuilder().addBuilder(
              emu.grasscutter.net.proto.FungusTrainingProgressDetailOuterClass.FungusTrainingProgressDetail.getDefaultInstance());
        }
        /**
         * <code>repeated .FungusTrainingProgressDetail trainingDungeonProgressDetailList = 4;</code>
         */
        public emu.grasscutter.net.proto.FungusTrainingProgressDetailOuterClass.FungusTrainingProgressDetail.Builder addTrainingDungeonProgressDetailListBuilder(
            int index) {
          return getTrainingDungeonProgressDetailListFieldBuilder().addBuilder(
              index, emu.grasscutter.net.proto.FungusTrainingProgressDetailOuterClass.FungusTrainingProgressDetail.getDefaultInstance());
        }
        /**
         * <code>repeated .FungusTrainingProgressDetail trainingDungeonProgressDetailList = 4;</code>
         */
        public java.util.List<emu.grasscutter.net.proto.FungusTrainingProgressDetailOuterClass.FungusTrainingProgressDetail.Builder> 
             getTrainingDungeonProgressDetailListBuilderList() {
          return getTrainingDungeonProgressDetailListFieldBuilder().getBuilderList();
        }
        private com.google.protobuf.RepeatedFieldBuilderV3<
            emu.grasscutter.net.proto.FungusTrainingProgressDetailOuterClass.FungusTrainingProgressDetail, emu.grasscutter.net.proto.FungusTrainingProgressDetailOuterClass.FungusTrainingProgressDetail.Builder, emu.grasscutter.net.proto.FungusTrainingProgressDetailOuterClass.FungusTrainingProgressDetailOrBuilder> 
            getTrainingDungeonProgressDetailListFieldBuilder() {
          if (trainingDungeonProgressDetailListBuilder_ == null) {
            trainingDungeonProgressDetailListBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
                emu.grasscutter.net.proto.FungusTrainingProgressDetailOuterClass.FungusTrainingProgressDetail, emu.grasscutter.net.proto.FungusTrainingProgressDetailOuterClass.FungusTrainingProgressDetail.Builder, emu.grasscutter.net.proto.FungusTrainingProgressDetailOuterClass.FungusTrainingProgressDetailOrBuilder>(
                    trainingDungeonProgressDetailList_,
                    ((bitField0_ & 0x00000004) != 0),
                    getParentForChildren(),
                    isClean());
            trainingDungeonProgressDetailList_ = null;
          }
          return trainingDungeonProgressDetailListBuilder_;
        }
  
        private com.google.protobuf.Internal.IntList unk3300HPDOJOBPFMJ_ = emptyIntList();
        private void ensureUnk3300HPDOJOBPFMJIsMutable() {
          if (!((bitField0_ & 0x00000008) != 0)) {
            unk3300HPDOJOBPFMJ_ = mutableCopy(unk3300HPDOJOBPFMJ_);
            bitField0_ |= 0x00000008;
           }
        }
        /**
         * <code>repeated uint32 Unk3300_HPDOJOBPFMJ = 2;</code>
         * @return A list containing the unk3300HPDOJOBPFMJ.
         */
        public java.util.List<java.lang.Integer>
            getUnk3300HPDOJOBPFMJList() {
          return ((bitField0_ & 0x00000008) != 0) ?
                   java.util.Collections.unmodifiableList(unk3300HPDOJOBPFMJ_) : unk3300HPDOJOBPFMJ_;
        }
        /**
         * <code>repeated uint32 Unk3300_HPDOJOBPFMJ = 2;</code>
         * @return The count of unk3300HPDOJOBPFMJ.
         */
        public int getUnk3300HPDOJOBPFMJCount() {
          return unk3300HPDOJOBPFMJ_.size();
        }
        /**
         * <code>repeated uint32 Unk3300_HPDOJOBPFMJ = 2;</code>
         * @param index The index of the element to return.
         * @return The unk3300HPDOJOBPFMJ at the given index.
         */
        public int getUnk3300HPDOJOBPFMJ(int index) {
          return unk3300HPDOJOBPFMJ_.getInt(index);
        }
        /**
         * <code>repeated uint32 Unk3300_HPDOJOBPFMJ = 2;</code>
         * @param index The index to set the value at.
         * @param value The unk3300HPDOJOBPFMJ to set.
         * @return This builder for chaining.
         */
        public Builder setUnk3300HPDOJOBPFMJ(
            int index, int value) {
          ensureUnk3300HPDOJOBPFMJIsMutable();
          unk3300HPDOJOBPFMJ_.setInt(index, value);
          onChanged();
          return this;
        }
        /**
         * <code>repeated uint32 Unk3300_HPDOJOBPFMJ = 2;</code>
         * @param value The unk3300HPDOJOBPFMJ to add.
         * @return This builder for chaining.
         */
        public Builder addUnk3300HPDOJOBPFMJ(int value) {
          ensureUnk3300HPDOJOBPFMJIsMutable();
          unk3300HPDOJOBPFMJ_.addInt(value);
          onChanged();
          return this;
        }
        /**
         * <code>repeated uint32 Unk3300_HPDOJOBPFMJ = 2;</code>
         * @param values The unk3300HPDOJOBPFMJ to add.
         * @return This builder for chaining.
         */
        public Builder addAllUnk3300HPDOJOBPFMJ(
            java.lang.Iterable<? extends java.lang.Integer> values) {
          ensureUnk3300HPDOJOBPFMJIsMutable();
          com.google.protobuf.AbstractMessageLite.Builder.addAll(
              values, unk3300HPDOJOBPFMJ_);
          onChanged();
          return this;
        }
        /**
         * <code>repeated uint32 Unk3300_HPDOJOBPFMJ = 2;</code>
         * @return This builder for chaining.
         */
        public Builder clearUnk3300HPDOJOBPFMJ() {
          unk3300HPDOJOBPFMJ_ = emptyIntList();
          bitField0_ = (bitField0_ & ~0x00000008);
          onChanged();
          return this;
        }
  
        private com.google.protobuf.Internal.IntList unk3300KGKFJJHFHAB_ = emptyIntList();
        private void ensureUnk3300KGKFJJHFHABIsMutable() {
          if (!((bitField0_ & 0x00000010) != 0)) {
            unk3300KGKFJJHFHAB_ = mutableCopy(unk3300KGKFJJHFHAB_);
            bitField0_ |= 0x00000010;
           }
        }
        /**
         * <code>repeated uint32 Unk3300_KGKFJJHFHAB = 13;</code>
         * @return A list containing the unk3300KGKFJJHFHAB.
         */
        public java.util.List<java.lang.Integer>
            getUnk3300KGKFJJHFHABList() {
          return ((bitField0_ & 0x00000010) != 0) ?
                   java.util.Collections.unmodifiableList(unk3300KGKFJJHFHAB_) : unk3300KGKFJJHFHAB_;
        }
        /**
         * <code>repeated uint32 Unk3300_KGKFJJHFHAB = 13;</code>
         * @return The count of unk3300KGKFJJHFHAB.
         */
        public int getUnk3300KGKFJJHFHABCount() {
          return unk3300KGKFJJHFHAB_.size();
        }
        /**
         * <code>repeated uint32 Unk3300_KGKFJJHFHAB = 13;</code>
         * @param index The index of the element to return.
         * @return The unk3300KGKFJJHFHAB at the given index.
         */
        public int getUnk3300KGKFJJHFHAB(int index) {
          return unk3300KGKFJJHFHAB_.getInt(index);
        }
        /**
         * <code>repeated uint32 Unk3300_KGKFJJHFHAB = 13;</code>
         * @param index The index to set the value at.
         * @param value The unk3300KGKFJJHFHAB to set.
         * @return This builder for chaining.
         */
        public Builder setUnk3300KGKFJJHFHAB(
            int index, int value) {
          ensureUnk3300KGKFJJHFHABIsMutable();
          unk3300KGKFJJHFHAB_.setInt(index, value);
          onChanged();
          return this;
        }
        /**
         * <code>repeated uint32 Unk3300_KGKFJJHFHAB = 13;</code>
         * @param value The unk3300KGKFJJHFHAB to add.
         * @return This builder for chaining.
         */
        public Builder addUnk3300KGKFJJHFHAB(int value) {
          ensureUnk3300KGKFJJHFHABIsMutable();
          unk3300KGKFJJHFHAB_.addInt(value);
          onChanged();
          return this;
        }
        /**
         * <code>repeated uint32 Unk3300_KGKFJJHFHAB = 13;</code>
         * @param values The unk3300KGKFJJHFHAB to add.
         * @return This builder for chaining.
         */
        public Builder addAllUnk3300KGKFJJHFHAB(
            java.lang.Iterable<? extends java.lang.Integer> values) {
          ensureUnk3300KGKFJJHFHABIsMutable();
          com.google.protobuf.AbstractMessageLite.Builder.addAll(
              values, unk3300KGKFJJHFHAB_);
          onChanged();
          return this;
        }
        /**
         * <code>repeated uint32 Unk3300_KGKFJJHFHAB = 13;</code>
         * @return This builder for chaining.
         */
        public Builder clearUnk3300KGKFJJHFHAB() {
          unk3300KGKFJJHFHAB_ = emptyIntList();
          bitField0_ = (bitField0_ & ~0x00000010);
          onChanged();
          return this;
        }
  
        private java.util.List<emu.grasscutter.net.proto.FungusPlotStageDetailOuterClass.FungusPlotStageDetail> plotStageDetailList_ =
          java.util.Collections.emptyList();
        private void ensurePlotStageDetailListIsMutable() {
          if (!((bitField0_ & 0x00000020) != 0)) {
            plotStageDetailList_ = new java.util.ArrayList<emu.grasscutter.net.proto.FungusPlotStageDetailOuterClass.FungusPlotStageDetail>(plotStageDetailList_);
            bitField0_ |= 0x00000020;
           }
        }
  
        private com.google.protobuf.RepeatedFieldBuilderV3<
            emu.grasscutter.net.proto.FungusPlotStageDetailOuterClass.FungusPlotStageDetail, emu.grasscutter.net.proto.FungusPlotStageDetailOuterClass.FungusPlotStageDetail.Builder, emu.grasscutter.net.proto.FungusPlotStageDetailOuterClass.FungusPlotStageDetailOrBuilder> plotStageDetailListBuilder_;
  
        /**
         * <code>repeated .FungusPlotStageDetail plotStageDetailList = 6;</code>
         */
        public java.util.List<emu.grasscutter.net.proto.FungusPlotStageDetailOuterClass.FungusPlotStageDetail> getPlotStageDetailListList() {
          if (plotStageDetailListBuilder_ == null) {
            return java.util.Collections.unmodifiableList(plotStageDetailList_);
          } else {
            return plotStageDetailListBuilder_.getMessageList();
          }
        }
        /**
         * <code>repeated .FungusPlotStageDetail plotStageDetailList = 6;</code>
         */
        public int getPlotStageDetailListCount() {
          if (plotStageDetailListBuilder_ == null) {
            return plotStageDetailList_.size();
          } else {
            return plotStageDetailListBuilder_.getCount();
          }
        }
        /**
         * <code>repeated .FungusPlotStageDetail plotStageDetailList = 6;</code>
         */
        public emu.grasscutter.net.proto.FungusPlotStageDetailOuterClass.FungusPlotStageDetail getPlotStageDetailList(int index) {
          if (plotStageDetailListBuilder_ == null) {
            return plotStageDetailList_.get(index);
          } else {
            return plotStageDetailListBuilder_.getMessage(index);
          }
        }
        /**
         * <code>repeated .FungusPlotStageDetail plotStageDetailList = 6;</code>
         */
        public Builder setPlotStageDetailList(
            int index, emu.grasscutter.net.proto.FungusPlotStageDetailOuterClass.FungusPlotStageDetail value) {
          if (plotStageDetailListBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            ensurePlotStageDetailListIsMutable();
            plotStageDetailList_.set(index, value);
            onChanged();
          } else {
            plotStageDetailListBuilder_.setMessage(index, value);
          }
          return this;
        }
        /**
         * <code>repeated .FungusPlotStageDetail plotStageDetailList = 6;</code>
         */
        public Builder setPlotStageDetailList(
            int index, emu.grasscutter.net.proto.FungusPlotStageDetailOuterClass.FungusPlotStageDetail.Builder builderForValue) {
          if (plotStageDetailListBuilder_ == null) {
            ensurePlotStageDetailListIsMutable();
            plotStageDetailList_.set(index, builderForValue.build());
            onChanged();
          } else {
            plotStageDetailListBuilder_.setMessage(index, builderForValue.build());
          }
          return this;
        }
        /**
         * <code>repeated .FungusPlotStageDetail plotStageDetailList = 6;</code>
         */
        public Builder addPlotStageDetailList(emu.grasscutter.net.proto.FungusPlotStageDetailOuterClass.FungusPlotStageDetail value) {
          if (plotStageDetailListBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            ensurePlotStageDetailListIsMutable();
            plotStageDetailList_.add(value);
            onChanged();
          } else {
            plotStageDetailListBuilder_.addMessage(value);
          }
          return this;
        }
        /**
         * <code>repeated .FungusPlotStageDetail plotStageDetailList = 6;</code>
         */
        public Builder addPlotStageDetailList(
            int index, emu.grasscutter.net.proto.FungusPlotStageDetailOuterClass.FungusPlotStageDetail value) {
          if (plotStageDetailListBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            ensurePlotStageDetailListIsMutable();
            plotStageDetailList_.add(index, value);
            onChanged();
          } else {
            plotStageDetailListBuilder_.addMessage(index, value);
          }
          return this;
        }
        /**
         * <code>repeated .FungusPlotStageDetail plotStageDetailList = 6;</code>
         */
        public Builder addPlotStageDetailList(
            emu.grasscutter.net.proto.FungusPlotStageDetailOuterClass.FungusPlotStageDetail.Builder builderForValue) {
          if (plotStageDetailListBuilder_ == null) {
            ensurePlotStageDetailListIsMutable();
            plotStageDetailList_.add(builderForValue.build());
            onChanged();
          } else {
            plotStageDetailListBuilder_.addMessage(builderForValue.build());
          }
          return this;
        }
        /**
         * <code>repeated .FungusPlotStageDetail plotStageDetailList = 6;</code>
         */
        public Builder addPlotStageDetailList(
            int index, emu.grasscutter.net.proto.FungusPlotStageDetailOuterClass.FungusPlotStageDetail.Builder builderForValue) {
          if (plotStageDetailListBuilder_ == null) {
            ensurePlotStageDetailListIsMutable();
            plotStageDetailList_.add(index, builderForValue.build());
            onChanged();
          } else {
            plotStageDetailListBuilder_.addMessage(index, builderForValue.build());
          }
          return this;
        }
        /**
         * <code>repeated .FungusPlotStageDetail plotStageDetailList = 6;</code>
         */
        public Builder addAllPlotStageDetailList(
            java.lang.Iterable<? extends emu.grasscutter.net.proto.FungusPlotStageDetailOuterClass.FungusPlotStageDetail> values) {
          if (plotStageDetailListBuilder_ == null) {
            ensurePlotStageDetailListIsMutable();
            com.google.protobuf.AbstractMessageLite.Builder.addAll(
                values, plotStageDetailList_);
            onChanged();
          } else {
            plotStageDetailListBuilder_.addAllMessages(values);
          }
          return this;
        }
        /**
         * <code>repeated .FungusPlotStageDetail plotStageDetailList = 6;</code>
         */
        public Builder clearPlotStageDetailList() {
          if (plotStageDetailListBuilder_ == null) {
            plotStageDetailList_ = java.util.Collections.emptyList();
            bitField0_ = (bitField0_ & ~0x00000020);
            onChanged();
          } else {
            plotStageDetailListBuilder_.clear();
          }
          return this;
        }
        /**
         * <code>repeated .FungusPlotStageDetail plotStageDetailList = 6;</code>
         */
        public Builder removePlotStageDetailList(int index) {
          if (plotStageDetailListBuilder_ == null) {
            ensurePlotStageDetailListIsMutable();
            plotStageDetailList_.remove(index);
            onChanged();
          } else {
            plotStageDetailListBuilder_.remove(index);
          }
          return this;
        }
        /**
         * <code>repeated .FungusPlotStageDetail plotStageDetailList = 6;</code>
         */
        public emu.grasscutter.net.proto.FungusPlotStageDetailOuterClass.FungusPlotStageDetail.Builder getPlotStageDetailListBuilder(
            int index) {
          return getPlotStageDetailListFieldBuilder().getBuilder(index);
        }
        /**
         * <code>repeated .FungusPlotStageDetail plotStageDetailList = 6;</code>
         */
        public emu.grasscutter.net.proto.FungusPlotStageDetailOuterClass.FungusPlotStageDetailOrBuilder getPlotStageDetailListOrBuilder(
            int index) {
          if (plotStageDetailListBuilder_ == null) {
            return plotStageDetailList_.get(index);  } else {
            return plotStageDetailListBuilder_.getMessageOrBuilder(index);
          }
        }
        /**
         * <code>repeated .FungusPlotStageDetail plotStageDetailList = 6;</code>
         */
        public java.util.List<? extends emu.grasscutter.net.proto.FungusPlotStageDetailOuterClass.FungusPlotStageDetailOrBuilder> 
             getPlotStageDetailListOrBuilderList() {
          if (plotStageDetailListBuilder_ != null) {
            return plotStageDetailListBuilder_.getMessageOrBuilderList();
          } else {
            return java.util.Collections.unmodifiableList(plotStageDetailList_);
          }
        }
        /**
         * <code>repeated .FungusPlotStageDetail plotStageDetailList = 6;</code>
         */
        public emu.grasscutter.net.proto.FungusPlotStageDetailOuterClass.FungusPlotStageDetail.Builder addPlotStageDetailListBuilder() {
          return getPlotStageDetailListFieldBuilder().addBuilder(
              emu.grasscutter.net.proto.FungusPlotStageDetailOuterClass.FungusPlotStageDetail.getDefaultInstance());
        }
        /**
         * <code>repeated .FungusPlotStageDetail plotStageDetailList = 6;</code>
         */
        public emu.grasscutter.net.proto.FungusPlotStageDetailOuterClass.FungusPlotStageDetail.Builder addPlotStageDetailListBuilder(
            int index) {
          return getPlotStageDetailListFieldBuilder().addBuilder(
              index, emu.grasscutter.net.proto.FungusPlotStageDetailOuterClass.FungusPlotStageDetail.getDefaultInstance());
        }
        /**
         * <code>repeated .FungusPlotStageDetail plotStageDetailList = 6;</code>
         */
        public java.util.List<emu.grasscutter.net.proto.FungusPlotStageDetailOuterClass.FungusPlotStageDetail.Builder> 
             getPlotStageDetailListBuilderList() {
          return getPlotStageDetailListFieldBuilder().getBuilderList();
        }
        private com.google.protobuf.RepeatedFieldBuilderV3<
            emu.grasscutter.net.proto.FungusPlotStageDetailOuterClass.FungusPlotStageDetail, emu.grasscutter.net.proto.FungusPlotStageDetailOuterClass.FungusPlotStageDetail.Builder, emu.grasscutter.net.proto.FungusPlotStageDetailOuterClass.FungusPlotStageDetailOrBuilder> 
            getPlotStageDetailListFieldBuilder() {
          if (plotStageDetailListBuilder_ == null) {
            plotStageDetailListBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
                emu.grasscutter.net.proto.FungusPlotStageDetailOuterClass.FungusPlotStageDetail, emu.grasscutter.net.proto.FungusPlotStageDetailOuterClass.FungusPlotStageDetail.Builder, emu.grasscutter.net.proto.FungusPlotStageDetailOuterClass.FungusPlotStageDetailOrBuilder>(
                    plotStageDetailList_,
                    ((bitField0_ & 0x00000020) != 0),
                    getParentForChildren(),
                    isClean());
            plotStageDetailList_ = null;
          }
          return plotStageDetailListBuilder_;
        }
  
        private java.util.List<emu.grasscutter.net.proto.FungusTrainingDungeonDetailOuterClass.FungusTrainingDungeonDetail> trainingDungeonDetailList_ =
          java.util.Collections.emptyList();
        private void ensureTrainingDungeonDetailListIsMutable() {
          if (!((bitField0_ & 0x00000040) != 0)) {
            trainingDungeonDetailList_ = new java.util.ArrayList<emu.grasscutter.net.proto.FungusTrainingDungeonDetailOuterClass.FungusTrainingDungeonDetail>(trainingDungeonDetailList_);
            bitField0_ |= 0x00000040;
           }
        }
  
        private com.google.protobuf.RepeatedFieldBuilderV3<
            emu.grasscutter.net.proto.FungusTrainingDungeonDetailOuterClass.FungusTrainingDungeonDetail, emu.grasscutter.net.proto.FungusTrainingDungeonDetailOuterClass.FungusTrainingDungeonDetail.Builder, emu.grasscutter.net.proto.FungusTrainingDungeonDetailOuterClass.FungusTrainingDungeonDetailOrBuilder> trainingDungeonDetailListBuilder_;
  
        /**
         * <code>repeated .FungusTrainingDungeonDetail trainingDungeonDetailList = 12;</code>
         */
        public java.util.List<emu.grasscutter.net.proto.FungusTrainingDungeonDetailOuterClass.FungusTrainingDungeonDetail> getTrainingDungeonDetailListList() {
          if (trainingDungeonDetailListBuilder_ == null) {
            return java.util.Collections.unmodifiableList(trainingDungeonDetailList_);
          } else {
            return trainingDungeonDetailListBuilder_.getMessageList();
          }
        }
        /**
         * <code>repeated .FungusTrainingDungeonDetail trainingDungeonDetailList = 12;</code>
         */
        public int getTrainingDungeonDetailListCount() {
          if (trainingDungeonDetailListBuilder_ == null) {
            return trainingDungeonDetailList_.size();
          } else {
            return trainingDungeonDetailListBuilder_.getCount();
          }
        }
        /**
         * <code>repeated .FungusTrainingDungeonDetail trainingDungeonDetailList = 12;</code>
         */
        public emu.grasscutter.net.proto.FungusTrainingDungeonDetailOuterClass.FungusTrainingDungeonDetail getTrainingDungeonDetailList(int index) {
          if (trainingDungeonDetailListBuilder_ == null) {
            return trainingDungeonDetailList_.get(index);
          } else {
            return trainingDungeonDetailListBuilder_.getMessage(index);
          }
        }
        /**
         * <code>repeated .FungusTrainingDungeonDetail trainingDungeonDetailList = 12;</code>
         */
        public Builder setTrainingDungeonDetailList(
            int index, emu.grasscutter.net.proto.FungusTrainingDungeonDetailOuterClass.FungusTrainingDungeonDetail value) {
          if (trainingDungeonDetailListBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            ensureTrainingDungeonDetailListIsMutable();
            trainingDungeonDetailList_.set(index, value);
            onChanged();
          } else {
            trainingDungeonDetailListBuilder_.setMessage(index, value);
          }
          return this;
        }
        /**
         * <code>repeated .FungusTrainingDungeonDetail trainingDungeonDetailList = 12;</code>
         */
        public Builder setTrainingDungeonDetailList(
            int index, emu.grasscutter.net.proto.FungusTrainingDungeonDetailOuterClass.FungusTrainingDungeonDetail.Builder builderForValue) {
          if (trainingDungeonDetailListBuilder_ == null) {
            ensureTrainingDungeonDetailListIsMutable();
            trainingDungeonDetailList_.set(index, builderForValue.build());
            onChanged();
          } else {
            trainingDungeonDetailListBuilder_.setMessage(index, builderForValue.build());
          }
          return this;
        }
        /**
         * <code>repeated .FungusTrainingDungeonDetail trainingDungeonDetailList = 12;</code>
         */
        public Builder addTrainingDungeonDetailList(emu.grasscutter.net.proto.FungusTrainingDungeonDetailOuterClass.FungusTrainingDungeonDetail value) {
          if (trainingDungeonDetailListBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            ensureTrainingDungeonDetailListIsMutable();
            trainingDungeonDetailList_.add(value);
            onChanged();
          } else {
            trainingDungeonDetailListBuilder_.addMessage(value);
          }
          return this;
        }
        /**
         * <code>repeated .FungusTrainingDungeonDetail trainingDungeonDetailList = 12;</code>
         */
        public Builder addTrainingDungeonDetailList(
            int index, emu.grasscutter.net.proto.FungusTrainingDungeonDetailOuterClass.FungusTrainingDungeonDetail value) {
          if (trainingDungeonDetailListBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            ensureTrainingDungeonDetailListIsMutable();
            trainingDungeonDetailList_.add(index, value);
            onChanged();
          } else {
            trainingDungeonDetailListBuilder_.addMessage(index, value);
          }
          return this;
        }
        /**
         * <code>repeated .FungusTrainingDungeonDetail trainingDungeonDetailList = 12;</code>
         */
        public Builder addTrainingDungeonDetailList(
            emu.grasscutter.net.proto.FungusTrainingDungeonDetailOuterClass.FungusTrainingDungeonDetail.Builder builderForValue) {
          if (trainingDungeonDetailListBuilder_ == null) {
            ensureTrainingDungeonDetailListIsMutable();
            trainingDungeonDetailList_.add(builderForValue.build());
            onChanged();
          } else {
            trainingDungeonDetailListBuilder_.addMessage(builderForValue.build());
          }
          return this;
        }
        /**
         * <code>repeated .FungusTrainingDungeonDetail trainingDungeonDetailList = 12;</code>
         */
        public Builder addTrainingDungeonDetailList(
            int index, emu.grasscutter.net.proto.FungusTrainingDungeonDetailOuterClass.FungusTrainingDungeonDetail.Builder builderForValue) {
          if (trainingDungeonDetailListBuilder_ == null) {
            ensureTrainingDungeonDetailListIsMutable();
            trainingDungeonDetailList_.add(index, builderForValue.build());
            onChanged();
          } else {
            trainingDungeonDetailListBuilder_.addMessage(index, builderForValue.build());
          }
          return this;
        }
        /**
         * <code>repeated .FungusTrainingDungeonDetail trainingDungeonDetailList = 12;</code>
         */
        public Builder addAllTrainingDungeonDetailList(
            java.lang.Iterable<? extends emu.grasscutter.net.proto.FungusTrainingDungeonDetailOuterClass.FungusTrainingDungeonDetail> values) {
          if (trainingDungeonDetailListBuilder_ == null) {
            ensureTrainingDungeonDetailListIsMutable();
            com.google.protobuf.AbstractMessageLite.Builder.addAll(
                values, trainingDungeonDetailList_);
            onChanged();
          } else {
            trainingDungeonDetailListBuilder_.addAllMessages(values);
          }
          return this;
        }
        /**
         * <code>repeated .FungusTrainingDungeonDetail trainingDungeonDetailList = 12;</code>
         */
        public Builder clearTrainingDungeonDetailList() {
          if (trainingDungeonDetailListBuilder_ == null) {
            trainingDungeonDetailList_ = java.util.Collections.emptyList();
            bitField0_ = (bitField0_ & ~0x00000040);
            onChanged();
          } else {
            trainingDungeonDetailListBuilder_.clear();
          }
          return this;
        }
        /**
         * <code>repeated .FungusTrainingDungeonDetail trainingDungeonDetailList = 12;</code>
         */
        public Builder removeTrainingDungeonDetailList(int index) {
          if (trainingDungeonDetailListBuilder_ == null) {
            ensureTrainingDungeonDetailListIsMutable();
            trainingDungeonDetailList_.remove(index);
            onChanged();
          } else {
            trainingDungeonDetailListBuilder_.remove(index);
          }
          return this;
        }
        /**
         * <code>repeated .FungusTrainingDungeonDetail trainingDungeonDetailList = 12;</code>
         */
        public emu.grasscutter.net.proto.FungusTrainingDungeonDetailOuterClass.FungusTrainingDungeonDetail.Builder getTrainingDungeonDetailListBuilder(
            int index) {
          return getTrainingDungeonDetailListFieldBuilder().getBuilder(index);
        }
        /**
         * <code>repeated .FungusTrainingDungeonDetail trainingDungeonDetailList = 12;</code>
         */
        public emu.grasscutter.net.proto.FungusTrainingDungeonDetailOuterClass.FungusTrainingDungeonDetailOrBuilder getTrainingDungeonDetailListOrBuilder(
            int index) {
          if (trainingDungeonDetailListBuilder_ == null) {
            return trainingDungeonDetailList_.get(index);  } else {
            return trainingDungeonDetailListBuilder_.getMessageOrBuilder(index);
          }
        }
        /**
         * <code>repeated .FungusTrainingDungeonDetail trainingDungeonDetailList = 12;</code>
         */
        public java.util.List<? extends emu.grasscutter.net.proto.FungusTrainingDungeonDetailOuterClass.FungusTrainingDungeonDetailOrBuilder> 
             getTrainingDungeonDetailListOrBuilderList() {
          if (trainingDungeonDetailListBuilder_ != null) {
            return trainingDungeonDetailListBuilder_.getMessageOrBuilderList();
          } else {
            return java.util.Collections.unmodifiableList(trainingDungeonDetailList_);
          }
        }
        /**
         * <code>repeated .FungusTrainingDungeonDetail trainingDungeonDetailList = 12;</code>
         */
        public emu.grasscutter.net.proto.FungusTrainingDungeonDetailOuterClass.FungusTrainingDungeonDetail.Builder addTrainingDungeonDetailListBuilder() {
          return getTrainingDungeonDetailListFieldBuilder().addBuilder(
              emu.grasscutter.net.proto.FungusTrainingDungeonDetailOuterClass.FungusTrainingDungeonDetail.getDefaultInstance());
        }
        /**
         * <code>repeated .FungusTrainingDungeonDetail trainingDungeonDetailList = 12;</code>
         */
        public emu.grasscutter.net.proto.FungusTrainingDungeonDetailOuterClass.FungusTrainingDungeonDetail.Builder addTrainingDungeonDetailListBuilder(
            int index) {
          return getTrainingDungeonDetailListFieldBuilder().addBuilder(
              index, emu.grasscutter.net.proto.FungusTrainingDungeonDetailOuterClass.FungusTrainingDungeonDetail.getDefaultInstance());
        }
        /**
         * <code>repeated .FungusTrainingDungeonDetail trainingDungeonDetailList = 12;</code>
         */
        public java.util.List<emu.grasscutter.net.proto.FungusTrainingDungeonDetailOuterClass.FungusTrainingDungeonDetail.Builder> 
             getTrainingDungeonDetailListBuilderList() {
          return getTrainingDungeonDetailListFieldBuilder().getBuilderList();
        }
        private com.google.protobuf.RepeatedFieldBuilderV3<
            emu.grasscutter.net.proto.FungusTrainingDungeonDetailOuterClass.FungusTrainingDungeonDetail, emu.grasscutter.net.proto.FungusTrainingDungeonDetailOuterClass.FungusTrainingDungeonDetail.Builder, emu.grasscutter.net.proto.FungusTrainingDungeonDetailOuterClass.FungusTrainingDungeonDetailOrBuilder> 
            getTrainingDungeonDetailListFieldBuilder() {
          if (trainingDungeonDetailListBuilder_ == null) {
            trainingDungeonDetailListBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
                emu.grasscutter.net.proto.FungusTrainingDungeonDetailOuterClass.FungusTrainingDungeonDetail, emu.grasscutter.net.proto.FungusTrainingDungeonDetailOuterClass.FungusTrainingDungeonDetail.Builder, emu.grasscutter.net.proto.FungusTrainingDungeonDetailOuterClass.FungusTrainingDungeonDetailOrBuilder>(
                    trainingDungeonDetailList_,
                    ((bitField0_ & 0x00000040) != 0),
                    getParentForChildren(),
                    isClean());
            trainingDungeonDetailList_ = null;
          }
          return trainingDungeonDetailListBuilder_;
        }
        @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:FungusFighterInfo)
      }
  
      // @@protoc_insertion_point(class_scope:FungusFighterInfo)
      private static final emu.grasscutter.net.proto.FungusFighterInfoOuterClass.FungusFighterInfo DEFAULT_INSTANCE;
      static {
        DEFAULT_INSTANCE = new emu.grasscutter.net.proto.FungusFighterInfoOuterClass.FungusFighterInfo();
      }
  
      public static emu.grasscutter.net.proto.FungusFighterInfoOuterClass.FungusFighterInfo getDefaultInstance() {
        return DEFAULT_INSTANCE;
      }
  
      private static final com.google.protobuf.Parser<FungusFighterInfo>
          PARSER = new com.google.protobuf.AbstractParser<FungusFighterInfo>() {
        @java.lang.Override
        public FungusFighterInfo parsePartialFrom(
            com.google.protobuf.CodedInputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws com.google.protobuf.InvalidProtocolBufferException {
          return new FungusFighterInfo(input, extensionRegistry);
        }
      };
  
      public static com.google.protobuf.Parser<FungusFighterInfo> parser() {
        return PARSER;
      }
  
      @java.lang.Override
      public com.google.protobuf.Parser<FungusFighterInfo> getParserForType() {
        return PARSER;
      }
  
      @java.lang.Override
      public emu.grasscutter.net.proto.FungusFighterInfoOuterClass.FungusFighterInfo getDefaultInstanceForType() {
        return DEFAULT_INSTANCE;
      }
  
    }
  
    private static final com.google.protobuf.Descriptors.Descriptor
      internal_static_FungusFighterInfo_descriptor;
    private static final 
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internal_static_FungusFighterInfo_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\027FungusFighterInfo.proto\032\022FungusDetail." +
        "proto\032\"FungusTrainingProgressDetail.prot" +
        "o\032\033FungusPlotStageDetail.proto\032!FungusTr" +
        "ainingDungeonDetail.proto\"\323\002\n\021FungusFigh" +
        "terInfo\022\'\n\020fungusDetailList\030\003 \003(\0132\r.Fung" +
        "usDetail\022\033\n\023Unk3300_GIHAKKAJHDH\030\t \003(\r\022H\n" +
        "!trainingDungeonProgressDetailList\030\004 \003(\013" +
        "2\035.FungusTrainingProgressDetail\022\033\n\023Unk33" +
        "00_HPDOJOBPFMJ\030\002 \003(\r\022\033\n\023Unk3300_KGKFJJHF" +
        "HAB\030\r \003(\r\0223\n\023plotStageDetailList\030\006 \003(\0132\026" +
        ".FungusPlotStageDetail\022?\n\031trainingDungeo" +
        "nDetailList\030\014 \003(\0132\034.FungusTrainingDungeo" +
        "nDetailB\033\n\031emu.grasscutter.net.protob\006pr" +
        "oto3"
      };
      descriptor = com.google.protobuf.Descriptors.FileDescriptor
        .internalBuildGeneratedFileFrom(descriptorData,
          new com.google.protobuf.Descriptors.FileDescriptor[] {
            emu.grasscutter.net.proto.FungusDetailOuterClass.getDescriptor(),
            emu.grasscutter.net.proto.FungusTrainingProgressDetailOuterClass.getDescriptor(),
            emu.grasscutter.net.proto.FungusPlotStageDetailOuterClass.getDescriptor(),
            emu.grasscutter.net.proto.FungusTrainingDungeonDetailOuterClass.getDescriptor(),
          });
      internal_static_FungusFighterInfo_descriptor =
        getDescriptor().getMessageTypes().get(0);
      internal_static_FungusFighterInfo_fieldAccessorTable = new
        com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
          internal_static_FungusFighterInfo_descriptor,
          new java.lang.String[] { "FungusDetailList", "Unk3300GIHAKKAJHDH", "TrainingDungeonProgressDetailList", "Unk3300HPDOJOBPFMJ", "Unk3300KGKFJJHFHAB", "PlotStageDetailList", "TrainingDungeonDetailList", });
      emu.grasscutter.net.proto.FungusDetailOuterClass.getDescriptor();
      emu.grasscutter.net.proto.FungusTrainingProgressDetailOuterClass.getDescriptor();
      emu.grasscutter.net.proto.FungusPlotStageDetailOuterClass.getDescriptor();
      emu.grasscutter.net.proto.FungusTrainingDungeonDetailOuterClass.getDescriptor();
    }
  
    // @@protoc_insertion_point(outer_class_scope)
  }
  