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

package io.grasscutter.net.proto.define;

/**
 * Protobuf type {@code SceneGadgetInfo}
 */
public final class SceneGadgetInfo extends
    com.google.protobuf.GeneratedMessageV3 implements
    // @@protoc_insertion_point(message_implements:SceneGadgetInfo)
    SceneGadgetInfoOrBuilder {
private static final long serialVersionUID = 0L;
  // Use SceneGadgetInfo.newBuilder() to construct.
  private SceneGadgetInfo(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
    super(builder);
  }
  private SceneGadgetInfo() {
    affixList_ = emptyIntList();
    interactUidList_ = emptyIntList();
    bornType_ = 0;
  }

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

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

            gadgetId_ = input.readUInt32();
            break;
          }
          case 16: {

            groupId_ = input.readUInt32();
            break;
          }
          case 24: {

            configId_ = input.readUInt32();
            break;
          }
          case 32: {

            ownerEntityId_ = input.readUInt32();
            break;
          }
          case 40: {
            int rawValue = input.readEnum();

            bornType_ = rawValue;
            break;
          }
          case 48: {

            gadgetState_ = input.readUInt32();
            break;
          }
          case 56: {

            gadgetType_ = input.readUInt32();
            break;
          }
          case 64: {

            isShowCutscene_ = input.readBool();
            break;
          }
          case 72: {

            authorityPeerId_ = input.readUInt32();
            break;
          }
          case 80: {

            isEnableInteract_ = input.readBool();
            break;
          }
          case 88: {

            interactId_ = input.readUInt32();
            break;
          }
          case 106: {
            io.grasscutter.net.proto.define.GatherGadgetInfo.Builder subBuilder = null;
            if (contentCase_ == 13) {
              subBuilder = ((io.grasscutter.net.proto.define.GatherGadgetInfo) content_).toBuilder();
            }
            content_ =
                input.readMessage(io.grasscutter.net.proto.define.GatherGadgetInfo.parser(), extensionRegistry);
            if (subBuilder != null) {
              subBuilder.mergeFrom((io.grasscutter.net.proto.define.GatherGadgetInfo) content_);
              content_ = subBuilder.buildPartial();
            }
            contentCase_ = 13;
            break;
          }
          case 114: {
            io.grasscutter.net.proto.define.WorktopInfo.Builder subBuilder = null;
            if (contentCase_ == 14) {
              subBuilder = ((io.grasscutter.net.proto.define.WorktopInfo) content_).toBuilder();
            }
            content_ =
                input.readMessage(io.grasscutter.net.proto.define.WorktopInfo.parser(), extensionRegistry);
            if (subBuilder != null) {
              subBuilder.mergeFrom((io.grasscutter.net.proto.define.WorktopInfo) content_);
              content_ = subBuilder.buildPartial();
            }
            contentCase_ = 14;
            break;
          }
          case 122: {
            io.grasscutter.net.proto.define.HENGHIEEKGJ.Builder subBuilder = null;
            if (contentCase_ == 15) {
              subBuilder = ((io.grasscutter.net.proto.define.HENGHIEEKGJ) content_).toBuilder();
            }
            content_ =
                input.readMessage(io.grasscutter.net.proto.define.HENGHIEEKGJ.parser(), extensionRegistry);
            if (subBuilder != null) {
              subBuilder.mergeFrom((io.grasscutter.net.proto.define.HENGHIEEKGJ) content_);
              content_ = subBuilder.buildPartial();
            }
            contentCase_ = 15;
            break;
          }
          case 138: {
            io.grasscutter.net.proto.define.DDAJIEEALEI.Builder subBuilder = null;
            if (contentCase_ == 17) {
              subBuilder = ((io.grasscutter.net.proto.define.DDAJIEEALEI) content_).toBuilder();
            }
            content_ =
                input.readMessage(io.grasscutter.net.proto.define.DDAJIEEALEI.parser(), extensionRegistry);
            if (subBuilder != null) {
              subBuilder.mergeFrom((io.grasscutter.net.proto.define.DDAJIEEALEI) content_);
              content_ = subBuilder.buildPartial();
            }
            contentCase_ = 17;
            break;
          }
          case 146: {
            io.grasscutter.net.proto.define.MAGGMEBGLAL.Builder subBuilder = null;
            if (contentCase_ == 18) {
              subBuilder = ((io.grasscutter.net.proto.define.MAGGMEBGLAL) content_).toBuilder();
            }
            content_ =
                input.readMessage(io.grasscutter.net.proto.define.MAGGMEBGLAL.parser(), extensionRegistry);
            if (subBuilder != null) {
              subBuilder.mergeFrom((io.grasscutter.net.proto.define.MAGGMEBGLAL) content_);
              content_ = subBuilder.buildPartial();
            }
            contentCase_ = 18;
            break;
          }
          case 154: {
            io.grasscutter.net.proto.define.MOOKABDAJLO.Builder subBuilder = null;
            if (contentCase_ == 19) {
              subBuilder = ((io.grasscutter.net.proto.define.MOOKABDAJLO) content_).toBuilder();
            }
            content_ =
                input.readMessage(io.grasscutter.net.proto.define.MOOKABDAJLO.parser(), extensionRegistry);
            if (subBuilder != null) {
              subBuilder.mergeFrom((io.grasscutter.net.proto.define.MOOKABDAJLO) content_);
              content_ = subBuilder.buildPartial();
            }
            contentCase_ = 19;
            break;
          }
          case 162: {
            io.grasscutter.net.proto.define.BossChestInfo.Builder subBuilder = null;
            if (contentCase_ == 20) {
              subBuilder = ((io.grasscutter.net.proto.define.BossChestInfo) content_).toBuilder();
            }
            content_ =
                input.readMessage(io.grasscutter.net.proto.define.BossChestInfo.parser(), extensionRegistry);
            if (subBuilder != null) {
              subBuilder.mergeFrom((io.grasscutter.net.proto.define.BossChestInfo) content_);
              content_ = subBuilder.buildPartial();
            }
            contentCase_ = 20;
            break;
          }
          case 168: {

            markFlag_ = input.readUInt32();
            break;
          }
          case 176: {

            propOwnerEntityId_ = input.readUInt32();
            break;
          }
          case 186: {
            io.grasscutter.net.proto.define.PlatformInfo.Builder subBuilder = null;
            if (platform_ != null) {
              subBuilder = platform_.toBuilder();
            }
            platform_ = input.readMessage(io.grasscutter.net.proto.define.PlatformInfo.parser(), extensionRegistry);
            if (subBuilder != null) {
              subBuilder.mergeFrom(platform_);
              platform_ = subBuilder.buildPartial();
            }

            break;
          }
          case 192: {
            if (!((mutable_bitField0_ & 0x00000002) != 0)) {
              interactUidList_ = newIntList();
              mutable_bitField0_ |= 0x00000002;
            }
            interactUidList_.addInt(input.readUInt32());
            break;
          }
          case 194: {
            int length = input.readRawVarint32();
            int limit = input.pushLimit(length);
            if (!((mutable_bitField0_ & 0x00000002) != 0) && input.getBytesUntilLimit() > 0) {
              interactUidList_ = newIntList();
              mutable_bitField0_ |= 0x00000002;
            }
            while (input.getBytesUntilLimit() > 0) {
              interactUidList_.addInt(input.readUInt32());
            }
            input.popLimit(limit);
            break;
          }
          case 200: {

            draftId_ = input.readUInt32();
            break;
          }
          case 208: {

            gadgetTalkState_ = input.readUInt32();
            break;
          }
          case 218: {
            io.grasscutter.net.proto.define.DKIBLFIGLAP.Builder subBuilder = null;
            if (jIOIGFOFFFF_ != null) {
              subBuilder = jIOIGFOFFFF_.toBuilder();
            }
            jIOIGFOFFFF_ = input.readMessage(io.grasscutter.net.proto.define.DKIBLFIGLAP.parser(), extensionRegistry);
            if (subBuilder != null) {
              subBuilder.mergeFrom(jIOIGFOFFFF_);
              jIOIGFOFFFF_ = subBuilder.buildPartial();
            }

            break;
          }
          case 224: {

            campType_ = input.readUInt32();
            break;
          }
          case 232: {
            if (!((mutable_bitField0_ & 0x00000001) != 0)) {
              affixList_ = newIntList();
              mutable_bitField0_ |= 0x00000001;
            }
            affixList_.addInt(input.readUInt32());
            break;
          }
          case 234: {
            int length = input.readRawVarint32();
            int limit = input.pushLimit(length);
            if (!((mutable_bitField0_ & 0x00000001) != 0) && input.getBytesUntilLimit() > 0) {
              affixList_ = newIntList();
              mutable_bitField0_ |= 0x00000001;
            }
            while (input.getBytesUntilLimit() > 0) {
              affixList_.addInt(input.readUInt32());
            }
            input.popLimit(limit);
            break;
          }
          case 330: {
            io.grasscutter.net.proto.define.BlossomChestInfo.Builder subBuilder = null;
            if (contentCase_ == 41) {
              subBuilder = ((io.grasscutter.net.proto.define.BlossomChestInfo) content_).toBuilder();
            }
            content_ =
                input.readMessage(io.grasscutter.net.proto.define.BlossomChestInfo.parser(), extensionRegistry);
            if (subBuilder != null) {
              subBuilder.mergeFrom((io.grasscutter.net.proto.define.BlossomChestInfo) content_);
              content_ = subBuilder.buildPartial();
            }
            contentCase_ = 41;
            break;
          }
          case 338: {
            io.grasscutter.net.proto.define.MpPlayRewardInfo.Builder subBuilder = null;
            if (contentCase_ == 42) {
              subBuilder = ((io.grasscutter.net.proto.define.MpPlayRewardInfo) content_).toBuilder();
            }
            content_ =
                input.readMessage(io.grasscutter.net.proto.define.MpPlayRewardInfo.parser(), extensionRegistry);
            if (subBuilder != null) {
              subBuilder.mergeFrom((io.grasscutter.net.proto.define.MpPlayRewardInfo) content_);
              content_ = subBuilder.buildPartial();
            }
            contentCase_ = 42;
            break;
          }
          case 346: {
            io.grasscutter.net.proto.define.GadgetGeneralRewardInfo.Builder subBuilder = null;
            if (contentCase_ == 43) {
              subBuilder = ((io.grasscutter.net.proto.define.GadgetGeneralRewardInfo) content_).toBuilder();
            }
            content_ =
                input.readMessage(io.grasscutter.net.proto.define.GadgetGeneralRewardInfo.parser(), extensionRegistry);
            if (subBuilder != null) {
              subBuilder.mergeFrom((io.grasscutter.net.proto.define.GadgetGeneralRewardInfo) content_);
              content_ = subBuilder.buildPartial();
            }
            contentCase_ = 43;
            break;
          }
          case 354: {
            io.grasscutter.net.proto.define.GIFDGFMGKOL.Builder subBuilder = null;
            if (contentCase_ == 44) {
              subBuilder = ((io.grasscutter.net.proto.define.GIFDGFMGKOL) content_).toBuilder();
            }
            content_ =
                input.readMessage(io.grasscutter.net.proto.define.GIFDGFMGKOL.parser(), extensionRegistry);
            if (subBuilder != null) {
              subBuilder.mergeFrom((io.grasscutter.net.proto.define.GIFDGFMGKOL) content_);
              content_ = subBuilder.buildPartial();
            }
            contentCase_ = 44;
            break;
          }
          case 362: {
            io.grasscutter.net.proto.define.FoundationInfo.Builder subBuilder = null;
            if (contentCase_ == 45) {
              subBuilder = ((io.grasscutter.net.proto.define.FoundationInfo) content_).toBuilder();
            }
            content_ =
                input.readMessage(io.grasscutter.net.proto.define.FoundationInfo.parser(), extensionRegistry);
            if (subBuilder != null) {
              subBuilder.mergeFrom((io.grasscutter.net.proto.define.FoundationInfo) content_);
              content_ = subBuilder.buildPartial();
            }
            contentCase_ = 45;
            break;
          }
          case 370: {
            io.grasscutter.net.proto.define.FCHLLHGCMDC.Builder subBuilder = null;
            if (contentCase_ == 46) {
              subBuilder = ((io.grasscutter.net.proto.define.FCHLLHGCMDC) content_).toBuilder();
            }
            content_ =
                input.readMessage(io.grasscutter.net.proto.define.FCHLLHGCMDC.parser(), extensionRegistry);
            if (subBuilder != null) {
              subBuilder.mergeFrom((io.grasscutter.net.proto.define.FCHLLHGCMDC) content_);
              content_ = subBuilder.buildPartial();
            }
            contentCase_ = 46;
            break;
          }
          case 378: {
            io.grasscutter.net.proto.define.IKNFOPHBEDP.Builder subBuilder = null;
            if (contentCase_ == 47) {
              subBuilder = ((io.grasscutter.net.proto.define.IKNFOPHBEDP) content_).toBuilder();
            }
            content_ =
                input.readMessage(io.grasscutter.net.proto.define.IKNFOPHBEDP.parser(), extensionRegistry);
            if (subBuilder != null) {
              subBuilder.mergeFrom((io.grasscutter.net.proto.define.IKNFOPHBEDP) content_);
              content_ = subBuilder.buildPartial();
            }
            contentCase_ = 47;
            break;
          }
          case 386: {
            io.grasscutter.net.proto.define.ScreenInfo.Builder subBuilder = null;
            if (contentCase_ == 48) {
              subBuilder = ((io.grasscutter.net.proto.define.ScreenInfo) content_).toBuilder();
            }
            content_ =
                input.readMessage(io.grasscutter.net.proto.define.ScreenInfo.parser(), extensionRegistry);
            if (subBuilder != null) {
              subBuilder.mergeFrom((io.grasscutter.net.proto.define.ScreenInfo) content_);
              content_ = subBuilder.buildPartial();
            }
            contentCase_ = 48;
            break;
          }
          case 474: {
            io.grasscutter.net.proto.define.FishPoolInfo.Builder subBuilder = null;
            if (contentCase_ == 59) {
              subBuilder = ((io.grasscutter.net.proto.define.FishPoolInfo) content_).toBuilder();
            }
            content_ =
                input.readMessage(io.grasscutter.net.proto.define.FishPoolInfo.parser(), extensionRegistry);
            if (subBuilder != null) {
              subBuilder.mergeFrom((io.grasscutter.net.proto.define.FishPoolInfo) content_);
              content_ = subBuilder.buildPartial();
            }
            contentCase_ = 59;
            break;
          }
          case 482: {
            io.grasscutter.net.proto.define.CustomGadgetTreeInfo.Builder subBuilder = null;
            if (contentCase_ == 60) {
              subBuilder = ((io.grasscutter.net.proto.define.CustomGadgetTreeInfo) content_).toBuilder();
            }
            content_ =
                input.readMessage(io.grasscutter.net.proto.define.CustomGadgetTreeInfo.parser(), extensionRegistry);
            if (subBuilder != null) {
              subBuilder.mergeFrom((io.grasscutter.net.proto.define.CustomGadgetTreeInfo) content_);
              content_ = subBuilder.buildPartial();
            }
            contentCase_ = 60;
            break;
          }
          case 490: {
            io.grasscutter.net.proto.define.RoguelikeGadgetInfo.Builder subBuilder = null;
            if (contentCase_ == 61) {
              subBuilder = ((io.grasscutter.net.proto.define.RoguelikeGadgetInfo) content_).toBuilder();
            }
            content_ =
                input.readMessage(io.grasscutter.net.proto.define.RoguelikeGadgetInfo.parser(), extensionRegistry);
            if (subBuilder != null) {
              subBuilder.mergeFrom((io.grasscutter.net.proto.define.RoguelikeGadgetInfo) content_);
              content_ = subBuilder.buildPartial();
            }
            contentCase_ = 61;
            break;
          }
          case 498: {
            io.grasscutter.net.proto.define.FELOLBOAKFD.Builder subBuilder = null;
            if (contentCase_ == 62) {
              subBuilder = ((io.grasscutter.net.proto.define.FELOLBOAKFD) content_).toBuilder();
            }
            content_ =
                input.readMessage(io.grasscutter.net.proto.define.FELOLBOAKFD.parser(), extensionRegistry);
            if (subBuilder != null) {
              subBuilder.mergeFrom((io.grasscutter.net.proto.define.FELOLBOAKFD) content_);
              content_ = subBuilder.buildPartial();
            }
            contentCase_ = 62;
            break;
          }
          case 506: {
            io.grasscutter.net.proto.define.CDJBCFJMBAK.Builder subBuilder = null;
            if (contentCase_ == 63) {
              subBuilder = ((io.grasscutter.net.proto.define.CDJBCFJMBAK) content_).toBuilder();
            }
            content_ =
                input.readMessage(io.grasscutter.net.proto.define.CDJBCFJMBAK.parser(), extensionRegistry);
            if (subBuilder != null) {
              subBuilder.mergeFrom((io.grasscutter.net.proto.define.CDJBCFJMBAK) content_);
              content_ = subBuilder.buildPartial();
            }
            contentCase_ = 63;
            break;
          }
          case 514: {
            io.grasscutter.net.proto.define.GHFMHHGBENE.Builder subBuilder = null;
            if (contentCase_ == 64) {
              subBuilder = ((io.grasscutter.net.proto.define.GHFMHHGBENE) content_).toBuilder();
            }
            content_ =
                input.readMessage(io.grasscutter.net.proto.define.GHFMHHGBENE.parser(), extensionRegistry);
            if (subBuilder != null) {
              subBuilder.mergeFrom((io.grasscutter.net.proto.define.GHFMHHGBENE) content_);
              content_ = subBuilder.buildPartial();
            }
            contentCase_ = 64;
            break;
          }
          case 538: {
            io.grasscutter.net.proto.define.IACHJPIMDFA.Builder subBuilder = null;
            if (contentCase_ == 67) {
              subBuilder = ((io.grasscutter.net.proto.define.IACHJPIMDFA) content_).toBuilder();
            }
            content_ =
                input.readMessage(io.grasscutter.net.proto.define.IACHJPIMDFA.parser(), extensionRegistry);
            if (subBuilder != null) {
              subBuilder.mergeFrom((io.grasscutter.net.proto.define.IACHJPIMDFA) content_);
              content_ = subBuilder.buildPartial();
            }
            contentCase_ = 67;
            break;
          }
          case 802: {
            io.grasscutter.net.proto.define.GadgetPlayInfo.Builder subBuilder = null;
            if (playInfo_ != null) {
              subBuilder = playInfo_.toBuilder();
            }
            playInfo_ = input.readMessage(io.grasscutter.net.proto.define.GadgetPlayInfo.parser(), extensionRegistry);
            if (subBuilder != null) {
              subBuilder.mergeFrom(playInfo_);
              playInfo_ = subBuilder.buildPartial();
            }

            break;
          }
          case 810: {
            io.grasscutter.net.proto.define.PDDFKAKPAPF.Builder subBuilder = null;
            if (nAJIKMLHPFB_ != null) {
              subBuilder = nAJIKMLHPFB_.toBuilder();
            }
            nAJIKMLHPFB_ = input.readMessage(io.grasscutter.net.proto.define.PDDFKAKPAPF.parser(), extensionRegistry);
            if (subBuilder != null) {
              subBuilder.mergeFrom(nAJIKMLHPFB_);
              nAJIKMLHPFB_ = subBuilder.buildPartial();
            }

            break;
          }
          case 818: {
            io.grasscutter.net.proto.define.JNOLLBCHCNH.Builder subBuilder = null;
            if (eJEHOGBGBIJ_ != null) {
              subBuilder = eJEHOGBGBIJ_.toBuilder();
            }
            eJEHOGBGBIJ_ = input.readMessage(io.grasscutter.net.proto.define.JNOLLBCHCNH.parser(), extensionRegistry);
            if (subBuilder != null) {
              subBuilder.mergeFrom(eJEHOGBGBIJ_);
              eJEHOGBGBIJ_ = subBuilder.buildPartial();
            }

            break;
          }
          case 826: {
            io.grasscutter.net.proto.define.BDIMCFFEKON.Builder subBuilder = null;
            if (kLPMJCFGNPI_ != null) {
              subBuilder = kLPMJCFGNPI_.toBuilder();
            }
            kLPMJCFGNPI_ = input.readMessage(io.grasscutter.net.proto.define.BDIMCFFEKON.parser(), extensionRegistry);
            if (subBuilder != null) {
              subBuilder.mergeFrom(kLPMJCFGNPI_);
              kLPMJCFGNPI_ = subBuilder.buildPartial();
            }

            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_ & 0x00000002) != 0)) {
        interactUidList_.makeImmutable(); // C
      }
      if (((mutable_bitField0_ & 0x00000001) != 0)) {
        affixList_.makeImmutable(); // C
      }
      this.unknownFields = unknownFields.build();
      makeExtensionsImmutable();
    }
  }
  public static final com.google.protobuf.Descriptors.Descriptor
      getDescriptor() {
    return io.grasscutter.net.proto.define.Define.internal_static_SceneGadgetInfo_descriptor;
  }

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

  private int contentCase_ = 0;
  private java.lang.Object content_;
  public enum ContentCase
      implements com.google.protobuf.Internal.EnumLite,
          com.google.protobuf.AbstractMessage.InternalOneOfEnum {
    BOSS_CHEST(20),
    SCREEN_INFO(48),
    BLOSSOM_CHEST(41),
    SHELL_INFO(47),
    WEATHER(17),
    ABILITY_GADGET(18),
    CLIENT_GADGET(15),
    COIN_COLLECT_OPERATOR_INFO(64),
    GATHER_GADGET(13),
    ROGUELIKE_GADGET_INFO(61),
    OFFERING_INFO(44),
    NIGHT_CROW_GADGET_INFO(62),
    STATUE_GADGET(19),
    DESHRET_OBELISK_GADGET_INFO(63),
    FOUNDATION_INFO(45),
    WORKTOP(14),
    GENERAL_REWARD(43),
    VEHICLE_INFO(46),
    FISH_POOL_INFO(59),
    MP_PLAY_REWARD(42),
    TRIFLE_GADGET(67),
    CUSTOM_GADGET_TREE_INFO(60),
    CONTENT_NOT_SET(0);
    private final int value;
    private ContentCase(int value) {
      this.value = value;
    }
    /**
     * @param value The number of the enum to look for.
     * @return The enum associated with the given number.
     * @deprecated Use {@link #forNumber(int)} instead.
     */
    @java.lang.Deprecated
    public static ContentCase valueOf(int value) {
      return forNumber(value);
    }

    public static ContentCase forNumber(int value) {
      switch (value) {
        case 20: return BOSS_CHEST;
        case 48: return SCREEN_INFO;
        case 41: return BLOSSOM_CHEST;
        case 47: return SHELL_INFO;
        case 17: return WEATHER;
        case 18: return ABILITY_GADGET;
        case 15: return CLIENT_GADGET;
        case 64: return COIN_COLLECT_OPERATOR_INFO;
        case 13: return GATHER_GADGET;
        case 61: return ROGUELIKE_GADGET_INFO;
        case 44: return OFFERING_INFO;
        case 62: return NIGHT_CROW_GADGET_INFO;
        case 19: return STATUE_GADGET;
        case 63: return DESHRET_OBELISK_GADGET_INFO;
        case 45: return FOUNDATION_INFO;
        case 14: return WORKTOP;
        case 43: return GENERAL_REWARD;
        case 46: return VEHICLE_INFO;
        case 59: return FISH_POOL_INFO;
        case 42: return MP_PLAY_REWARD;
        case 67: return TRIFLE_GADGET;
        case 60: return CUSTOM_GADGET_TREE_INFO;
        case 0: return CONTENT_NOT_SET;
        default: return null;
      }
    }
    public int getNumber() {
      return this.value;
    }
  };

  public ContentCase
  getContentCase() {
    return ContentCase.forNumber(
        contentCase_);
  }

  public static final int PLATFORM_FIELD_NUMBER = 23;
  private io.grasscutter.net.proto.define.PlatformInfo platform_;
  /**
   * <code>.PlatformInfo platform = 23;</code>
   * @return Whether the platform field is set.
   */
  @java.lang.Override
  public boolean hasPlatform() {
    return platform_ != null;
  }
  /**
   * <code>.PlatformInfo platform = 23;</code>
   * @return The platform.
   */
  @java.lang.Override
  public io.grasscutter.net.proto.define.PlatformInfo getPlatform() {
    return platform_ == null ? io.grasscutter.net.proto.define.PlatformInfo.getDefaultInstance() : platform_;
  }
  /**
   * <code>.PlatformInfo platform = 23;</code>
   */
  @java.lang.Override
  public io.grasscutter.net.proto.define.PlatformInfoOrBuilder getPlatformOrBuilder() {
    return getPlatform();
  }

  public static final int AFFIX_LIST_FIELD_NUMBER = 29;
  private com.google.protobuf.Internal.IntList affixList_;
  /**
   * <code>repeated uint32 affix_list = 29;</code>
   * @return A list containing the affixList.
   */
  @java.lang.Override
  public java.util.List<java.lang.Integer>
      getAffixListList() {
    return affixList_;
  }
  /**
   * <code>repeated uint32 affix_list = 29;</code>
   * @return The count of affixList.
   */
  public int getAffixListCount() {
    return affixList_.size();
  }
  /**
   * <code>repeated uint32 affix_list = 29;</code>
   * @param index The index of the element to return.
   * @return The affixList at the given index.
   */
  public int getAffixList(int index) {
    return affixList_.getInt(index);
  }
  private int affixListMemoizedSerializedSize = -1;

  public static final int EJEHOGBGBIJ_FIELD_NUMBER = 102;
  private io.grasscutter.net.proto.define.JNOLLBCHCNH eJEHOGBGBIJ_;
  /**
   * <code>.JNOLLBCHCNH EJEHOGBGBIJ = 102;</code>
   * @return Whether the eJEHOGBGBIJ field is set.
   */
  @java.lang.Override
  public boolean hasEJEHOGBGBIJ() {
    return eJEHOGBGBIJ_ != null;
  }
  /**
   * <code>.JNOLLBCHCNH EJEHOGBGBIJ = 102;</code>
   * @return The eJEHOGBGBIJ.
   */
  @java.lang.Override
  public io.grasscutter.net.proto.define.JNOLLBCHCNH getEJEHOGBGBIJ() {
    return eJEHOGBGBIJ_ == null ? io.grasscutter.net.proto.define.JNOLLBCHCNH.getDefaultInstance() : eJEHOGBGBIJ_;
  }
  /**
   * <code>.JNOLLBCHCNH EJEHOGBGBIJ = 102;</code>
   */
  @java.lang.Override
  public io.grasscutter.net.proto.define.JNOLLBCHCNHOrBuilder getEJEHOGBGBIJOrBuilder() {
    return getEJEHOGBGBIJ();
  }

  public static final int INTERACT_UID_LIST_FIELD_NUMBER = 24;
  private com.google.protobuf.Internal.IntList interactUidList_;
  /**
   * <code>repeated uint32 interact_uid_list = 24;</code>
   * @return A list containing the interactUidList.
   */
  @java.lang.Override
  public java.util.List<java.lang.Integer>
      getInteractUidListList() {
    return interactUidList_;
  }
  /**
   * <code>repeated uint32 interact_uid_list = 24;</code>
   * @return The count of interactUidList.
   */
  public int getInteractUidListCount() {
    return interactUidList_.size();
  }
  /**
   * <code>repeated uint32 interact_uid_list = 24;</code>
   * @param index The index of the element to return.
   * @return The interactUidList at the given index.
   */
  public int getInteractUidList(int index) {
    return interactUidList_.getInt(index);
  }
  private int interactUidListMemoizedSerializedSize = -1;

  public static final int PLAY_INFO_FIELD_NUMBER = 100;
  private io.grasscutter.net.proto.define.GadgetPlayInfo playInfo_;
  /**
   * <code>.GadgetPlayInfo play_info = 100;</code>
   * @return Whether the playInfo field is set.
   */
  @java.lang.Override
  public boolean hasPlayInfo() {
    return playInfo_ != null;
  }
  /**
   * <code>.GadgetPlayInfo play_info = 100;</code>
   * @return The playInfo.
   */
  @java.lang.Override
  public io.grasscutter.net.proto.define.GadgetPlayInfo getPlayInfo() {
    return playInfo_ == null ? io.grasscutter.net.proto.define.GadgetPlayInfo.getDefaultInstance() : playInfo_;
  }
  /**
   * <code>.GadgetPlayInfo play_info = 100;</code>
   */
  @java.lang.Override
  public io.grasscutter.net.proto.define.GadgetPlayInfoOrBuilder getPlayInfoOrBuilder() {
    return getPlayInfo();
  }

  public static final int NAJIKMLHPFB_FIELD_NUMBER = 101;
  private io.grasscutter.net.proto.define.PDDFKAKPAPF nAJIKMLHPFB_;
  /**
   * <code>.PDDFKAKPAPF NAJIKMLHPFB = 101;</code>
   * @return Whether the nAJIKMLHPFB field is set.
   */
  @java.lang.Override
  public boolean hasNAJIKMLHPFB() {
    return nAJIKMLHPFB_ != null;
  }
  /**
   * <code>.PDDFKAKPAPF NAJIKMLHPFB = 101;</code>
   * @return The nAJIKMLHPFB.
   */
  @java.lang.Override
  public io.grasscutter.net.proto.define.PDDFKAKPAPF getNAJIKMLHPFB() {
    return nAJIKMLHPFB_ == null ? io.grasscutter.net.proto.define.PDDFKAKPAPF.getDefaultInstance() : nAJIKMLHPFB_;
  }
  /**
   * <code>.PDDFKAKPAPF NAJIKMLHPFB = 101;</code>
   */
  @java.lang.Override
  public io.grasscutter.net.proto.define.PDDFKAKPAPFOrBuilder getNAJIKMLHPFBOrBuilder() {
    return getNAJIKMLHPFB();
  }

  public static final int KLPMJCFGNPI_FIELD_NUMBER = 103;
  private io.grasscutter.net.proto.define.BDIMCFFEKON kLPMJCFGNPI_;
  /**
   * <code>.BDIMCFFEKON KLPMJCFGNPI = 103;</code>
   * @return Whether the kLPMJCFGNPI field is set.
   */
  @java.lang.Override
  public boolean hasKLPMJCFGNPI() {
    return kLPMJCFGNPI_ != null;
  }
  /**
   * <code>.BDIMCFFEKON KLPMJCFGNPI = 103;</code>
   * @return The kLPMJCFGNPI.
   */
  @java.lang.Override
  public io.grasscutter.net.proto.define.BDIMCFFEKON getKLPMJCFGNPI() {
    return kLPMJCFGNPI_ == null ? io.grasscutter.net.proto.define.BDIMCFFEKON.getDefaultInstance() : kLPMJCFGNPI_;
  }
  /**
   * <code>.BDIMCFFEKON KLPMJCFGNPI = 103;</code>
   */
  @java.lang.Override
  public io.grasscutter.net.proto.define.BDIMCFFEKONOrBuilder getKLPMJCFGNPIOrBuilder() {
    return getKLPMJCFGNPI();
  }

  public static final int JIOIGFOFFFF_FIELD_NUMBER = 27;
  private io.grasscutter.net.proto.define.DKIBLFIGLAP jIOIGFOFFFF_;
  /**
   * <code>.DKIBLFIGLAP JIOIGFOFFFF = 27;</code>
   * @return Whether the jIOIGFOFFFF field is set.
   */
  @java.lang.Override
  public boolean hasJIOIGFOFFFF() {
    return jIOIGFOFFFF_ != null;
  }
  /**
   * <code>.DKIBLFIGLAP JIOIGFOFFFF = 27;</code>
   * @return The jIOIGFOFFFF.
   */
  @java.lang.Override
  public io.grasscutter.net.proto.define.DKIBLFIGLAP getJIOIGFOFFFF() {
    return jIOIGFOFFFF_ == null ? io.grasscutter.net.proto.define.DKIBLFIGLAP.getDefaultInstance() : jIOIGFOFFFF_;
  }
  /**
   * <code>.DKIBLFIGLAP JIOIGFOFFFF = 27;</code>
   */
  @java.lang.Override
  public io.grasscutter.net.proto.define.DKIBLFIGLAPOrBuilder getJIOIGFOFFFFOrBuilder() {
    return getJIOIGFOFFFF();
  }

  public static final int PROP_OWNER_ENTITY_ID_FIELD_NUMBER = 22;
  private int propOwnerEntityId_;
  /**
   * <code>uint32 prop_owner_entity_id = 22;</code>
   * @return The propOwnerEntityId.
   */
  @java.lang.Override
  public int getPropOwnerEntityId() {
    return propOwnerEntityId_;
  }

  public static final int IS_ENABLE_INTERACT_FIELD_NUMBER = 10;
  private boolean isEnableInteract_;
  /**
   * <code>bool is_enable_interact = 10;</code>
   * @return The isEnableInteract.
   */
  @java.lang.Override
  public boolean getIsEnableInteract() {
    return isEnableInteract_;
  }

  public static final int IS_SHOW_CUTSCENE_FIELD_NUMBER = 8;
  private boolean isShowCutscene_;
  /**
   * <code>bool is_show_cutscene = 8;</code>
   * @return The isShowCutscene.
   */
  @java.lang.Override
  public boolean getIsShowCutscene() {
    return isShowCutscene_;
  }

  public static final int AUTHORITY_PEER_ID_FIELD_NUMBER = 9;
  private int authorityPeerId_;
  /**
   * <code>uint32 authority_peer_id = 9;</code>
   * @return The authorityPeerId.
   */
  @java.lang.Override
  public int getAuthorityPeerId() {
    return authorityPeerId_;
  }

  public static final int DRAFT_ID_FIELD_NUMBER = 25;
  private int draftId_;
  /**
   * <code>uint32 draft_id = 25;</code>
   * @return The draftId.
   */
  @java.lang.Override
  public int getDraftId() {
    return draftId_;
  }

  public static final int GADGET_TALK_STATE_FIELD_NUMBER = 26;
  private int gadgetTalkState_;
  /**
   * <code>uint32 gadget_talk_state = 26;</code>
   * @return The gadgetTalkState.
   */
  @java.lang.Override
  public int getGadgetTalkState() {
    return gadgetTalkState_;
  }

  public static final int CONFIG_ID_FIELD_NUMBER = 3;
  private int configId_;
  /**
   * <code>uint32 config_id = 3;</code>
   * @return The configId.
   */
  @java.lang.Override
  public int getConfigId() {
    return configId_;
  }

  public static final int GADGET_ID_FIELD_NUMBER = 1;
  private int gadgetId_;
  /**
   * <code>uint32 gadget_id = 1;</code>
   * @return The gadgetId.
   */
  @java.lang.Override
  public int getGadgetId() {
    return gadgetId_;
  }

  public static final int OWNER_ENTITY_ID_FIELD_NUMBER = 4;
  private int ownerEntityId_;
  /**
   * <code>uint32 owner_entity_id = 4;</code>
   * @return The ownerEntityId.
   */
  @java.lang.Override
  public int getOwnerEntityId() {
    return ownerEntityId_;
  }

  public static final int CAMP_TYPE_FIELD_NUMBER = 28;
  private int campType_;
  /**
   * <code>uint32 camp_type = 28;</code>
   * @return The campType.
   */
  @java.lang.Override
  public int getCampType() {
    return campType_;
  }

  public static final int MARK_FLAG_FIELD_NUMBER = 21;
  private int markFlag_;
  /**
   * <code>uint32 mark_flag = 21;</code>
   * @return The markFlag.
   */
  @java.lang.Override
  public int getMarkFlag() {
    return markFlag_;
  }

  public static final int BORN_TYPE_FIELD_NUMBER = 5;
  private int bornType_;
  /**
   * <code>.GadgetBornType born_type = 5;</code>
   * @return The enum numeric value on the wire for bornType.
   */
  @java.lang.Override public int getBornTypeValue() {
    return bornType_;
  }
  /**
   * <code>.GadgetBornType born_type = 5;</code>
   * @return The bornType.
   */
  @java.lang.Override public io.grasscutter.net.proto.define.GadgetBornType getBornType() {
    @SuppressWarnings("deprecation")
    io.grasscutter.net.proto.define.GadgetBornType result = io.grasscutter.net.proto.define.GadgetBornType.valueOf(bornType_);
    return result == null ? io.grasscutter.net.proto.define.GadgetBornType.UNRECOGNIZED : result;
  }

  public static final int GADGET_TYPE_FIELD_NUMBER = 7;
  private int gadgetType_;
  /**
   * <code>uint32 gadget_type = 7;</code>
   * @return The gadgetType.
   */
  @java.lang.Override
  public int getGadgetType() {
    return gadgetType_;
  }

  public static final int INTERACT_ID_FIELD_NUMBER = 11;
  private int interactId_;
  /**
   * <code>uint32 interact_id = 11;</code>
   * @return The interactId.
   */
  @java.lang.Override
  public int getInteractId() {
    return interactId_;
  }

  public static final int GROUP_ID_FIELD_NUMBER = 2;
  private int groupId_;
  /**
   * <code>uint32 group_id = 2;</code>
   * @return The groupId.
   */
  @java.lang.Override
  public int getGroupId() {
    return groupId_;
  }

  public static final int BOSS_CHEST_FIELD_NUMBER = 20;
  /**
   * <code>.BossChestInfo boss_chest = 20;</code>
   * @return Whether the bossChest field is set.
   */
  @java.lang.Override
  public boolean hasBossChest() {
    return contentCase_ == 20;
  }
  /**
   * <code>.BossChestInfo boss_chest = 20;</code>
   * @return The bossChest.
   */
  @java.lang.Override
  public io.grasscutter.net.proto.define.BossChestInfo getBossChest() {
    if (contentCase_ == 20) {
       return (io.grasscutter.net.proto.define.BossChestInfo) content_;
    }
    return io.grasscutter.net.proto.define.BossChestInfo.getDefaultInstance();
  }
  /**
   * <code>.BossChestInfo boss_chest = 20;</code>
   */
  @java.lang.Override
  public io.grasscutter.net.proto.define.BossChestInfoOrBuilder getBossChestOrBuilder() {
    if (contentCase_ == 20) {
       return (io.grasscutter.net.proto.define.BossChestInfo) content_;
    }
    return io.grasscutter.net.proto.define.BossChestInfo.getDefaultInstance();
  }

  public static final int SCREEN_INFO_FIELD_NUMBER = 48;
  /**
   * <code>.ScreenInfo screen_info = 48;</code>
   * @return Whether the screenInfo field is set.
   */
  @java.lang.Override
  public boolean hasScreenInfo() {
    return contentCase_ == 48;
  }
  /**
   * <code>.ScreenInfo screen_info = 48;</code>
   * @return The screenInfo.
   */
  @java.lang.Override
  public io.grasscutter.net.proto.define.ScreenInfo getScreenInfo() {
    if (contentCase_ == 48) {
       return (io.grasscutter.net.proto.define.ScreenInfo) content_;
    }
    return io.grasscutter.net.proto.define.ScreenInfo.getDefaultInstance();
  }
  /**
   * <code>.ScreenInfo screen_info = 48;</code>
   */
  @java.lang.Override
  public io.grasscutter.net.proto.define.ScreenInfoOrBuilder getScreenInfoOrBuilder() {
    if (contentCase_ == 48) {
       return (io.grasscutter.net.proto.define.ScreenInfo) content_;
    }
    return io.grasscutter.net.proto.define.ScreenInfo.getDefaultInstance();
  }

  public static final int BLOSSOM_CHEST_FIELD_NUMBER = 41;
  /**
   * <code>.BlossomChestInfo blossom_chest = 41;</code>
   * @return Whether the blossomChest field is set.
   */
  @java.lang.Override
  public boolean hasBlossomChest() {
    return contentCase_ == 41;
  }
  /**
   * <code>.BlossomChestInfo blossom_chest = 41;</code>
   * @return The blossomChest.
   */
  @java.lang.Override
  public io.grasscutter.net.proto.define.BlossomChestInfo getBlossomChest() {
    if (contentCase_ == 41) {
       return (io.grasscutter.net.proto.define.BlossomChestInfo) content_;
    }
    return io.grasscutter.net.proto.define.BlossomChestInfo.getDefaultInstance();
  }
  /**
   * <code>.BlossomChestInfo blossom_chest = 41;</code>
   */
  @java.lang.Override
  public io.grasscutter.net.proto.define.BlossomChestInfoOrBuilder getBlossomChestOrBuilder() {
    if (contentCase_ == 41) {
       return (io.grasscutter.net.proto.define.BlossomChestInfo) content_;
    }
    return io.grasscutter.net.proto.define.BlossomChestInfo.getDefaultInstance();
  }

  public static final int SHELL_INFO_FIELD_NUMBER = 47;
  /**
   * <code>.IKNFOPHBEDP shell_info = 47;</code>
   * @return Whether the shellInfo field is set.
   */
  @java.lang.Override
  public boolean hasShellInfo() {
    return contentCase_ == 47;
  }
  /**
   * <code>.IKNFOPHBEDP shell_info = 47;</code>
   * @return The shellInfo.
   */
  @java.lang.Override
  public io.grasscutter.net.proto.define.IKNFOPHBEDP getShellInfo() {
    if (contentCase_ == 47) {
       return (io.grasscutter.net.proto.define.IKNFOPHBEDP) content_;
    }
    return io.grasscutter.net.proto.define.IKNFOPHBEDP.getDefaultInstance();
  }
  /**
   * <code>.IKNFOPHBEDP shell_info = 47;</code>
   */
  @java.lang.Override
  public io.grasscutter.net.proto.define.IKNFOPHBEDPOrBuilder getShellInfoOrBuilder() {
    if (contentCase_ == 47) {
       return (io.grasscutter.net.proto.define.IKNFOPHBEDP) content_;
    }
    return io.grasscutter.net.proto.define.IKNFOPHBEDP.getDefaultInstance();
  }

  public static final int WEATHER_FIELD_NUMBER = 17;
  /**
   * <code>.DDAJIEEALEI weather = 17;</code>
   * @return Whether the weather field is set.
   */
  @java.lang.Override
  public boolean hasWeather() {
    return contentCase_ == 17;
  }
  /**
   * <code>.DDAJIEEALEI weather = 17;</code>
   * @return The weather.
   */
  @java.lang.Override
  public io.grasscutter.net.proto.define.DDAJIEEALEI getWeather() {
    if (contentCase_ == 17) {
       return (io.grasscutter.net.proto.define.DDAJIEEALEI) content_;
    }
    return io.grasscutter.net.proto.define.DDAJIEEALEI.getDefaultInstance();
  }
  /**
   * <code>.DDAJIEEALEI weather = 17;</code>
   */
  @java.lang.Override
  public io.grasscutter.net.proto.define.DDAJIEEALEIOrBuilder getWeatherOrBuilder() {
    if (contentCase_ == 17) {
       return (io.grasscutter.net.proto.define.DDAJIEEALEI) content_;
    }
    return io.grasscutter.net.proto.define.DDAJIEEALEI.getDefaultInstance();
  }

  public static final int ABILITY_GADGET_FIELD_NUMBER = 18;
  /**
   * <code>.MAGGMEBGLAL ability_gadget = 18;</code>
   * @return Whether the abilityGadget field is set.
   */
  @java.lang.Override
  public boolean hasAbilityGadget() {
    return contentCase_ == 18;
  }
  /**
   * <code>.MAGGMEBGLAL ability_gadget = 18;</code>
   * @return The abilityGadget.
   */
  @java.lang.Override
  public io.grasscutter.net.proto.define.MAGGMEBGLAL getAbilityGadget() {
    if (contentCase_ == 18) {
       return (io.grasscutter.net.proto.define.MAGGMEBGLAL) content_;
    }
    return io.grasscutter.net.proto.define.MAGGMEBGLAL.getDefaultInstance();
  }
  /**
   * <code>.MAGGMEBGLAL ability_gadget = 18;</code>
   */
  @java.lang.Override
  public io.grasscutter.net.proto.define.MAGGMEBGLALOrBuilder getAbilityGadgetOrBuilder() {
    if (contentCase_ == 18) {
       return (io.grasscutter.net.proto.define.MAGGMEBGLAL) content_;
    }
    return io.grasscutter.net.proto.define.MAGGMEBGLAL.getDefaultInstance();
  }

  public static final int CLIENT_GADGET_FIELD_NUMBER = 15;
  /**
   * <code>.HENGHIEEKGJ client_gadget = 15;</code>
   * @return Whether the clientGadget field is set.
   */
  @java.lang.Override
  public boolean hasClientGadget() {
    return contentCase_ == 15;
  }
  /**
   * <code>.HENGHIEEKGJ client_gadget = 15;</code>
   * @return The clientGadget.
   */
  @java.lang.Override
  public io.grasscutter.net.proto.define.HENGHIEEKGJ getClientGadget() {
    if (contentCase_ == 15) {
       return (io.grasscutter.net.proto.define.HENGHIEEKGJ) content_;
    }
    return io.grasscutter.net.proto.define.HENGHIEEKGJ.getDefaultInstance();
  }
  /**
   * <code>.HENGHIEEKGJ client_gadget = 15;</code>
   */
  @java.lang.Override
  public io.grasscutter.net.proto.define.HENGHIEEKGJOrBuilder getClientGadgetOrBuilder() {
    if (contentCase_ == 15) {
       return (io.grasscutter.net.proto.define.HENGHIEEKGJ) content_;
    }
    return io.grasscutter.net.proto.define.HENGHIEEKGJ.getDefaultInstance();
  }

  public static final int COIN_COLLECT_OPERATOR_INFO_FIELD_NUMBER = 64;
  /**
   * <code>.GHFMHHGBENE coin_collect_operator_info = 64;</code>
   * @return Whether the coinCollectOperatorInfo field is set.
   */
  @java.lang.Override
  public boolean hasCoinCollectOperatorInfo() {
    return contentCase_ == 64;
  }
  /**
   * <code>.GHFMHHGBENE coin_collect_operator_info = 64;</code>
   * @return The coinCollectOperatorInfo.
   */
  @java.lang.Override
  public io.grasscutter.net.proto.define.GHFMHHGBENE getCoinCollectOperatorInfo() {
    if (contentCase_ == 64) {
       return (io.grasscutter.net.proto.define.GHFMHHGBENE) content_;
    }
    return io.grasscutter.net.proto.define.GHFMHHGBENE.getDefaultInstance();
  }
  /**
   * <code>.GHFMHHGBENE coin_collect_operator_info = 64;</code>
   */
  @java.lang.Override
  public io.grasscutter.net.proto.define.GHFMHHGBENEOrBuilder getCoinCollectOperatorInfoOrBuilder() {
    if (contentCase_ == 64) {
       return (io.grasscutter.net.proto.define.GHFMHHGBENE) content_;
    }
    return io.grasscutter.net.proto.define.GHFMHHGBENE.getDefaultInstance();
  }

  public static final int GATHER_GADGET_FIELD_NUMBER = 13;
  /**
   * <code>.GatherGadgetInfo gather_gadget = 13;</code>
   * @return Whether the gatherGadget field is set.
   */
  @java.lang.Override
  public boolean hasGatherGadget() {
    return contentCase_ == 13;
  }
  /**
   * <code>.GatherGadgetInfo gather_gadget = 13;</code>
   * @return The gatherGadget.
   */
  @java.lang.Override
  public io.grasscutter.net.proto.define.GatherGadgetInfo getGatherGadget() {
    if (contentCase_ == 13) {
       return (io.grasscutter.net.proto.define.GatherGadgetInfo) content_;
    }
    return io.grasscutter.net.proto.define.GatherGadgetInfo.getDefaultInstance();
  }
  /**
   * <code>.GatherGadgetInfo gather_gadget = 13;</code>
   */
  @java.lang.Override
  public io.grasscutter.net.proto.define.GatherGadgetInfoOrBuilder getGatherGadgetOrBuilder() {
    if (contentCase_ == 13) {
       return (io.grasscutter.net.proto.define.GatherGadgetInfo) content_;
    }
    return io.grasscutter.net.proto.define.GatherGadgetInfo.getDefaultInstance();
  }

  public static final int ROGUELIKE_GADGET_INFO_FIELD_NUMBER = 61;
  /**
   * <code>.RoguelikeGadgetInfo roguelike_gadget_info = 61;</code>
   * @return Whether the roguelikeGadgetInfo field is set.
   */
  @java.lang.Override
  public boolean hasRoguelikeGadgetInfo() {
    return contentCase_ == 61;
  }
  /**
   * <code>.RoguelikeGadgetInfo roguelike_gadget_info = 61;</code>
   * @return The roguelikeGadgetInfo.
   */
  @java.lang.Override
  public io.grasscutter.net.proto.define.RoguelikeGadgetInfo getRoguelikeGadgetInfo() {
    if (contentCase_ == 61) {
       return (io.grasscutter.net.proto.define.RoguelikeGadgetInfo) content_;
    }
    return io.grasscutter.net.proto.define.RoguelikeGadgetInfo.getDefaultInstance();
  }
  /**
   * <code>.RoguelikeGadgetInfo roguelike_gadget_info = 61;</code>
   */
  @java.lang.Override
  public io.grasscutter.net.proto.define.RoguelikeGadgetInfoOrBuilder getRoguelikeGadgetInfoOrBuilder() {
    if (contentCase_ == 61) {
       return (io.grasscutter.net.proto.define.RoguelikeGadgetInfo) content_;
    }
    return io.grasscutter.net.proto.define.RoguelikeGadgetInfo.getDefaultInstance();
  }

  public static final int OFFERING_INFO_FIELD_NUMBER = 44;
  /**
   * <code>.GIFDGFMGKOL offering_info = 44;</code>
   * @return Whether the offeringInfo field is set.
   */
  @java.lang.Override
  public boolean hasOfferingInfo() {
    return contentCase_ == 44;
  }
  /**
   * <code>.GIFDGFMGKOL offering_info = 44;</code>
   * @return The offeringInfo.
   */
  @java.lang.Override
  public io.grasscutter.net.proto.define.GIFDGFMGKOL getOfferingInfo() {
    if (contentCase_ == 44) {
       return (io.grasscutter.net.proto.define.GIFDGFMGKOL) content_;
    }
    return io.grasscutter.net.proto.define.GIFDGFMGKOL.getDefaultInstance();
  }
  /**
   * <code>.GIFDGFMGKOL offering_info = 44;</code>
   */
  @java.lang.Override
  public io.grasscutter.net.proto.define.GIFDGFMGKOLOrBuilder getOfferingInfoOrBuilder() {
    if (contentCase_ == 44) {
       return (io.grasscutter.net.proto.define.GIFDGFMGKOL) content_;
    }
    return io.grasscutter.net.proto.define.GIFDGFMGKOL.getDefaultInstance();
  }

  public static final int NIGHT_CROW_GADGET_INFO_FIELD_NUMBER = 62;
  /**
   * <code>.FELOLBOAKFD night_crow_gadget_info = 62;</code>
   * @return Whether the nightCrowGadgetInfo field is set.
   */
  @java.lang.Override
  public boolean hasNightCrowGadgetInfo() {
    return contentCase_ == 62;
  }
  /**
   * <code>.FELOLBOAKFD night_crow_gadget_info = 62;</code>
   * @return The nightCrowGadgetInfo.
   */
  @java.lang.Override
  public io.grasscutter.net.proto.define.FELOLBOAKFD getNightCrowGadgetInfo() {
    if (contentCase_ == 62) {
       return (io.grasscutter.net.proto.define.FELOLBOAKFD) content_;
    }
    return io.grasscutter.net.proto.define.FELOLBOAKFD.getDefaultInstance();
  }
  /**
   * <code>.FELOLBOAKFD night_crow_gadget_info = 62;</code>
   */
  @java.lang.Override
  public io.grasscutter.net.proto.define.FELOLBOAKFDOrBuilder getNightCrowGadgetInfoOrBuilder() {
    if (contentCase_ == 62) {
       return (io.grasscutter.net.proto.define.FELOLBOAKFD) content_;
    }
    return io.grasscutter.net.proto.define.FELOLBOAKFD.getDefaultInstance();
  }

  public static final int STATUE_GADGET_FIELD_NUMBER = 19;
  /**
   * <code>.MOOKABDAJLO statue_gadget = 19;</code>
   * @return Whether the statueGadget field is set.
   */
  @java.lang.Override
  public boolean hasStatueGadget() {
    return contentCase_ == 19;
  }
  /**
   * <code>.MOOKABDAJLO statue_gadget = 19;</code>
   * @return The statueGadget.
   */
  @java.lang.Override
  public io.grasscutter.net.proto.define.MOOKABDAJLO getStatueGadget() {
    if (contentCase_ == 19) {
       return (io.grasscutter.net.proto.define.MOOKABDAJLO) content_;
    }
    return io.grasscutter.net.proto.define.MOOKABDAJLO.getDefaultInstance();
  }
  /**
   * <code>.MOOKABDAJLO statue_gadget = 19;</code>
   */
  @java.lang.Override
  public io.grasscutter.net.proto.define.MOOKABDAJLOOrBuilder getStatueGadgetOrBuilder() {
    if (contentCase_ == 19) {
       return (io.grasscutter.net.proto.define.MOOKABDAJLO) content_;
    }
    return io.grasscutter.net.proto.define.MOOKABDAJLO.getDefaultInstance();
  }

  public static final int DESHRET_OBELISK_GADGET_INFO_FIELD_NUMBER = 63;
  /**
   * <code>.CDJBCFJMBAK deshret_obelisk_gadget_info = 63;</code>
   * @return Whether the deshretObeliskGadgetInfo field is set.
   */
  @java.lang.Override
  public boolean hasDeshretObeliskGadgetInfo() {
    return contentCase_ == 63;
  }
  /**
   * <code>.CDJBCFJMBAK deshret_obelisk_gadget_info = 63;</code>
   * @return The deshretObeliskGadgetInfo.
   */
  @java.lang.Override
  public io.grasscutter.net.proto.define.CDJBCFJMBAK getDeshretObeliskGadgetInfo() {
    if (contentCase_ == 63) {
       return (io.grasscutter.net.proto.define.CDJBCFJMBAK) content_;
    }
    return io.grasscutter.net.proto.define.CDJBCFJMBAK.getDefaultInstance();
  }
  /**
   * <code>.CDJBCFJMBAK deshret_obelisk_gadget_info = 63;</code>
   */
  @java.lang.Override
  public io.grasscutter.net.proto.define.CDJBCFJMBAKOrBuilder getDeshretObeliskGadgetInfoOrBuilder() {
    if (contentCase_ == 63) {
       return (io.grasscutter.net.proto.define.CDJBCFJMBAK) content_;
    }
    return io.grasscutter.net.proto.define.CDJBCFJMBAK.getDefaultInstance();
  }

  public static final int FOUNDATION_INFO_FIELD_NUMBER = 45;
  /**
   * <code>.FoundationInfo foundation_info = 45;</code>
   * @return Whether the foundationInfo field is set.
   */
  @java.lang.Override
  public boolean hasFoundationInfo() {
    return contentCase_ == 45;
  }
  /**
   * <code>.FoundationInfo foundation_info = 45;</code>
   * @return The foundationInfo.
   */
  @java.lang.Override
  public io.grasscutter.net.proto.define.FoundationInfo getFoundationInfo() {
    if (contentCase_ == 45) {
       return (io.grasscutter.net.proto.define.FoundationInfo) content_;
    }
    return io.grasscutter.net.proto.define.FoundationInfo.getDefaultInstance();
  }
  /**
   * <code>.FoundationInfo foundation_info = 45;</code>
   */
  @java.lang.Override
  public io.grasscutter.net.proto.define.FoundationInfoOrBuilder getFoundationInfoOrBuilder() {
    if (contentCase_ == 45) {
       return (io.grasscutter.net.proto.define.FoundationInfo) content_;
    }
    return io.grasscutter.net.proto.define.FoundationInfo.getDefaultInstance();
  }

  public static final int WORKTOP_FIELD_NUMBER = 14;
  /**
   * <code>.WorktopInfo worktop = 14;</code>
   * @return Whether the worktop field is set.
   */
  @java.lang.Override
  public boolean hasWorktop() {
    return contentCase_ == 14;
  }
  /**
   * <code>.WorktopInfo worktop = 14;</code>
   * @return The worktop.
   */
  @java.lang.Override
  public io.grasscutter.net.proto.define.WorktopInfo getWorktop() {
    if (contentCase_ == 14) {
       return (io.grasscutter.net.proto.define.WorktopInfo) content_;
    }
    return io.grasscutter.net.proto.define.WorktopInfo.getDefaultInstance();
  }
  /**
   * <code>.WorktopInfo worktop = 14;</code>
   */
  @java.lang.Override
  public io.grasscutter.net.proto.define.WorktopInfoOrBuilder getWorktopOrBuilder() {
    if (contentCase_ == 14) {
       return (io.grasscutter.net.proto.define.WorktopInfo) content_;
    }
    return io.grasscutter.net.proto.define.WorktopInfo.getDefaultInstance();
  }

  public static final int GENERAL_REWARD_FIELD_NUMBER = 43;
  /**
   * <code>.GadgetGeneralRewardInfo general_reward = 43;</code>
   * @return Whether the generalReward field is set.
   */
  @java.lang.Override
  public boolean hasGeneralReward() {
    return contentCase_ == 43;
  }
  /**
   * <code>.GadgetGeneralRewardInfo general_reward = 43;</code>
   * @return The generalReward.
   */
  @java.lang.Override
  public io.grasscutter.net.proto.define.GadgetGeneralRewardInfo getGeneralReward() {
    if (contentCase_ == 43) {
       return (io.grasscutter.net.proto.define.GadgetGeneralRewardInfo) content_;
    }
    return io.grasscutter.net.proto.define.GadgetGeneralRewardInfo.getDefaultInstance();
  }
  /**
   * <code>.GadgetGeneralRewardInfo general_reward = 43;</code>
   */
  @java.lang.Override
  public io.grasscutter.net.proto.define.GadgetGeneralRewardInfoOrBuilder getGeneralRewardOrBuilder() {
    if (contentCase_ == 43) {
       return (io.grasscutter.net.proto.define.GadgetGeneralRewardInfo) content_;
    }
    return io.grasscutter.net.proto.define.GadgetGeneralRewardInfo.getDefaultInstance();
  }

  public static final int VEHICLE_INFO_FIELD_NUMBER = 46;
  /**
   * <code>.FCHLLHGCMDC vehicle_info = 46;</code>
   * @return Whether the vehicleInfo field is set.
   */
  @java.lang.Override
  public boolean hasVehicleInfo() {
    return contentCase_ == 46;
  }
  /**
   * <code>.FCHLLHGCMDC vehicle_info = 46;</code>
   * @return The vehicleInfo.
   */
  @java.lang.Override
  public io.grasscutter.net.proto.define.FCHLLHGCMDC getVehicleInfo() {
    if (contentCase_ == 46) {
       return (io.grasscutter.net.proto.define.FCHLLHGCMDC) content_;
    }
    return io.grasscutter.net.proto.define.FCHLLHGCMDC.getDefaultInstance();
  }
  /**
   * <code>.FCHLLHGCMDC vehicle_info = 46;</code>
   */
  @java.lang.Override
  public io.grasscutter.net.proto.define.FCHLLHGCMDCOrBuilder getVehicleInfoOrBuilder() {
    if (contentCase_ == 46) {
       return (io.grasscutter.net.proto.define.FCHLLHGCMDC) content_;
    }
    return io.grasscutter.net.proto.define.FCHLLHGCMDC.getDefaultInstance();
  }

  public static final int FISH_POOL_INFO_FIELD_NUMBER = 59;
  /**
   * <code>.FishPoolInfo fish_pool_info = 59;</code>
   * @return Whether the fishPoolInfo field is set.
   */
  @java.lang.Override
  public boolean hasFishPoolInfo() {
    return contentCase_ == 59;
  }
  /**
   * <code>.FishPoolInfo fish_pool_info = 59;</code>
   * @return The fishPoolInfo.
   */
  @java.lang.Override
  public io.grasscutter.net.proto.define.FishPoolInfo getFishPoolInfo() {
    if (contentCase_ == 59) {
       return (io.grasscutter.net.proto.define.FishPoolInfo) content_;
    }
    return io.grasscutter.net.proto.define.FishPoolInfo.getDefaultInstance();
  }
  /**
   * <code>.FishPoolInfo fish_pool_info = 59;</code>
   */
  @java.lang.Override
  public io.grasscutter.net.proto.define.FishPoolInfoOrBuilder getFishPoolInfoOrBuilder() {
    if (contentCase_ == 59) {
       return (io.grasscutter.net.proto.define.FishPoolInfo) content_;
    }
    return io.grasscutter.net.proto.define.FishPoolInfo.getDefaultInstance();
  }

  public static final int MP_PLAY_REWARD_FIELD_NUMBER = 42;
  /**
   * <code>.MpPlayRewardInfo mp_play_reward = 42;</code>
   * @return Whether the mpPlayReward field is set.
   */
  @java.lang.Override
  public boolean hasMpPlayReward() {
    return contentCase_ == 42;
  }
  /**
   * <code>.MpPlayRewardInfo mp_play_reward = 42;</code>
   * @return The mpPlayReward.
   */
  @java.lang.Override
  public io.grasscutter.net.proto.define.MpPlayRewardInfo getMpPlayReward() {
    if (contentCase_ == 42) {
       return (io.grasscutter.net.proto.define.MpPlayRewardInfo) content_;
    }
    return io.grasscutter.net.proto.define.MpPlayRewardInfo.getDefaultInstance();
  }
  /**
   * <code>.MpPlayRewardInfo mp_play_reward = 42;</code>
   */
  @java.lang.Override
  public io.grasscutter.net.proto.define.MpPlayRewardInfoOrBuilder getMpPlayRewardOrBuilder() {
    if (contentCase_ == 42) {
       return (io.grasscutter.net.proto.define.MpPlayRewardInfo) content_;
    }
    return io.grasscutter.net.proto.define.MpPlayRewardInfo.getDefaultInstance();
  }

  public static final int TRIFLE_GADGET_FIELD_NUMBER = 67;
  /**
   * <code>.IACHJPIMDFA trifle_gadget = 67;</code>
   * @return Whether the trifleGadget field is set.
   */
  @java.lang.Override
  public boolean hasTrifleGadget() {
    return contentCase_ == 67;
  }
  /**
   * <code>.IACHJPIMDFA trifle_gadget = 67;</code>
   * @return The trifleGadget.
   */
  @java.lang.Override
  public io.grasscutter.net.proto.define.IACHJPIMDFA getTrifleGadget() {
    if (contentCase_ == 67) {
       return (io.grasscutter.net.proto.define.IACHJPIMDFA) content_;
    }
    return io.grasscutter.net.proto.define.IACHJPIMDFA.getDefaultInstance();
  }
  /**
   * <code>.IACHJPIMDFA trifle_gadget = 67;</code>
   */
  @java.lang.Override
  public io.grasscutter.net.proto.define.IACHJPIMDFAOrBuilder getTrifleGadgetOrBuilder() {
    if (contentCase_ == 67) {
       return (io.grasscutter.net.proto.define.IACHJPIMDFA) content_;
    }
    return io.grasscutter.net.proto.define.IACHJPIMDFA.getDefaultInstance();
  }

  public static final int CUSTOM_GADGET_TREE_INFO_FIELD_NUMBER = 60;
  /**
   * <code>.CustomGadgetTreeInfo custom_gadget_tree_info = 60;</code>
   * @return Whether the customGadgetTreeInfo field is set.
   */
  @java.lang.Override
  public boolean hasCustomGadgetTreeInfo() {
    return contentCase_ == 60;
  }
  /**
   * <code>.CustomGadgetTreeInfo custom_gadget_tree_info = 60;</code>
   * @return The customGadgetTreeInfo.
   */
  @java.lang.Override
  public io.grasscutter.net.proto.define.CustomGadgetTreeInfo getCustomGadgetTreeInfo() {
    if (contentCase_ == 60) {
       return (io.grasscutter.net.proto.define.CustomGadgetTreeInfo) content_;
    }
    return io.grasscutter.net.proto.define.CustomGadgetTreeInfo.getDefaultInstance();
  }
  /**
   * <code>.CustomGadgetTreeInfo custom_gadget_tree_info = 60;</code>
   */
  @java.lang.Override
  public io.grasscutter.net.proto.define.CustomGadgetTreeInfoOrBuilder getCustomGadgetTreeInfoOrBuilder() {
    if (contentCase_ == 60) {
       return (io.grasscutter.net.proto.define.CustomGadgetTreeInfo) content_;
    }
    return io.grasscutter.net.proto.define.CustomGadgetTreeInfo.getDefaultInstance();
  }

  public static final int GADGET_STATE_FIELD_NUMBER = 6;
  private int gadgetState_;
  /**
   * <code>uint32 gadget_state = 6;</code>
   * @return The gadgetState.
   */
  @java.lang.Override
  public int getGadgetState() {
    return gadgetState_;
  }

  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 (gadgetId_ != 0) {
      output.writeUInt32(1, gadgetId_);
    }
    if (groupId_ != 0) {
      output.writeUInt32(2, groupId_);
    }
    if (configId_ != 0) {
      output.writeUInt32(3, configId_);
    }
    if (ownerEntityId_ != 0) {
      output.writeUInt32(4, ownerEntityId_);
    }
    if (bornType_ != io.grasscutter.net.proto.define.GadgetBornType.GadgetBornType_GADGET_BORN_NONE.getNumber()) {
      output.writeEnum(5, bornType_);
    }
    if (gadgetState_ != 0) {
      output.writeUInt32(6, gadgetState_);
    }
    if (gadgetType_ != 0) {
      output.writeUInt32(7, gadgetType_);
    }
    if (isShowCutscene_ != false) {
      output.writeBool(8, isShowCutscene_);
    }
    if (authorityPeerId_ != 0) {
      output.writeUInt32(9, authorityPeerId_);
    }
    if (isEnableInteract_ != false) {
      output.writeBool(10, isEnableInteract_);
    }
    if (interactId_ != 0) {
      output.writeUInt32(11, interactId_);
    }
    if (contentCase_ == 13) {
      output.writeMessage(13, (io.grasscutter.net.proto.define.GatherGadgetInfo) content_);
    }
    if (contentCase_ == 14) {
      output.writeMessage(14, (io.grasscutter.net.proto.define.WorktopInfo) content_);
    }
    if (contentCase_ == 15) {
      output.writeMessage(15, (io.grasscutter.net.proto.define.HENGHIEEKGJ) content_);
    }
    if (contentCase_ == 17) {
      output.writeMessage(17, (io.grasscutter.net.proto.define.DDAJIEEALEI) content_);
    }
    if (contentCase_ == 18) {
      output.writeMessage(18, (io.grasscutter.net.proto.define.MAGGMEBGLAL) content_);
    }
    if (contentCase_ == 19) {
      output.writeMessage(19, (io.grasscutter.net.proto.define.MOOKABDAJLO) content_);
    }
    if (contentCase_ == 20) {
      output.writeMessage(20, (io.grasscutter.net.proto.define.BossChestInfo) content_);
    }
    if (markFlag_ != 0) {
      output.writeUInt32(21, markFlag_);
    }
    if (propOwnerEntityId_ != 0) {
      output.writeUInt32(22, propOwnerEntityId_);
    }
    if (platform_ != null) {
      output.writeMessage(23, getPlatform());
    }
    if (getInteractUidListList().size() > 0) {
      output.writeUInt32NoTag(194);
      output.writeUInt32NoTag(interactUidListMemoizedSerializedSize);
    }
    for (int i = 0; i < interactUidList_.size(); i++) {
      output.writeUInt32NoTag(interactUidList_.getInt(i));
    }
    if (draftId_ != 0) {
      output.writeUInt32(25, draftId_);
    }
    if (gadgetTalkState_ != 0) {
      output.writeUInt32(26, gadgetTalkState_);
    }
    if (jIOIGFOFFFF_ != null) {
      output.writeMessage(27, getJIOIGFOFFFF());
    }
    if (campType_ != 0) {
      output.writeUInt32(28, campType_);
    }
    if (getAffixListList().size() > 0) {
      output.writeUInt32NoTag(234);
      output.writeUInt32NoTag(affixListMemoizedSerializedSize);
    }
    for (int i = 0; i < affixList_.size(); i++) {
      output.writeUInt32NoTag(affixList_.getInt(i));
    }
    if (contentCase_ == 41) {
      output.writeMessage(41, (io.grasscutter.net.proto.define.BlossomChestInfo) content_);
    }
    if (contentCase_ == 42) {
      output.writeMessage(42, (io.grasscutter.net.proto.define.MpPlayRewardInfo) content_);
    }
    if (contentCase_ == 43) {
      output.writeMessage(43, (io.grasscutter.net.proto.define.GadgetGeneralRewardInfo) content_);
    }
    if (contentCase_ == 44) {
      output.writeMessage(44, (io.grasscutter.net.proto.define.GIFDGFMGKOL) content_);
    }
    if (contentCase_ == 45) {
      output.writeMessage(45, (io.grasscutter.net.proto.define.FoundationInfo) content_);
    }
    if (contentCase_ == 46) {
      output.writeMessage(46, (io.grasscutter.net.proto.define.FCHLLHGCMDC) content_);
    }
    if (contentCase_ == 47) {
      output.writeMessage(47, (io.grasscutter.net.proto.define.IKNFOPHBEDP) content_);
    }
    if (contentCase_ == 48) {
      output.writeMessage(48, (io.grasscutter.net.proto.define.ScreenInfo) content_);
    }
    if (contentCase_ == 59) {
      output.writeMessage(59, (io.grasscutter.net.proto.define.FishPoolInfo) content_);
    }
    if (contentCase_ == 60) {
      output.writeMessage(60, (io.grasscutter.net.proto.define.CustomGadgetTreeInfo) content_);
    }
    if (contentCase_ == 61) {
      output.writeMessage(61, (io.grasscutter.net.proto.define.RoguelikeGadgetInfo) content_);
    }
    if (contentCase_ == 62) {
      output.writeMessage(62, (io.grasscutter.net.proto.define.FELOLBOAKFD) content_);
    }
    if (contentCase_ == 63) {
      output.writeMessage(63, (io.grasscutter.net.proto.define.CDJBCFJMBAK) content_);
    }
    if (contentCase_ == 64) {
      output.writeMessage(64, (io.grasscutter.net.proto.define.GHFMHHGBENE) content_);
    }
    if (contentCase_ == 67) {
      output.writeMessage(67, (io.grasscutter.net.proto.define.IACHJPIMDFA) content_);
    }
    if (playInfo_ != null) {
      output.writeMessage(100, getPlayInfo());
    }
    if (nAJIKMLHPFB_ != null) {
      output.writeMessage(101, getNAJIKMLHPFB());
    }
    if (eJEHOGBGBIJ_ != null) {
      output.writeMessage(102, getEJEHOGBGBIJ());
    }
    if (kLPMJCFGNPI_ != null) {
      output.writeMessage(103, getKLPMJCFGNPI());
    }
    unknownFields.writeTo(output);
  }

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

    size = 0;
    if (gadgetId_ != 0) {
      size += com.google.protobuf.CodedOutputStream
        .computeUInt32Size(1, gadgetId_);
    }
    if (groupId_ != 0) {
      size += com.google.protobuf.CodedOutputStream
        .computeUInt32Size(2, groupId_);
    }
    if (configId_ != 0) {
      size += com.google.protobuf.CodedOutputStream
        .computeUInt32Size(3, configId_);
    }
    if (ownerEntityId_ != 0) {
      size += com.google.protobuf.CodedOutputStream
        .computeUInt32Size(4, ownerEntityId_);
    }
    if (bornType_ != io.grasscutter.net.proto.define.GadgetBornType.GadgetBornType_GADGET_BORN_NONE.getNumber()) {
      size += com.google.protobuf.CodedOutputStream
        .computeEnumSize(5, bornType_);
    }
    if (gadgetState_ != 0) {
      size += com.google.protobuf.CodedOutputStream
        .computeUInt32Size(6, gadgetState_);
    }
    if (gadgetType_ != 0) {
      size += com.google.protobuf.CodedOutputStream
        .computeUInt32Size(7, gadgetType_);
    }
    if (isShowCutscene_ != false) {
      size += com.google.protobuf.CodedOutputStream
        .computeBoolSize(8, isShowCutscene_);
    }
    if (authorityPeerId_ != 0) {
      size += com.google.protobuf.CodedOutputStream
        .computeUInt32Size(9, authorityPeerId_);
    }
    if (isEnableInteract_ != false) {
      size += com.google.protobuf.CodedOutputStream
        .computeBoolSize(10, isEnableInteract_);
    }
    if (interactId_ != 0) {
      size += com.google.protobuf.CodedOutputStream
        .computeUInt32Size(11, interactId_);
    }
    if (contentCase_ == 13) {
      size += com.google.protobuf.CodedOutputStream
        .computeMessageSize(13, (io.grasscutter.net.proto.define.GatherGadgetInfo) content_);
    }
    if (contentCase_ == 14) {
      size += com.google.protobuf.CodedOutputStream
        .computeMessageSize(14, (io.grasscutter.net.proto.define.WorktopInfo) content_);
    }
    if (contentCase_ == 15) {
      size += com.google.protobuf.CodedOutputStream
        .computeMessageSize(15, (io.grasscutter.net.proto.define.HENGHIEEKGJ) content_);
    }
    if (contentCase_ == 17) {
      size += com.google.protobuf.CodedOutputStream
        .computeMessageSize(17, (io.grasscutter.net.proto.define.DDAJIEEALEI) content_);
    }
    if (contentCase_ == 18) {
      size += com.google.protobuf.CodedOutputStream
        .computeMessageSize(18, (io.grasscutter.net.proto.define.MAGGMEBGLAL) content_);
    }
    if (contentCase_ == 19) {
      size += com.google.protobuf.CodedOutputStream
        .computeMessageSize(19, (io.grasscutter.net.proto.define.MOOKABDAJLO) content_);
    }
    if (contentCase_ == 20) {
      size += com.google.protobuf.CodedOutputStream
        .computeMessageSize(20, (io.grasscutter.net.proto.define.BossChestInfo) content_);
    }
    if (markFlag_ != 0) {
      size += com.google.protobuf.CodedOutputStream
        .computeUInt32Size(21, markFlag_);
    }
    if (propOwnerEntityId_ != 0) {
      size += com.google.protobuf.CodedOutputStream
        .computeUInt32Size(22, propOwnerEntityId_);
    }
    if (platform_ != null) {
      size += com.google.protobuf.CodedOutputStream
        .computeMessageSize(23, getPlatform());
    }
    {
      int dataSize = 0;
      for (int i = 0; i < interactUidList_.size(); i++) {
        dataSize += com.google.protobuf.CodedOutputStream
          .computeUInt32SizeNoTag(interactUidList_.getInt(i));
      }
      size += dataSize;
      if (!getInteractUidListList().isEmpty()) {
        size += 2;
        size += com.google.protobuf.CodedOutputStream
            .computeInt32SizeNoTag(dataSize);
      }
      interactUidListMemoizedSerializedSize = dataSize;
    }
    if (draftId_ != 0) {
      size += com.google.protobuf.CodedOutputStream
        .computeUInt32Size(25, draftId_);
    }
    if (gadgetTalkState_ != 0) {
      size += com.google.protobuf.CodedOutputStream
        .computeUInt32Size(26, gadgetTalkState_);
    }
    if (jIOIGFOFFFF_ != null) {
      size += com.google.protobuf.CodedOutputStream
        .computeMessageSize(27, getJIOIGFOFFFF());
    }
    if (campType_ != 0) {
      size += com.google.protobuf.CodedOutputStream
        .computeUInt32Size(28, campType_);
    }
    {
      int dataSize = 0;
      for (int i = 0; i < affixList_.size(); i++) {
        dataSize += com.google.protobuf.CodedOutputStream
          .computeUInt32SizeNoTag(affixList_.getInt(i));
      }
      size += dataSize;
      if (!getAffixListList().isEmpty()) {
        size += 2;
        size += com.google.protobuf.CodedOutputStream
            .computeInt32SizeNoTag(dataSize);
      }
      affixListMemoizedSerializedSize = dataSize;
    }
    if (contentCase_ == 41) {
      size += com.google.protobuf.CodedOutputStream
        .computeMessageSize(41, (io.grasscutter.net.proto.define.BlossomChestInfo) content_);
    }
    if (contentCase_ == 42) {
      size += com.google.protobuf.CodedOutputStream
        .computeMessageSize(42, (io.grasscutter.net.proto.define.MpPlayRewardInfo) content_);
    }
    if (contentCase_ == 43) {
      size += com.google.protobuf.CodedOutputStream
        .computeMessageSize(43, (io.grasscutter.net.proto.define.GadgetGeneralRewardInfo) content_);
    }
    if (contentCase_ == 44) {
      size += com.google.protobuf.CodedOutputStream
        .computeMessageSize(44, (io.grasscutter.net.proto.define.GIFDGFMGKOL) content_);
    }
    if (contentCase_ == 45) {
      size += com.google.protobuf.CodedOutputStream
        .computeMessageSize(45, (io.grasscutter.net.proto.define.FoundationInfo) content_);
    }
    if (contentCase_ == 46) {
      size += com.google.protobuf.CodedOutputStream
        .computeMessageSize(46, (io.grasscutter.net.proto.define.FCHLLHGCMDC) content_);
    }
    if (contentCase_ == 47) {
      size += com.google.protobuf.CodedOutputStream
        .computeMessageSize(47, (io.grasscutter.net.proto.define.IKNFOPHBEDP) content_);
    }
    if (contentCase_ == 48) {
      size += com.google.protobuf.CodedOutputStream
        .computeMessageSize(48, (io.grasscutter.net.proto.define.ScreenInfo) content_);
    }
    if (contentCase_ == 59) {
      size += com.google.protobuf.CodedOutputStream
        .computeMessageSize(59, (io.grasscutter.net.proto.define.FishPoolInfo) content_);
    }
    if (contentCase_ == 60) {
      size += com.google.protobuf.CodedOutputStream
        .computeMessageSize(60, (io.grasscutter.net.proto.define.CustomGadgetTreeInfo) content_);
    }
    if (contentCase_ == 61) {
      size += com.google.protobuf.CodedOutputStream
        .computeMessageSize(61, (io.grasscutter.net.proto.define.RoguelikeGadgetInfo) content_);
    }
    if (contentCase_ == 62) {
      size += com.google.protobuf.CodedOutputStream
        .computeMessageSize(62, (io.grasscutter.net.proto.define.FELOLBOAKFD) content_);
    }
    if (contentCase_ == 63) {
      size += com.google.protobuf.CodedOutputStream
        .computeMessageSize(63, (io.grasscutter.net.proto.define.CDJBCFJMBAK) content_);
    }
    if (contentCase_ == 64) {
      size += com.google.protobuf.CodedOutputStream
        .computeMessageSize(64, (io.grasscutter.net.proto.define.GHFMHHGBENE) content_);
    }
    if (contentCase_ == 67) {
      size += com.google.protobuf.CodedOutputStream
        .computeMessageSize(67, (io.grasscutter.net.proto.define.IACHJPIMDFA) content_);
    }
    if (playInfo_ != null) {
      size += com.google.protobuf.CodedOutputStream
        .computeMessageSize(100, getPlayInfo());
    }
    if (nAJIKMLHPFB_ != null) {
      size += com.google.protobuf.CodedOutputStream
        .computeMessageSize(101, getNAJIKMLHPFB());
    }
    if (eJEHOGBGBIJ_ != null) {
      size += com.google.protobuf.CodedOutputStream
        .computeMessageSize(102, getEJEHOGBGBIJ());
    }
    if (kLPMJCFGNPI_ != null) {
      size += com.google.protobuf.CodedOutputStream
        .computeMessageSize(103, getKLPMJCFGNPI());
    }
    size += unknownFields.getSerializedSize();
    memoizedSize = size;
    return size;
  }

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

    if (hasPlatform() != other.hasPlatform()) return false;
    if (hasPlatform()) {
      if (!getPlatform()
          .equals(other.getPlatform())) return false;
    }
    if (!getAffixListList()
        .equals(other.getAffixListList())) return false;
    if (hasEJEHOGBGBIJ() != other.hasEJEHOGBGBIJ()) return false;
    if (hasEJEHOGBGBIJ()) {
      if (!getEJEHOGBGBIJ()
          .equals(other.getEJEHOGBGBIJ())) return false;
    }
    if (!getInteractUidListList()
        .equals(other.getInteractUidListList())) return false;
    if (hasPlayInfo() != other.hasPlayInfo()) return false;
    if (hasPlayInfo()) {
      if (!getPlayInfo()
          .equals(other.getPlayInfo())) return false;
    }
    if (hasNAJIKMLHPFB() != other.hasNAJIKMLHPFB()) return false;
    if (hasNAJIKMLHPFB()) {
      if (!getNAJIKMLHPFB()
          .equals(other.getNAJIKMLHPFB())) return false;
    }
    if (hasKLPMJCFGNPI() != other.hasKLPMJCFGNPI()) return false;
    if (hasKLPMJCFGNPI()) {
      if (!getKLPMJCFGNPI()
          .equals(other.getKLPMJCFGNPI())) return false;
    }
    if (hasJIOIGFOFFFF() != other.hasJIOIGFOFFFF()) return false;
    if (hasJIOIGFOFFFF()) {
      if (!getJIOIGFOFFFF()
          .equals(other.getJIOIGFOFFFF())) return false;
    }
    if (getPropOwnerEntityId()
        != other.getPropOwnerEntityId()) return false;
    if (getIsEnableInteract()
        != other.getIsEnableInteract()) return false;
    if (getIsShowCutscene()
        != other.getIsShowCutscene()) return false;
    if (getAuthorityPeerId()
        != other.getAuthorityPeerId()) return false;
    if (getDraftId()
        != other.getDraftId()) return false;
    if (getGadgetTalkState()
        != other.getGadgetTalkState()) return false;
    if (getConfigId()
        != other.getConfigId()) return false;
    if (getGadgetId()
        != other.getGadgetId()) return false;
    if (getOwnerEntityId()
        != other.getOwnerEntityId()) return false;
    if (getCampType()
        != other.getCampType()) return false;
    if (getMarkFlag()
        != other.getMarkFlag()) return false;
    if (bornType_ != other.bornType_) return false;
    if (getGadgetType()
        != other.getGadgetType()) return false;
    if (getInteractId()
        != other.getInteractId()) return false;
    if (getGroupId()
        != other.getGroupId()) return false;
    if (getGadgetState()
        != other.getGadgetState()) return false;
    if (!getContentCase().equals(other.getContentCase())) return false;
    switch (contentCase_) {
      case 20:
        if (!getBossChest()
            .equals(other.getBossChest())) return false;
        break;
      case 48:
        if (!getScreenInfo()
            .equals(other.getScreenInfo())) return false;
        break;
      case 41:
        if (!getBlossomChest()
            .equals(other.getBlossomChest())) return false;
        break;
      case 47:
        if (!getShellInfo()
            .equals(other.getShellInfo())) return false;
        break;
      case 17:
        if (!getWeather()
            .equals(other.getWeather())) return false;
        break;
      case 18:
        if (!getAbilityGadget()
            .equals(other.getAbilityGadget())) return false;
        break;
      case 15:
        if (!getClientGadget()
            .equals(other.getClientGadget())) return false;
        break;
      case 64:
        if (!getCoinCollectOperatorInfo()
            .equals(other.getCoinCollectOperatorInfo())) return false;
        break;
      case 13:
        if (!getGatherGadget()
            .equals(other.getGatherGadget())) return false;
        break;
      case 61:
        if (!getRoguelikeGadgetInfo()
            .equals(other.getRoguelikeGadgetInfo())) return false;
        break;
      case 44:
        if (!getOfferingInfo()
            .equals(other.getOfferingInfo())) return false;
        break;
      case 62:
        if (!getNightCrowGadgetInfo()
            .equals(other.getNightCrowGadgetInfo())) return false;
        break;
      case 19:
        if (!getStatueGadget()
            .equals(other.getStatueGadget())) return false;
        break;
      case 63:
        if (!getDeshretObeliskGadgetInfo()
            .equals(other.getDeshretObeliskGadgetInfo())) return false;
        break;
      case 45:
        if (!getFoundationInfo()
            .equals(other.getFoundationInfo())) return false;
        break;
      case 14:
        if (!getWorktop()
            .equals(other.getWorktop())) return false;
        break;
      case 43:
        if (!getGeneralReward()
            .equals(other.getGeneralReward())) return false;
        break;
      case 46:
        if (!getVehicleInfo()
            .equals(other.getVehicleInfo())) return false;
        break;
      case 59:
        if (!getFishPoolInfo()
            .equals(other.getFishPoolInfo())) return false;
        break;
      case 42:
        if (!getMpPlayReward()
            .equals(other.getMpPlayReward())) return false;
        break;
      case 67:
        if (!getTrifleGadget()
            .equals(other.getTrifleGadget())) return false;
        break;
      case 60:
        if (!getCustomGadgetTreeInfo()
            .equals(other.getCustomGadgetTreeInfo())) return false;
        break;
      case 0:
      default:
    }
    if (!unknownFields.equals(other.unknownFields)) return false;
    return true;
  }

  @java.lang.Override
  public int hashCode() {
    if (memoizedHashCode != 0) {
      return memoizedHashCode;
    }
    int hash = 41;
    hash = (19 * hash) + getDescriptor().hashCode();
    if (hasPlatform()) {
      hash = (37 * hash) + PLATFORM_FIELD_NUMBER;
      hash = (53 * hash) + getPlatform().hashCode();
    }
    if (getAffixListCount() > 0) {
      hash = (37 * hash) + AFFIX_LIST_FIELD_NUMBER;
      hash = (53 * hash) + getAffixListList().hashCode();
    }
    if (hasEJEHOGBGBIJ()) {
      hash = (37 * hash) + EJEHOGBGBIJ_FIELD_NUMBER;
      hash = (53 * hash) + getEJEHOGBGBIJ().hashCode();
    }
    if (getInteractUidListCount() > 0) {
      hash = (37 * hash) + INTERACT_UID_LIST_FIELD_NUMBER;
      hash = (53 * hash) + getInteractUidListList().hashCode();
    }
    if (hasPlayInfo()) {
      hash = (37 * hash) + PLAY_INFO_FIELD_NUMBER;
      hash = (53 * hash) + getPlayInfo().hashCode();
    }
    if (hasNAJIKMLHPFB()) {
      hash = (37 * hash) + NAJIKMLHPFB_FIELD_NUMBER;
      hash = (53 * hash) + getNAJIKMLHPFB().hashCode();
    }
    if (hasKLPMJCFGNPI()) {
      hash = (37 * hash) + KLPMJCFGNPI_FIELD_NUMBER;
      hash = (53 * hash) + getKLPMJCFGNPI().hashCode();
    }
    if (hasJIOIGFOFFFF()) {
      hash = (37 * hash) + JIOIGFOFFFF_FIELD_NUMBER;
      hash = (53 * hash) + getJIOIGFOFFFF().hashCode();
    }
    hash = (37 * hash) + PROP_OWNER_ENTITY_ID_FIELD_NUMBER;
    hash = (53 * hash) + getPropOwnerEntityId();
    hash = (37 * hash) + IS_ENABLE_INTERACT_FIELD_NUMBER;
    hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
        getIsEnableInteract());
    hash = (37 * hash) + IS_SHOW_CUTSCENE_FIELD_NUMBER;
    hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
        getIsShowCutscene());
    hash = (37 * hash) + AUTHORITY_PEER_ID_FIELD_NUMBER;
    hash = (53 * hash) + getAuthorityPeerId();
    hash = (37 * hash) + DRAFT_ID_FIELD_NUMBER;
    hash = (53 * hash) + getDraftId();
    hash = (37 * hash) + GADGET_TALK_STATE_FIELD_NUMBER;
    hash = (53 * hash) + getGadgetTalkState();
    hash = (37 * hash) + CONFIG_ID_FIELD_NUMBER;
    hash = (53 * hash) + getConfigId();
    hash = (37 * hash) + GADGET_ID_FIELD_NUMBER;
    hash = (53 * hash) + getGadgetId();
    hash = (37 * hash) + OWNER_ENTITY_ID_FIELD_NUMBER;
    hash = (53 * hash) + getOwnerEntityId();
    hash = (37 * hash) + CAMP_TYPE_FIELD_NUMBER;
    hash = (53 * hash) + getCampType();
    hash = (37 * hash) + MARK_FLAG_FIELD_NUMBER;
    hash = (53 * hash) + getMarkFlag();
    hash = (37 * hash) + BORN_TYPE_FIELD_NUMBER;
    hash = (53 * hash) + bornType_;
    hash = (37 * hash) + GADGET_TYPE_FIELD_NUMBER;
    hash = (53 * hash) + getGadgetType();
    hash = (37 * hash) + INTERACT_ID_FIELD_NUMBER;
    hash = (53 * hash) + getInteractId();
    hash = (37 * hash) + GROUP_ID_FIELD_NUMBER;
    hash = (53 * hash) + getGroupId();
    hash = (37 * hash) + GADGET_STATE_FIELD_NUMBER;
    hash = (53 * hash) + getGadgetState();
    switch (contentCase_) {
      case 20:
        hash = (37 * hash) + BOSS_CHEST_FIELD_NUMBER;
        hash = (53 * hash) + getBossChest().hashCode();
        break;
      case 48:
        hash = (37 * hash) + SCREEN_INFO_FIELD_NUMBER;
        hash = (53 * hash) + getScreenInfo().hashCode();
        break;
      case 41:
        hash = (37 * hash) + BLOSSOM_CHEST_FIELD_NUMBER;
        hash = (53 * hash) + getBlossomChest().hashCode();
        break;
      case 47:
        hash = (37 * hash) + SHELL_INFO_FIELD_NUMBER;
        hash = (53 * hash) + getShellInfo().hashCode();
        break;
      case 17:
        hash = (37 * hash) + WEATHER_FIELD_NUMBER;
        hash = (53 * hash) + getWeather().hashCode();
        break;
      case 18:
        hash = (37 * hash) + ABILITY_GADGET_FIELD_NUMBER;
        hash = (53 * hash) + getAbilityGadget().hashCode();
        break;
      case 15:
        hash = (37 * hash) + CLIENT_GADGET_FIELD_NUMBER;
        hash = (53 * hash) + getClientGadget().hashCode();
        break;
      case 64:
        hash = (37 * hash) + COIN_COLLECT_OPERATOR_INFO_FIELD_NUMBER;
        hash = (53 * hash) + getCoinCollectOperatorInfo().hashCode();
        break;
      case 13:
        hash = (37 * hash) + GATHER_GADGET_FIELD_NUMBER;
        hash = (53 * hash) + getGatherGadget().hashCode();
        break;
      case 61:
        hash = (37 * hash) + ROGUELIKE_GADGET_INFO_FIELD_NUMBER;
        hash = (53 * hash) + getRoguelikeGadgetInfo().hashCode();
        break;
      case 44:
        hash = (37 * hash) + OFFERING_INFO_FIELD_NUMBER;
        hash = (53 * hash) + getOfferingInfo().hashCode();
        break;
      case 62:
        hash = (37 * hash) + NIGHT_CROW_GADGET_INFO_FIELD_NUMBER;
        hash = (53 * hash) + getNightCrowGadgetInfo().hashCode();
        break;
      case 19:
        hash = (37 * hash) + STATUE_GADGET_FIELD_NUMBER;
        hash = (53 * hash) + getStatueGadget().hashCode();
        break;
      case 63:
        hash = (37 * hash) + DESHRET_OBELISK_GADGET_INFO_FIELD_NUMBER;
        hash = (53 * hash) + getDeshretObeliskGadgetInfo().hashCode();
        break;
      case 45:
        hash = (37 * hash) + FOUNDATION_INFO_FIELD_NUMBER;
        hash = (53 * hash) + getFoundationInfo().hashCode();
        break;
      case 14:
        hash = (37 * hash) + WORKTOP_FIELD_NUMBER;
        hash = (53 * hash) + getWorktop().hashCode();
        break;
      case 43:
        hash = (37 * hash) + GENERAL_REWARD_FIELD_NUMBER;
        hash = (53 * hash) + getGeneralReward().hashCode();
        break;
      case 46:
        hash = (37 * hash) + VEHICLE_INFO_FIELD_NUMBER;
        hash = (53 * hash) + getVehicleInfo().hashCode();
        break;
      case 59:
        hash = (37 * hash) + FISH_POOL_INFO_FIELD_NUMBER;
        hash = (53 * hash) + getFishPoolInfo().hashCode();
        break;
      case 42:
        hash = (37 * hash) + MP_PLAY_REWARD_FIELD_NUMBER;
        hash = (53 * hash) + getMpPlayReward().hashCode();
        break;
      case 67:
        hash = (37 * hash) + TRIFLE_GADGET_FIELD_NUMBER;
        hash = (53 * hash) + getTrifleGadget().hashCode();
        break;
      case 60:
        hash = (37 * hash) + CUSTOM_GADGET_TREE_INFO_FIELD_NUMBER;
        hash = (53 * hash) + getCustomGadgetTreeInfo().hashCode();
        break;
      case 0:
      default:
    }
    hash = (29 * hash) + unknownFields.hashCode();
    memoizedHashCode = hash;
    return hash;
  }

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

  @java.lang.Override
  public Builder newBuilderForType() { return newBuilder(); }
  public static Builder newBuilder() {
    return DEFAULT_INSTANCE.toBuilder();
  }
  public static Builder newBuilder(io.grasscutter.net.proto.define.SceneGadgetInfo 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 SceneGadgetInfo}
   */
  public static final class Builder extends
      com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
      // @@protoc_insertion_point(builder_implements:SceneGadgetInfo)
      io.grasscutter.net.proto.define.SceneGadgetInfoOrBuilder {
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return io.grasscutter.net.proto.define.Define.internal_static_SceneGadgetInfo_descriptor;
    }

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

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

    private Builder(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      super(parent);
      maybeForceBuilderInitialization();
    }
    private void maybeForceBuilderInitialization() {
      if (com.google.protobuf.GeneratedMessageV3
              .alwaysUseFieldBuilders) {
      }
    }
    @java.lang.Override
    public Builder clear() {
      super.clear();
      if (platformBuilder_ == null) {
        platform_ = null;
      } else {
        platform_ = null;
        platformBuilder_ = null;
      }
      affixList_ = emptyIntList();
      bitField0_ = (bitField0_ & ~0x00000001);
      if (eJEHOGBGBIJBuilder_ == null) {
        eJEHOGBGBIJ_ = null;
      } else {
        eJEHOGBGBIJ_ = null;
        eJEHOGBGBIJBuilder_ = null;
      }
      interactUidList_ = emptyIntList();
      bitField0_ = (bitField0_ & ~0x00000002);
      if (playInfoBuilder_ == null) {
        playInfo_ = null;
      } else {
        playInfo_ = null;
        playInfoBuilder_ = null;
      }
      if (nAJIKMLHPFBBuilder_ == null) {
        nAJIKMLHPFB_ = null;
      } else {
        nAJIKMLHPFB_ = null;
        nAJIKMLHPFBBuilder_ = null;
      }
      if (kLPMJCFGNPIBuilder_ == null) {
        kLPMJCFGNPI_ = null;
      } else {
        kLPMJCFGNPI_ = null;
        kLPMJCFGNPIBuilder_ = null;
      }
      if (jIOIGFOFFFFBuilder_ == null) {
        jIOIGFOFFFF_ = null;
      } else {
        jIOIGFOFFFF_ = null;
        jIOIGFOFFFFBuilder_ = null;
      }
      propOwnerEntityId_ = 0;

      isEnableInteract_ = false;

      isShowCutscene_ = false;

      authorityPeerId_ = 0;

      draftId_ = 0;

      gadgetTalkState_ = 0;

      configId_ = 0;

      gadgetId_ = 0;

      ownerEntityId_ = 0;

      campType_ = 0;

      markFlag_ = 0;

      bornType_ = 0;

      gadgetType_ = 0;

      interactId_ = 0;

      groupId_ = 0;

      gadgetState_ = 0;

      contentCase_ = 0;
      content_ = null;
      return this;
    }

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

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

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

    @java.lang.Override
    public io.grasscutter.net.proto.define.SceneGadgetInfo buildPartial() {
      io.grasscutter.net.proto.define.SceneGadgetInfo result = new io.grasscutter.net.proto.define.SceneGadgetInfo(this);
      int from_bitField0_ = bitField0_;
      if (platformBuilder_ == null) {
        result.platform_ = platform_;
      } else {
        result.platform_ = platformBuilder_.build();
      }
      if (((bitField0_ & 0x00000001) != 0)) {
        affixList_.makeImmutable();
        bitField0_ = (bitField0_ & ~0x00000001);
      }
      result.affixList_ = affixList_;
      if (eJEHOGBGBIJBuilder_ == null) {
        result.eJEHOGBGBIJ_ = eJEHOGBGBIJ_;
      } else {
        result.eJEHOGBGBIJ_ = eJEHOGBGBIJBuilder_.build();
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        interactUidList_.makeImmutable();
        bitField0_ = (bitField0_ & ~0x00000002);
      }
      result.interactUidList_ = interactUidList_;
      if (playInfoBuilder_ == null) {
        result.playInfo_ = playInfo_;
      } else {
        result.playInfo_ = playInfoBuilder_.build();
      }
      if (nAJIKMLHPFBBuilder_ == null) {
        result.nAJIKMLHPFB_ = nAJIKMLHPFB_;
      } else {
        result.nAJIKMLHPFB_ = nAJIKMLHPFBBuilder_.build();
      }
      if (kLPMJCFGNPIBuilder_ == null) {
        result.kLPMJCFGNPI_ = kLPMJCFGNPI_;
      } else {
        result.kLPMJCFGNPI_ = kLPMJCFGNPIBuilder_.build();
      }
      if (jIOIGFOFFFFBuilder_ == null) {
        result.jIOIGFOFFFF_ = jIOIGFOFFFF_;
      } else {
        result.jIOIGFOFFFF_ = jIOIGFOFFFFBuilder_.build();
      }
      result.propOwnerEntityId_ = propOwnerEntityId_;
      result.isEnableInteract_ = isEnableInteract_;
      result.isShowCutscene_ = isShowCutscene_;
      result.authorityPeerId_ = authorityPeerId_;
      result.draftId_ = draftId_;
      result.gadgetTalkState_ = gadgetTalkState_;
      result.configId_ = configId_;
      result.gadgetId_ = gadgetId_;
      result.ownerEntityId_ = ownerEntityId_;
      result.campType_ = campType_;
      result.markFlag_ = markFlag_;
      result.bornType_ = bornType_;
      result.gadgetType_ = gadgetType_;
      result.interactId_ = interactId_;
      result.groupId_ = groupId_;
      if (contentCase_ == 20) {
        if (bossChestBuilder_ == null) {
          result.content_ = content_;
        } else {
          result.content_ = bossChestBuilder_.build();
        }
      }
      if (contentCase_ == 48) {
        if (screenInfoBuilder_ == null) {
          result.content_ = content_;
        } else {
          result.content_ = screenInfoBuilder_.build();
        }
      }
      if (contentCase_ == 41) {
        if (blossomChestBuilder_ == null) {
          result.content_ = content_;
        } else {
          result.content_ = blossomChestBuilder_.build();
        }
      }
      if (contentCase_ == 47) {
        if (shellInfoBuilder_ == null) {
          result.content_ = content_;
        } else {
          result.content_ = shellInfoBuilder_.build();
        }
      }
      if (contentCase_ == 17) {
        if (weatherBuilder_ == null) {
          result.content_ = content_;
        } else {
          result.content_ = weatherBuilder_.build();
        }
      }
      if (contentCase_ == 18) {
        if (abilityGadgetBuilder_ == null) {
          result.content_ = content_;
        } else {
          result.content_ = abilityGadgetBuilder_.build();
        }
      }
      if (contentCase_ == 15) {
        if (clientGadgetBuilder_ == null) {
          result.content_ = content_;
        } else {
          result.content_ = clientGadgetBuilder_.build();
        }
      }
      if (contentCase_ == 64) {
        if (coinCollectOperatorInfoBuilder_ == null) {
          result.content_ = content_;
        } else {
          result.content_ = coinCollectOperatorInfoBuilder_.build();
        }
      }
      if (contentCase_ == 13) {
        if (gatherGadgetBuilder_ == null) {
          result.content_ = content_;
        } else {
          result.content_ = gatherGadgetBuilder_.build();
        }
      }
      if (contentCase_ == 61) {
        if (roguelikeGadgetInfoBuilder_ == null) {
          result.content_ = content_;
        } else {
          result.content_ = roguelikeGadgetInfoBuilder_.build();
        }
      }
      if (contentCase_ == 44) {
        if (offeringInfoBuilder_ == null) {
          result.content_ = content_;
        } else {
          result.content_ = offeringInfoBuilder_.build();
        }
      }
      if (contentCase_ == 62) {
        if (nightCrowGadgetInfoBuilder_ == null) {
          result.content_ = content_;
        } else {
          result.content_ = nightCrowGadgetInfoBuilder_.build();
        }
      }
      if (contentCase_ == 19) {
        if (statueGadgetBuilder_ == null) {
          result.content_ = content_;
        } else {
          result.content_ = statueGadgetBuilder_.build();
        }
      }
      if (contentCase_ == 63) {
        if (deshretObeliskGadgetInfoBuilder_ == null) {
          result.content_ = content_;
        } else {
          result.content_ = deshretObeliskGadgetInfoBuilder_.build();
        }
      }
      if (contentCase_ == 45) {
        if (foundationInfoBuilder_ == null) {
          result.content_ = content_;
        } else {
          result.content_ = foundationInfoBuilder_.build();
        }
      }
      if (contentCase_ == 14) {
        if (worktopBuilder_ == null) {
          result.content_ = content_;
        } else {
          result.content_ = worktopBuilder_.build();
        }
      }
      if (contentCase_ == 43) {
        if (generalRewardBuilder_ == null) {
          result.content_ = content_;
        } else {
          result.content_ = generalRewardBuilder_.build();
        }
      }
      if (contentCase_ == 46) {
        if (vehicleInfoBuilder_ == null) {
          result.content_ = content_;
        } else {
          result.content_ = vehicleInfoBuilder_.build();
        }
      }
      if (contentCase_ == 59) {
        if (fishPoolInfoBuilder_ == null) {
          result.content_ = content_;
        } else {
          result.content_ = fishPoolInfoBuilder_.build();
        }
      }
      if (contentCase_ == 42) {
        if (mpPlayRewardBuilder_ == null) {
          result.content_ = content_;
        } else {
          result.content_ = mpPlayRewardBuilder_.build();
        }
      }
      if (contentCase_ == 67) {
        if (trifleGadgetBuilder_ == null) {
          result.content_ = content_;
        } else {
          result.content_ = trifleGadgetBuilder_.build();
        }
      }
      if (contentCase_ == 60) {
        if (customGadgetTreeInfoBuilder_ == null) {
          result.content_ = content_;
        } else {
          result.content_ = customGadgetTreeInfoBuilder_.build();
        }
      }
      result.gadgetState_ = gadgetState_;
      result.contentCase_ = contentCase_;
      onBuilt();
      return result;
    }

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

    public Builder mergeFrom(io.grasscutter.net.proto.define.SceneGadgetInfo other) {
      if (other == io.grasscutter.net.proto.define.SceneGadgetInfo.getDefaultInstance()) return this;
      if (other.hasPlatform()) {
        mergePlatform(other.getPlatform());
      }
      if (!other.affixList_.isEmpty()) {
        if (affixList_.isEmpty()) {
          affixList_ = other.affixList_;
          bitField0_ = (bitField0_ & ~0x00000001);
        } else {
          ensureAffixListIsMutable();
          affixList_.addAll(other.affixList_);
        }
        onChanged();
      }
      if (other.hasEJEHOGBGBIJ()) {
        mergeEJEHOGBGBIJ(other.getEJEHOGBGBIJ());
      }
      if (!other.interactUidList_.isEmpty()) {
        if (interactUidList_.isEmpty()) {
          interactUidList_ = other.interactUidList_;
          bitField0_ = (bitField0_ & ~0x00000002);
        } else {
          ensureInteractUidListIsMutable();
          interactUidList_.addAll(other.interactUidList_);
        }
        onChanged();
      }
      if (other.hasPlayInfo()) {
        mergePlayInfo(other.getPlayInfo());
      }
      if (other.hasNAJIKMLHPFB()) {
        mergeNAJIKMLHPFB(other.getNAJIKMLHPFB());
      }
      if (other.hasKLPMJCFGNPI()) {
        mergeKLPMJCFGNPI(other.getKLPMJCFGNPI());
      }
      if (other.hasJIOIGFOFFFF()) {
        mergeJIOIGFOFFFF(other.getJIOIGFOFFFF());
      }
      if (other.getPropOwnerEntityId() != 0) {
        setPropOwnerEntityId(other.getPropOwnerEntityId());
      }
      if (other.getIsEnableInteract() != false) {
        setIsEnableInteract(other.getIsEnableInteract());
      }
      if (other.getIsShowCutscene() != false) {
        setIsShowCutscene(other.getIsShowCutscene());
      }
      if (other.getAuthorityPeerId() != 0) {
        setAuthorityPeerId(other.getAuthorityPeerId());
      }
      if (other.getDraftId() != 0) {
        setDraftId(other.getDraftId());
      }
      if (other.getGadgetTalkState() != 0) {
        setGadgetTalkState(other.getGadgetTalkState());
      }
      if (other.getConfigId() != 0) {
        setConfigId(other.getConfigId());
      }
      if (other.getGadgetId() != 0) {
        setGadgetId(other.getGadgetId());
      }
      if (other.getOwnerEntityId() != 0) {
        setOwnerEntityId(other.getOwnerEntityId());
      }
      if (other.getCampType() != 0) {
        setCampType(other.getCampType());
      }
      if (other.getMarkFlag() != 0) {
        setMarkFlag(other.getMarkFlag());
      }
      if (other.bornType_ != 0) {
        setBornTypeValue(other.getBornTypeValue());
      }
      if (other.getGadgetType() != 0) {
        setGadgetType(other.getGadgetType());
      }
      if (other.getInteractId() != 0) {
        setInteractId(other.getInteractId());
      }
      if (other.getGroupId() != 0) {
        setGroupId(other.getGroupId());
      }
      if (other.getGadgetState() != 0) {
        setGadgetState(other.getGadgetState());
      }
      switch (other.getContentCase()) {
        case BOSS_CHEST: {
          mergeBossChest(other.getBossChest());
          break;
        }
        case SCREEN_INFO: {
          mergeScreenInfo(other.getScreenInfo());
          break;
        }
        case BLOSSOM_CHEST: {
          mergeBlossomChest(other.getBlossomChest());
          break;
        }
        case SHELL_INFO: {
          mergeShellInfo(other.getShellInfo());
          break;
        }
        case WEATHER: {
          mergeWeather(other.getWeather());
          break;
        }
        case ABILITY_GADGET: {
          mergeAbilityGadget(other.getAbilityGadget());
          break;
        }
        case CLIENT_GADGET: {
          mergeClientGadget(other.getClientGadget());
          break;
        }
        case COIN_COLLECT_OPERATOR_INFO: {
          mergeCoinCollectOperatorInfo(other.getCoinCollectOperatorInfo());
          break;
        }
        case GATHER_GADGET: {
          mergeGatherGadget(other.getGatherGadget());
          break;
        }
        case ROGUELIKE_GADGET_INFO: {
          mergeRoguelikeGadgetInfo(other.getRoguelikeGadgetInfo());
          break;
        }
        case OFFERING_INFO: {
          mergeOfferingInfo(other.getOfferingInfo());
          break;
        }
        case NIGHT_CROW_GADGET_INFO: {
          mergeNightCrowGadgetInfo(other.getNightCrowGadgetInfo());
          break;
        }
        case STATUE_GADGET: {
          mergeStatueGadget(other.getStatueGadget());
          break;
        }
        case DESHRET_OBELISK_GADGET_INFO: {
          mergeDeshretObeliskGadgetInfo(other.getDeshretObeliskGadgetInfo());
          break;
        }
        case FOUNDATION_INFO: {
          mergeFoundationInfo(other.getFoundationInfo());
          break;
        }
        case WORKTOP: {
          mergeWorktop(other.getWorktop());
          break;
        }
        case GENERAL_REWARD: {
          mergeGeneralReward(other.getGeneralReward());
          break;
        }
        case VEHICLE_INFO: {
          mergeVehicleInfo(other.getVehicleInfo());
          break;
        }
        case FISH_POOL_INFO: {
          mergeFishPoolInfo(other.getFishPoolInfo());
          break;
        }
        case MP_PLAY_REWARD: {
          mergeMpPlayReward(other.getMpPlayReward());
          break;
        }
        case TRIFLE_GADGET: {
          mergeTrifleGadget(other.getTrifleGadget());
          break;
        }
        case CUSTOM_GADGET_TREE_INFO: {
          mergeCustomGadgetTreeInfo(other.getCustomGadgetTreeInfo());
          break;
        }
        case CONTENT_NOT_SET: {
          break;
        }
      }
      this.mergeUnknownFields(other.unknownFields);
      onChanged();
      return this;
    }

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

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

    public Builder clearContent() {
      contentCase_ = 0;
      content_ = null;
      onChanged();
      return this;
    }

    private int bitField0_;

    private io.grasscutter.net.proto.define.PlatformInfo platform_;
    private com.google.protobuf.SingleFieldBuilderV3<
        io.grasscutter.net.proto.define.PlatformInfo, io.grasscutter.net.proto.define.PlatformInfo.Builder, io.grasscutter.net.proto.define.PlatformInfoOrBuilder> platformBuilder_;
    /**
     * <code>.PlatformInfo platform = 23;</code>
     * @return Whether the platform field is set.
     */
    public boolean hasPlatform() {
      return platformBuilder_ != null || platform_ != null;
    }
    /**
     * <code>.PlatformInfo platform = 23;</code>
     * @return The platform.
     */
    public io.grasscutter.net.proto.define.PlatformInfo getPlatform() {
      if (platformBuilder_ == null) {
        return platform_ == null ? io.grasscutter.net.proto.define.PlatformInfo.getDefaultInstance() : platform_;
      } else {
        return platformBuilder_.getMessage();
      }
    }
    /**
     * <code>.PlatformInfo platform = 23;</code>
     */
    public Builder setPlatform(io.grasscutter.net.proto.define.PlatformInfo value) {
      if (platformBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        platform_ = value;
        onChanged();
      } else {
        platformBuilder_.setMessage(value);
      }

      return this;
    }
    /**
     * <code>.PlatformInfo platform = 23;</code>
     */
    public Builder setPlatform(
        io.grasscutter.net.proto.define.PlatformInfo.Builder builderForValue) {
      if (platformBuilder_ == null) {
        platform_ = builderForValue.build();
        onChanged();
      } else {
        platformBuilder_.setMessage(builderForValue.build());
      }

      return this;
    }
    /**
     * <code>.PlatformInfo platform = 23;</code>
     */
    public Builder mergePlatform(io.grasscutter.net.proto.define.PlatformInfo value) {
      if (platformBuilder_ == null) {
        if (platform_ != null) {
          platform_ =
            io.grasscutter.net.proto.define.PlatformInfo.newBuilder(platform_).mergeFrom(value).buildPartial();
        } else {
          platform_ = value;
        }
        onChanged();
      } else {
        platformBuilder_.mergeFrom(value);
      }

      return this;
    }
    /**
     * <code>.PlatformInfo platform = 23;</code>
     */
    public Builder clearPlatform() {
      if (platformBuilder_ == null) {
        platform_ = null;
        onChanged();
      } else {
        platform_ = null;
        platformBuilder_ = null;
      }

      return this;
    }
    /**
     * <code>.PlatformInfo platform = 23;</code>
     */
    public io.grasscutter.net.proto.define.PlatformInfo.Builder getPlatformBuilder() {
      
      onChanged();
      return getPlatformFieldBuilder().getBuilder();
    }
    /**
     * <code>.PlatformInfo platform = 23;</code>
     */
    public io.grasscutter.net.proto.define.PlatformInfoOrBuilder getPlatformOrBuilder() {
      if (platformBuilder_ != null) {
        return platformBuilder_.getMessageOrBuilder();
      } else {
        return platform_ == null ?
            io.grasscutter.net.proto.define.PlatformInfo.getDefaultInstance() : platform_;
      }
    }
    /**
     * <code>.PlatformInfo platform = 23;</code>
     */
    private com.google.protobuf.SingleFieldBuilderV3<
        io.grasscutter.net.proto.define.PlatformInfo, io.grasscutter.net.proto.define.PlatformInfo.Builder, io.grasscutter.net.proto.define.PlatformInfoOrBuilder> 
        getPlatformFieldBuilder() {
      if (platformBuilder_ == null) {
        platformBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
            io.grasscutter.net.proto.define.PlatformInfo, io.grasscutter.net.proto.define.PlatformInfo.Builder, io.grasscutter.net.proto.define.PlatformInfoOrBuilder>(
                getPlatform(),
                getParentForChildren(),
                isClean());
        platform_ = null;
      }
      return platformBuilder_;
    }

    private com.google.protobuf.Internal.IntList affixList_ = emptyIntList();
    private void ensureAffixListIsMutable() {
      if (!((bitField0_ & 0x00000001) != 0)) {
        affixList_ = mutableCopy(affixList_);
        bitField0_ |= 0x00000001;
       }
    }
    /**
     * <code>repeated uint32 affix_list = 29;</code>
     * @return A list containing the affixList.
     */
    public java.util.List<java.lang.Integer>
        getAffixListList() {
      return ((bitField0_ & 0x00000001) != 0) ?
               java.util.Collections.unmodifiableList(affixList_) : affixList_;
    }
    /**
     * <code>repeated uint32 affix_list = 29;</code>
     * @return The count of affixList.
     */
    public int getAffixListCount() {
      return affixList_.size();
    }
    /**
     * <code>repeated uint32 affix_list = 29;</code>
     * @param index The index of the element to return.
     * @return The affixList at the given index.
     */
    public int getAffixList(int index) {
      return affixList_.getInt(index);
    }
    /**
     * <code>repeated uint32 affix_list = 29;</code>
     * @param index The index to set the value at.
     * @param value The affixList to set.
     * @return This builder for chaining.
     */
    public Builder setAffixList(
        int index, int value) {
      ensureAffixListIsMutable();
      affixList_.setInt(index, value);
      onChanged();
      return this;
    }
    /**
     * <code>repeated uint32 affix_list = 29;</code>
     * @param value The affixList to add.
     * @return This builder for chaining.
     */
    public Builder addAffixList(int value) {
      ensureAffixListIsMutable();
      affixList_.addInt(value);
      onChanged();
      return this;
    }
    /**
     * <code>repeated uint32 affix_list = 29;</code>
     * @param values The affixList to add.
     * @return This builder for chaining.
     */
    public Builder addAllAffixList(
        java.lang.Iterable<? extends java.lang.Integer> values) {
      ensureAffixListIsMutable();
      com.google.protobuf.AbstractMessageLite.Builder.addAll(
          values, affixList_);
      onChanged();
      return this;
    }
    /**
     * <code>repeated uint32 affix_list = 29;</code>
     * @return This builder for chaining.
     */
    public Builder clearAffixList() {
      affixList_ = emptyIntList();
      bitField0_ = (bitField0_ & ~0x00000001);
      onChanged();
      return this;
    }

    private io.grasscutter.net.proto.define.JNOLLBCHCNH eJEHOGBGBIJ_;
    private com.google.protobuf.SingleFieldBuilderV3<
        io.grasscutter.net.proto.define.JNOLLBCHCNH, io.grasscutter.net.proto.define.JNOLLBCHCNH.Builder, io.grasscutter.net.proto.define.JNOLLBCHCNHOrBuilder> eJEHOGBGBIJBuilder_;
    /**
     * <code>.JNOLLBCHCNH EJEHOGBGBIJ = 102;</code>
     * @return Whether the eJEHOGBGBIJ field is set.
     */
    public boolean hasEJEHOGBGBIJ() {
      return eJEHOGBGBIJBuilder_ != null || eJEHOGBGBIJ_ != null;
    }
    /**
     * <code>.JNOLLBCHCNH EJEHOGBGBIJ = 102;</code>
     * @return The eJEHOGBGBIJ.
     */
    public io.grasscutter.net.proto.define.JNOLLBCHCNH getEJEHOGBGBIJ() {
      if (eJEHOGBGBIJBuilder_ == null) {
        return eJEHOGBGBIJ_ == null ? io.grasscutter.net.proto.define.JNOLLBCHCNH.getDefaultInstance() : eJEHOGBGBIJ_;
      } else {
        return eJEHOGBGBIJBuilder_.getMessage();
      }
    }
    /**
     * <code>.JNOLLBCHCNH EJEHOGBGBIJ = 102;</code>
     */
    public Builder setEJEHOGBGBIJ(io.grasscutter.net.proto.define.JNOLLBCHCNH value) {
      if (eJEHOGBGBIJBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        eJEHOGBGBIJ_ = value;
        onChanged();
      } else {
        eJEHOGBGBIJBuilder_.setMessage(value);
      }

      return this;
    }
    /**
     * <code>.JNOLLBCHCNH EJEHOGBGBIJ = 102;</code>
     */
    public Builder setEJEHOGBGBIJ(
        io.grasscutter.net.proto.define.JNOLLBCHCNH.Builder builderForValue) {
      if (eJEHOGBGBIJBuilder_ == null) {
        eJEHOGBGBIJ_ = builderForValue.build();
        onChanged();
      } else {
        eJEHOGBGBIJBuilder_.setMessage(builderForValue.build());
      }

      return this;
    }
    /**
     * <code>.JNOLLBCHCNH EJEHOGBGBIJ = 102;</code>
     */
    public Builder mergeEJEHOGBGBIJ(io.grasscutter.net.proto.define.JNOLLBCHCNH value) {
      if (eJEHOGBGBIJBuilder_ == null) {
        if (eJEHOGBGBIJ_ != null) {
          eJEHOGBGBIJ_ =
            io.grasscutter.net.proto.define.JNOLLBCHCNH.newBuilder(eJEHOGBGBIJ_).mergeFrom(value).buildPartial();
        } else {
          eJEHOGBGBIJ_ = value;
        }
        onChanged();
      } else {
        eJEHOGBGBIJBuilder_.mergeFrom(value);
      }

      return this;
    }
    /**
     * <code>.JNOLLBCHCNH EJEHOGBGBIJ = 102;</code>
     */
    public Builder clearEJEHOGBGBIJ() {
      if (eJEHOGBGBIJBuilder_ == null) {
        eJEHOGBGBIJ_ = null;
        onChanged();
      } else {
        eJEHOGBGBIJ_ = null;
        eJEHOGBGBIJBuilder_ = null;
      }

      return this;
    }
    /**
     * <code>.JNOLLBCHCNH EJEHOGBGBIJ = 102;</code>
     */
    public io.grasscutter.net.proto.define.JNOLLBCHCNH.Builder getEJEHOGBGBIJBuilder() {
      
      onChanged();
      return getEJEHOGBGBIJFieldBuilder().getBuilder();
    }
    /**
     * <code>.JNOLLBCHCNH EJEHOGBGBIJ = 102;</code>
     */
    public io.grasscutter.net.proto.define.JNOLLBCHCNHOrBuilder getEJEHOGBGBIJOrBuilder() {
      if (eJEHOGBGBIJBuilder_ != null) {
        return eJEHOGBGBIJBuilder_.getMessageOrBuilder();
      } else {
        return eJEHOGBGBIJ_ == null ?
            io.grasscutter.net.proto.define.JNOLLBCHCNH.getDefaultInstance() : eJEHOGBGBIJ_;
      }
    }
    /**
     * <code>.JNOLLBCHCNH EJEHOGBGBIJ = 102;</code>
     */
    private com.google.protobuf.SingleFieldBuilderV3<
        io.grasscutter.net.proto.define.JNOLLBCHCNH, io.grasscutter.net.proto.define.JNOLLBCHCNH.Builder, io.grasscutter.net.proto.define.JNOLLBCHCNHOrBuilder> 
        getEJEHOGBGBIJFieldBuilder() {
      if (eJEHOGBGBIJBuilder_ == null) {
        eJEHOGBGBIJBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
            io.grasscutter.net.proto.define.JNOLLBCHCNH, io.grasscutter.net.proto.define.JNOLLBCHCNH.Builder, io.grasscutter.net.proto.define.JNOLLBCHCNHOrBuilder>(
                getEJEHOGBGBIJ(),
                getParentForChildren(),
                isClean());
        eJEHOGBGBIJ_ = null;
      }
      return eJEHOGBGBIJBuilder_;
    }

    private com.google.protobuf.Internal.IntList interactUidList_ = emptyIntList();
    private void ensureInteractUidListIsMutable() {
      if (!((bitField0_ & 0x00000002) != 0)) {
        interactUidList_ = mutableCopy(interactUidList_);
        bitField0_ |= 0x00000002;
       }
    }
    /**
     * <code>repeated uint32 interact_uid_list = 24;</code>
     * @return A list containing the interactUidList.
     */
    public java.util.List<java.lang.Integer>
        getInteractUidListList() {
      return ((bitField0_ & 0x00000002) != 0) ?
               java.util.Collections.unmodifiableList(interactUidList_) : interactUidList_;
    }
    /**
     * <code>repeated uint32 interact_uid_list = 24;</code>
     * @return The count of interactUidList.
     */
    public int getInteractUidListCount() {
      return interactUidList_.size();
    }
    /**
     * <code>repeated uint32 interact_uid_list = 24;</code>
     * @param index The index of the element to return.
     * @return The interactUidList at the given index.
     */
    public int getInteractUidList(int index) {
      return interactUidList_.getInt(index);
    }
    /**
     * <code>repeated uint32 interact_uid_list = 24;</code>
     * @param index The index to set the value at.
     * @param value The interactUidList to set.
     * @return This builder for chaining.
     */
    public Builder setInteractUidList(
        int index, int value) {
      ensureInteractUidListIsMutable();
      interactUidList_.setInt(index, value);
      onChanged();
      return this;
    }
    /**
     * <code>repeated uint32 interact_uid_list = 24;</code>
     * @param value The interactUidList to add.
     * @return This builder for chaining.
     */
    public Builder addInteractUidList(int value) {
      ensureInteractUidListIsMutable();
      interactUidList_.addInt(value);
      onChanged();
      return this;
    }
    /**
     * <code>repeated uint32 interact_uid_list = 24;</code>
     * @param values The interactUidList to add.
     * @return This builder for chaining.
     */
    public Builder addAllInteractUidList(
        java.lang.Iterable<? extends java.lang.Integer> values) {
      ensureInteractUidListIsMutable();
      com.google.protobuf.AbstractMessageLite.Builder.addAll(
          values, interactUidList_);
      onChanged();
      return this;
    }
    /**
     * <code>repeated uint32 interact_uid_list = 24;</code>
     * @return This builder for chaining.
     */
    public Builder clearInteractUidList() {
      interactUidList_ = emptyIntList();
      bitField0_ = (bitField0_ & ~0x00000002);
      onChanged();
      return this;
    }

    private io.grasscutter.net.proto.define.GadgetPlayInfo playInfo_;
    private com.google.protobuf.SingleFieldBuilderV3<
        io.grasscutter.net.proto.define.GadgetPlayInfo, io.grasscutter.net.proto.define.GadgetPlayInfo.Builder, io.grasscutter.net.proto.define.GadgetPlayInfoOrBuilder> playInfoBuilder_;
    /**
     * <code>.GadgetPlayInfo play_info = 100;</code>
     * @return Whether the playInfo field is set.
     */
    public boolean hasPlayInfo() {
      return playInfoBuilder_ != null || playInfo_ != null;
    }
    /**
     * <code>.GadgetPlayInfo play_info = 100;</code>
     * @return The playInfo.
     */
    public io.grasscutter.net.proto.define.GadgetPlayInfo getPlayInfo() {
      if (playInfoBuilder_ == null) {
        return playInfo_ == null ? io.grasscutter.net.proto.define.GadgetPlayInfo.getDefaultInstance() : playInfo_;
      } else {
        return playInfoBuilder_.getMessage();
      }
    }
    /**
     * <code>.GadgetPlayInfo play_info = 100;</code>
     */
    public Builder setPlayInfo(io.grasscutter.net.proto.define.GadgetPlayInfo value) {
      if (playInfoBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        playInfo_ = value;
        onChanged();
      } else {
        playInfoBuilder_.setMessage(value);
      }

      return this;
    }
    /**
     * <code>.GadgetPlayInfo play_info = 100;</code>
     */
    public Builder setPlayInfo(
        io.grasscutter.net.proto.define.GadgetPlayInfo.Builder builderForValue) {
      if (playInfoBuilder_ == null) {
        playInfo_ = builderForValue.build();
        onChanged();
      } else {
        playInfoBuilder_.setMessage(builderForValue.build());
      }

      return this;
    }
    /**
     * <code>.GadgetPlayInfo play_info = 100;</code>
     */
    public Builder mergePlayInfo(io.grasscutter.net.proto.define.GadgetPlayInfo value) {
      if (playInfoBuilder_ == null) {
        if (playInfo_ != null) {
          playInfo_ =
            io.grasscutter.net.proto.define.GadgetPlayInfo.newBuilder(playInfo_).mergeFrom(value).buildPartial();
        } else {
          playInfo_ = value;
        }
        onChanged();
      } else {
        playInfoBuilder_.mergeFrom(value);
      }

      return this;
    }
    /**
     * <code>.GadgetPlayInfo play_info = 100;</code>
     */
    public Builder clearPlayInfo() {
      if (playInfoBuilder_ == null) {
        playInfo_ = null;
        onChanged();
      } else {
        playInfo_ = null;
        playInfoBuilder_ = null;
      }

      return this;
    }
    /**
     * <code>.GadgetPlayInfo play_info = 100;</code>
     */
    public io.grasscutter.net.proto.define.GadgetPlayInfo.Builder getPlayInfoBuilder() {
      
      onChanged();
      return getPlayInfoFieldBuilder().getBuilder();
    }
    /**
     * <code>.GadgetPlayInfo play_info = 100;</code>
     */
    public io.grasscutter.net.proto.define.GadgetPlayInfoOrBuilder getPlayInfoOrBuilder() {
      if (playInfoBuilder_ != null) {
        return playInfoBuilder_.getMessageOrBuilder();
      } else {
        return playInfo_ == null ?
            io.grasscutter.net.proto.define.GadgetPlayInfo.getDefaultInstance() : playInfo_;
      }
    }
    /**
     * <code>.GadgetPlayInfo play_info = 100;</code>
     */
    private com.google.protobuf.SingleFieldBuilderV3<
        io.grasscutter.net.proto.define.GadgetPlayInfo, io.grasscutter.net.proto.define.GadgetPlayInfo.Builder, io.grasscutter.net.proto.define.GadgetPlayInfoOrBuilder> 
        getPlayInfoFieldBuilder() {
      if (playInfoBuilder_ == null) {
        playInfoBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
            io.grasscutter.net.proto.define.GadgetPlayInfo, io.grasscutter.net.proto.define.GadgetPlayInfo.Builder, io.grasscutter.net.proto.define.GadgetPlayInfoOrBuilder>(
                getPlayInfo(),
                getParentForChildren(),
                isClean());
        playInfo_ = null;
      }
      return playInfoBuilder_;
    }

    private io.grasscutter.net.proto.define.PDDFKAKPAPF nAJIKMLHPFB_;
    private com.google.protobuf.SingleFieldBuilderV3<
        io.grasscutter.net.proto.define.PDDFKAKPAPF, io.grasscutter.net.proto.define.PDDFKAKPAPF.Builder, io.grasscutter.net.proto.define.PDDFKAKPAPFOrBuilder> nAJIKMLHPFBBuilder_;
    /**
     * <code>.PDDFKAKPAPF NAJIKMLHPFB = 101;</code>
     * @return Whether the nAJIKMLHPFB field is set.
     */
    public boolean hasNAJIKMLHPFB() {
      return nAJIKMLHPFBBuilder_ != null || nAJIKMLHPFB_ != null;
    }
    /**
     * <code>.PDDFKAKPAPF NAJIKMLHPFB = 101;</code>
     * @return The nAJIKMLHPFB.
     */
    public io.grasscutter.net.proto.define.PDDFKAKPAPF getNAJIKMLHPFB() {
      if (nAJIKMLHPFBBuilder_ == null) {
        return nAJIKMLHPFB_ == null ? io.grasscutter.net.proto.define.PDDFKAKPAPF.getDefaultInstance() : nAJIKMLHPFB_;
      } else {
        return nAJIKMLHPFBBuilder_.getMessage();
      }
    }
    /**
     * <code>.PDDFKAKPAPF NAJIKMLHPFB = 101;</code>
     */
    public Builder setNAJIKMLHPFB(io.grasscutter.net.proto.define.PDDFKAKPAPF value) {
      if (nAJIKMLHPFBBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        nAJIKMLHPFB_ = value;
        onChanged();
      } else {
        nAJIKMLHPFBBuilder_.setMessage(value);
      }

      return this;
    }
    /**
     * <code>.PDDFKAKPAPF NAJIKMLHPFB = 101;</code>
     */
    public Builder setNAJIKMLHPFB(
        io.grasscutter.net.proto.define.PDDFKAKPAPF.Builder builderForValue) {
      if (nAJIKMLHPFBBuilder_ == null) {
        nAJIKMLHPFB_ = builderForValue.build();
        onChanged();
      } else {
        nAJIKMLHPFBBuilder_.setMessage(builderForValue.build());
      }

      return this;
    }
    /**
     * <code>.PDDFKAKPAPF NAJIKMLHPFB = 101;</code>
     */
    public Builder mergeNAJIKMLHPFB(io.grasscutter.net.proto.define.PDDFKAKPAPF value) {
      if (nAJIKMLHPFBBuilder_ == null) {
        if (nAJIKMLHPFB_ != null) {
          nAJIKMLHPFB_ =
            io.grasscutter.net.proto.define.PDDFKAKPAPF.newBuilder(nAJIKMLHPFB_).mergeFrom(value).buildPartial();
        } else {
          nAJIKMLHPFB_ = value;
        }
        onChanged();
      } else {
        nAJIKMLHPFBBuilder_.mergeFrom(value);
      }

      return this;
    }
    /**
     * <code>.PDDFKAKPAPF NAJIKMLHPFB = 101;</code>
     */
    public Builder clearNAJIKMLHPFB() {
      if (nAJIKMLHPFBBuilder_ == null) {
        nAJIKMLHPFB_ = null;
        onChanged();
      } else {
        nAJIKMLHPFB_ = null;
        nAJIKMLHPFBBuilder_ = null;
      }

      return this;
    }
    /**
     * <code>.PDDFKAKPAPF NAJIKMLHPFB = 101;</code>
     */
    public io.grasscutter.net.proto.define.PDDFKAKPAPF.Builder getNAJIKMLHPFBBuilder() {
      
      onChanged();
      return getNAJIKMLHPFBFieldBuilder().getBuilder();
    }
    /**
     * <code>.PDDFKAKPAPF NAJIKMLHPFB = 101;</code>
     */
    public io.grasscutter.net.proto.define.PDDFKAKPAPFOrBuilder getNAJIKMLHPFBOrBuilder() {
      if (nAJIKMLHPFBBuilder_ != null) {
        return nAJIKMLHPFBBuilder_.getMessageOrBuilder();
      } else {
        return nAJIKMLHPFB_ == null ?
            io.grasscutter.net.proto.define.PDDFKAKPAPF.getDefaultInstance() : nAJIKMLHPFB_;
      }
    }
    /**
     * <code>.PDDFKAKPAPF NAJIKMLHPFB = 101;</code>
     */
    private com.google.protobuf.SingleFieldBuilderV3<
        io.grasscutter.net.proto.define.PDDFKAKPAPF, io.grasscutter.net.proto.define.PDDFKAKPAPF.Builder, io.grasscutter.net.proto.define.PDDFKAKPAPFOrBuilder> 
        getNAJIKMLHPFBFieldBuilder() {
      if (nAJIKMLHPFBBuilder_ == null) {
        nAJIKMLHPFBBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
            io.grasscutter.net.proto.define.PDDFKAKPAPF, io.grasscutter.net.proto.define.PDDFKAKPAPF.Builder, io.grasscutter.net.proto.define.PDDFKAKPAPFOrBuilder>(
                getNAJIKMLHPFB(),
                getParentForChildren(),
                isClean());
        nAJIKMLHPFB_ = null;
      }
      return nAJIKMLHPFBBuilder_;
    }

    private io.grasscutter.net.proto.define.BDIMCFFEKON kLPMJCFGNPI_;
    private com.google.protobuf.SingleFieldBuilderV3<
        io.grasscutter.net.proto.define.BDIMCFFEKON, io.grasscutter.net.proto.define.BDIMCFFEKON.Builder, io.grasscutter.net.proto.define.BDIMCFFEKONOrBuilder> kLPMJCFGNPIBuilder_;
    /**
     * <code>.BDIMCFFEKON KLPMJCFGNPI = 103;</code>
     * @return Whether the kLPMJCFGNPI field is set.
     */
    public boolean hasKLPMJCFGNPI() {
      return kLPMJCFGNPIBuilder_ != null || kLPMJCFGNPI_ != null;
    }
    /**
     * <code>.BDIMCFFEKON KLPMJCFGNPI = 103;</code>
     * @return The kLPMJCFGNPI.
     */
    public io.grasscutter.net.proto.define.BDIMCFFEKON getKLPMJCFGNPI() {
      if (kLPMJCFGNPIBuilder_ == null) {
        return kLPMJCFGNPI_ == null ? io.grasscutter.net.proto.define.BDIMCFFEKON.getDefaultInstance() : kLPMJCFGNPI_;
      } else {
        return kLPMJCFGNPIBuilder_.getMessage();
      }
    }
    /**
     * <code>.BDIMCFFEKON KLPMJCFGNPI = 103;</code>
     */
    public Builder setKLPMJCFGNPI(io.grasscutter.net.proto.define.BDIMCFFEKON value) {
      if (kLPMJCFGNPIBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        kLPMJCFGNPI_ = value;
        onChanged();
      } else {
        kLPMJCFGNPIBuilder_.setMessage(value);
      }

      return this;
    }
    /**
     * <code>.BDIMCFFEKON KLPMJCFGNPI = 103;</code>
     */
    public Builder setKLPMJCFGNPI(
        io.grasscutter.net.proto.define.BDIMCFFEKON.Builder builderForValue) {
      if (kLPMJCFGNPIBuilder_ == null) {
        kLPMJCFGNPI_ = builderForValue.build();
        onChanged();
      } else {
        kLPMJCFGNPIBuilder_.setMessage(builderForValue.build());
      }

      return this;
    }
    /**
     * <code>.BDIMCFFEKON KLPMJCFGNPI = 103;</code>
     */
    public Builder mergeKLPMJCFGNPI(io.grasscutter.net.proto.define.BDIMCFFEKON value) {
      if (kLPMJCFGNPIBuilder_ == null) {
        if (kLPMJCFGNPI_ != null) {
          kLPMJCFGNPI_ =
            io.grasscutter.net.proto.define.BDIMCFFEKON.newBuilder(kLPMJCFGNPI_).mergeFrom(value).buildPartial();
        } else {
          kLPMJCFGNPI_ = value;
        }
        onChanged();
      } else {
        kLPMJCFGNPIBuilder_.mergeFrom(value);
      }

      return this;
    }
    /**
     * <code>.BDIMCFFEKON KLPMJCFGNPI = 103;</code>
     */
    public Builder clearKLPMJCFGNPI() {
      if (kLPMJCFGNPIBuilder_ == null) {
        kLPMJCFGNPI_ = null;
        onChanged();
      } else {
        kLPMJCFGNPI_ = null;
        kLPMJCFGNPIBuilder_ = null;
      }

      return this;
    }
    /**
     * <code>.BDIMCFFEKON KLPMJCFGNPI = 103;</code>
     */
    public io.grasscutter.net.proto.define.BDIMCFFEKON.Builder getKLPMJCFGNPIBuilder() {
      
      onChanged();
      return getKLPMJCFGNPIFieldBuilder().getBuilder();
    }
    /**
     * <code>.BDIMCFFEKON KLPMJCFGNPI = 103;</code>
     */
    public io.grasscutter.net.proto.define.BDIMCFFEKONOrBuilder getKLPMJCFGNPIOrBuilder() {
      if (kLPMJCFGNPIBuilder_ != null) {
        return kLPMJCFGNPIBuilder_.getMessageOrBuilder();
      } else {
        return kLPMJCFGNPI_ == null ?
            io.grasscutter.net.proto.define.BDIMCFFEKON.getDefaultInstance() : kLPMJCFGNPI_;
      }
    }
    /**
     * <code>.BDIMCFFEKON KLPMJCFGNPI = 103;</code>
     */
    private com.google.protobuf.SingleFieldBuilderV3<
        io.grasscutter.net.proto.define.BDIMCFFEKON, io.grasscutter.net.proto.define.BDIMCFFEKON.Builder, io.grasscutter.net.proto.define.BDIMCFFEKONOrBuilder> 
        getKLPMJCFGNPIFieldBuilder() {
      if (kLPMJCFGNPIBuilder_ == null) {
        kLPMJCFGNPIBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
            io.grasscutter.net.proto.define.BDIMCFFEKON, io.grasscutter.net.proto.define.BDIMCFFEKON.Builder, io.grasscutter.net.proto.define.BDIMCFFEKONOrBuilder>(
                getKLPMJCFGNPI(),
                getParentForChildren(),
                isClean());
        kLPMJCFGNPI_ = null;
      }
      return kLPMJCFGNPIBuilder_;
    }

    private io.grasscutter.net.proto.define.DKIBLFIGLAP jIOIGFOFFFF_;
    private com.google.protobuf.SingleFieldBuilderV3<
        io.grasscutter.net.proto.define.DKIBLFIGLAP, io.grasscutter.net.proto.define.DKIBLFIGLAP.Builder, io.grasscutter.net.proto.define.DKIBLFIGLAPOrBuilder> jIOIGFOFFFFBuilder_;
    /**
     * <code>.DKIBLFIGLAP JIOIGFOFFFF = 27;</code>
     * @return Whether the jIOIGFOFFFF field is set.
     */
    public boolean hasJIOIGFOFFFF() {
      return jIOIGFOFFFFBuilder_ != null || jIOIGFOFFFF_ != null;
    }
    /**
     * <code>.DKIBLFIGLAP JIOIGFOFFFF = 27;</code>
     * @return The jIOIGFOFFFF.
     */
    public io.grasscutter.net.proto.define.DKIBLFIGLAP getJIOIGFOFFFF() {
      if (jIOIGFOFFFFBuilder_ == null) {
        return jIOIGFOFFFF_ == null ? io.grasscutter.net.proto.define.DKIBLFIGLAP.getDefaultInstance() : jIOIGFOFFFF_;
      } else {
        return jIOIGFOFFFFBuilder_.getMessage();
      }
    }
    /**
     * <code>.DKIBLFIGLAP JIOIGFOFFFF = 27;</code>
     */
    public Builder setJIOIGFOFFFF(io.grasscutter.net.proto.define.DKIBLFIGLAP value) {
      if (jIOIGFOFFFFBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        jIOIGFOFFFF_ = value;
        onChanged();
      } else {
        jIOIGFOFFFFBuilder_.setMessage(value);
      }

      return this;
    }
    /**
     * <code>.DKIBLFIGLAP JIOIGFOFFFF = 27;</code>
     */
    public Builder setJIOIGFOFFFF(
        io.grasscutter.net.proto.define.DKIBLFIGLAP.Builder builderForValue) {
      if (jIOIGFOFFFFBuilder_ == null) {
        jIOIGFOFFFF_ = builderForValue.build();
        onChanged();
      } else {
        jIOIGFOFFFFBuilder_.setMessage(builderForValue.build());
      }

      return this;
    }
    /**
     * <code>.DKIBLFIGLAP JIOIGFOFFFF = 27;</code>
     */
    public Builder mergeJIOIGFOFFFF(io.grasscutter.net.proto.define.DKIBLFIGLAP value) {
      if (jIOIGFOFFFFBuilder_ == null) {
        if (jIOIGFOFFFF_ != null) {
          jIOIGFOFFFF_ =
            io.grasscutter.net.proto.define.DKIBLFIGLAP.newBuilder(jIOIGFOFFFF_).mergeFrom(value).buildPartial();
        } else {
          jIOIGFOFFFF_ = value;
        }
        onChanged();
      } else {
        jIOIGFOFFFFBuilder_.mergeFrom(value);
      }

      return this;
    }
    /**
     * <code>.DKIBLFIGLAP JIOIGFOFFFF = 27;</code>
     */
    public Builder clearJIOIGFOFFFF() {
      if (jIOIGFOFFFFBuilder_ == null) {
        jIOIGFOFFFF_ = null;
        onChanged();
      } else {
        jIOIGFOFFFF_ = null;
        jIOIGFOFFFFBuilder_ = null;
      }

      return this;
    }
    /**
     * <code>.DKIBLFIGLAP JIOIGFOFFFF = 27;</code>
     */
    public io.grasscutter.net.proto.define.DKIBLFIGLAP.Builder getJIOIGFOFFFFBuilder() {
      
      onChanged();
      return getJIOIGFOFFFFFieldBuilder().getBuilder();
    }
    /**
     * <code>.DKIBLFIGLAP JIOIGFOFFFF = 27;</code>
     */
    public io.grasscutter.net.proto.define.DKIBLFIGLAPOrBuilder getJIOIGFOFFFFOrBuilder() {
      if (jIOIGFOFFFFBuilder_ != null) {
        return jIOIGFOFFFFBuilder_.getMessageOrBuilder();
      } else {
        return jIOIGFOFFFF_ == null ?
            io.grasscutter.net.proto.define.DKIBLFIGLAP.getDefaultInstance() : jIOIGFOFFFF_;
      }
    }
    /**
     * <code>.DKIBLFIGLAP JIOIGFOFFFF = 27;</code>
     */
    private com.google.protobuf.SingleFieldBuilderV3<
        io.grasscutter.net.proto.define.DKIBLFIGLAP, io.grasscutter.net.proto.define.DKIBLFIGLAP.Builder, io.grasscutter.net.proto.define.DKIBLFIGLAPOrBuilder> 
        getJIOIGFOFFFFFieldBuilder() {
      if (jIOIGFOFFFFBuilder_ == null) {
        jIOIGFOFFFFBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
            io.grasscutter.net.proto.define.DKIBLFIGLAP, io.grasscutter.net.proto.define.DKIBLFIGLAP.Builder, io.grasscutter.net.proto.define.DKIBLFIGLAPOrBuilder>(
                getJIOIGFOFFFF(),
                getParentForChildren(),
                isClean());
        jIOIGFOFFFF_ = null;
      }
      return jIOIGFOFFFFBuilder_;
    }

    private int propOwnerEntityId_ ;
    /**
     * <code>uint32 prop_owner_entity_id = 22;</code>
     * @return The propOwnerEntityId.
     */
    @java.lang.Override
    public int getPropOwnerEntityId() {
      return propOwnerEntityId_;
    }
    /**
     * <code>uint32 prop_owner_entity_id = 22;</code>
     * @param value The propOwnerEntityId to set.
     * @return This builder for chaining.
     */
    public Builder setPropOwnerEntityId(int value) {
      
      propOwnerEntityId_ = value;
      onChanged();
      return this;
    }
    /**
     * <code>uint32 prop_owner_entity_id = 22;</code>
     * @return This builder for chaining.
     */
    public Builder clearPropOwnerEntityId() {
      
      propOwnerEntityId_ = 0;
      onChanged();
      return this;
    }

    private boolean isEnableInteract_ ;
    /**
     * <code>bool is_enable_interact = 10;</code>
     * @return The isEnableInteract.
     */
    @java.lang.Override
    public boolean getIsEnableInteract() {
      return isEnableInteract_;
    }
    /**
     * <code>bool is_enable_interact = 10;</code>
     * @param value The isEnableInteract to set.
     * @return This builder for chaining.
     */
    public Builder setIsEnableInteract(boolean value) {
      
      isEnableInteract_ = value;
      onChanged();
      return this;
    }
    /**
     * <code>bool is_enable_interact = 10;</code>
     * @return This builder for chaining.
     */
    public Builder clearIsEnableInteract() {
      
      isEnableInteract_ = false;
      onChanged();
      return this;
    }

    private boolean isShowCutscene_ ;
    /**
     * <code>bool is_show_cutscene = 8;</code>
     * @return The isShowCutscene.
     */
    @java.lang.Override
    public boolean getIsShowCutscene() {
      return isShowCutscene_;
    }
    /**
     * <code>bool is_show_cutscene = 8;</code>
     * @param value The isShowCutscene to set.
     * @return This builder for chaining.
     */
    public Builder setIsShowCutscene(boolean value) {
      
      isShowCutscene_ = value;
      onChanged();
      return this;
    }
    /**
     * <code>bool is_show_cutscene = 8;</code>
     * @return This builder for chaining.
     */
    public Builder clearIsShowCutscene() {
      
      isShowCutscene_ = false;
      onChanged();
      return this;
    }

    private int authorityPeerId_ ;
    /**
     * <code>uint32 authority_peer_id = 9;</code>
     * @return The authorityPeerId.
     */
    @java.lang.Override
    public int getAuthorityPeerId() {
      return authorityPeerId_;
    }
    /**
     * <code>uint32 authority_peer_id = 9;</code>
     * @param value The authorityPeerId to set.
     * @return This builder for chaining.
     */
    public Builder setAuthorityPeerId(int value) {
      
      authorityPeerId_ = value;
      onChanged();
      return this;
    }
    /**
     * <code>uint32 authority_peer_id = 9;</code>
     * @return This builder for chaining.
     */
    public Builder clearAuthorityPeerId() {
      
      authorityPeerId_ = 0;
      onChanged();
      return this;
    }

    private int draftId_ ;
    /**
     * <code>uint32 draft_id = 25;</code>
     * @return The draftId.
     */
    @java.lang.Override
    public int getDraftId() {
      return draftId_;
    }
    /**
     * <code>uint32 draft_id = 25;</code>
     * @param value The draftId to set.
     * @return This builder for chaining.
     */
    public Builder setDraftId(int value) {
      
      draftId_ = value;
      onChanged();
      return this;
    }
    /**
     * <code>uint32 draft_id = 25;</code>
     * @return This builder for chaining.
     */
    public Builder clearDraftId() {
      
      draftId_ = 0;
      onChanged();
      return this;
    }

    private int gadgetTalkState_ ;
    /**
     * <code>uint32 gadget_talk_state = 26;</code>
     * @return The gadgetTalkState.
     */
    @java.lang.Override
    public int getGadgetTalkState() {
      return gadgetTalkState_;
    }
    /**
     * <code>uint32 gadget_talk_state = 26;</code>
     * @param value The gadgetTalkState to set.
     * @return This builder for chaining.
     */
    public Builder setGadgetTalkState(int value) {
      
      gadgetTalkState_ = value;
      onChanged();
      return this;
    }
    /**
     * <code>uint32 gadget_talk_state = 26;</code>
     * @return This builder for chaining.
     */
    public Builder clearGadgetTalkState() {
      
      gadgetTalkState_ = 0;
      onChanged();
      return this;
    }

    private int configId_ ;
    /**
     * <code>uint32 config_id = 3;</code>
     * @return The configId.
     */
    @java.lang.Override
    public int getConfigId() {
      return configId_;
    }
    /**
     * <code>uint32 config_id = 3;</code>
     * @param value The configId to set.
     * @return This builder for chaining.
     */
    public Builder setConfigId(int value) {
      
      configId_ = value;
      onChanged();
      return this;
    }
    /**
     * <code>uint32 config_id = 3;</code>
     * @return This builder for chaining.
     */
    public Builder clearConfigId() {
      
      configId_ = 0;
      onChanged();
      return this;
    }

    private int gadgetId_ ;
    /**
     * <code>uint32 gadget_id = 1;</code>
     * @return The gadgetId.
     */
    @java.lang.Override
    public int getGadgetId() {
      return gadgetId_;
    }
    /**
     * <code>uint32 gadget_id = 1;</code>
     * @param value The gadgetId to set.
     * @return This builder for chaining.
     */
    public Builder setGadgetId(int value) {
      
      gadgetId_ = value;
      onChanged();
      return this;
    }
    /**
     * <code>uint32 gadget_id = 1;</code>
     * @return This builder for chaining.
     */
    public Builder clearGadgetId() {
      
      gadgetId_ = 0;
      onChanged();
      return this;
    }

    private int ownerEntityId_ ;
    /**
     * <code>uint32 owner_entity_id = 4;</code>
     * @return The ownerEntityId.
     */
    @java.lang.Override
    public int getOwnerEntityId() {
      return ownerEntityId_;
    }
    /**
     * <code>uint32 owner_entity_id = 4;</code>
     * @param value The ownerEntityId to set.
     * @return This builder for chaining.
     */
    public Builder setOwnerEntityId(int value) {
      
      ownerEntityId_ = value;
      onChanged();
      return this;
    }
    /**
     * <code>uint32 owner_entity_id = 4;</code>
     * @return This builder for chaining.
     */
    public Builder clearOwnerEntityId() {
      
      ownerEntityId_ = 0;
      onChanged();
      return this;
    }

    private int campType_ ;
    /**
     * <code>uint32 camp_type = 28;</code>
     * @return The campType.
     */
    @java.lang.Override
    public int getCampType() {
      return campType_;
    }
    /**
     * <code>uint32 camp_type = 28;</code>
     * @param value The campType to set.
     * @return This builder for chaining.
     */
    public Builder setCampType(int value) {
      
      campType_ = value;
      onChanged();
      return this;
    }
    /**
     * <code>uint32 camp_type = 28;</code>
     * @return This builder for chaining.
     */
    public Builder clearCampType() {
      
      campType_ = 0;
      onChanged();
      return this;
    }

    private int markFlag_ ;
    /**
     * <code>uint32 mark_flag = 21;</code>
     * @return The markFlag.
     */
    @java.lang.Override
    public int getMarkFlag() {
      return markFlag_;
    }
    /**
     * <code>uint32 mark_flag = 21;</code>
     * @param value The markFlag to set.
     * @return This builder for chaining.
     */
    public Builder setMarkFlag(int value) {
      
      markFlag_ = value;
      onChanged();
      return this;
    }
    /**
     * <code>uint32 mark_flag = 21;</code>
     * @return This builder for chaining.
     */
    public Builder clearMarkFlag() {
      
      markFlag_ = 0;
      onChanged();
      return this;
    }

    private int bornType_ = 0;
    /**
     * <code>.GadgetBornType born_type = 5;</code>
     * @return The enum numeric value on the wire for bornType.
     */
    @java.lang.Override public int getBornTypeValue() {
      return bornType_;
    }
    /**
     * <code>.GadgetBornType born_type = 5;</code>
     * @param value The enum numeric value on the wire for bornType to set.
     * @return This builder for chaining.
     */
    public Builder setBornTypeValue(int value) {
      
      bornType_ = value;
      onChanged();
      return this;
    }
    /**
     * <code>.GadgetBornType born_type = 5;</code>
     * @return The bornType.
     */
    @java.lang.Override
    public io.grasscutter.net.proto.define.GadgetBornType getBornType() {
      @SuppressWarnings("deprecation")
      io.grasscutter.net.proto.define.GadgetBornType result = io.grasscutter.net.proto.define.GadgetBornType.valueOf(bornType_);
      return result == null ? io.grasscutter.net.proto.define.GadgetBornType.UNRECOGNIZED : result;
    }
    /**
     * <code>.GadgetBornType born_type = 5;</code>
     * @param value The bornType to set.
     * @return This builder for chaining.
     */
    public Builder setBornType(io.grasscutter.net.proto.define.GadgetBornType value) {
      if (value == null) {
        throw new NullPointerException();
      }
      
      bornType_ = value.getNumber();
      onChanged();
      return this;
    }
    /**
     * <code>.GadgetBornType born_type = 5;</code>
     * @return This builder for chaining.
     */
    public Builder clearBornType() {
      
      bornType_ = 0;
      onChanged();
      return this;
    }

    private int gadgetType_ ;
    /**
     * <code>uint32 gadget_type = 7;</code>
     * @return The gadgetType.
     */
    @java.lang.Override
    public int getGadgetType() {
      return gadgetType_;
    }
    /**
     * <code>uint32 gadget_type = 7;</code>
     * @param value The gadgetType to set.
     * @return This builder for chaining.
     */
    public Builder setGadgetType(int value) {
      
      gadgetType_ = value;
      onChanged();
      return this;
    }
    /**
     * <code>uint32 gadget_type = 7;</code>
     * @return This builder for chaining.
     */
    public Builder clearGadgetType() {
      
      gadgetType_ = 0;
      onChanged();
      return this;
    }

    private int interactId_ ;
    /**
     * <code>uint32 interact_id = 11;</code>
     * @return The interactId.
     */
    @java.lang.Override
    public int getInteractId() {
      return interactId_;
    }
    /**
     * <code>uint32 interact_id = 11;</code>
     * @param value The interactId to set.
     * @return This builder for chaining.
     */
    public Builder setInteractId(int value) {
      
      interactId_ = value;
      onChanged();
      return this;
    }
    /**
     * <code>uint32 interact_id = 11;</code>
     * @return This builder for chaining.
     */
    public Builder clearInteractId() {
      
      interactId_ = 0;
      onChanged();
      return this;
    }

    private int groupId_ ;
    /**
     * <code>uint32 group_id = 2;</code>
     * @return The groupId.
     */
    @java.lang.Override
    public int getGroupId() {
      return groupId_;
    }
    /**
     * <code>uint32 group_id = 2;</code>
     * @param value The groupId to set.
     * @return This builder for chaining.
     */
    public Builder setGroupId(int value) {
      
      groupId_ = value;
      onChanged();
      return this;
    }
    /**
     * <code>uint32 group_id = 2;</code>
     * @return This builder for chaining.
     */
    public Builder clearGroupId() {
      
      groupId_ = 0;
      onChanged();
      return this;
    }

    private com.google.protobuf.SingleFieldBuilderV3<
        io.grasscutter.net.proto.define.BossChestInfo, io.grasscutter.net.proto.define.BossChestInfo.Builder, io.grasscutter.net.proto.define.BossChestInfoOrBuilder> bossChestBuilder_;
    /**
     * <code>.BossChestInfo boss_chest = 20;</code>
     * @return Whether the bossChest field is set.
     */
    @java.lang.Override
    public boolean hasBossChest() {
      return contentCase_ == 20;
    }
    /**
     * <code>.BossChestInfo boss_chest = 20;</code>
     * @return The bossChest.
     */
    @java.lang.Override
    public io.grasscutter.net.proto.define.BossChestInfo getBossChest() {
      if (bossChestBuilder_ == null) {
        if (contentCase_ == 20) {
          return (io.grasscutter.net.proto.define.BossChestInfo) content_;
        }
        return io.grasscutter.net.proto.define.BossChestInfo.getDefaultInstance();
      } else {
        if (contentCase_ == 20) {
          return bossChestBuilder_.getMessage();
        }
        return io.grasscutter.net.proto.define.BossChestInfo.getDefaultInstance();
      }
    }
    /**
     * <code>.BossChestInfo boss_chest = 20;</code>
     */
    public Builder setBossChest(io.grasscutter.net.proto.define.BossChestInfo value) {
      if (bossChestBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        content_ = value;
        onChanged();
      } else {
        bossChestBuilder_.setMessage(value);
      }
      contentCase_ = 20;
      return this;
    }
    /**
     * <code>.BossChestInfo boss_chest = 20;</code>
     */
    public Builder setBossChest(
        io.grasscutter.net.proto.define.BossChestInfo.Builder builderForValue) {
      if (bossChestBuilder_ == null) {
        content_ = builderForValue.build();
        onChanged();
      } else {
        bossChestBuilder_.setMessage(builderForValue.build());
      }
      contentCase_ = 20;
      return this;
    }
    /**
     * <code>.BossChestInfo boss_chest = 20;</code>
     */
    public Builder mergeBossChest(io.grasscutter.net.proto.define.BossChestInfo value) {
      if (bossChestBuilder_ == null) {
        if (contentCase_ == 20 &&
            content_ != io.grasscutter.net.proto.define.BossChestInfo.getDefaultInstance()) {
          content_ = io.grasscutter.net.proto.define.BossChestInfo.newBuilder((io.grasscutter.net.proto.define.BossChestInfo) content_)
              .mergeFrom(value).buildPartial();
        } else {
          content_ = value;
        }
        onChanged();
      } else {
        if (contentCase_ == 20) {
          bossChestBuilder_.mergeFrom(value);
        }
        bossChestBuilder_.setMessage(value);
      }
      contentCase_ = 20;
      return this;
    }
    /**
     * <code>.BossChestInfo boss_chest = 20;</code>
     */
    public Builder clearBossChest() {
      if (bossChestBuilder_ == null) {
        if (contentCase_ == 20) {
          contentCase_ = 0;
          content_ = null;
          onChanged();
        }
      } else {
        if (contentCase_ == 20) {
          contentCase_ = 0;
          content_ = null;
        }
        bossChestBuilder_.clear();
      }
      return this;
    }
    /**
     * <code>.BossChestInfo boss_chest = 20;</code>
     */
    public io.grasscutter.net.proto.define.BossChestInfo.Builder getBossChestBuilder() {
      return getBossChestFieldBuilder().getBuilder();
    }
    /**
     * <code>.BossChestInfo boss_chest = 20;</code>
     */
    @java.lang.Override
    public io.grasscutter.net.proto.define.BossChestInfoOrBuilder getBossChestOrBuilder() {
      if ((contentCase_ == 20) && (bossChestBuilder_ != null)) {
        return bossChestBuilder_.getMessageOrBuilder();
      } else {
        if (contentCase_ == 20) {
          return (io.grasscutter.net.proto.define.BossChestInfo) content_;
        }
        return io.grasscutter.net.proto.define.BossChestInfo.getDefaultInstance();
      }
    }
    /**
     * <code>.BossChestInfo boss_chest = 20;</code>
     */
    private com.google.protobuf.SingleFieldBuilderV3<
        io.grasscutter.net.proto.define.BossChestInfo, io.grasscutter.net.proto.define.BossChestInfo.Builder, io.grasscutter.net.proto.define.BossChestInfoOrBuilder> 
        getBossChestFieldBuilder() {
      if (bossChestBuilder_ == null) {
        if (!(contentCase_ == 20)) {
          content_ = io.grasscutter.net.proto.define.BossChestInfo.getDefaultInstance();
        }
        bossChestBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
            io.grasscutter.net.proto.define.BossChestInfo, io.grasscutter.net.proto.define.BossChestInfo.Builder, io.grasscutter.net.proto.define.BossChestInfoOrBuilder>(
                (io.grasscutter.net.proto.define.BossChestInfo) content_,
                getParentForChildren(),
                isClean());
        content_ = null;
      }
      contentCase_ = 20;
      onChanged();;
      return bossChestBuilder_;
    }

    private com.google.protobuf.SingleFieldBuilderV3<
        io.grasscutter.net.proto.define.ScreenInfo, io.grasscutter.net.proto.define.ScreenInfo.Builder, io.grasscutter.net.proto.define.ScreenInfoOrBuilder> screenInfoBuilder_;
    /**
     * <code>.ScreenInfo screen_info = 48;</code>
     * @return Whether the screenInfo field is set.
     */
    @java.lang.Override
    public boolean hasScreenInfo() {
      return contentCase_ == 48;
    }
    /**
     * <code>.ScreenInfo screen_info = 48;</code>
     * @return The screenInfo.
     */
    @java.lang.Override
    public io.grasscutter.net.proto.define.ScreenInfo getScreenInfo() {
      if (screenInfoBuilder_ == null) {
        if (contentCase_ == 48) {
          return (io.grasscutter.net.proto.define.ScreenInfo) content_;
        }
        return io.grasscutter.net.proto.define.ScreenInfo.getDefaultInstance();
      } else {
        if (contentCase_ == 48) {
          return screenInfoBuilder_.getMessage();
        }
        return io.grasscutter.net.proto.define.ScreenInfo.getDefaultInstance();
      }
    }
    /**
     * <code>.ScreenInfo screen_info = 48;</code>
     */
    public Builder setScreenInfo(io.grasscutter.net.proto.define.ScreenInfo value) {
      if (screenInfoBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        content_ = value;
        onChanged();
      } else {
        screenInfoBuilder_.setMessage(value);
      }
      contentCase_ = 48;
      return this;
    }
    /**
     * <code>.ScreenInfo screen_info = 48;</code>
     */
    public Builder setScreenInfo(
        io.grasscutter.net.proto.define.ScreenInfo.Builder builderForValue) {
      if (screenInfoBuilder_ == null) {
        content_ = builderForValue.build();
        onChanged();
      } else {
        screenInfoBuilder_.setMessage(builderForValue.build());
      }
      contentCase_ = 48;
      return this;
    }
    /**
     * <code>.ScreenInfo screen_info = 48;</code>
     */
    public Builder mergeScreenInfo(io.grasscutter.net.proto.define.ScreenInfo value) {
      if (screenInfoBuilder_ == null) {
        if (contentCase_ == 48 &&
            content_ != io.grasscutter.net.proto.define.ScreenInfo.getDefaultInstance()) {
          content_ = io.grasscutter.net.proto.define.ScreenInfo.newBuilder((io.grasscutter.net.proto.define.ScreenInfo) content_)
              .mergeFrom(value).buildPartial();
        } else {
          content_ = value;
        }
        onChanged();
      } else {
        if (contentCase_ == 48) {
          screenInfoBuilder_.mergeFrom(value);
        }
        screenInfoBuilder_.setMessage(value);
      }
      contentCase_ = 48;
      return this;
    }
    /**
     * <code>.ScreenInfo screen_info = 48;</code>
     */
    public Builder clearScreenInfo() {
      if (screenInfoBuilder_ == null) {
        if (contentCase_ == 48) {
          contentCase_ = 0;
          content_ = null;
          onChanged();
        }
      } else {
        if (contentCase_ == 48) {
          contentCase_ = 0;
          content_ = null;
        }
        screenInfoBuilder_.clear();
      }
      return this;
    }
    /**
     * <code>.ScreenInfo screen_info = 48;</code>
     */
    public io.grasscutter.net.proto.define.ScreenInfo.Builder getScreenInfoBuilder() {
      return getScreenInfoFieldBuilder().getBuilder();
    }
    /**
     * <code>.ScreenInfo screen_info = 48;</code>
     */
    @java.lang.Override
    public io.grasscutter.net.proto.define.ScreenInfoOrBuilder getScreenInfoOrBuilder() {
      if ((contentCase_ == 48) && (screenInfoBuilder_ != null)) {
        return screenInfoBuilder_.getMessageOrBuilder();
      } else {
        if (contentCase_ == 48) {
          return (io.grasscutter.net.proto.define.ScreenInfo) content_;
        }
        return io.grasscutter.net.proto.define.ScreenInfo.getDefaultInstance();
      }
    }
    /**
     * <code>.ScreenInfo screen_info = 48;</code>
     */
    private com.google.protobuf.SingleFieldBuilderV3<
        io.grasscutter.net.proto.define.ScreenInfo, io.grasscutter.net.proto.define.ScreenInfo.Builder, io.grasscutter.net.proto.define.ScreenInfoOrBuilder> 
        getScreenInfoFieldBuilder() {
      if (screenInfoBuilder_ == null) {
        if (!(contentCase_ == 48)) {
          content_ = io.grasscutter.net.proto.define.ScreenInfo.getDefaultInstance();
        }
        screenInfoBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
            io.grasscutter.net.proto.define.ScreenInfo, io.grasscutter.net.proto.define.ScreenInfo.Builder, io.grasscutter.net.proto.define.ScreenInfoOrBuilder>(
                (io.grasscutter.net.proto.define.ScreenInfo) content_,
                getParentForChildren(),
                isClean());
        content_ = null;
      }
      contentCase_ = 48;
      onChanged();;
      return screenInfoBuilder_;
    }

    private com.google.protobuf.SingleFieldBuilderV3<
        io.grasscutter.net.proto.define.BlossomChestInfo, io.grasscutter.net.proto.define.BlossomChestInfo.Builder, io.grasscutter.net.proto.define.BlossomChestInfoOrBuilder> blossomChestBuilder_;
    /**
     * <code>.BlossomChestInfo blossom_chest = 41;</code>
     * @return Whether the blossomChest field is set.
     */
    @java.lang.Override
    public boolean hasBlossomChest() {
      return contentCase_ == 41;
    }
    /**
     * <code>.BlossomChestInfo blossom_chest = 41;</code>
     * @return The blossomChest.
     */
    @java.lang.Override
    public io.grasscutter.net.proto.define.BlossomChestInfo getBlossomChest() {
      if (blossomChestBuilder_ == null) {
        if (contentCase_ == 41) {
          return (io.grasscutter.net.proto.define.BlossomChestInfo) content_;
        }
        return io.grasscutter.net.proto.define.BlossomChestInfo.getDefaultInstance();
      } else {
        if (contentCase_ == 41) {
          return blossomChestBuilder_.getMessage();
        }
        return io.grasscutter.net.proto.define.BlossomChestInfo.getDefaultInstance();
      }
    }
    /**
     * <code>.BlossomChestInfo blossom_chest = 41;</code>
     */
    public Builder setBlossomChest(io.grasscutter.net.proto.define.BlossomChestInfo value) {
      if (blossomChestBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        content_ = value;
        onChanged();
      } else {
        blossomChestBuilder_.setMessage(value);
      }
      contentCase_ = 41;
      return this;
    }
    /**
     * <code>.BlossomChestInfo blossom_chest = 41;</code>
     */
    public Builder setBlossomChest(
        io.grasscutter.net.proto.define.BlossomChestInfo.Builder builderForValue) {
      if (blossomChestBuilder_ == null) {
        content_ = builderForValue.build();
        onChanged();
      } else {
        blossomChestBuilder_.setMessage(builderForValue.build());
      }
      contentCase_ = 41;
      return this;
    }
    /**
     * <code>.BlossomChestInfo blossom_chest = 41;</code>
     */
    public Builder mergeBlossomChest(io.grasscutter.net.proto.define.BlossomChestInfo value) {
      if (blossomChestBuilder_ == null) {
        if (contentCase_ == 41 &&
            content_ != io.grasscutter.net.proto.define.BlossomChestInfo.getDefaultInstance()) {
          content_ = io.grasscutter.net.proto.define.BlossomChestInfo.newBuilder((io.grasscutter.net.proto.define.BlossomChestInfo) content_)
              .mergeFrom(value).buildPartial();
        } else {
          content_ = value;
        }
        onChanged();
      } else {
        if (contentCase_ == 41) {
          blossomChestBuilder_.mergeFrom(value);
        }
        blossomChestBuilder_.setMessage(value);
      }
      contentCase_ = 41;
      return this;
    }
    /**
     * <code>.BlossomChestInfo blossom_chest = 41;</code>
     */
    public Builder clearBlossomChest() {
      if (blossomChestBuilder_ == null) {
        if (contentCase_ == 41) {
          contentCase_ = 0;
          content_ = null;
          onChanged();
        }
      } else {
        if (contentCase_ == 41) {
          contentCase_ = 0;
          content_ = null;
        }
        blossomChestBuilder_.clear();
      }
      return this;
    }
    /**
     * <code>.BlossomChestInfo blossom_chest = 41;</code>
     */
    public io.grasscutter.net.proto.define.BlossomChestInfo.Builder getBlossomChestBuilder() {
      return getBlossomChestFieldBuilder().getBuilder();
    }
    /**
     * <code>.BlossomChestInfo blossom_chest = 41;</code>
     */
    @java.lang.Override
    public io.grasscutter.net.proto.define.BlossomChestInfoOrBuilder getBlossomChestOrBuilder() {
      if ((contentCase_ == 41) && (blossomChestBuilder_ != null)) {
        return blossomChestBuilder_.getMessageOrBuilder();
      } else {
        if (contentCase_ == 41) {
          return (io.grasscutter.net.proto.define.BlossomChestInfo) content_;
        }
        return io.grasscutter.net.proto.define.BlossomChestInfo.getDefaultInstance();
      }
    }
    /**
     * <code>.BlossomChestInfo blossom_chest = 41;</code>
     */
    private com.google.protobuf.SingleFieldBuilderV3<
        io.grasscutter.net.proto.define.BlossomChestInfo, io.grasscutter.net.proto.define.BlossomChestInfo.Builder, io.grasscutter.net.proto.define.BlossomChestInfoOrBuilder> 
        getBlossomChestFieldBuilder() {
      if (blossomChestBuilder_ == null) {
        if (!(contentCase_ == 41)) {
          content_ = io.grasscutter.net.proto.define.BlossomChestInfo.getDefaultInstance();
        }
        blossomChestBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
            io.grasscutter.net.proto.define.BlossomChestInfo, io.grasscutter.net.proto.define.BlossomChestInfo.Builder, io.grasscutter.net.proto.define.BlossomChestInfoOrBuilder>(
                (io.grasscutter.net.proto.define.BlossomChestInfo) content_,
                getParentForChildren(),
                isClean());
        content_ = null;
      }
      contentCase_ = 41;
      onChanged();;
      return blossomChestBuilder_;
    }

    private com.google.protobuf.SingleFieldBuilderV3<
        io.grasscutter.net.proto.define.IKNFOPHBEDP, io.grasscutter.net.proto.define.IKNFOPHBEDP.Builder, io.grasscutter.net.proto.define.IKNFOPHBEDPOrBuilder> shellInfoBuilder_;
    /**
     * <code>.IKNFOPHBEDP shell_info = 47;</code>
     * @return Whether the shellInfo field is set.
     */
    @java.lang.Override
    public boolean hasShellInfo() {
      return contentCase_ == 47;
    }
    /**
     * <code>.IKNFOPHBEDP shell_info = 47;</code>
     * @return The shellInfo.
     */
    @java.lang.Override
    public io.grasscutter.net.proto.define.IKNFOPHBEDP getShellInfo() {
      if (shellInfoBuilder_ == null) {
        if (contentCase_ == 47) {
          return (io.grasscutter.net.proto.define.IKNFOPHBEDP) content_;
        }
        return io.grasscutter.net.proto.define.IKNFOPHBEDP.getDefaultInstance();
      } else {
        if (contentCase_ == 47) {
          return shellInfoBuilder_.getMessage();
        }
        return io.grasscutter.net.proto.define.IKNFOPHBEDP.getDefaultInstance();
      }
    }
    /**
     * <code>.IKNFOPHBEDP shell_info = 47;</code>
     */
    public Builder setShellInfo(io.grasscutter.net.proto.define.IKNFOPHBEDP value) {
      if (shellInfoBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        content_ = value;
        onChanged();
      } else {
        shellInfoBuilder_.setMessage(value);
      }
      contentCase_ = 47;
      return this;
    }
    /**
     * <code>.IKNFOPHBEDP shell_info = 47;</code>
     */
    public Builder setShellInfo(
        io.grasscutter.net.proto.define.IKNFOPHBEDP.Builder builderForValue) {
      if (shellInfoBuilder_ == null) {
        content_ = builderForValue.build();
        onChanged();
      } else {
        shellInfoBuilder_.setMessage(builderForValue.build());
      }
      contentCase_ = 47;
      return this;
    }
    /**
     * <code>.IKNFOPHBEDP shell_info = 47;</code>
     */
    public Builder mergeShellInfo(io.grasscutter.net.proto.define.IKNFOPHBEDP value) {
      if (shellInfoBuilder_ == null) {
        if (contentCase_ == 47 &&
            content_ != io.grasscutter.net.proto.define.IKNFOPHBEDP.getDefaultInstance()) {
          content_ = io.grasscutter.net.proto.define.IKNFOPHBEDP.newBuilder((io.grasscutter.net.proto.define.IKNFOPHBEDP) content_)
              .mergeFrom(value).buildPartial();
        } else {
          content_ = value;
        }
        onChanged();
      } else {
        if (contentCase_ == 47) {
          shellInfoBuilder_.mergeFrom(value);
        }
        shellInfoBuilder_.setMessage(value);
      }
      contentCase_ = 47;
      return this;
    }
    /**
     * <code>.IKNFOPHBEDP shell_info = 47;</code>
     */
    public Builder clearShellInfo() {
      if (shellInfoBuilder_ == null) {
        if (contentCase_ == 47) {
          contentCase_ = 0;
          content_ = null;
          onChanged();
        }
      } else {
        if (contentCase_ == 47) {
          contentCase_ = 0;
          content_ = null;
        }
        shellInfoBuilder_.clear();
      }
      return this;
    }
    /**
     * <code>.IKNFOPHBEDP shell_info = 47;</code>
     */
    public io.grasscutter.net.proto.define.IKNFOPHBEDP.Builder getShellInfoBuilder() {
      return getShellInfoFieldBuilder().getBuilder();
    }
    /**
     * <code>.IKNFOPHBEDP shell_info = 47;</code>
     */
    @java.lang.Override
    public io.grasscutter.net.proto.define.IKNFOPHBEDPOrBuilder getShellInfoOrBuilder() {
      if ((contentCase_ == 47) && (shellInfoBuilder_ != null)) {
        return shellInfoBuilder_.getMessageOrBuilder();
      } else {
        if (contentCase_ == 47) {
          return (io.grasscutter.net.proto.define.IKNFOPHBEDP) content_;
        }
        return io.grasscutter.net.proto.define.IKNFOPHBEDP.getDefaultInstance();
      }
    }
    /**
     * <code>.IKNFOPHBEDP shell_info = 47;</code>
     */
    private com.google.protobuf.SingleFieldBuilderV3<
        io.grasscutter.net.proto.define.IKNFOPHBEDP, io.grasscutter.net.proto.define.IKNFOPHBEDP.Builder, io.grasscutter.net.proto.define.IKNFOPHBEDPOrBuilder> 
        getShellInfoFieldBuilder() {
      if (shellInfoBuilder_ == null) {
        if (!(contentCase_ == 47)) {
          content_ = io.grasscutter.net.proto.define.IKNFOPHBEDP.getDefaultInstance();
        }
        shellInfoBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
            io.grasscutter.net.proto.define.IKNFOPHBEDP, io.grasscutter.net.proto.define.IKNFOPHBEDP.Builder, io.grasscutter.net.proto.define.IKNFOPHBEDPOrBuilder>(
                (io.grasscutter.net.proto.define.IKNFOPHBEDP) content_,
                getParentForChildren(),
                isClean());
        content_ = null;
      }
      contentCase_ = 47;
      onChanged();;
      return shellInfoBuilder_;
    }

    private com.google.protobuf.SingleFieldBuilderV3<
        io.grasscutter.net.proto.define.DDAJIEEALEI, io.grasscutter.net.proto.define.DDAJIEEALEI.Builder, io.grasscutter.net.proto.define.DDAJIEEALEIOrBuilder> weatherBuilder_;
    /**
     * <code>.DDAJIEEALEI weather = 17;</code>
     * @return Whether the weather field is set.
     */
    @java.lang.Override
    public boolean hasWeather() {
      return contentCase_ == 17;
    }
    /**
     * <code>.DDAJIEEALEI weather = 17;</code>
     * @return The weather.
     */
    @java.lang.Override
    public io.grasscutter.net.proto.define.DDAJIEEALEI getWeather() {
      if (weatherBuilder_ == null) {
        if (contentCase_ == 17) {
          return (io.grasscutter.net.proto.define.DDAJIEEALEI) content_;
        }
        return io.grasscutter.net.proto.define.DDAJIEEALEI.getDefaultInstance();
      } else {
        if (contentCase_ == 17) {
          return weatherBuilder_.getMessage();
        }
        return io.grasscutter.net.proto.define.DDAJIEEALEI.getDefaultInstance();
      }
    }
    /**
     * <code>.DDAJIEEALEI weather = 17;</code>
     */
    public Builder setWeather(io.grasscutter.net.proto.define.DDAJIEEALEI value) {
      if (weatherBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        content_ = value;
        onChanged();
      } else {
        weatherBuilder_.setMessage(value);
      }
      contentCase_ = 17;
      return this;
    }
    /**
     * <code>.DDAJIEEALEI weather = 17;</code>
     */
    public Builder setWeather(
        io.grasscutter.net.proto.define.DDAJIEEALEI.Builder builderForValue) {
      if (weatherBuilder_ == null) {
        content_ = builderForValue.build();
        onChanged();
      } else {
        weatherBuilder_.setMessage(builderForValue.build());
      }
      contentCase_ = 17;
      return this;
    }
    /**
     * <code>.DDAJIEEALEI weather = 17;</code>
     */
    public Builder mergeWeather(io.grasscutter.net.proto.define.DDAJIEEALEI value) {
      if (weatherBuilder_ == null) {
        if (contentCase_ == 17 &&
            content_ != io.grasscutter.net.proto.define.DDAJIEEALEI.getDefaultInstance()) {
          content_ = io.grasscutter.net.proto.define.DDAJIEEALEI.newBuilder((io.grasscutter.net.proto.define.DDAJIEEALEI) content_)
              .mergeFrom(value).buildPartial();
        } else {
          content_ = value;
        }
        onChanged();
      } else {
        if (contentCase_ == 17) {
          weatherBuilder_.mergeFrom(value);
        }
        weatherBuilder_.setMessage(value);
      }
      contentCase_ = 17;
      return this;
    }
    /**
     * <code>.DDAJIEEALEI weather = 17;</code>
     */
    public Builder clearWeather() {
      if (weatherBuilder_ == null) {
        if (contentCase_ == 17) {
          contentCase_ = 0;
          content_ = null;
          onChanged();
        }
      } else {
        if (contentCase_ == 17) {
          contentCase_ = 0;
          content_ = null;
        }
        weatherBuilder_.clear();
      }
      return this;
    }
    /**
     * <code>.DDAJIEEALEI weather = 17;</code>
     */
    public io.grasscutter.net.proto.define.DDAJIEEALEI.Builder getWeatherBuilder() {
      return getWeatherFieldBuilder().getBuilder();
    }
    /**
     * <code>.DDAJIEEALEI weather = 17;</code>
     */
    @java.lang.Override
    public io.grasscutter.net.proto.define.DDAJIEEALEIOrBuilder getWeatherOrBuilder() {
      if ((contentCase_ == 17) && (weatherBuilder_ != null)) {
        return weatherBuilder_.getMessageOrBuilder();
      } else {
        if (contentCase_ == 17) {
          return (io.grasscutter.net.proto.define.DDAJIEEALEI) content_;
        }
        return io.grasscutter.net.proto.define.DDAJIEEALEI.getDefaultInstance();
      }
    }
    /**
     * <code>.DDAJIEEALEI weather = 17;</code>
     */
    private com.google.protobuf.SingleFieldBuilderV3<
        io.grasscutter.net.proto.define.DDAJIEEALEI, io.grasscutter.net.proto.define.DDAJIEEALEI.Builder, io.grasscutter.net.proto.define.DDAJIEEALEIOrBuilder> 
        getWeatherFieldBuilder() {
      if (weatherBuilder_ == null) {
        if (!(contentCase_ == 17)) {
          content_ = io.grasscutter.net.proto.define.DDAJIEEALEI.getDefaultInstance();
        }
        weatherBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
            io.grasscutter.net.proto.define.DDAJIEEALEI, io.grasscutter.net.proto.define.DDAJIEEALEI.Builder, io.grasscutter.net.proto.define.DDAJIEEALEIOrBuilder>(
                (io.grasscutter.net.proto.define.DDAJIEEALEI) content_,
                getParentForChildren(),
                isClean());
        content_ = null;
      }
      contentCase_ = 17;
      onChanged();;
      return weatherBuilder_;
    }

    private com.google.protobuf.SingleFieldBuilderV3<
        io.grasscutter.net.proto.define.MAGGMEBGLAL, io.grasscutter.net.proto.define.MAGGMEBGLAL.Builder, io.grasscutter.net.proto.define.MAGGMEBGLALOrBuilder> abilityGadgetBuilder_;
    /**
     * <code>.MAGGMEBGLAL ability_gadget = 18;</code>
     * @return Whether the abilityGadget field is set.
     */
    @java.lang.Override
    public boolean hasAbilityGadget() {
      return contentCase_ == 18;
    }
    /**
     * <code>.MAGGMEBGLAL ability_gadget = 18;</code>
     * @return The abilityGadget.
     */
    @java.lang.Override
    public io.grasscutter.net.proto.define.MAGGMEBGLAL getAbilityGadget() {
      if (abilityGadgetBuilder_ == null) {
        if (contentCase_ == 18) {
          return (io.grasscutter.net.proto.define.MAGGMEBGLAL) content_;
        }
        return io.grasscutter.net.proto.define.MAGGMEBGLAL.getDefaultInstance();
      } else {
        if (contentCase_ == 18) {
          return abilityGadgetBuilder_.getMessage();
        }
        return io.grasscutter.net.proto.define.MAGGMEBGLAL.getDefaultInstance();
      }
    }
    /**
     * <code>.MAGGMEBGLAL ability_gadget = 18;</code>
     */
    public Builder setAbilityGadget(io.grasscutter.net.proto.define.MAGGMEBGLAL value) {
      if (abilityGadgetBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        content_ = value;
        onChanged();
      } else {
        abilityGadgetBuilder_.setMessage(value);
      }
      contentCase_ = 18;
      return this;
    }
    /**
     * <code>.MAGGMEBGLAL ability_gadget = 18;</code>
     */
    public Builder setAbilityGadget(
        io.grasscutter.net.proto.define.MAGGMEBGLAL.Builder builderForValue) {
      if (abilityGadgetBuilder_ == null) {
        content_ = builderForValue.build();
        onChanged();
      } else {
        abilityGadgetBuilder_.setMessage(builderForValue.build());
      }
      contentCase_ = 18;
      return this;
    }
    /**
     * <code>.MAGGMEBGLAL ability_gadget = 18;</code>
     */
    public Builder mergeAbilityGadget(io.grasscutter.net.proto.define.MAGGMEBGLAL value) {
      if (abilityGadgetBuilder_ == null) {
        if (contentCase_ == 18 &&
            content_ != io.grasscutter.net.proto.define.MAGGMEBGLAL.getDefaultInstance()) {
          content_ = io.grasscutter.net.proto.define.MAGGMEBGLAL.newBuilder((io.grasscutter.net.proto.define.MAGGMEBGLAL) content_)
              .mergeFrom(value).buildPartial();
        } else {
          content_ = value;
        }
        onChanged();
      } else {
        if (contentCase_ == 18) {
          abilityGadgetBuilder_.mergeFrom(value);
        }
        abilityGadgetBuilder_.setMessage(value);
      }
      contentCase_ = 18;
      return this;
    }
    /**
     * <code>.MAGGMEBGLAL ability_gadget = 18;</code>
     */
    public Builder clearAbilityGadget() {
      if (abilityGadgetBuilder_ == null) {
        if (contentCase_ == 18) {
          contentCase_ = 0;
          content_ = null;
          onChanged();
        }
      } else {
        if (contentCase_ == 18) {
          contentCase_ = 0;
          content_ = null;
        }
        abilityGadgetBuilder_.clear();
      }
      return this;
    }
    /**
     * <code>.MAGGMEBGLAL ability_gadget = 18;</code>
     */
    public io.grasscutter.net.proto.define.MAGGMEBGLAL.Builder getAbilityGadgetBuilder() {
      return getAbilityGadgetFieldBuilder().getBuilder();
    }
    /**
     * <code>.MAGGMEBGLAL ability_gadget = 18;</code>
     */
    @java.lang.Override
    public io.grasscutter.net.proto.define.MAGGMEBGLALOrBuilder getAbilityGadgetOrBuilder() {
      if ((contentCase_ == 18) && (abilityGadgetBuilder_ != null)) {
        return abilityGadgetBuilder_.getMessageOrBuilder();
      } else {
        if (contentCase_ == 18) {
          return (io.grasscutter.net.proto.define.MAGGMEBGLAL) content_;
        }
        return io.grasscutter.net.proto.define.MAGGMEBGLAL.getDefaultInstance();
      }
    }
    /**
     * <code>.MAGGMEBGLAL ability_gadget = 18;</code>
     */
    private com.google.protobuf.SingleFieldBuilderV3<
        io.grasscutter.net.proto.define.MAGGMEBGLAL, io.grasscutter.net.proto.define.MAGGMEBGLAL.Builder, io.grasscutter.net.proto.define.MAGGMEBGLALOrBuilder> 
        getAbilityGadgetFieldBuilder() {
      if (abilityGadgetBuilder_ == null) {
        if (!(contentCase_ == 18)) {
          content_ = io.grasscutter.net.proto.define.MAGGMEBGLAL.getDefaultInstance();
        }
        abilityGadgetBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
            io.grasscutter.net.proto.define.MAGGMEBGLAL, io.grasscutter.net.proto.define.MAGGMEBGLAL.Builder, io.grasscutter.net.proto.define.MAGGMEBGLALOrBuilder>(
                (io.grasscutter.net.proto.define.MAGGMEBGLAL) content_,
                getParentForChildren(),
                isClean());
        content_ = null;
      }
      contentCase_ = 18;
      onChanged();;
      return abilityGadgetBuilder_;
    }

    private com.google.protobuf.SingleFieldBuilderV3<
        io.grasscutter.net.proto.define.HENGHIEEKGJ, io.grasscutter.net.proto.define.HENGHIEEKGJ.Builder, io.grasscutter.net.proto.define.HENGHIEEKGJOrBuilder> clientGadgetBuilder_;
    /**
     * <code>.HENGHIEEKGJ client_gadget = 15;</code>
     * @return Whether the clientGadget field is set.
     */
    @java.lang.Override
    public boolean hasClientGadget() {
      return contentCase_ == 15;
    }
    /**
     * <code>.HENGHIEEKGJ client_gadget = 15;</code>
     * @return The clientGadget.
     */
    @java.lang.Override
    public io.grasscutter.net.proto.define.HENGHIEEKGJ getClientGadget() {
      if (clientGadgetBuilder_ == null) {
        if (contentCase_ == 15) {
          return (io.grasscutter.net.proto.define.HENGHIEEKGJ) content_;
        }
        return io.grasscutter.net.proto.define.HENGHIEEKGJ.getDefaultInstance();
      } else {
        if (contentCase_ == 15) {
          return clientGadgetBuilder_.getMessage();
        }
        return io.grasscutter.net.proto.define.HENGHIEEKGJ.getDefaultInstance();
      }
    }
    /**
     * <code>.HENGHIEEKGJ client_gadget = 15;</code>
     */
    public Builder setClientGadget(io.grasscutter.net.proto.define.HENGHIEEKGJ value) {
      if (clientGadgetBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        content_ = value;
        onChanged();
      } else {
        clientGadgetBuilder_.setMessage(value);
      }
      contentCase_ = 15;
      return this;
    }
    /**
     * <code>.HENGHIEEKGJ client_gadget = 15;</code>
     */
    public Builder setClientGadget(
        io.grasscutter.net.proto.define.HENGHIEEKGJ.Builder builderForValue) {
      if (clientGadgetBuilder_ == null) {
        content_ = builderForValue.build();
        onChanged();
      } else {
        clientGadgetBuilder_.setMessage(builderForValue.build());
      }
      contentCase_ = 15;
      return this;
    }
    /**
     * <code>.HENGHIEEKGJ client_gadget = 15;</code>
     */
    public Builder mergeClientGadget(io.grasscutter.net.proto.define.HENGHIEEKGJ value) {
      if (clientGadgetBuilder_ == null) {
        if (contentCase_ == 15 &&
            content_ != io.grasscutter.net.proto.define.HENGHIEEKGJ.getDefaultInstance()) {
          content_ = io.grasscutter.net.proto.define.HENGHIEEKGJ.newBuilder((io.grasscutter.net.proto.define.HENGHIEEKGJ) content_)
              .mergeFrom(value).buildPartial();
        } else {
          content_ = value;
        }
        onChanged();
      } else {
        if (contentCase_ == 15) {
          clientGadgetBuilder_.mergeFrom(value);
        }
        clientGadgetBuilder_.setMessage(value);
      }
      contentCase_ = 15;
      return this;
    }
    /**
     * <code>.HENGHIEEKGJ client_gadget = 15;</code>
     */
    public Builder clearClientGadget() {
      if (clientGadgetBuilder_ == null) {
        if (contentCase_ == 15) {
          contentCase_ = 0;
          content_ = null;
          onChanged();
        }
      } else {
        if (contentCase_ == 15) {
          contentCase_ = 0;
          content_ = null;
        }
        clientGadgetBuilder_.clear();
      }
      return this;
    }
    /**
     * <code>.HENGHIEEKGJ client_gadget = 15;</code>
     */
    public io.grasscutter.net.proto.define.HENGHIEEKGJ.Builder getClientGadgetBuilder() {
      return getClientGadgetFieldBuilder().getBuilder();
    }
    /**
     * <code>.HENGHIEEKGJ client_gadget = 15;</code>
     */
    @java.lang.Override
    public io.grasscutter.net.proto.define.HENGHIEEKGJOrBuilder getClientGadgetOrBuilder() {
      if ((contentCase_ == 15) && (clientGadgetBuilder_ != null)) {
        return clientGadgetBuilder_.getMessageOrBuilder();
      } else {
        if (contentCase_ == 15) {
          return (io.grasscutter.net.proto.define.HENGHIEEKGJ) content_;
        }
        return io.grasscutter.net.proto.define.HENGHIEEKGJ.getDefaultInstance();
      }
    }
    /**
     * <code>.HENGHIEEKGJ client_gadget = 15;</code>
     */
    private com.google.protobuf.SingleFieldBuilderV3<
        io.grasscutter.net.proto.define.HENGHIEEKGJ, io.grasscutter.net.proto.define.HENGHIEEKGJ.Builder, io.grasscutter.net.proto.define.HENGHIEEKGJOrBuilder> 
        getClientGadgetFieldBuilder() {
      if (clientGadgetBuilder_ == null) {
        if (!(contentCase_ == 15)) {
          content_ = io.grasscutter.net.proto.define.HENGHIEEKGJ.getDefaultInstance();
        }
        clientGadgetBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
            io.grasscutter.net.proto.define.HENGHIEEKGJ, io.grasscutter.net.proto.define.HENGHIEEKGJ.Builder, io.grasscutter.net.proto.define.HENGHIEEKGJOrBuilder>(
                (io.grasscutter.net.proto.define.HENGHIEEKGJ) content_,
                getParentForChildren(),
                isClean());
        content_ = null;
      }
      contentCase_ = 15;
      onChanged();;
      return clientGadgetBuilder_;
    }

    private com.google.protobuf.SingleFieldBuilderV3<
        io.grasscutter.net.proto.define.GHFMHHGBENE, io.grasscutter.net.proto.define.GHFMHHGBENE.Builder, io.grasscutter.net.proto.define.GHFMHHGBENEOrBuilder> coinCollectOperatorInfoBuilder_;
    /**
     * <code>.GHFMHHGBENE coin_collect_operator_info = 64;</code>
     * @return Whether the coinCollectOperatorInfo field is set.
     */
    @java.lang.Override
    public boolean hasCoinCollectOperatorInfo() {
      return contentCase_ == 64;
    }
    /**
     * <code>.GHFMHHGBENE coin_collect_operator_info = 64;</code>
     * @return The coinCollectOperatorInfo.
     */
    @java.lang.Override
    public io.grasscutter.net.proto.define.GHFMHHGBENE getCoinCollectOperatorInfo() {
      if (coinCollectOperatorInfoBuilder_ == null) {
        if (contentCase_ == 64) {
          return (io.grasscutter.net.proto.define.GHFMHHGBENE) content_;
        }
        return io.grasscutter.net.proto.define.GHFMHHGBENE.getDefaultInstance();
      } else {
        if (contentCase_ == 64) {
          return coinCollectOperatorInfoBuilder_.getMessage();
        }
        return io.grasscutter.net.proto.define.GHFMHHGBENE.getDefaultInstance();
      }
    }
    /**
     * <code>.GHFMHHGBENE coin_collect_operator_info = 64;</code>
     */
    public Builder setCoinCollectOperatorInfo(io.grasscutter.net.proto.define.GHFMHHGBENE value) {
      if (coinCollectOperatorInfoBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        content_ = value;
        onChanged();
      } else {
        coinCollectOperatorInfoBuilder_.setMessage(value);
      }
      contentCase_ = 64;
      return this;
    }
    /**
     * <code>.GHFMHHGBENE coin_collect_operator_info = 64;</code>
     */
    public Builder setCoinCollectOperatorInfo(
        io.grasscutter.net.proto.define.GHFMHHGBENE.Builder builderForValue) {
      if (coinCollectOperatorInfoBuilder_ == null) {
        content_ = builderForValue.build();
        onChanged();
      } else {
        coinCollectOperatorInfoBuilder_.setMessage(builderForValue.build());
      }
      contentCase_ = 64;
      return this;
    }
    /**
     * <code>.GHFMHHGBENE coin_collect_operator_info = 64;</code>
     */
    public Builder mergeCoinCollectOperatorInfo(io.grasscutter.net.proto.define.GHFMHHGBENE value) {
      if (coinCollectOperatorInfoBuilder_ == null) {
        if (contentCase_ == 64 &&
            content_ != io.grasscutter.net.proto.define.GHFMHHGBENE.getDefaultInstance()) {
          content_ = io.grasscutter.net.proto.define.GHFMHHGBENE.newBuilder((io.grasscutter.net.proto.define.GHFMHHGBENE) content_)
              .mergeFrom(value).buildPartial();
        } else {
          content_ = value;
        }
        onChanged();
      } else {
        if (contentCase_ == 64) {
          coinCollectOperatorInfoBuilder_.mergeFrom(value);
        }
        coinCollectOperatorInfoBuilder_.setMessage(value);
      }
      contentCase_ = 64;
      return this;
    }
    /**
     * <code>.GHFMHHGBENE coin_collect_operator_info = 64;</code>
     */
    public Builder clearCoinCollectOperatorInfo() {
      if (coinCollectOperatorInfoBuilder_ == null) {
        if (contentCase_ == 64) {
          contentCase_ = 0;
          content_ = null;
          onChanged();
        }
      } else {
        if (contentCase_ == 64) {
          contentCase_ = 0;
          content_ = null;
        }
        coinCollectOperatorInfoBuilder_.clear();
      }
      return this;
    }
    /**
     * <code>.GHFMHHGBENE coin_collect_operator_info = 64;</code>
     */
    public io.grasscutter.net.proto.define.GHFMHHGBENE.Builder getCoinCollectOperatorInfoBuilder() {
      return getCoinCollectOperatorInfoFieldBuilder().getBuilder();
    }
    /**
     * <code>.GHFMHHGBENE coin_collect_operator_info = 64;</code>
     */
    @java.lang.Override
    public io.grasscutter.net.proto.define.GHFMHHGBENEOrBuilder getCoinCollectOperatorInfoOrBuilder() {
      if ((contentCase_ == 64) && (coinCollectOperatorInfoBuilder_ != null)) {
        return coinCollectOperatorInfoBuilder_.getMessageOrBuilder();
      } else {
        if (contentCase_ == 64) {
          return (io.grasscutter.net.proto.define.GHFMHHGBENE) content_;
        }
        return io.grasscutter.net.proto.define.GHFMHHGBENE.getDefaultInstance();
      }
    }
    /**
     * <code>.GHFMHHGBENE coin_collect_operator_info = 64;</code>
     */
    private com.google.protobuf.SingleFieldBuilderV3<
        io.grasscutter.net.proto.define.GHFMHHGBENE, io.grasscutter.net.proto.define.GHFMHHGBENE.Builder, io.grasscutter.net.proto.define.GHFMHHGBENEOrBuilder> 
        getCoinCollectOperatorInfoFieldBuilder() {
      if (coinCollectOperatorInfoBuilder_ == null) {
        if (!(contentCase_ == 64)) {
          content_ = io.grasscutter.net.proto.define.GHFMHHGBENE.getDefaultInstance();
        }
        coinCollectOperatorInfoBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
            io.grasscutter.net.proto.define.GHFMHHGBENE, io.grasscutter.net.proto.define.GHFMHHGBENE.Builder, io.grasscutter.net.proto.define.GHFMHHGBENEOrBuilder>(
                (io.grasscutter.net.proto.define.GHFMHHGBENE) content_,
                getParentForChildren(),
                isClean());
        content_ = null;
      }
      contentCase_ = 64;
      onChanged();;
      return coinCollectOperatorInfoBuilder_;
    }

    private com.google.protobuf.SingleFieldBuilderV3<
        io.grasscutter.net.proto.define.GatherGadgetInfo, io.grasscutter.net.proto.define.GatherGadgetInfo.Builder, io.grasscutter.net.proto.define.GatherGadgetInfoOrBuilder> gatherGadgetBuilder_;
    /**
     * <code>.GatherGadgetInfo gather_gadget = 13;</code>
     * @return Whether the gatherGadget field is set.
     */
    @java.lang.Override
    public boolean hasGatherGadget() {
      return contentCase_ == 13;
    }
    /**
     * <code>.GatherGadgetInfo gather_gadget = 13;</code>
     * @return The gatherGadget.
     */
    @java.lang.Override
    public io.grasscutter.net.proto.define.GatherGadgetInfo getGatherGadget() {
      if (gatherGadgetBuilder_ == null) {
        if (contentCase_ == 13) {
          return (io.grasscutter.net.proto.define.GatherGadgetInfo) content_;
        }
        return io.grasscutter.net.proto.define.GatherGadgetInfo.getDefaultInstance();
      } else {
        if (contentCase_ == 13) {
          return gatherGadgetBuilder_.getMessage();
        }
        return io.grasscutter.net.proto.define.GatherGadgetInfo.getDefaultInstance();
      }
    }
    /**
     * <code>.GatherGadgetInfo gather_gadget = 13;</code>
     */
    public Builder setGatherGadget(io.grasscutter.net.proto.define.GatherGadgetInfo value) {
      if (gatherGadgetBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        content_ = value;
        onChanged();
      } else {
        gatherGadgetBuilder_.setMessage(value);
      }
      contentCase_ = 13;
      return this;
    }
    /**
     * <code>.GatherGadgetInfo gather_gadget = 13;</code>
     */
    public Builder setGatherGadget(
        io.grasscutter.net.proto.define.GatherGadgetInfo.Builder builderForValue) {
      if (gatherGadgetBuilder_ == null) {
        content_ = builderForValue.build();
        onChanged();
      } else {
        gatherGadgetBuilder_.setMessage(builderForValue.build());
      }
      contentCase_ = 13;
      return this;
    }
    /**
     * <code>.GatherGadgetInfo gather_gadget = 13;</code>
     */
    public Builder mergeGatherGadget(io.grasscutter.net.proto.define.GatherGadgetInfo value) {
      if (gatherGadgetBuilder_ == null) {
        if (contentCase_ == 13 &&
            content_ != io.grasscutter.net.proto.define.GatherGadgetInfo.getDefaultInstance()) {
          content_ = io.grasscutter.net.proto.define.GatherGadgetInfo.newBuilder((io.grasscutter.net.proto.define.GatherGadgetInfo) content_)
              .mergeFrom(value).buildPartial();
        } else {
          content_ = value;
        }
        onChanged();
      } else {
        if (contentCase_ == 13) {
          gatherGadgetBuilder_.mergeFrom(value);
        }
        gatherGadgetBuilder_.setMessage(value);
      }
      contentCase_ = 13;
      return this;
    }
    /**
     * <code>.GatherGadgetInfo gather_gadget = 13;</code>
     */
    public Builder clearGatherGadget() {
      if (gatherGadgetBuilder_ == null) {
        if (contentCase_ == 13) {
          contentCase_ = 0;
          content_ = null;
          onChanged();
        }
      } else {
        if (contentCase_ == 13) {
          contentCase_ = 0;
          content_ = null;
        }
        gatherGadgetBuilder_.clear();
      }
      return this;
    }
    /**
     * <code>.GatherGadgetInfo gather_gadget = 13;</code>
     */
    public io.grasscutter.net.proto.define.GatherGadgetInfo.Builder getGatherGadgetBuilder() {
      return getGatherGadgetFieldBuilder().getBuilder();
    }
    /**
     * <code>.GatherGadgetInfo gather_gadget = 13;</code>
     */
    @java.lang.Override
    public io.grasscutter.net.proto.define.GatherGadgetInfoOrBuilder getGatherGadgetOrBuilder() {
      if ((contentCase_ == 13) && (gatherGadgetBuilder_ != null)) {
        return gatherGadgetBuilder_.getMessageOrBuilder();
      } else {
        if (contentCase_ == 13) {
          return (io.grasscutter.net.proto.define.GatherGadgetInfo) content_;
        }
        return io.grasscutter.net.proto.define.GatherGadgetInfo.getDefaultInstance();
      }
    }
    /**
     * <code>.GatherGadgetInfo gather_gadget = 13;</code>
     */
    private com.google.protobuf.SingleFieldBuilderV3<
        io.grasscutter.net.proto.define.GatherGadgetInfo, io.grasscutter.net.proto.define.GatherGadgetInfo.Builder, io.grasscutter.net.proto.define.GatherGadgetInfoOrBuilder> 
        getGatherGadgetFieldBuilder() {
      if (gatherGadgetBuilder_ == null) {
        if (!(contentCase_ == 13)) {
          content_ = io.grasscutter.net.proto.define.GatherGadgetInfo.getDefaultInstance();
        }
        gatherGadgetBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
            io.grasscutter.net.proto.define.GatherGadgetInfo, io.grasscutter.net.proto.define.GatherGadgetInfo.Builder, io.grasscutter.net.proto.define.GatherGadgetInfoOrBuilder>(
                (io.grasscutter.net.proto.define.GatherGadgetInfo) content_,
                getParentForChildren(),
                isClean());
        content_ = null;
      }
      contentCase_ = 13;
      onChanged();;
      return gatherGadgetBuilder_;
    }

    private com.google.protobuf.SingleFieldBuilderV3<
        io.grasscutter.net.proto.define.RoguelikeGadgetInfo, io.grasscutter.net.proto.define.RoguelikeGadgetInfo.Builder, io.grasscutter.net.proto.define.RoguelikeGadgetInfoOrBuilder> roguelikeGadgetInfoBuilder_;
    /**
     * <code>.RoguelikeGadgetInfo roguelike_gadget_info = 61;</code>
     * @return Whether the roguelikeGadgetInfo field is set.
     */
    @java.lang.Override
    public boolean hasRoguelikeGadgetInfo() {
      return contentCase_ == 61;
    }
    /**
     * <code>.RoguelikeGadgetInfo roguelike_gadget_info = 61;</code>
     * @return The roguelikeGadgetInfo.
     */
    @java.lang.Override
    public io.grasscutter.net.proto.define.RoguelikeGadgetInfo getRoguelikeGadgetInfo() {
      if (roguelikeGadgetInfoBuilder_ == null) {
        if (contentCase_ == 61) {
          return (io.grasscutter.net.proto.define.RoguelikeGadgetInfo) content_;
        }
        return io.grasscutter.net.proto.define.RoguelikeGadgetInfo.getDefaultInstance();
      } else {
        if (contentCase_ == 61) {
          return roguelikeGadgetInfoBuilder_.getMessage();
        }
        return io.grasscutter.net.proto.define.RoguelikeGadgetInfo.getDefaultInstance();
      }
    }
    /**
     * <code>.RoguelikeGadgetInfo roguelike_gadget_info = 61;</code>
     */
    public Builder setRoguelikeGadgetInfo(io.grasscutter.net.proto.define.RoguelikeGadgetInfo value) {
      if (roguelikeGadgetInfoBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        content_ = value;
        onChanged();
      } else {
        roguelikeGadgetInfoBuilder_.setMessage(value);
      }
      contentCase_ = 61;
      return this;
    }
    /**
     * <code>.RoguelikeGadgetInfo roguelike_gadget_info = 61;</code>
     */
    public Builder setRoguelikeGadgetInfo(
        io.grasscutter.net.proto.define.RoguelikeGadgetInfo.Builder builderForValue) {
      if (roguelikeGadgetInfoBuilder_ == null) {
        content_ = builderForValue.build();
        onChanged();
      } else {
        roguelikeGadgetInfoBuilder_.setMessage(builderForValue.build());
      }
      contentCase_ = 61;
      return this;
    }
    /**
     * <code>.RoguelikeGadgetInfo roguelike_gadget_info = 61;</code>
     */
    public Builder mergeRoguelikeGadgetInfo(io.grasscutter.net.proto.define.RoguelikeGadgetInfo value) {
      if (roguelikeGadgetInfoBuilder_ == null) {
        if (contentCase_ == 61 &&
            content_ != io.grasscutter.net.proto.define.RoguelikeGadgetInfo.getDefaultInstance()) {
          content_ = io.grasscutter.net.proto.define.RoguelikeGadgetInfo.newBuilder((io.grasscutter.net.proto.define.RoguelikeGadgetInfo) content_)
              .mergeFrom(value).buildPartial();
        } else {
          content_ = value;
        }
        onChanged();
      } else {
        if (contentCase_ == 61) {
          roguelikeGadgetInfoBuilder_.mergeFrom(value);
        }
        roguelikeGadgetInfoBuilder_.setMessage(value);
      }
      contentCase_ = 61;
      return this;
    }
    /**
     * <code>.RoguelikeGadgetInfo roguelike_gadget_info = 61;</code>
     */
    public Builder clearRoguelikeGadgetInfo() {
      if (roguelikeGadgetInfoBuilder_ == null) {
        if (contentCase_ == 61) {
          contentCase_ = 0;
          content_ = null;
          onChanged();
        }
      } else {
        if (contentCase_ == 61) {
          contentCase_ = 0;
          content_ = null;
        }
        roguelikeGadgetInfoBuilder_.clear();
      }
      return this;
    }
    /**
     * <code>.RoguelikeGadgetInfo roguelike_gadget_info = 61;</code>
     */
    public io.grasscutter.net.proto.define.RoguelikeGadgetInfo.Builder getRoguelikeGadgetInfoBuilder() {
      return getRoguelikeGadgetInfoFieldBuilder().getBuilder();
    }
    /**
     * <code>.RoguelikeGadgetInfo roguelike_gadget_info = 61;</code>
     */
    @java.lang.Override
    public io.grasscutter.net.proto.define.RoguelikeGadgetInfoOrBuilder getRoguelikeGadgetInfoOrBuilder() {
      if ((contentCase_ == 61) && (roguelikeGadgetInfoBuilder_ != null)) {
        return roguelikeGadgetInfoBuilder_.getMessageOrBuilder();
      } else {
        if (contentCase_ == 61) {
          return (io.grasscutter.net.proto.define.RoguelikeGadgetInfo) content_;
        }
        return io.grasscutter.net.proto.define.RoguelikeGadgetInfo.getDefaultInstance();
      }
    }
    /**
     * <code>.RoguelikeGadgetInfo roguelike_gadget_info = 61;</code>
     */
    private com.google.protobuf.SingleFieldBuilderV3<
        io.grasscutter.net.proto.define.RoguelikeGadgetInfo, io.grasscutter.net.proto.define.RoguelikeGadgetInfo.Builder, io.grasscutter.net.proto.define.RoguelikeGadgetInfoOrBuilder> 
        getRoguelikeGadgetInfoFieldBuilder() {
      if (roguelikeGadgetInfoBuilder_ == null) {
        if (!(contentCase_ == 61)) {
          content_ = io.grasscutter.net.proto.define.RoguelikeGadgetInfo.getDefaultInstance();
        }
        roguelikeGadgetInfoBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
            io.grasscutter.net.proto.define.RoguelikeGadgetInfo, io.grasscutter.net.proto.define.RoguelikeGadgetInfo.Builder, io.grasscutter.net.proto.define.RoguelikeGadgetInfoOrBuilder>(
                (io.grasscutter.net.proto.define.RoguelikeGadgetInfo) content_,
                getParentForChildren(),
                isClean());
        content_ = null;
      }
      contentCase_ = 61;
      onChanged();;
      return roguelikeGadgetInfoBuilder_;
    }

    private com.google.protobuf.SingleFieldBuilderV3<
        io.grasscutter.net.proto.define.GIFDGFMGKOL, io.grasscutter.net.proto.define.GIFDGFMGKOL.Builder, io.grasscutter.net.proto.define.GIFDGFMGKOLOrBuilder> offeringInfoBuilder_;
    /**
     * <code>.GIFDGFMGKOL offering_info = 44;</code>
     * @return Whether the offeringInfo field is set.
     */
    @java.lang.Override
    public boolean hasOfferingInfo() {
      return contentCase_ == 44;
    }
    /**
     * <code>.GIFDGFMGKOL offering_info = 44;</code>
     * @return The offeringInfo.
     */
    @java.lang.Override
    public io.grasscutter.net.proto.define.GIFDGFMGKOL getOfferingInfo() {
      if (offeringInfoBuilder_ == null) {
        if (contentCase_ == 44) {
          return (io.grasscutter.net.proto.define.GIFDGFMGKOL) content_;
        }
        return io.grasscutter.net.proto.define.GIFDGFMGKOL.getDefaultInstance();
      } else {
        if (contentCase_ == 44) {
          return offeringInfoBuilder_.getMessage();
        }
        return io.grasscutter.net.proto.define.GIFDGFMGKOL.getDefaultInstance();
      }
    }
    /**
     * <code>.GIFDGFMGKOL offering_info = 44;</code>
     */
    public Builder setOfferingInfo(io.grasscutter.net.proto.define.GIFDGFMGKOL value) {
      if (offeringInfoBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        content_ = value;
        onChanged();
      } else {
        offeringInfoBuilder_.setMessage(value);
      }
      contentCase_ = 44;
      return this;
    }
    /**
     * <code>.GIFDGFMGKOL offering_info = 44;</code>
     */
    public Builder setOfferingInfo(
        io.grasscutter.net.proto.define.GIFDGFMGKOL.Builder builderForValue) {
      if (offeringInfoBuilder_ == null) {
        content_ = builderForValue.build();
        onChanged();
      } else {
        offeringInfoBuilder_.setMessage(builderForValue.build());
      }
      contentCase_ = 44;
      return this;
    }
    /**
     * <code>.GIFDGFMGKOL offering_info = 44;</code>
     */
    public Builder mergeOfferingInfo(io.grasscutter.net.proto.define.GIFDGFMGKOL value) {
      if (offeringInfoBuilder_ == null) {
        if (contentCase_ == 44 &&
            content_ != io.grasscutter.net.proto.define.GIFDGFMGKOL.getDefaultInstance()) {
          content_ = io.grasscutter.net.proto.define.GIFDGFMGKOL.newBuilder((io.grasscutter.net.proto.define.GIFDGFMGKOL) content_)
              .mergeFrom(value).buildPartial();
        } else {
          content_ = value;
        }
        onChanged();
      } else {
        if (contentCase_ == 44) {
          offeringInfoBuilder_.mergeFrom(value);
        }
        offeringInfoBuilder_.setMessage(value);
      }
      contentCase_ = 44;
      return this;
    }
    /**
     * <code>.GIFDGFMGKOL offering_info = 44;</code>
     */
    public Builder clearOfferingInfo() {
      if (offeringInfoBuilder_ == null) {
        if (contentCase_ == 44) {
          contentCase_ = 0;
          content_ = null;
          onChanged();
        }
      } else {
        if (contentCase_ == 44) {
          contentCase_ = 0;
          content_ = null;
        }
        offeringInfoBuilder_.clear();
      }
      return this;
    }
    /**
     * <code>.GIFDGFMGKOL offering_info = 44;</code>
     */
    public io.grasscutter.net.proto.define.GIFDGFMGKOL.Builder getOfferingInfoBuilder() {
      return getOfferingInfoFieldBuilder().getBuilder();
    }
    /**
     * <code>.GIFDGFMGKOL offering_info = 44;</code>
     */
    @java.lang.Override
    public io.grasscutter.net.proto.define.GIFDGFMGKOLOrBuilder getOfferingInfoOrBuilder() {
      if ((contentCase_ == 44) && (offeringInfoBuilder_ != null)) {
        return offeringInfoBuilder_.getMessageOrBuilder();
      } else {
        if (contentCase_ == 44) {
          return (io.grasscutter.net.proto.define.GIFDGFMGKOL) content_;
        }
        return io.grasscutter.net.proto.define.GIFDGFMGKOL.getDefaultInstance();
      }
    }
    /**
     * <code>.GIFDGFMGKOL offering_info = 44;</code>
     */
    private com.google.protobuf.SingleFieldBuilderV3<
        io.grasscutter.net.proto.define.GIFDGFMGKOL, io.grasscutter.net.proto.define.GIFDGFMGKOL.Builder, io.grasscutter.net.proto.define.GIFDGFMGKOLOrBuilder> 
        getOfferingInfoFieldBuilder() {
      if (offeringInfoBuilder_ == null) {
        if (!(contentCase_ == 44)) {
          content_ = io.grasscutter.net.proto.define.GIFDGFMGKOL.getDefaultInstance();
        }
        offeringInfoBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
            io.grasscutter.net.proto.define.GIFDGFMGKOL, io.grasscutter.net.proto.define.GIFDGFMGKOL.Builder, io.grasscutter.net.proto.define.GIFDGFMGKOLOrBuilder>(
                (io.grasscutter.net.proto.define.GIFDGFMGKOL) content_,
                getParentForChildren(),
                isClean());
        content_ = null;
      }
      contentCase_ = 44;
      onChanged();;
      return offeringInfoBuilder_;
    }

    private com.google.protobuf.SingleFieldBuilderV3<
        io.grasscutter.net.proto.define.FELOLBOAKFD, io.grasscutter.net.proto.define.FELOLBOAKFD.Builder, io.grasscutter.net.proto.define.FELOLBOAKFDOrBuilder> nightCrowGadgetInfoBuilder_;
    /**
     * <code>.FELOLBOAKFD night_crow_gadget_info = 62;</code>
     * @return Whether the nightCrowGadgetInfo field is set.
     */
    @java.lang.Override
    public boolean hasNightCrowGadgetInfo() {
      return contentCase_ == 62;
    }
    /**
     * <code>.FELOLBOAKFD night_crow_gadget_info = 62;</code>
     * @return The nightCrowGadgetInfo.
     */
    @java.lang.Override
    public io.grasscutter.net.proto.define.FELOLBOAKFD getNightCrowGadgetInfo() {
      if (nightCrowGadgetInfoBuilder_ == null) {
        if (contentCase_ == 62) {
          return (io.grasscutter.net.proto.define.FELOLBOAKFD) content_;
        }
        return io.grasscutter.net.proto.define.FELOLBOAKFD.getDefaultInstance();
      } else {
        if (contentCase_ == 62) {
          return nightCrowGadgetInfoBuilder_.getMessage();
        }
        return io.grasscutter.net.proto.define.FELOLBOAKFD.getDefaultInstance();
      }
    }
    /**
     * <code>.FELOLBOAKFD night_crow_gadget_info = 62;</code>
     */
    public Builder setNightCrowGadgetInfo(io.grasscutter.net.proto.define.FELOLBOAKFD value) {
      if (nightCrowGadgetInfoBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        content_ = value;
        onChanged();
      } else {
        nightCrowGadgetInfoBuilder_.setMessage(value);
      }
      contentCase_ = 62;
      return this;
    }
    /**
     * <code>.FELOLBOAKFD night_crow_gadget_info = 62;</code>
     */
    public Builder setNightCrowGadgetInfo(
        io.grasscutter.net.proto.define.FELOLBOAKFD.Builder builderForValue) {
      if (nightCrowGadgetInfoBuilder_ == null) {
        content_ = builderForValue.build();
        onChanged();
      } else {
        nightCrowGadgetInfoBuilder_.setMessage(builderForValue.build());
      }
      contentCase_ = 62;
      return this;
    }
    /**
     * <code>.FELOLBOAKFD night_crow_gadget_info = 62;</code>
     */
    public Builder mergeNightCrowGadgetInfo(io.grasscutter.net.proto.define.FELOLBOAKFD value) {
      if (nightCrowGadgetInfoBuilder_ == null) {
        if (contentCase_ == 62 &&
            content_ != io.grasscutter.net.proto.define.FELOLBOAKFD.getDefaultInstance()) {
          content_ = io.grasscutter.net.proto.define.FELOLBOAKFD.newBuilder((io.grasscutter.net.proto.define.FELOLBOAKFD) content_)
              .mergeFrom(value).buildPartial();
        } else {
          content_ = value;
        }
        onChanged();
      } else {
        if (contentCase_ == 62) {
          nightCrowGadgetInfoBuilder_.mergeFrom(value);
        }
        nightCrowGadgetInfoBuilder_.setMessage(value);
      }
      contentCase_ = 62;
      return this;
    }
    /**
     * <code>.FELOLBOAKFD night_crow_gadget_info = 62;</code>
     */
    public Builder clearNightCrowGadgetInfo() {
      if (nightCrowGadgetInfoBuilder_ == null) {
        if (contentCase_ == 62) {
          contentCase_ = 0;
          content_ = null;
          onChanged();
        }
      } else {
        if (contentCase_ == 62) {
          contentCase_ = 0;
          content_ = null;
        }
        nightCrowGadgetInfoBuilder_.clear();
      }
      return this;
    }
    /**
     * <code>.FELOLBOAKFD night_crow_gadget_info = 62;</code>
     */
    public io.grasscutter.net.proto.define.FELOLBOAKFD.Builder getNightCrowGadgetInfoBuilder() {
      return getNightCrowGadgetInfoFieldBuilder().getBuilder();
    }
    /**
     * <code>.FELOLBOAKFD night_crow_gadget_info = 62;</code>
     */
    @java.lang.Override
    public io.grasscutter.net.proto.define.FELOLBOAKFDOrBuilder getNightCrowGadgetInfoOrBuilder() {
      if ((contentCase_ == 62) && (nightCrowGadgetInfoBuilder_ != null)) {
        return nightCrowGadgetInfoBuilder_.getMessageOrBuilder();
      } else {
        if (contentCase_ == 62) {
          return (io.grasscutter.net.proto.define.FELOLBOAKFD) content_;
        }
        return io.grasscutter.net.proto.define.FELOLBOAKFD.getDefaultInstance();
      }
    }
    /**
     * <code>.FELOLBOAKFD night_crow_gadget_info = 62;</code>
     */
    private com.google.protobuf.SingleFieldBuilderV3<
        io.grasscutter.net.proto.define.FELOLBOAKFD, io.grasscutter.net.proto.define.FELOLBOAKFD.Builder, io.grasscutter.net.proto.define.FELOLBOAKFDOrBuilder> 
        getNightCrowGadgetInfoFieldBuilder() {
      if (nightCrowGadgetInfoBuilder_ == null) {
        if (!(contentCase_ == 62)) {
          content_ = io.grasscutter.net.proto.define.FELOLBOAKFD.getDefaultInstance();
        }
        nightCrowGadgetInfoBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
            io.grasscutter.net.proto.define.FELOLBOAKFD, io.grasscutter.net.proto.define.FELOLBOAKFD.Builder, io.grasscutter.net.proto.define.FELOLBOAKFDOrBuilder>(
                (io.grasscutter.net.proto.define.FELOLBOAKFD) content_,
                getParentForChildren(),
                isClean());
        content_ = null;
      }
      contentCase_ = 62;
      onChanged();;
      return nightCrowGadgetInfoBuilder_;
    }

    private com.google.protobuf.SingleFieldBuilderV3<
        io.grasscutter.net.proto.define.MOOKABDAJLO, io.grasscutter.net.proto.define.MOOKABDAJLO.Builder, io.grasscutter.net.proto.define.MOOKABDAJLOOrBuilder> statueGadgetBuilder_;
    /**
     * <code>.MOOKABDAJLO statue_gadget = 19;</code>
     * @return Whether the statueGadget field is set.
     */
    @java.lang.Override
    public boolean hasStatueGadget() {
      return contentCase_ == 19;
    }
    /**
     * <code>.MOOKABDAJLO statue_gadget = 19;</code>
     * @return The statueGadget.
     */
    @java.lang.Override
    public io.grasscutter.net.proto.define.MOOKABDAJLO getStatueGadget() {
      if (statueGadgetBuilder_ == null) {
        if (contentCase_ == 19) {
          return (io.grasscutter.net.proto.define.MOOKABDAJLO) content_;
        }
        return io.grasscutter.net.proto.define.MOOKABDAJLO.getDefaultInstance();
      } else {
        if (contentCase_ == 19) {
          return statueGadgetBuilder_.getMessage();
        }
        return io.grasscutter.net.proto.define.MOOKABDAJLO.getDefaultInstance();
      }
    }
    /**
     * <code>.MOOKABDAJLO statue_gadget = 19;</code>
     */
    public Builder setStatueGadget(io.grasscutter.net.proto.define.MOOKABDAJLO value) {
      if (statueGadgetBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        content_ = value;
        onChanged();
      } else {
        statueGadgetBuilder_.setMessage(value);
      }
      contentCase_ = 19;
      return this;
    }
    /**
     * <code>.MOOKABDAJLO statue_gadget = 19;</code>
     */
    public Builder setStatueGadget(
        io.grasscutter.net.proto.define.MOOKABDAJLO.Builder builderForValue) {
      if (statueGadgetBuilder_ == null) {
        content_ = builderForValue.build();
        onChanged();
      } else {
        statueGadgetBuilder_.setMessage(builderForValue.build());
      }
      contentCase_ = 19;
      return this;
    }
    /**
     * <code>.MOOKABDAJLO statue_gadget = 19;</code>
     */
    public Builder mergeStatueGadget(io.grasscutter.net.proto.define.MOOKABDAJLO value) {
      if (statueGadgetBuilder_ == null) {
        if (contentCase_ == 19 &&
            content_ != io.grasscutter.net.proto.define.MOOKABDAJLO.getDefaultInstance()) {
          content_ = io.grasscutter.net.proto.define.MOOKABDAJLO.newBuilder((io.grasscutter.net.proto.define.MOOKABDAJLO) content_)
              .mergeFrom(value).buildPartial();
        } else {
          content_ = value;
        }
        onChanged();
      } else {
        if (contentCase_ == 19) {
          statueGadgetBuilder_.mergeFrom(value);
        }
        statueGadgetBuilder_.setMessage(value);
      }
      contentCase_ = 19;
      return this;
    }
    /**
     * <code>.MOOKABDAJLO statue_gadget = 19;</code>
     */
    public Builder clearStatueGadget() {
      if (statueGadgetBuilder_ == null) {
        if (contentCase_ == 19) {
          contentCase_ = 0;
          content_ = null;
          onChanged();
        }
      } else {
        if (contentCase_ == 19) {
          contentCase_ = 0;
          content_ = null;
        }
        statueGadgetBuilder_.clear();
      }
      return this;
    }
    /**
     * <code>.MOOKABDAJLO statue_gadget = 19;</code>
     */
    public io.grasscutter.net.proto.define.MOOKABDAJLO.Builder getStatueGadgetBuilder() {
      return getStatueGadgetFieldBuilder().getBuilder();
    }
    /**
     * <code>.MOOKABDAJLO statue_gadget = 19;</code>
     */
    @java.lang.Override
    public io.grasscutter.net.proto.define.MOOKABDAJLOOrBuilder getStatueGadgetOrBuilder() {
      if ((contentCase_ == 19) && (statueGadgetBuilder_ != null)) {
        return statueGadgetBuilder_.getMessageOrBuilder();
      } else {
        if (contentCase_ == 19) {
          return (io.grasscutter.net.proto.define.MOOKABDAJLO) content_;
        }
        return io.grasscutter.net.proto.define.MOOKABDAJLO.getDefaultInstance();
      }
    }
    /**
     * <code>.MOOKABDAJLO statue_gadget = 19;</code>
     */
    private com.google.protobuf.SingleFieldBuilderV3<
        io.grasscutter.net.proto.define.MOOKABDAJLO, io.grasscutter.net.proto.define.MOOKABDAJLO.Builder, io.grasscutter.net.proto.define.MOOKABDAJLOOrBuilder> 
        getStatueGadgetFieldBuilder() {
      if (statueGadgetBuilder_ == null) {
        if (!(contentCase_ == 19)) {
          content_ = io.grasscutter.net.proto.define.MOOKABDAJLO.getDefaultInstance();
        }
        statueGadgetBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
            io.grasscutter.net.proto.define.MOOKABDAJLO, io.grasscutter.net.proto.define.MOOKABDAJLO.Builder, io.grasscutter.net.proto.define.MOOKABDAJLOOrBuilder>(
                (io.grasscutter.net.proto.define.MOOKABDAJLO) content_,
                getParentForChildren(),
                isClean());
        content_ = null;
      }
      contentCase_ = 19;
      onChanged();;
      return statueGadgetBuilder_;
    }

    private com.google.protobuf.SingleFieldBuilderV3<
        io.grasscutter.net.proto.define.CDJBCFJMBAK, io.grasscutter.net.proto.define.CDJBCFJMBAK.Builder, io.grasscutter.net.proto.define.CDJBCFJMBAKOrBuilder> deshretObeliskGadgetInfoBuilder_;
    /**
     * <code>.CDJBCFJMBAK deshret_obelisk_gadget_info = 63;</code>
     * @return Whether the deshretObeliskGadgetInfo field is set.
     */
    @java.lang.Override
    public boolean hasDeshretObeliskGadgetInfo() {
      return contentCase_ == 63;
    }
    /**
     * <code>.CDJBCFJMBAK deshret_obelisk_gadget_info = 63;</code>
     * @return The deshretObeliskGadgetInfo.
     */
    @java.lang.Override
    public io.grasscutter.net.proto.define.CDJBCFJMBAK getDeshretObeliskGadgetInfo() {
      if (deshretObeliskGadgetInfoBuilder_ == null) {
        if (contentCase_ == 63) {
          return (io.grasscutter.net.proto.define.CDJBCFJMBAK) content_;
        }
        return io.grasscutter.net.proto.define.CDJBCFJMBAK.getDefaultInstance();
      } else {
        if (contentCase_ == 63) {
          return deshretObeliskGadgetInfoBuilder_.getMessage();
        }
        return io.grasscutter.net.proto.define.CDJBCFJMBAK.getDefaultInstance();
      }
    }
    /**
     * <code>.CDJBCFJMBAK deshret_obelisk_gadget_info = 63;</code>
     */
    public Builder setDeshretObeliskGadgetInfo(io.grasscutter.net.proto.define.CDJBCFJMBAK value) {
      if (deshretObeliskGadgetInfoBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        content_ = value;
        onChanged();
      } else {
        deshretObeliskGadgetInfoBuilder_.setMessage(value);
      }
      contentCase_ = 63;
      return this;
    }
    /**
     * <code>.CDJBCFJMBAK deshret_obelisk_gadget_info = 63;</code>
     */
    public Builder setDeshretObeliskGadgetInfo(
        io.grasscutter.net.proto.define.CDJBCFJMBAK.Builder builderForValue) {
      if (deshretObeliskGadgetInfoBuilder_ == null) {
        content_ = builderForValue.build();
        onChanged();
      } else {
        deshretObeliskGadgetInfoBuilder_.setMessage(builderForValue.build());
      }
      contentCase_ = 63;
      return this;
    }
    /**
     * <code>.CDJBCFJMBAK deshret_obelisk_gadget_info = 63;</code>
     */
    public Builder mergeDeshretObeliskGadgetInfo(io.grasscutter.net.proto.define.CDJBCFJMBAK value) {
      if (deshretObeliskGadgetInfoBuilder_ == null) {
        if (contentCase_ == 63 &&
            content_ != io.grasscutter.net.proto.define.CDJBCFJMBAK.getDefaultInstance()) {
          content_ = io.grasscutter.net.proto.define.CDJBCFJMBAK.newBuilder((io.grasscutter.net.proto.define.CDJBCFJMBAK) content_)
              .mergeFrom(value).buildPartial();
        } else {
          content_ = value;
        }
        onChanged();
      } else {
        if (contentCase_ == 63) {
          deshretObeliskGadgetInfoBuilder_.mergeFrom(value);
        }
        deshretObeliskGadgetInfoBuilder_.setMessage(value);
      }
      contentCase_ = 63;
      return this;
    }
    /**
     * <code>.CDJBCFJMBAK deshret_obelisk_gadget_info = 63;</code>
     */
    public Builder clearDeshretObeliskGadgetInfo() {
      if (deshretObeliskGadgetInfoBuilder_ == null) {
        if (contentCase_ == 63) {
          contentCase_ = 0;
          content_ = null;
          onChanged();
        }
      } else {
        if (contentCase_ == 63) {
          contentCase_ = 0;
          content_ = null;
        }
        deshretObeliskGadgetInfoBuilder_.clear();
      }
      return this;
    }
    /**
     * <code>.CDJBCFJMBAK deshret_obelisk_gadget_info = 63;</code>
     */
    public io.grasscutter.net.proto.define.CDJBCFJMBAK.Builder getDeshretObeliskGadgetInfoBuilder() {
      return getDeshretObeliskGadgetInfoFieldBuilder().getBuilder();
    }
    /**
     * <code>.CDJBCFJMBAK deshret_obelisk_gadget_info = 63;</code>
     */
    @java.lang.Override
    public io.grasscutter.net.proto.define.CDJBCFJMBAKOrBuilder getDeshretObeliskGadgetInfoOrBuilder() {
      if ((contentCase_ == 63) && (deshretObeliskGadgetInfoBuilder_ != null)) {
        return deshretObeliskGadgetInfoBuilder_.getMessageOrBuilder();
      } else {
        if (contentCase_ == 63) {
          return (io.grasscutter.net.proto.define.CDJBCFJMBAK) content_;
        }
        return io.grasscutter.net.proto.define.CDJBCFJMBAK.getDefaultInstance();
      }
    }
    /**
     * <code>.CDJBCFJMBAK deshret_obelisk_gadget_info = 63;</code>
     */
    private com.google.protobuf.SingleFieldBuilderV3<
        io.grasscutter.net.proto.define.CDJBCFJMBAK, io.grasscutter.net.proto.define.CDJBCFJMBAK.Builder, io.grasscutter.net.proto.define.CDJBCFJMBAKOrBuilder> 
        getDeshretObeliskGadgetInfoFieldBuilder() {
      if (deshretObeliskGadgetInfoBuilder_ == null) {
        if (!(contentCase_ == 63)) {
          content_ = io.grasscutter.net.proto.define.CDJBCFJMBAK.getDefaultInstance();
        }
        deshretObeliskGadgetInfoBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
            io.grasscutter.net.proto.define.CDJBCFJMBAK, io.grasscutter.net.proto.define.CDJBCFJMBAK.Builder, io.grasscutter.net.proto.define.CDJBCFJMBAKOrBuilder>(
                (io.grasscutter.net.proto.define.CDJBCFJMBAK) content_,
                getParentForChildren(),
                isClean());
        content_ = null;
      }
      contentCase_ = 63;
      onChanged();;
      return deshretObeliskGadgetInfoBuilder_;
    }

    private com.google.protobuf.SingleFieldBuilderV3<
        io.grasscutter.net.proto.define.FoundationInfo, io.grasscutter.net.proto.define.FoundationInfo.Builder, io.grasscutter.net.proto.define.FoundationInfoOrBuilder> foundationInfoBuilder_;
    /**
     * <code>.FoundationInfo foundation_info = 45;</code>
     * @return Whether the foundationInfo field is set.
     */
    @java.lang.Override
    public boolean hasFoundationInfo() {
      return contentCase_ == 45;
    }
    /**
     * <code>.FoundationInfo foundation_info = 45;</code>
     * @return The foundationInfo.
     */
    @java.lang.Override
    public io.grasscutter.net.proto.define.FoundationInfo getFoundationInfo() {
      if (foundationInfoBuilder_ == null) {
        if (contentCase_ == 45) {
          return (io.grasscutter.net.proto.define.FoundationInfo) content_;
        }
        return io.grasscutter.net.proto.define.FoundationInfo.getDefaultInstance();
      } else {
        if (contentCase_ == 45) {
          return foundationInfoBuilder_.getMessage();
        }
        return io.grasscutter.net.proto.define.FoundationInfo.getDefaultInstance();
      }
    }
    /**
     * <code>.FoundationInfo foundation_info = 45;</code>
     */
    public Builder setFoundationInfo(io.grasscutter.net.proto.define.FoundationInfo value) {
      if (foundationInfoBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        content_ = value;
        onChanged();
      } else {
        foundationInfoBuilder_.setMessage(value);
      }
      contentCase_ = 45;
      return this;
    }
    /**
     * <code>.FoundationInfo foundation_info = 45;</code>
     */
    public Builder setFoundationInfo(
        io.grasscutter.net.proto.define.FoundationInfo.Builder builderForValue) {
      if (foundationInfoBuilder_ == null) {
        content_ = builderForValue.build();
        onChanged();
      } else {
        foundationInfoBuilder_.setMessage(builderForValue.build());
      }
      contentCase_ = 45;
      return this;
    }
    /**
     * <code>.FoundationInfo foundation_info = 45;</code>
     */
    public Builder mergeFoundationInfo(io.grasscutter.net.proto.define.FoundationInfo value) {
      if (foundationInfoBuilder_ == null) {
        if (contentCase_ == 45 &&
            content_ != io.grasscutter.net.proto.define.FoundationInfo.getDefaultInstance()) {
          content_ = io.grasscutter.net.proto.define.FoundationInfo.newBuilder((io.grasscutter.net.proto.define.FoundationInfo) content_)
              .mergeFrom(value).buildPartial();
        } else {
          content_ = value;
        }
        onChanged();
      } else {
        if (contentCase_ == 45) {
          foundationInfoBuilder_.mergeFrom(value);
        }
        foundationInfoBuilder_.setMessage(value);
      }
      contentCase_ = 45;
      return this;
    }
    /**
     * <code>.FoundationInfo foundation_info = 45;</code>
     */
    public Builder clearFoundationInfo() {
      if (foundationInfoBuilder_ == null) {
        if (contentCase_ == 45) {
          contentCase_ = 0;
          content_ = null;
          onChanged();
        }
      } else {
        if (contentCase_ == 45) {
          contentCase_ = 0;
          content_ = null;
        }
        foundationInfoBuilder_.clear();
      }
      return this;
    }
    /**
     * <code>.FoundationInfo foundation_info = 45;</code>
     */
    public io.grasscutter.net.proto.define.FoundationInfo.Builder getFoundationInfoBuilder() {
      return getFoundationInfoFieldBuilder().getBuilder();
    }
    /**
     * <code>.FoundationInfo foundation_info = 45;</code>
     */
    @java.lang.Override
    public io.grasscutter.net.proto.define.FoundationInfoOrBuilder getFoundationInfoOrBuilder() {
      if ((contentCase_ == 45) && (foundationInfoBuilder_ != null)) {
        return foundationInfoBuilder_.getMessageOrBuilder();
      } else {
        if (contentCase_ == 45) {
          return (io.grasscutter.net.proto.define.FoundationInfo) content_;
        }
        return io.grasscutter.net.proto.define.FoundationInfo.getDefaultInstance();
      }
    }
    /**
     * <code>.FoundationInfo foundation_info = 45;</code>
     */
    private com.google.protobuf.SingleFieldBuilderV3<
        io.grasscutter.net.proto.define.FoundationInfo, io.grasscutter.net.proto.define.FoundationInfo.Builder, io.grasscutter.net.proto.define.FoundationInfoOrBuilder> 
        getFoundationInfoFieldBuilder() {
      if (foundationInfoBuilder_ == null) {
        if (!(contentCase_ == 45)) {
          content_ = io.grasscutter.net.proto.define.FoundationInfo.getDefaultInstance();
        }
        foundationInfoBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
            io.grasscutter.net.proto.define.FoundationInfo, io.grasscutter.net.proto.define.FoundationInfo.Builder, io.grasscutter.net.proto.define.FoundationInfoOrBuilder>(
                (io.grasscutter.net.proto.define.FoundationInfo) content_,
                getParentForChildren(),
                isClean());
        content_ = null;
      }
      contentCase_ = 45;
      onChanged();;
      return foundationInfoBuilder_;
    }

    private com.google.protobuf.SingleFieldBuilderV3<
        io.grasscutter.net.proto.define.WorktopInfo, io.grasscutter.net.proto.define.WorktopInfo.Builder, io.grasscutter.net.proto.define.WorktopInfoOrBuilder> worktopBuilder_;
    /**
     * <code>.WorktopInfo worktop = 14;</code>
     * @return Whether the worktop field is set.
     */
    @java.lang.Override
    public boolean hasWorktop() {
      return contentCase_ == 14;
    }
    /**
     * <code>.WorktopInfo worktop = 14;</code>
     * @return The worktop.
     */
    @java.lang.Override
    public io.grasscutter.net.proto.define.WorktopInfo getWorktop() {
      if (worktopBuilder_ == null) {
        if (contentCase_ == 14) {
          return (io.grasscutter.net.proto.define.WorktopInfo) content_;
        }
        return io.grasscutter.net.proto.define.WorktopInfo.getDefaultInstance();
      } else {
        if (contentCase_ == 14) {
          return worktopBuilder_.getMessage();
        }
        return io.grasscutter.net.proto.define.WorktopInfo.getDefaultInstance();
      }
    }
    /**
     * <code>.WorktopInfo worktop = 14;</code>
     */
    public Builder setWorktop(io.grasscutter.net.proto.define.WorktopInfo value) {
      if (worktopBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        content_ = value;
        onChanged();
      } else {
        worktopBuilder_.setMessage(value);
      }
      contentCase_ = 14;
      return this;
    }
    /**
     * <code>.WorktopInfo worktop = 14;</code>
     */
    public Builder setWorktop(
        io.grasscutter.net.proto.define.WorktopInfo.Builder builderForValue) {
      if (worktopBuilder_ == null) {
        content_ = builderForValue.build();
        onChanged();
      } else {
        worktopBuilder_.setMessage(builderForValue.build());
      }
      contentCase_ = 14;
      return this;
    }
    /**
     * <code>.WorktopInfo worktop = 14;</code>
     */
    public Builder mergeWorktop(io.grasscutter.net.proto.define.WorktopInfo value) {
      if (worktopBuilder_ == null) {
        if (contentCase_ == 14 &&
            content_ != io.grasscutter.net.proto.define.WorktopInfo.getDefaultInstance()) {
          content_ = io.grasscutter.net.proto.define.WorktopInfo.newBuilder((io.grasscutter.net.proto.define.WorktopInfo) content_)
              .mergeFrom(value).buildPartial();
        } else {
          content_ = value;
        }
        onChanged();
      } else {
        if (contentCase_ == 14) {
          worktopBuilder_.mergeFrom(value);
        }
        worktopBuilder_.setMessage(value);
      }
      contentCase_ = 14;
      return this;
    }
    /**
     * <code>.WorktopInfo worktop = 14;</code>
     */
    public Builder clearWorktop() {
      if (worktopBuilder_ == null) {
        if (contentCase_ == 14) {
          contentCase_ = 0;
          content_ = null;
          onChanged();
        }
      } else {
        if (contentCase_ == 14) {
          contentCase_ = 0;
          content_ = null;
        }
        worktopBuilder_.clear();
      }
      return this;
    }
    /**
     * <code>.WorktopInfo worktop = 14;</code>
     */
    public io.grasscutter.net.proto.define.WorktopInfo.Builder getWorktopBuilder() {
      return getWorktopFieldBuilder().getBuilder();
    }
    /**
     * <code>.WorktopInfo worktop = 14;</code>
     */
    @java.lang.Override
    public io.grasscutter.net.proto.define.WorktopInfoOrBuilder getWorktopOrBuilder() {
      if ((contentCase_ == 14) && (worktopBuilder_ != null)) {
        return worktopBuilder_.getMessageOrBuilder();
      } else {
        if (contentCase_ == 14) {
          return (io.grasscutter.net.proto.define.WorktopInfo) content_;
        }
        return io.grasscutter.net.proto.define.WorktopInfo.getDefaultInstance();
      }
    }
    /**
     * <code>.WorktopInfo worktop = 14;</code>
     */
    private com.google.protobuf.SingleFieldBuilderV3<
        io.grasscutter.net.proto.define.WorktopInfo, io.grasscutter.net.proto.define.WorktopInfo.Builder, io.grasscutter.net.proto.define.WorktopInfoOrBuilder> 
        getWorktopFieldBuilder() {
      if (worktopBuilder_ == null) {
        if (!(contentCase_ == 14)) {
          content_ = io.grasscutter.net.proto.define.WorktopInfo.getDefaultInstance();
        }
        worktopBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
            io.grasscutter.net.proto.define.WorktopInfo, io.grasscutter.net.proto.define.WorktopInfo.Builder, io.grasscutter.net.proto.define.WorktopInfoOrBuilder>(
                (io.grasscutter.net.proto.define.WorktopInfo) content_,
                getParentForChildren(),
                isClean());
        content_ = null;
      }
      contentCase_ = 14;
      onChanged();;
      return worktopBuilder_;
    }

    private com.google.protobuf.SingleFieldBuilderV3<
        io.grasscutter.net.proto.define.GadgetGeneralRewardInfo, io.grasscutter.net.proto.define.GadgetGeneralRewardInfo.Builder, io.grasscutter.net.proto.define.GadgetGeneralRewardInfoOrBuilder> generalRewardBuilder_;
    /**
     * <code>.GadgetGeneralRewardInfo general_reward = 43;</code>
     * @return Whether the generalReward field is set.
     */
    @java.lang.Override
    public boolean hasGeneralReward() {
      return contentCase_ == 43;
    }
    /**
     * <code>.GadgetGeneralRewardInfo general_reward = 43;</code>
     * @return The generalReward.
     */
    @java.lang.Override
    public io.grasscutter.net.proto.define.GadgetGeneralRewardInfo getGeneralReward() {
      if (generalRewardBuilder_ == null) {
        if (contentCase_ == 43) {
          return (io.grasscutter.net.proto.define.GadgetGeneralRewardInfo) content_;
        }
        return io.grasscutter.net.proto.define.GadgetGeneralRewardInfo.getDefaultInstance();
      } else {
        if (contentCase_ == 43) {
          return generalRewardBuilder_.getMessage();
        }
        return io.grasscutter.net.proto.define.GadgetGeneralRewardInfo.getDefaultInstance();
      }
    }
    /**
     * <code>.GadgetGeneralRewardInfo general_reward = 43;</code>
     */
    public Builder setGeneralReward(io.grasscutter.net.proto.define.GadgetGeneralRewardInfo value) {
      if (generalRewardBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        content_ = value;
        onChanged();
      } else {
        generalRewardBuilder_.setMessage(value);
      }
      contentCase_ = 43;
      return this;
    }
    /**
     * <code>.GadgetGeneralRewardInfo general_reward = 43;</code>
     */
    public Builder setGeneralReward(
        io.grasscutter.net.proto.define.GadgetGeneralRewardInfo.Builder builderForValue) {
      if (generalRewardBuilder_ == null) {
        content_ = builderForValue.build();
        onChanged();
      } else {
        generalRewardBuilder_.setMessage(builderForValue.build());
      }
      contentCase_ = 43;
      return this;
    }
    /**
     * <code>.GadgetGeneralRewardInfo general_reward = 43;</code>
     */
    public Builder mergeGeneralReward(io.grasscutter.net.proto.define.GadgetGeneralRewardInfo value) {
      if (generalRewardBuilder_ == null) {
        if (contentCase_ == 43 &&
            content_ != io.grasscutter.net.proto.define.GadgetGeneralRewardInfo.getDefaultInstance()) {
          content_ = io.grasscutter.net.proto.define.GadgetGeneralRewardInfo.newBuilder((io.grasscutter.net.proto.define.GadgetGeneralRewardInfo) content_)
              .mergeFrom(value).buildPartial();
        } else {
          content_ = value;
        }
        onChanged();
      } else {
        if (contentCase_ == 43) {
          generalRewardBuilder_.mergeFrom(value);
        }
        generalRewardBuilder_.setMessage(value);
      }
      contentCase_ = 43;
      return this;
    }
    /**
     * <code>.GadgetGeneralRewardInfo general_reward = 43;</code>
     */
    public Builder clearGeneralReward() {
      if (generalRewardBuilder_ == null) {
        if (contentCase_ == 43) {
          contentCase_ = 0;
          content_ = null;
          onChanged();
        }
      } else {
        if (contentCase_ == 43) {
          contentCase_ = 0;
          content_ = null;
        }
        generalRewardBuilder_.clear();
      }
      return this;
    }
    /**
     * <code>.GadgetGeneralRewardInfo general_reward = 43;</code>
     */
    public io.grasscutter.net.proto.define.GadgetGeneralRewardInfo.Builder getGeneralRewardBuilder() {
      return getGeneralRewardFieldBuilder().getBuilder();
    }
    /**
     * <code>.GadgetGeneralRewardInfo general_reward = 43;</code>
     */
    @java.lang.Override
    public io.grasscutter.net.proto.define.GadgetGeneralRewardInfoOrBuilder getGeneralRewardOrBuilder() {
      if ((contentCase_ == 43) && (generalRewardBuilder_ != null)) {
        return generalRewardBuilder_.getMessageOrBuilder();
      } else {
        if (contentCase_ == 43) {
          return (io.grasscutter.net.proto.define.GadgetGeneralRewardInfo) content_;
        }
        return io.grasscutter.net.proto.define.GadgetGeneralRewardInfo.getDefaultInstance();
      }
    }
    /**
     * <code>.GadgetGeneralRewardInfo general_reward = 43;</code>
     */
    private com.google.protobuf.SingleFieldBuilderV3<
        io.grasscutter.net.proto.define.GadgetGeneralRewardInfo, io.grasscutter.net.proto.define.GadgetGeneralRewardInfo.Builder, io.grasscutter.net.proto.define.GadgetGeneralRewardInfoOrBuilder> 
        getGeneralRewardFieldBuilder() {
      if (generalRewardBuilder_ == null) {
        if (!(contentCase_ == 43)) {
          content_ = io.grasscutter.net.proto.define.GadgetGeneralRewardInfo.getDefaultInstance();
        }
        generalRewardBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
            io.grasscutter.net.proto.define.GadgetGeneralRewardInfo, io.grasscutter.net.proto.define.GadgetGeneralRewardInfo.Builder, io.grasscutter.net.proto.define.GadgetGeneralRewardInfoOrBuilder>(
                (io.grasscutter.net.proto.define.GadgetGeneralRewardInfo) content_,
                getParentForChildren(),
                isClean());
        content_ = null;
      }
      contentCase_ = 43;
      onChanged();;
      return generalRewardBuilder_;
    }

    private com.google.protobuf.SingleFieldBuilderV3<
        io.grasscutter.net.proto.define.FCHLLHGCMDC, io.grasscutter.net.proto.define.FCHLLHGCMDC.Builder, io.grasscutter.net.proto.define.FCHLLHGCMDCOrBuilder> vehicleInfoBuilder_;
    /**
     * <code>.FCHLLHGCMDC vehicle_info = 46;</code>
     * @return Whether the vehicleInfo field is set.
     */
    @java.lang.Override
    public boolean hasVehicleInfo() {
      return contentCase_ == 46;
    }
    /**
     * <code>.FCHLLHGCMDC vehicle_info = 46;</code>
     * @return The vehicleInfo.
     */
    @java.lang.Override
    public io.grasscutter.net.proto.define.FCHLLHGCMDC getVehicleInfo() {
      if (vehicleInfoBuilder_ == null) {
        if (contentCase_ == 46) {
          return (io.grasscutter.net.proto.define.FCHLLHGCMDC) content_;
        }
        return io.grasscutter.net.proto.define.FCHLLHGCMDC.getDefaultInstance();
      } else {
        if (contentCase_ == 46) {
          return vehicleInfoBuilder_.getMessage();
        }
        return io.grasscutter.net.proto.define.FCHLLHGCMDC.getDefaultInstance();
      }
    }
    /**
     * <code>.FCHLLHGCMDC vehicle_info = 46;</code>
     */
    public Builder setVehicleInfo(io.grasscutter.net.proto.define.FCHLLHGCMDC value) {
      if (vehicleInfoBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        content_ = value;
        onChanged();
      } else {
        vehicleInfoBuilder_.setMessage(value);
      }
      contentCase_ = 46;
      return this;
    }
    /**
     * <code>.FCHLLHGCMDC vehicle_info = 46;</code>
     */
    public Builder setVehicleInfo(
        io.grasscutter.net.proto.define.FCHLLHGCMDC.Builder builderForValue) {
      if (vehicleInfoBuilder_ == null) {
        content_ = builderForValue.build();
        onChanged();
      } else {
        vehicleInfoBuilder_.setMessage(builderForValue.build());
      }
      contentCase_ = 46;
      return this;
    }
    /**
     * <code>.FCHLLHGCMDC vehicle_info = 46;</code>
     */
    public Builder mergeVehicleInfo(io.grasscutter.net.proto.define.FCHLLHGCMDC value) {
      if (vehicleInfoBuilder_ == null) {
        if (contentCase_ == 46 &&
            content_ != io.grasscutter.net.proto.define.FCHLLHGCMDC.getDefaultInstance()) {
          content_ = io.grasscutter.net.proto.define.FCHLLHGCMDC.newBuilder((io.grasscutter.net.proto.define.FCHLLHGCMDC) content_)
              .mergeFrom(value).buildPartial();
        } else {
          content_ = value;
        }
        onChanged();
      } else {
        if (contentCase_ == 46) {
          vehicleInfoBuilder_.mergeFrom(value);
        }
        vehicleInfoBuilder_.setMessage(value);
      }
      contentCase_ = 46;
      return this;
    }
    /**
     * <code>.FCHLLHGCMDC vehicle_info = 46;</code>
     */
    public Builder clearVehicleInfo() {
      if (vehicleInfoBuilder_ == null) {
        if (contentCase_ == 46) {
          contentCase_ = 0;
          content_ = null;
          onChanged();
        }
      } else {
        if (contentCase_ == 46) {
          contentCase_ = 0;
          content_ = null;
        }
        vehicleInfoBuilder_.clear();
      }
      return this;
    }
    /**
     * <code>.FCHLLHGCMDC vehicle_info = 46;</code>
     */
    public io.grasscutter.net.proto.define.FCHLLHGCMDC.Builder getVehicleInfoBuilder() {
      return getVehicleInfoFieldBuilder().getBuilder();
    }
    /**
     * <code>.FCHLLHGCMDC vehicle_info = 46;</code>
     */
    @java.lang.Override
    public io.grasscutter.net.proto.define.FCHLLHGCMDCOrBuilder getVehicleInfoOrBuilder() {
      if ((contentCase_ == 46) && (vehicleInfoBuilder_ != null)) {
        return vehicleInfoBuilder_.getMessageOrBuilder();
      } else {
        if (contentCase_ == 46) {
          return (io.grasscutter.net.proto.define.FCHLLHGCMDC) content_;
        }
        return io.grasscutter.net.proto.define.FCHLLHGCMDC.getDefaultInstance();
      }
    }
    /**
     * <code>.FCHLLHGCMDC vehicle_info = 46;</code>
     */
    private com.google.protobuf.SingleFieldBuilderV3<
        io.grasscutter.net.proto.define.FCHLLHGCMDC, io.grasscutter.net.proto.define.FCHLLHGCMDC.Builder, io.grasscutter.net.proto.define.FCHLLHGCMDCOrBuilder> 
        getVehicleInfoFieldBuilder() {
      if (vehicleInfoBuilder_ == null) {
        if (!(contentCase_ == 46)) {
          content_ = io.grasscutter.net.proto.define.FCHLLHGCMDC.getDefaultInstance();
        }
        vehicleInfoBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
            io.grasscutter.net.proto.define.FCHLLHGCMDC, io.grasscutter.net.proto.define.FCHLLHGCMDC.Builder, io.grasscutter.net.proto.define.FCHLLHGCMDCOrBuilder>(
                (io.grasscutter.net.proto.define.FCHLLHGCMDC) content_,
                getParentForChildren(),
                isClean());
        content_ = null;
      }
      contentCase_ = 46;
      onChanged();;
      return vehicleInfoBuilder_;
    }

    private com.google.protobuf.SingleFieldBuilderV3<
        io.grasscutter.net.proto.define.FishPoolInfo, io.grasscutter.net.proto.define.FishPoolInfo.Builder, io.grasscutter.net.proto.define.FishPoolInfoOrBuilder> fishPoolInfoBuilder_;
    /**
     * <code>.FishPoolInfo fish_pool_info = 59;</code>
     * @return Whether the fishPoolInfo field is set.
     */
    @java.lang.Override
    public boolean hasFishPoolInfo() {
      return contentCase_ == 59;
    }
    /**
     * <code>.FishPoolInfo fish_pool_info = 59;</code>
     * @return The fishPoolInfo.
     */
    @java.lang.Override
    public io.grasscutter.net.proto.define.FishPoolInfo getFishPoolInfo() {
      if (fishPoolInfoBuilder_ == null) {
        if (contentCase_ == 59) {
          return (io.grasscutter.net.proto.define.FishPoolInfo) content_;
        }
        return io.grasscutter.net.proto.define.FishPoolInfo.getDefaultInstance();
      } else {
        if (contentCase_ == 59) {
          return fishPoolInfoBuilder_.getMessage();
        }
        return io.grasscutter.net.proto.define.FishPoolInfo.getDefaultInstance();
      }
    }
    /**
     * <code>.FishPoolInfo fish_pool_info = 59;</code>
     */
    public Builder setFishPoolInfo(io.grasscutter.net.proto.define.FishPoolInfo value) {
      if (fishPoolInfoBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        content_ = value;
        onChanged();
      } else {
        fishPoolInfoBuilder_.setMessage(value);
      }
      contentCase_ = 59;
      return this;
    }
    /**
     * <code>.FishPoolInfo fish_pool_info = 59;</code>
     */
    public Builder setFishPoolInfo(
        io.grasscutter.net.proto.define.FishPoolInfo.Builder builderForValue) {
      if (fishPoolInfoBuilder_ == null) {
        content_ = builderForValue.build();
        onChanged();
      } else {
        fishPoolInfoBuilder_.setMessage(builderForValue.build());
      }
      contentCase_ = 59;
      return this;
    }
    /**
     * <code>.FishPoolInfo fish_pool_info = 59;</code>
     */
    public Builder mergeFishPoolInfo(io.grasscutter.net.proto.define.FishPoolInfo value) {
      if (fishPoolInfoBuilder_ == null) {
        if (contentCase_ == 59 &&
            content_ != io.grasscutter.net.proto.define.FishPoolInfo.getDefaultInstance()) {
          content_ = io.grasscutter.net.proto.define.FishPoolInfo.newBuilder((io.grasscutter.net.proto.define.FishPoolInfo) content_)
              .mergeFrom(value).buildPartial();
        } else {
          content_ = value;
        }
        onChanged();
      } else {
        if (contentCase_ == 59) {
          fishPoolInfoBuilder_.mergeFrom(value);
        }
        fishPoolInfoBuilder_.setMessage(value);
      }
      contentCase_ = 59;
      return this;
    }
    /**
     * <code>.FishPoolInfo fish_pool_info = 59;</code>
     */
    public Builder clearFishPoolInfo() {
      if (fishPoolInfoBuilder_ == null) {
        if (contentCase_ == 59) {
          contentCase_ = 0;
          content_ = null;
          onChanged();
        }
      } else {
        if (contentCase_ == 59) {
          contentCase_ = 0;
          content_ = null;
        }
        fishPoolInfoBuilder_.clear();
      }
      return this;
    }
    /**
     * <code>.FishPoolInfo fish_pool_info = 59;</code>
     */
    public io.grasscutter.net.proto.define.FishPoolInfo.Builder getFishPoolInfoBuilder() {
      return getFishPoolInfoFieldBuilder().getBuilder();
    }
    /**
     * <code>.FishPoolInfo fish_pool_info = 59;</code>
     */
    @java.lang.Override
    public io.grasscutter.net.proto.define.FishPoolInfoOrBuilder getFishPoolInfoOrBuilder() {
      if ((contentCase_ == 59) && (fishPoolInfoBuilder_ != null)) {
        return fishPoolInfoBuilder_.getMessageOrBuilder();
      } else {
        if (contentCase_ == 59) {
          return (io.grasscutter.net.proto.define.FishPoolInfo) content_;
        }
        return io.grasscutter.net.proto.define.FishPoolInfo.getDefaultInstance();
      }
    }
    /**
     * <code>.FishPoolInfo fish_pool_info = 59;</code>
     */
    private com.google.protobuf.SingleFieldBuilderV3<
        io.grasscutter.net.proto.define.FishPoolInfo, io.grasscutter.net.proto.define.FishPoolInfo.Builder, io.grasscutter.net.proto.define.FishPoolInfoOrBuilder> 
        getFishPoolInfoFieldBuilder() {
      if (fishPoolInfoBuilder_ == null) {
        if (!(contentCase_ == 59)) {
          content_ = io.grasscutter.net.proto.define.FishPoolInfo.getDefaultInstance();
        }
        fishPoolInfoBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
            io.grasscutter.net.proto.define.FishPoolInfo, io.grasscutter.net.proto.define.FishPoolInfo.Builder, io.grasscutter.net.proto.define.FishPoolInfoOrBuilder>(
                (io.grasscutter.net.proto.define.FishPoolInfo) content_,
                getParentForChildren(),
                isClean());
        content_ = null;
      }
      contentCase_ = 59;
      onChanged();;
      return fishPoolInfoBuilder_;
    }

    private com.google.protobuf.SingleFieldBuilderV3<
        io.grasscutter.net.proto.define.MpPlayRewardInfo, io.grasscutter.net.proto.define.MpPlayRewardInfo.Builder, io.grasscutter.net.proto.define.MpPlayRewardInfoOrBuilder> mpPlayRewardBuilder_;
    /**
     * <code>.MpPlayRewardInfo mp_play_reward = 42;</code>
     * @return Whether the mpPlayReward field is set.
     */
    @java.lang.Override
    public boolean hasMpPlayReward() {
      return contentCase_ == 42;
    }
    /**
     * <code>.MpPlayRewardInfo mp_play_reward = 42;</code>
     * @return The mpPlayReward.
     */
    @java.lang.Override
    public io.grasscutter.net.proto.define.MpPlayRewardInfo getMpPlayReward() {
      if (mpPlayRewardBuilder_ == null) {
        if (contentCase_ == 42) {
          return (io.grasscutter.net.proto.define.MpPlayRewardInfo) content_;
        }
        return io.grasscutter.net.proto.define.MpPlayRewardInfo.getDefaultInstance();
      } else {
        if (contentCase_ == 42) {
          return mpPlayRewardBuilder_.getMessage();
        }
        return io.grasscutter.net.proto.define.MpPlayRewardInfo.getDefaultInstance();
      }
    }
    /**
     * <code>.MpPlayRewardInfo mp_play_reward = 42;</code>
     */
    public Builder setMpPlayReward(io.grasscutter.net.proto.define.MpPlayRewardInfo value) {
      if (mpPlayRewardBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        content_ = value;
        onChanged();
      } else {
        mpPlayRewardBuilder_.setMessage(value);
      }
      contentCase_ = 42;
      return this;
    }
    /**
     * <code>.MpPlayRewardInfo mp_play_reward = 42;</code>
     */
    public Builder setMpPlayReward(
        io.grasscutter.net.proto.define.MpPlayRewardInfo.Builder builderForValue) {
      if (mpPlayRewardBuilder_ == null) {
        content_ = builderForValue.build();
        onChanged();
      } else {
        mpPlayRewardBuilder_.setMessage(builderForValue.build());
      }
      contentCase_ = 42;
      return this;
    }
    /**
     * <code>.MpPlayRewardInfo mp_play_reward = 42;</code>
     */
    public Builder mergeMpPlayReward(io.grasscutter.net.proto.define.MpPlayRewardInfo value) {
      if (mpPlayRewardBuilder_ == null) {
        if (contentCase_ == 42 &&
            content_ != io.grasscutter.net.proto.define.MpPlayRewardInfo.getDefaultInstance()) {
          content_ = io.grasscutter.net.proto.define.MpPlayRewardInfo.newBuilder((io.grasscutter.net.proto.define.MpPlayRewardInfo) content_)
              .mergeFrom(value).buildPartial();
        } else {
          content_ = value;
        }
        onChanged();
      } else {
        if (contentCase_ == 42) {
          mpPlayRewardBuilder_.mergeFrom(value);
        }
        mpPlayRewardBuilder_.setMessage(value);
      }
      contentCase_ = 42;
      return this;
    }
    /**
     * <code>.MpPlayRewardInfo mp_play_reward = 42;</code>
     */
    public Builder clearMpPlayReward() {
      if (mpPlayRewardBuilder_ == null) {
        if (contentCase_ == 42) {
          contentCase_ = 0;
          content_ = null;
          onChanged();
        }
      } else {
        if (contentCase_ == 42) {
          contentCase_ = 0;
          content_ = null;
        }
        mpPlayRewardBuilder_.clear();
      }
      return this;
    }
    /**
     * <code>.MpPlayRewardInfo mp_play_reward = 42;</code>
     */
    public io.grasscutter.net.proto.define.MpPlayRewardInfo.Builder getMpPlayRewardBuilder() {
      return getMpPlayRewardFieldBuilder().getBuilder();
    }
    /**
     * <code>.MpPlayRewardInfo mp_play_reward = 42;</code>
     */
    @java.lang.Override
    public io.grasscutter.net.proto.define.MpPlayRewardInfoOrBuilder getMpPlayRewardOrBuilder() {
      if ((contentCase_ == 42) && (mpPlayRewardBuilder_ != null)) {
        return mpPlayRewardBuilder_.getMessageOrBuilder();
      } else {
        if (contentCase_ == 42) {
          return (io.grasscutter.net.proto.define.MpPlayRewardInfo) content_;
        }
        return io.grasscutter.net.proto.define.MpPlayRewardInfo.getDefaultInstance();
      }
    }
    /**
     * <code>.MpPlayRewardInfo mp_play_reward = 42;</code>
     */
    private com.google.protobuf.SingleFieldBuilderV3<
        io.grasscutter.net.proto.define.MpPlayRewardInfo, io.grasscutter.net.proto.define.MpPlayRewardInfo.Builder, io.grasscutter.net.proto.define.MpPlayRewardInfoOrBuilder> 
        getMpPlayRewardFieldBuilder() {
      if (mpPlayRewardBuilder_ == null) {
        if (!(contentCase_ == 42)) {
          content_ = io.grasscutter.net.proto.define.MpPlayRewardInfo.getDefaultInstance();
        }
        mpPlayRewardBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
            io.grasscutter.net.proto.define.MpPlayRewardInfo, io.grasscutter.net.proto.define.MpPlayRewardInfo.Builder, io.grasscutter.net.proto.define.MpPlayRewardInfoOrBuilder>(
                (io.grasscutter.net.proto.define.MpPlayRewardInfo) content_,
                getParentForChildren(),
                isClean());
        content_ = null;
      }
      contentCase_ = 42;
      onChanged();;
      return mpPlayRewardBuilder_;
    }

    private com.google.protobuf.SingleFieldBuilderV3<
        io.grasscutter.net.proto.define.IACHJPIMDFA, io.grasscutter.net.proto.define.IACHJPIMDFA.Builder, io.grasscutter.net.proto.define.IACHJPIMDFAOrBuilder> trifleGadgetBuilder_;
    /**
     * <code>.IACHJPIMDFA trifle_gadget = 67;</code>
     * @return Whether the trifleGadget field is set.
     */
    @java.lang.Override
    public boolean hasTrifleGadget() {
      return contentCase_ == 67;
    }
    /**
     * <code>.IACHJPIMDFA trifle_gadget = 67;</code>
     * @return The trifleGadget.
     */
    @java.lang.Override
    public io.grasscutter.net.proto.define.IACHJPIMDFA getTrifleGadget() {
      if (trifleGadgetBuilder_ == null) {
        if (contentCase_ == 67) {
          return (io.grasscutter.net.proto.define.IACHJPIMDFA) content_;
        }
        return io.grasscutter.net.proto.define.IACHJPIMDFA.getDefaultInstance();
      } else {
        if (contentCase_ == 67) {
          return trifleGadgetBuilder_.getMessage();
        }
        return io.grasscutter.net.proto.define.IACHJPIMDFA.getDefaultInstance();
      }
    }
    /**
     * <code>.IACHJPIMDFA trifle_gadget = 67;</code>
     */
    public Builder setTrifleGadget(io.grasscutter.net.proto.define.IACHJPIMDFA value) {
      if (trifleGadgetBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        content_ = value;
        onChanged();
      } else {
        trifleGadgetBuilder_.setMessage(value);
      }
      contentCase_ = 67;
      return this;
    }
    /**
     * <code>.IACHJPIMDFA trifle_gadget = 67;</code>
     */
    public Builder setTrifleGadget(
        io.grasscutter.net.proto.define.IACHJPIMDFA.Builder builderForValue) {
      if (trifleGadgetBuilder_ == null) {
        content_ = builderForValue.build();
        onChanged();
      } else {
        trifleGadgetBuilder_.setMessage(builderForValue.build());
      }
      contentCase_ = 67;
      return this;
    }
    /**
     * <code>.IACHJPIMDFA trifle_gadget = 67;</code>
     */
    public Builder mergeTrifleGadget(io.grasscutter.net.proto.define.IACHJPIMDFA value) {
      if (trifleGadgetBuilder_ == null) {
        if (contentCase_ == 67 &&
            content_ != io.grasscutter.net.proto.define.IACHJPIMDFA.getDefaultInstance()) {
          content_ = io.grasscutter.net.proto.define.IACHJPIMDFA.newBuilder((io.grasscutter.net.proto.define.IACHJPIMDFA) content_)
              .mergeFrom(value).buildPartial();
        } else {
          content_ = value;
        }
        onChanged();
      } else {
        if (contentCase_ == 67) {
          trifleGadgetBuilder_.mergeFrom(value);
        }
        trifleGadgetBuilder_.setMessage(value);
      }
      contentCase_ = 67;
      return this;
    }
    /**
     * <code>.IACHJPIMDFA trifle_gadget = 67;</code>
     */
    public Builder clearTrifleGadget() {
      if (trifleGadgetBuilder_ == null) {
        if (contentCase_ == 67) {
          contentCase_ = 0;
          content_ = null;
          onChanged();
        }
      } else {
        if (contentCase_ == 67) {
          contentCase_ = 0;
          content_ = null;
        }
        trifleGadgetBuilder_.clear();
      }
      return this;
    }
    /**
     * <code>.IACHJPIMDFA trifle_gadget = 67;</code>
     */
    public io.grasscutter.net.proto.define.IACHJPIMDFA.Builder getTrifleGadgetBuilder() {
      return getTrifleGadgetFieldBuilder().getBuilder();
    }
    /**
     * <code>.IACHJPIMDFA trifle_gadget = 67;</code>
     */
    @java.lang.Override
    public io.grasscutter.net.proto.define.IACHJPIMDFAOrBuilder getTrifleGadgetOrBuilder() {
      if ((contentCase_ == 67) && (trifleGadgetBuilder_ != null)) {
        return trifleGadgetBuilder_.getMessageOrBuilder();
      } else {
        if (contentCase_ == 67) {
          return (io.grasscutter.net.proto.define.IACHJPIMDFA) content_;
        }
        return io.grasscutter.net.proto.define.IACHJPIMDFA.getDefaultInstance();
      }
    }
    /**
     * <code>.IACHJPIMDFA trifle_gadget = 67;</code>
     */
    private com.google.protobuf.SingleFieldBuilderV3<
        io.grasscutter.net.proto.define.IACHJPIMDFA, io.grasscutter.net.proto.define.IACHJPIMDFA.Builder, io.grasscutter.net.proto.define.IACHJPIMDFAOrBuilder> 
        getTrifleGadgetFieldBuilder() {
      if (trifleGadgetBuilder_ == null) {
        if (!(contentCase_ == 67)) {
          content_ = io.grasscutter.net.proto.define.IACHJPIMDFA.getDefaultInstance();
        }
        trifleGadgetBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
            io.grasscutter.net.proto.define.IACHJPIMDFA, io.grasscutter.net.proto.define.IACHJPIMDFA.Builder, io.grasscutter.net.proto.define.IACHJPIMDFAOrBuilder>(
                (io.grasscutter.net.proto.define.IACHJPIMDFA) content_,
                getParentForChildren(),
                isClean());
        content_ = null;
      }
      contentCase_ = 67;
      onChanged();;
      return trifleGadgetBuilder_;
    }

    private com.google.protobuf.SingleFieldBuilderV3<
        io.grasscutter.net.proto.define.CustomGadgetTreeInfo, io.grasscutter.net.proto.define.CustomGadgetTreeInfo.Builder, io.grasscutter.net.proto.define.CustomGadgetTreeInfoOrBuilder> customGadgetTreeInfoBuilder_;
    /**
     * <code>.CustomGadgetTreeInfo custom_gadget_tree_info = 60;</code>
     * @return Whether the customGadgetTreeInfo field is set.
     */
    @java.lang.Override
    public boolean hasCustomGadgetTreeInfo() {
      return contentCase_ == 60;
    }
    /**
     * <code>.CustomGadgetTreeInfo custom_gadget_tree_info = 60;</code>
     * @return The customGadgetTreeInfo.
     */
    @java.lang.Override
    public io.grasscutter.net.proto.define.CustomGadgetTreeInfo getCustomGadgetTreeInfo() {
      if (customGadgetTreeInfoBuilder_ == null) {
        if (contentCase_ == 60) {
          return (io.grasscutter.net.proto.define.CustomGadgetTreeInfo) content_;
        }
        return io.grasscutter.net.proto.define.CustomGadgetTreeInfo.getDefaultInstance();
      } else {
        if (contentCase_ == 60) {
          return customGadgetTreeInfoBuilder_.getMessage();
        }
        return io.grasscutter.net.proto.define.CustomGadgetTreeInfo.getDefaultInstance();
      }
    }
    /**
     * <code>.CustomGadgetTreeInfo custom_gadget_tree_info = 60;</code>
     */
    public Builder setCustomGadgetTreeInfo(io.grasscutter.net.proto.define.CustomGadgetTreeInfo value) {
      if (customGadgetTreeInfoBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        content_ = value;
        onChanged();
      } else {
        customGadgetTreeInfoBuilder_.setMessage(value);
      }
      contentCase_ = 60;
      return this;
    }
    /**
     * <code>.CustomGadgetTreeInfo custom_gadget_tree_info = 60;</code>
     */
    public Builder setCustomGadgetTreeInfo(
        io.grasscutter.net.proto.define.CustomGadgetTreeInfo.Builder builderForValue) {
      if (customGadgetTreeInfoBuilder_ == null) {
        content_ = builderForValue.build();
        onChanged();
      } else {
        customGadgetTreeInfoBuilder_.setMessage(builderForValue.build());
      }
      contentCase_ = 60;
      return this;
    }
    /**
     * <code>.CustomGadgetTreeInfo custom_gadget_tree_info = 60;</code>
     */
    public Builder mergeCustomGadgetTreeInfo(io.grasscutter.net.proto.define.CustomGadgetTreeInfo value) {
      if (customGadgetTreeInfoBuilder_ == null) {
        if (contentCase_ == 60 &&
            content_ != io.grasscutter.net.proto.define.CustomGadgetTreeInfo.getDefaultInstance()) {
          content_ = io.grasscutter.net.proto.define.CustomGadgetTreeInfo.newBuilder((io.grasscutter.net.proto.define.CustomGadgetTreeInfo) content_)
              .mergeFrom(value).buildPartial();
        } else {
          content_ = value;
        }
        onChanged();
      } else {
        if (contentCase_ == 60) {
          customGadgetTreeInfoBuilder_.mergeFrom(value);
        }
        customGadgetTreeInfoBuilder_.setMessage(value);
      }
      contentCase_ = 60;
      return this;
    }
    /**
     * <code>.CustomGadgetTreeInfo custom_gadget_tree_info = 60;</code>
     */
    public Builder clearCustomGadgetTreeInfo() {
      if (customGadgetTreeInfoBuilder_ == null) {
        if (contentCase_ == 60) {
          contentCase_ = 0;
          content_ = null;
          onChanged();
        }
      } else {
        if (contentCase_ == 60) {
          contentCase_ = 0;
          content_ = null;
        }
        customGadgetTreeInfoBuilder_.clear();
      }
      return this;
    }
    /**
     * <code>.CustomGadgetTreeInfo custom_gadget_tree_info = 60;</code>
     */
    public io.grasscutter.net.proto.define.CustomGadgetTreeInfo.Builder getCustomGadgetTreeInfoBuilder() {
      return getCustomGadgetTreeInfoFieldBuilder().getBuilder();
    }
    /**
     * <code>.CustomGadgetTreeInfo custom_gadget_tree_info = 60;</code>
     */
    @java.lang.Override
    public io.grasscutter.net.proto.define.CustomGadgetTreeInfoOrBuilder getCustomGadgetTreeInfoOrBuilder() {
      if ((contentCase_ == 60) && (customGadgetTreeInfoBuilder_ != null)) {
        return customGadgetTreeInfoBuilder_.getMessageOrBuilder();
      } else {
        if (contentCase_ == 60) {
          return (io.grasscutter.net.proto.define.CustomGadgetTreeInfo) content_;
        }
        return io.grasscutter.net.proto.define.CustomGadgetTreeInfo.getDefaultInstance();
      }
    }
    /**
     * <code>.CustomGadgetTreeInfo custom_gadget_tree_info = 60;</code>
     */
    private com.google.protobuf.SingleFieldBuilderV3<
        io.grasscutter.net.proto.define.CustomGadgetTreeInfo, io.grasscutter.net.proto.define.CustomGadgetTreeInfo.Builder, io.grasscutter.net.proto.define.CustomGadgetTreeInfoOrBuilder> 
        getCustomGadgetTreeInfoFieldBuilder() {
      if (customGadgetTreeInfoBuilder_ == null) {
        if (!(contentCase_ == 60)) {
          content_ = io.grasscutter.net.proto.define.CustomGadgetTreeInfo.getDefaultInstance();
        }
        customGadgetTreeInfoBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
            io.grasscutter.net.proto.define.CustomGadgetTreeInfo, io.grasscutter.net.proto.define.CustomGadgetTreeInfo.Builder, io.grasscutter.net.proto.define.CustomGadgetTreeInfoOrBuilder>(
                (io.grasscutter.net.proto.define.CustomGadgetTreeInfo) content_,
                getParentForChildren(),
                isClean());
        content_ = null;
      }
      contentCase_ = 60;
      onChanged();;
      return customGadgetTreeInfoBuilder_;
    }

    private int gadgetState_ ;
    /**
     * <code>uint32 gadget_state = 6;</code>
     * @return The gadgetState.
     */
    @java.lang.Override
    public int getGadgetState() {
      return gadgetState_;
    }
    /**
     * <code>uint32 gadget_state = 6;</code>
     * @param value The gadgetState to set.
     * @return This builder for chaining.
     */
    public Builder setGadgetState(int value) {
      
      gadgetState_ = value;
      onChanged();
      return this;
    }
    /**
     * <code>uint32 gadget_state = 6;</code>
     * @return This builder for chaining.
     */
    public Builder clearGadgetState() {
      
      gadgetState_ = 0;
      onChanged();
      return this;
    }
    @java.lang.Override
    public final Builder setUnknownFields(
        final com.google.protobuf.UnknownFieldSet unknownFields) {
      return super.setUnknownFields(unknownFields);
    }

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


    // @@protoc_insertion_point(builder_scope:SceneGadgetInfo)
  }

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

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

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

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

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

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

}

