content: // Generated by the protocol buffer compiler.  DO NOT EDIT!
  // source: SceneGadgetInfo.proto
  
  package emu.grasscutter.net.proto;
  
  public final class SceneGadgetInfoOuterClass {
    private SceneGadgetInfoOuterClass() {}
    public static void registerAllExtensions(
        com.google.protobuf.ExtensionRegistryLite registry) {
    }
  
    public static void registerAllExtensions(
        com.google.protobuf.ExtensionRegistry registry) {
      registerAllExtensions(
          (com.google.protobuf.ExtensionRegistryLite) registry);
    }
    public interface SceneGadgetInfoOrBuilder extends
        // @@protoc_insertion_point(interface_extends:SceneGadgetInfo)
        com.google.protobuf.MessageOrBuilder {
  
      /**
       * <code>uint32 gadgetId = 1;</code>
       * @return The gadgetId.
       */
      int getGadgetId();
  
      /**
       * <code>uint32 groupId = 2;</code>
       * @return The groupId.
       */
      int getGroupId();
  
      /**
       * <code>uint32 configId = 3;</code>
       * @return The configId.
       */
      int getConfigId();
  
      /**
       * <code>uint32 ownerEntityId = 4;</code>
       * @return The ownerEntityId.
       */
      int getOwnerEntityId();
  
      /**
       * <code>.GadgetBornType bornType = 5;</code>
       * @return The enum numeric value on the wire for bornType.
       */
      int getBornTypeValue();
      /**
       * <code>.GadgetBornType bornType = 5;</code>
       * @return The bornType.
       */
      emu.grasscutter.net.proto.GadgetBornTypeOuterClass.GadgetBornType getBornType();
  
      /**
       * <code>uint32 gadgetState = 6;</code>
       * @return The gadgetState.
       */
      int getGadgetState();
  
      /**
       * <code>uint32 gadgetType = 7;</code>
       * @return The gadgetType.
       */
      int getGadgetType();
  
      /**
       * <code>bool isShowCutscene = 8;</code>
       * @return The isShowCutscene.
       */
      boolean getIsShowCutscene();
  
      /**
       * <code>uint32 authorityPeerId = 9;</code>
       * @return The authorityPeerId.
       */
      int getAuthorityPeerId();
  
      /**
       * <code>bool isEnableInteract = 10;</code>
       * @return The isEnableInteract.
       */
      boolean getIsEnableInteract();
  
      /**
       * <code>uint32 interactId = 11;</code>
       * @return The interactId.
       */
      int getInteractId();
  
      /**
       * <code>.Item trifle_item = 12;</code>
       * @return Whether the trifleItem field is set.
       */
      boolean hasTrifleItem();
      /**
       * <code>.Item trifle_item = 12;</code>
       * @return The trifleItem.
       */
      emu.grasscutter.net.proto.ItemOuterClass.Item getTrifleItem();
      /**
       * <code>.Item trifle_item = 12;</code>
       */
      emu.grasscutter.net.proto.ItemOuterClass.ItemOrBuilder getTrifleItemOrBuilder();
  
      /**
       * <code>.GatherGadgetInfo gather_gadget = 13;</code>
       * @return Whether the gatherGadget field is set.
       */
      boolean hasGatherGadget();
      /**
       * <code>.GatherGadgetInfo gather_gadget = 13;</code>
       * @return The gatherGadget.
       */
      emu.grasscutter.net.proto.GatherGadgetInfoOuterClass.GatherGadgetInfo getGatherGadget();
      /**
       * <code>.GatherGadgetInfo gather_gadget = 13;</code>
       */
      emu.grasscutter.net.proto.GatherGadgetInfoOuterClass.GatherGadgetInfoOrBuilder getGatherGadgetOrBuilder();
  
      /**
       * <code>.WorktopInfo worktop = 14;</code>
       * @return Whether the worktop field is set.
       */
      boolean hasWorktop();
      /**
       * <code>.WorktopInfo worktop = 14;</code>
       * @return The worktop.
       */
      emu.grasscutter.net.proto.WorktopInfoOuterClass.WorktopInfo getWorktop();
      /**
       * <code>.WorktopInfo worktop = 14;</code>
       */
      emu.grasscutter.net.proto.WorktopInfoOuterClass.WorktopInfoOrBuilder getWorktopOrBuilder();
  
      /**
       * <code>.ClientGadgetInfo client_gadget = 15;</code>
       * @return Whether the clientGadget field is set.
       */
      boolean hasClientGadget();
      /**
       * <code>.ClientGadgetInfo client_gadget = 15;</code>
       * @return The clientGadget.
       */
      emu.grasscutter.net.proto.ClientGadgetInfoOuterClass.ClientGadgetInfo getClientGadget();
      /**
       * <code>.ClientGadgetInfo client_gadget = 15;</code>
       */
      emu.grasscutter.net.proto.ClientGadgetInfoOuterClass.ClientGadgetInfoOrBuilder getClientGadgetOrBuilder();
  
      /**
       * <code>.Weather weather = 17;</code>
       * @return Whether the weather field is set.
       */
      boolean hasWeather();
      /**
       * <code>.Weather weather = 17;</code>
       * @return The weather.
       */
      emu.grasscutter.net.proto.WeatherOuterClass.Weather getWeather();
      /**
       * <code>.Weather weather = 17;</code>
       */
      emu.grasscutter.net.proto.WeatherOuterClass.WeatherOrBuilder getWeatherOrBuilder();
  
      /**
       * <code>.AbilityGadgetInfo ability_gadget = 18;</code>
       * @return Whether the abilityGadget field is set.
       */
      boolean hasAbilityGadget();
      /**
       * <code>.AbilityGadgetInfo ability_gadget = 18;</code>
       * @return The abilityGadget.
       */
      emu.grasscutter.net.proto.AbilityGadgetInfoOuterClass.AbilityGadgetInfo getAbilityGadget();
      /**
       * <code>.AbilityGadgetInfo ability_gadget = 18;</code>
       */
      emu.grasscutter.net.proto.AbilityGadgetInfoOuterClass.AbilityGadgetInfoOrBuilder getAbilityGadgetOrBuilder();
  
      /**
       * <code>.StatueGadget statue_gadget = 19;</code>
       * @return Whether the statueGadget field is set.
       */
      boolean hasStatueGadget();
      /**
       * <code>.StatueGadget statue_gadget = 19;</code>
       * @return The statueGadget.
       */
      emu.grasscutter.net.proto.StatueGadgetOuterClass.StatueGadget getStatueGadget();
      /**
       * <code>.StatueGadget statue_gadget = 19;</code>
       */
      emu.grasscutter.net.proto.StatueGadgetOuterClass.StatueGadgetOrBuilder getStatueGadgetOrBuilder();
  
      /**
       * <code>.BossChestInfo boss_chest = 20;</code>
       * @return Whether the bossChest field is set.
       */
      boolean hasBossChest();
      /**
       * <code>.BossChestInfo boss_chest = 20;</code>
       * @return The bossChest.
       */
      emu.grasscutter.net.proto.BossChestInfoOuterClass.BossChestInfo getBossChest();
      /**
       * <code>.BossChestInfo boss_chest = 20;</code>
       */
      emu.grasscutter.net.proto.BossChestInfoOuterClass.BossChestInfoOrBuilder getBossChestOrBuilder();
  
      /**
       * <code>.BlossomChest blossom_chest = 41;</code>
       * @return Whether the blossomChest field is set.
       */
      boolean hasBlossomChest();
      /**
       * <code>.BlossomChest blossom_chest = 41;</code>
       * @return The blossomChest.
       */
      emu.grasscutter.net.proto.BlossomChestOuterClass.BlossomChest getBlossomChest();
      /**
       * <code>.BlossomChest blossom_chest = 41;</code>
       */
      emu.grasscutter.net.proto.BlossomChestOuterClass.BlossomChestOrBuilder getBlossomChestOrBuilder();
  
      /**
       * <code>.MpPlayReward mp_play_reward = 42;</code>
       * @return Whether the mpPlayReward field is set.
       */
      boolean hasMpPlayReward();
      /**
       * <code>.MpPlayReward mp_play_reward = 42;</code>
       * @return The mpPlayReward.
       */
      emu.grasscutter.net.proto.MpPlayRewardOuterClass.MpPlayReward getMpPlayReward();
      /**
       * <code>.MpPlayReward mp_play_reward = 42;</code>
       */
      emu.grasscutter.net.proto.MpPlayRewardOuterClass.MpPlayRewardOrBuilder getMpPlayRewardOrBuilder();
  
      /**
       * <code>.GeneralReward general_reward = 43;</code>
       * @return Whether the generalReward field is set.
       */
      boolean hasGeneralReward();
      /**
       * <code>.GeneralReward general_reward = 43;</code>
       * @return The generalReward.
       */
      emu.grasscutter.net.proto.GeneralRewardOuterClass.GeneralReward getGeneralReward();
      /**
       * <code>.GeneralReward general_reward = 43;</code>
       */
      emu.grasscutter.net.proto.GeneralRewardOuterClass.GeneralRewardOrBuilder getGeneralRewardOrBuilder();
  
      /**
       * <code>.OfferingInfo offering_info = 44;</code>
       * @return Whether the offeringInfo field is set.
       */
      boolean hasOfferingInfo();
      /**
       * <code>.OfferingInfo offering_info = 44;</code>
       * @return The offeringInfo.
       */
      emu.grasscutter.net.proto.OfferingInfoOuterClass.OfferingInfo getOfferingInfo();
      /**
       * <code>.OfferingInfo offering_info = 44;</code>
       */
      emu.grasscutter.net.proto.OfferingInfoOuterClass.OfferingInfoOrBuilder getOfferingInfoOrBuilder();
  
      /**
       * <code>.FoundationInfo foundation_info = 45;</code>
       * @return Whether the foundationInfo field is set.
       */
      boolean hasFoundationInfo();
      /**
       * <code>.FoundationInfo foundation_info = 45;</code>
       * @return The foundationInfo.
       */
      emu.grasscutter.net.proto.FoundationInfoOuterClass.FoundationInfo getFoundationInfo();
      /**
       * <code>.FoundationInfo foundation_info = 45;</code>
       */
      emu.grasscutter.net.proto.FoundationInfoOuterClass.FoundationInfoOrBuilder getFoundationInfoOrBuilder();
  
      /**
       * <code>.VehicleInfo vehicle_info = 46;</code>
       * @return Whether the vehicleInfo field is set.
       */
      boolean hasVehicleInfo();
      /**
       * <code>.VehicleInfo vehicle_info = 46;</code>
       * @return The vehicleInfo.
       */
      emu.grasscutter.net.proto.VehicleInfoOuterClass.VehicleInfo getVehicleInfo();
      /**
       * <code>.VehicleInfo vehicle_info = 46;</code>
       */
      emu.grasscutter.net.proto.VehicleInfoOuterClass.VehicleInfoOrBuilder getVehicleInfoOrBuilder();
  
      /**
       * <code>.ShellInfo shell_info = 47;</code>
       * @return Whether the shellInfo field is set.
       */
      boolean hasShellInfo();
      /**
       * <code>.ShellInfo shell_info = 47;</code>
       * @return The shellInfo.
       */
      emu.grasscutter.net.proto.ShellInfoOuterClass.ShellInfo getShellInfo();
      /**
       * <code>.ShellInfo shell_info = 47;</code>
       */
      emu.grasscutter.net.proto.ShellInfoOuterClass.ShellInfoOrBuilder getShellInfoOrBuilder();
  
      /**
       * <code>.ScreenInfo screen_info = 48;</code>
       * @return Whether the screenInfo field is set.
       */
      boolean hasScreenInfo();
      /**
       * <code>.ScreenInfo screen_info = 48;</code>
       * @return The screenInfo.
       */
      emu.grasscutter.net.proto.ScreenInfoOuterClass.ScreenInfo getScreenInfo();
      /**
       * <code>.ScreenInfo screen_info = 48;</code>
       */
      emu.grasscutter.net.proto.ScreenInfoOuterClass.ScreenInfoOrBuilder getScreenInfoOrBuilder();
  
      /**
       * <code>.FishPoolInfo fish_pool_info = 59;</code>
       * @return Whether the fishPoolInfo field is set.
       */
      boolean hasFishPoolInfo();
      /**
       * <code>.FishPoolInfo fish_pool_info = 59;</code>
       * @return The fishPoolInfo.
       */
      emu.grasscutter.net.proto.FishPoolInfoOuterClass.FishPoolInfo getFishPoolInfo();
      /**
       * <code>.FishPoolInfo fish_pool_info = 59;</code>
       */
      emu.grasscutter.net.proto.FishPoolInfoOuterClass.FishPoolInfoOrBuilder getFishPoolInfoOrBuilder();
  
      /**
       * <code>.CustomGadgetTreeInfo custom_gadget_tree_info = 60;</code>
       * @return Whether the customGadgetTreeInfo field is set.
       */
      boolean hasCustomGadgetTreeInfo();
      /**
       * <code>.CustomGadgetTreeInfo custom_gadget_tree_info = 60;</code>
       * @return The customGadgetTreeInfo.
       */
      emu.grasscutter.net.proto.CustomGadgetTreeInfoOuterClass.CustomGadgetTreeInfo getCustomGadgetTreeInfo();
      /**
       * <code>.CustomGadgetTreeInfo custom_gadget_tree_info = 60;</code>
       */
      emu.grasscutter.net.proto.CustomGadgetTreeInfoOuterClass.CustomGadgetTreeInfoOrBuilder getCustomGadgetTreeInfoOrBuilder();
  
      /**
       * <code>.RoguelikeGadgetInfo roguelike_gadget_info = 61;</code>
       * @return Whether the roguelikeGadgetInfo field is set.
       */
      boolean hasRoguelikeGadgetInfo();
      /**
       * <code>.RoguelikeGadgetInfo roguelike_gadget_info = 61;</code>
       * @return The roguelikeGadgetInfo.
       */
      emu.grasscutter.net.proto.RoguelikeGadgetInfoOuterClass.RoguelikeGadgetInfo getRoguelikeGadgetInfo();
      /**
       * <code>.RoguelikeGadgetInfo roguelike_gadget_info = 61;</code>
       */
      emu.grasscutter.net.proto.RoguelikeGadgetInfoOuterClass.RoguelikeGadgetInfoOrBuilder getRoguelikeGadgetInfoOrBuilder();
  
      /**
       * <code>.NightCrowGadgetInfo night_crow_gadget_info = 62;</code>
       * @return Whether the nightCrowGadgetInfo field is set.
       */
      boolean hasNightCrowGadgetInfo();
      /**
       * <code>.NightCrowGadgetInfo night_crow_gadget_info = 62;</code>
       * @return The nightCrowGadgetInfo.
       */
      emu.grasscutter.net.proto.NightCrowGadgetInfoOuterClass.NightCrowGadgetInfo getNightCrowGadgetInfo();
      /**
       * <code>.NightCrowGadgetInfo night_crow_gadget_info = 62;</code>
       */
      emu.grasscutter.net.proto.NightCrowGadgetInfoOuterClass.NightCrowGadgetInfoOrBuilder getNightCrowGadgetInfoOrBuilder();
  
      /**
       * <code>.DeshretObeliskGadgetInfo deshret_obelisk_gadget_info = 63;</code>
       * @return Whether the deshretObeliskGadgetInfo field is set.
       */
      boolean hasDeshretObeliskGadgetInfo();
      /**
       * <code>.DeshretObeliskGadgetInfo deshret_obelisk_gadget_info = 63;</code>
       * @return The deshretObeliskGadgetInfo.
       */
      emu.grasscutter.net.proto.DeshretObeliskGadgetInfoOuterClass.DeshretObeliskGadgetInfo getDeshretObeliskGadgetInfo();
      /**
       * <code>.DeshretObeliskGadgetInfo deshret_obelisk_gadget_info = 63;</code>
       */
      emu.grasscutter.net.proto.DeshretObeliskGadgetInfoOuterClass.DeshretObeliskGadgetInfoOrBuilder getDeshretObeliskGadgetInfoOrBuilder();
  
      /**
       * <code>.CoinCollectOperatorInfo coin_collect_operator_info = 64;</code>
       * @return Whether the coinCollectOperatorInfo field is set.
       */
      boolean hasCoinCollectOperatorInfo();
      /**
       * <code>.CoinCollectOperatorInfo coin_collect_operator_info = 64;</code>
       * @return The coinCollectOperatorInfo.
       */
      emu.grasscutter.net.proto.CoinCollectOperatorInfoOuterClass.CoinCollectOperatorInfo getCoinCollectOperatorInfo();
      /**
       * <code>.CoinCollectOperatorInfo coin_collect_operator_info = 64;</code>
       */
      emu.grasscutter.net.proto.CoinCollectOperatorInfoOuterClass.CoinCollectOperatorInfoOrBuilder getCoinCollectOperatorInfoOrBuilder();
  
      /**
       * <code>uint32 markFlag = 21;</code>
       * @return The markFlag.
       */
      int getMarkFlag();
  
      /**
       * <code>uint32 propOwnerEntityId = 22;</code>
       * @return The propOwnerEntityId.
       */
      int getPropOwnerEntityId();
  
      /**
       * <code>.PlatformInfo platform = 23;</code>
       * @return Whether the platform field is set.
       */
      boolean hasPlatform();
      /**
       * <code>.PlatformInfo platform = 23;</code>
       * @return The platform.
       */
      emu.grasscutter.net.proto.PlatformInfoOuterClass.PlatformInfo getPlatform();
      /**
       * <code>.PlatformInfo platform = 23;</code>
       */
      emu.grasscutter.net.proto.PlatformInfoOuterClass.PlatformInfoOrBuilder getPlatformOrBuilder();
  
      /**
       * <code>repeated uint32 interactUidList = 24;</code>
       * @return A list containing the interactUidList.
       */
      java.util.List<java.lang.Integer> getInteractUidListList();
      /**
       * <code>repeated uint32 interactUidList = 24;</code>
       * @return The count of interactUidList.
       */
      int getInteractUidListCount();
      /**
       * <code>repeated uint32 interactUidList = 24;</code>
       * @param index The index of the element to return.
       * @return The interactUidList at the given index.
       */
      int getInteractUidList(int index);
  
      /**
       * <code>uint32 draftId = 25;</code>
       * @return The draftId.
       */
      int getDraftId();
  
      /**
       * <code>uint32 gadgetTalkState = 26;</code>
       * @return The gadgetTalkState.
       */
      int getGadgetTalkState();
  
      /**
       * <code>.GadgetPlayInfo playInfo = 100;</code>
       * @return Whether the playInfo field is set.
       */
      boolean hasPlayInfo();
      /**
       * <code>.GadgetPlayInfo playInfo = 100;</code>
       * @return The playInfo.
       */
      emu.grasscutter.net.proto.GadgetPlayInfoOuterClass.GadgetPlayInfo getPlayInfo();
      /**
       * <code>.GadgetPlayInfo playInfo = 100;</code>
       */
      emu.grasscutter.net.proto.GadgetPlayInfoOuterClass.GadgetPlayInfoOrBuilder getPlayInfoOrBuilder();
  
      public emu.grasscutter.net.proto.SceneGadgetInfoOuterClass.SceneGadgetInfo.ContentCase getContentCase();
    }
    /**
     * Protobuf type {@code SceneGadgetInfo}
     */
    public static 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() {
        bornType_ = 0;
        interactUidList_ = emptyIntList();
      }
  
      @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 98: {
                emu.grasscutter.net.proto.ItemOuterClass.Item.Builder subBuilder = null;
                if (contentCase_ == 12) {
                  subBuilder = ((emu.grasscutter.net.proto.ItemOuterClass.Item) content_).toBuilder();
                }
                content_ =
                    input.readMessage(emu.grasscutter.net.proto.ItemOuterClass.Item.parser(), extensionRegistry);
                if (subBuilder != null) {
                  subBuilder.mergeFrom((emu.grasscutter.net.proto.ItemOuterClass.Item) content_);
                  content_ = subBuilder.buildPartial();
                }
                contentCase_ = 12;
                break;
              }
              case 106: {
                emu.grasscutter.net.proto.GatherGadgetInfoOuterClass.GatherGadgetInfo.Builder subBuilder = null;
                if (contentCase_ == 13) {
                  subBuilder = ((emu.grasscutter.net.proto.GatherGadgetInfoOuterClass.GatherGadgetInfo) content_).toBuilder();
                }
                content_ =
                    input.readMessage(emu.grasscutter.net.proto.GatherGadgetInfoOuterClass.GatherGadgetInfo.parser(), extensionRegistry);
                if (subBuilder != null) {
                  subBuilder.mergeFrom((emu.grasscutter.net.proto.GatherGadgetInfoOuterClass.GatherGadgetInfo) content_);
                  content_ = subBuilder.buildPartial();
                }
                contentCase_ = 13;
                break;
              }
              case 114: {
                emu.grasscutter.net.proto.WorktopInfoOuterClass.WorktopInfo.Builder subBuilder = null;
                if (contentCase_ == 14) {
                  subBuilder = ((emu.grasscutter.net.proto.WorktopInfoOuterClass.WorktopInfo) content_).toBuilder();
                }
                content_ =
                    input.readMessage(emu.grasscutter.net.proto.WorktopInfoOuterClass.WorktopInfo.parser(), extensionRegistry);
                if (subBuilder != null) {
                  subBuilder.mergeFrom((emu.grasscutter.net.proto.WorktopInfoOuterClass.WorktopInfo) content_);
                  content_ = subBuilder.buildPartial();
                }
                contentCase_ = 14;
                break;
              }
              case 122: {
                emu.grasscutter.net.proto.ClientGadgetInfoOuterClass.ClientGadgetInfo.Builder subBuilder = null;
                if (contentCase_ == 15) {
                  subBuilder = ((emu.grasscutter.net.proto.ClientGadgetInfoOuterClass.ClientGadgetInfo) content_).toBuilder();
                }
                content_ =
                    input.readMessage(emu.grasscutter.net.proto.ClientGadgetInfoOuterClass.ClientGadgetInfo.parser(), extensionRegistry);
                if (subBuilder != null) {
                  subBuilder.mergeFrom((emu.grasscutter.net.proto.ClientGadgetInfoOuterClass.ClientGadgetInfo) content_);
                  content_ = subBuilder.buildPartial();
                }
                contentCase_ = 15;
                break;
              }
              case 138: {
                emu.grasscutter.net.proto.WeatherOuterClass.Weather.Builder subBuilder = null;
                if (contentCase_ == 17) {
                  subBuilder = ((emu.grasscutter.net.proto.WeatherOuterClass.Weather) content_).toBuilder();
                }
                content_ =
                    input.readMessage(emu.grasscutter.net.proto.WeatherOuterClass.Weather.parser(), extensionRegistry);
                if (subBuilder != null) {
                  subBuilder.mergeFrom((emu.grasscutter.net.proto.WeatherOuterClass.Weather) content_);
                  content_ = subBuilder.buildPartial();
                }
                contentCase_ = 17;
                break;
              }
              case 146: {
                emu.grasscutter.net.proto.AbilityGadgetInfoOuterClass.AbilityGadgetInfo.Builder subBuilder = null;
                if (contentCase_ == 18) {
                  subBuilder = ((emu.grasscutter.net.proto.AbilityGadgetInfoOuterClass.AbilityGadgetInfo) content_).toBuilder();
                }
                content_ =
                    input.readMessage(emu.grasscutter.net.proto.AbilityGadgetInfoOuterClass.AbilityGadgetInfo.parser(), extensionRegistry);
                if (subBuilder != null) {
                  subBuilder.mergeFrom((emu.grasscutter.net.proto.AbilityGadgetInfoOuterClass.AbilityGadgetInfo) content_);
                  content_ = subBuilder.buildPartial();
                }
                contentCase_ = 18;
                break;
              }
              case 154: {
                emu.grasscutter.net.proto.StatueGadgetOuterClass.StatueGadget.Builder subBuilder = null;
                if (contentCase_ == 19) {
                  subBuilder = ((emu.grasscutter.net.proto.StatueGadgetOuterClass.StatueGadget) content_).toBuilder();
                }
                content_ =
                    input.readMessage(emu.grasscutter.net.proto.StatueGadgetOuterClass.StatueGadget.parser(), extensionRegistry);
                if (subBuilder != null) {
                  subBuilder.mergeFrom((emu.grasscutter.net.proto.StatueGadgetOuterClass.StatueGadget) content_);
                  content_ = subBuilder.buildPartial();
                }
                contentCase_ = 19;
                break;
              }
              case 162: {
                emu.grasscutter.net.proto.BossChestInfoOuterClass.BossChestInfo.Builder subBuilder = null;
                if (contentCase_ == 20) {
                  subBuilder = ((emu.grasscutter.net.proto.BossChestInfoOuterClass.BossChestInfo) content_).toBuilder();
                }
                content_ =
                    input.readMessage(emu.grasscutter.net.proto.BossChestInfoOuterClass.BossChestInfo.parser(), extensionRegistry);
                if (subBuilder != null) {
                  subBuilder.mergeFrom((emu.grasscutter.net.proto.BossChestInfoOuterClass.BossChestInfo) content_);
                  content_ = subBuilder.buildPartial();
                }
                contentCase_ = 20;
                break;
              }
              case 168: {
  
                markFlag_ = input.readUInt32();
                break;
              }
              case 176: {
  
                propOwnerEntityId_ = input.readUInt32();
                break;
              }
              case 186: {
                emu.grasscutter.net.proto.PlatformInfoOuterClass.PlatformInfo.Builder subBuilder = null;
                if (platform_ != null) {
                  subBuilder = platform_.toBuilder();
                }
                platform_ = input.readMessage(emu.grasscutter.net.proto.PlatformInfoOuterClass.PlatformInfo.parser(), extensionRegistry);
                if (subBuilder != null) {
                  subBuilder.mergeFrom(platform_);
                  platform_ = subBuilder.buildPartial();
                }
  
                break;
              }
              case 192: {
                if (!((mutable_bitField0_ & 0x00000001) != 0)) {
                  interactUidList_ = newIntList();
                  mutable_bitField0_ |= 0x00000001;
                }
                interactUidList_.addInt(input.readUInt32());
                break;
              }
              case 194: {
                int length = input.readRawVarint32();
                int limit = input.pushLimit(length);
                if (!((mutable_bitField0_ & 0x00000001) != 0) && input.getBytesUntilLimit() > 0) {
                  interactUidList_ = newIntList();
                  mutable_bitField0_ |= 0x00000001;
                }
                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 330: {
                emu.grasscutter.net.proto.BlossomChestOuterClass.BlossomChest.Builder subBuilder = null;
                if (contentCase_ == 41) {
                  subBuilder = ((emu.grasscutter.net.proto.BlossomChestOuterClass.BlossomChest) content_).toBuilder();
                }
                content_ =
                    input.readMessage(emu.grasscutter.net.proto.BlossomChestOuterClass.BlossomChest.parser(), extensionRegistry);
                if (subBuilder != null) {
                  subBuilder.mergeFrom((emu.grasscutter.net.proto.BlossomChestOuterClass.BlossomChest) content_);
                  content_ = subBuilder.buildPartial();
                }
                contentCase_ = 41;
                break;
              }
              case 338: {
                emu.grasscutter.net.proto.MpPlayRewardOuterClass.MpPlayReward.Builder subBuilder = null;
                if (contentCase_ == 42) {
                  subBuilder = ((emu.grasscutter.net.proto.MpPlayRewardOuterClass.MpPlayReward) content_).toBuilder();
                }
                content_ =
                    input.readMessage(emu.grasscutter.net.proto.MpPlayRewardOuterClass.MpPlayReward.parser(), extensionRegistry);
                if (subBuilder != null) {
                  subBuilder.mergeFrom((emu.grasscutter.net.proto.MpPlayRewardOuterClass.MpPlayReward) content_);
                  content_ = subBuilder.buildPartial();
                }
                contentCase_ = 42;
                break;
              }
              case 346: {
                emu.grasscutter.net.proto.GeneralRewardOuterClass.GeneralReward.Builder subBuilder = null;
                if (contentCase_ == 43) {
                  subBuilder = ((emu.grasscutter.net.proto.GeneralRewardOuterClass.GeneralReward) content_).toBuilder();
                }
                content_ =
                    input.readMessage(emu.grasscutter.net.proto.GeneralRewardOuterClass.GeneralReward.parser(), extensionRegistry);
                if (subBuilder != null) {
                  subBuilder.mergeFrom((emu.grasscutter.net.proto.GeneralRewardOuterClass.GeneralReward) content_);
                  content_ = subBuilder.buildPartial();
                }
                contentCase_ = 43;
                break;
              }
              case 354: {
                emu.grasscutter.net.proto.OfferingInfoOuterClass.OfferingInfo.Builder subBuilder = null;
                if (contentCase_ == 44) {
                  subBuilder = ((emu.grasscutter.net.proto.OfferingInfoOuterClass.OfferingInfo) content_).toBuilder();
                }
                content_ =
                    input.readMessage(emu.grasscutter.net.proto.OfferingInfoOuterClass.OfferingInfo.parser(), extensionRegistry);
                if (subBuilder != null) {
                  subBuilder.mergeFrom((emu.grasscutter.net.proto.OfferingInfoOuterClass.OfferingInfo) content_);
                  content_ = subBuilder.buildPartial();
                }
                contentCase_ = 44;
                break;
              }
              case 362: {
                emu.grasscutter.net.proto.FoundationInfoOuterClass.FoundationInfo.Builder subBuilder = null;
                if (contentCase_ == 45) {
                  subBuilder = ((emu.grasscutter.net.proto.FoundationInfoOuterClass.FoundationInfo) content_).toBuilder();
                }
                content_ =
                    input.readMessage(emu.grasscutter.net.proto.FoundationInfoOuterClass.FoundationInfo.parser(), extensionRegistry);
                if (subBuilder != null) {
                  subBuilder.mergeFrom((emu.grasscutter.net.proto.FoundationInfoOuterClass.FoundationInfo) content_);
                  content_ = subBuilder.buildPartial();
                }
                contentCase_ = 45;
                break;
              }
              case 370: {
                emu.grasscutter.net.proto.VehicleInfoOuterClass.VehicleInfo.Builder subBuilder = null;
                if (contentCase_ == 46) {
                  subBuilder = ((emu.grasscutter.net.proto.VehicleInfoOuterClass.VehicleInfo) content_).toBuilder();
                }
                content_ =
                    input.readMessage(emu.grasscutter.net.proto.VehicleInfoOuterClass.VehicleInfo.parser(), extensionRegistry);
                if (subBuilder != null) {
                  subBuilder.mergeFrom((emu.grasscutter.net.proto.VehicleInfoOuterClass.VehicleInfo) content_);
                  content_ = subBuilder.buildPartial();
                }
                contentCase_ = 46;
                break;
              }
              case 378: {
                emu.grasscutter.net.proto.ShellInfoOuterClass.ShellInfo.Builder subBuilder = null;
                if (contentCase_ == 47) {
                  subBuilder = ((emu.grasscutter.net.proto.ShellInfoOuterClass.ShellInfo) content_).toBuilder();
                }
                content_ =
                    input.readMessage(emu.grasscutter.net.proto.ShellInfoOuterClass.ShellInfo.parser(), extensionRegistry);
                if (subBuilder != null) {
                  subBuilder.mergeFrom((emu.grasscutter.net.proto.ShellInfoOuterClass.ShellInfo) content_);
                  content_ = subBuilder.buildPartial();
                }
                contentCase_ = 47;
                break;
              }
              case 386: {
                emu.grasscutter.net.proto.ScreenInfoOuterClass.ScreenInfo.Builder subBuilder = null;
                if (contentCase_ == 48) {
                  subBuilder = ((emu.grasscutter.net.proto.ScreenInfoOuterClass.ScreenInfo) content_).toBuilder();
                }
                content_ =
                    input.readMessage(emu.grasscutter.net.proto.ScreenInfoOuterClass.ScreenInfo.parser(), extensionRegistry);
                if (subBuilder != null) {
                  subBuilder.mergeFrom((emu.grasscutter.net.proto.ScreenInfoOuterClass.ScreenInfo) content_);
                  content_ = subBuilder.buildPartial();
                }
                contentCase_ = 48;
                break;
              }
              case 474: {
                emu.grasscutter.net.proto.FishPoolInfoOuterClass.FishPoolInfo.Builder subBuilder = null;
                if (contentCase_ == 59) {
                  subBuilder = ((emu.grasscutter.net.proto.FishPoolInfoOuterClass.FishPoolInfo) content_).toBuilder();
                }
                content_ =
                    input.readMessage(emu.grasscutter.net.proto.FishPoolInfoOuterClass.FishPoolInfo.parser(), extensionRegistry);
                if (subBuilder != null) {
                  subBuilder.mergeFrom((emu.grasscutter.net.proto.FishPoolInfoOuterClass.FishPoolInfo) content_);
                  content_ = subBuilder.buildPartial();
                }
                contentCase_ = 59;
                break;
              }
              case 482: {
                emu.grasscutter.net.proto.CustomGadgetTreeInfoOuterClass.CustomGadgetTreeInfo.Builder subBuilder = null;
                if (contentCase_ == 60) {
                  subBuilder = ((emu.grasscutter.net.proto.CustomGadgetTreeInfoOuterClass.CustomGadgetTreeInfo) content_).toBuilder();
                }
                content_ =
                    input.readMessage(emu.grasscutter.net.proto.CustomGadgetTreeInfoOuterClass.CustomGadgetTreeInfo.parser(), extensionRegistry);
                if (subBuilder != null) {
                  subBuilder.mergeFrom((emu.grasscutter.net.proto.CustomGadgetTreeInfoOuterClass.CustomGadgetTreeInfo) content_);
                  content_ = subBuilder.buildPartial();
                }
                contentCase_ = 60;
                break;
              }
              case 490: {
                emu.grasscutter.net.proto.RoguelikeGadgetInfoOuterClass.RoguelikeGadgetInfo.Builder subBuilder = null;
                if (contentCase_ == 61) {
                  subBuilder = ((emu.grasscutter.net.proto.RoguelikeGadgetInfoOuterClass.RoguelikeGadgetInfo) content_).toBuilder();
                }
                content_ =
                    input.readMessage(emu.grasscutter.net.proto.RoguelikeGadgetInfoOuterClass.RoguelikeGadgetInfo.parser(), extensionRegistry);
                if (subBuilder != null) {
                  subBuilder.mergeFrom((emu.grasscutter.net.proto.RoguelikeGadgetInfoOuterClass.RoguelikeGadgetInfo) content_);
                  content_ = subBuilder.buildPartial();
                }
                contentCase_ = 61;
                break;
              }
              case 498: {
                emu.grasscutter.net.proto.NightCrowGadgetInfoOuterClass.NightCrowGadgetInfo.Builder subBuilder = null;
                if (contentCase_ == 62) {
                  subBuilder = ((emu.grasscutter.net.proto.NightCrowGadgetInfoOuterClass.NightCrowGadgetInfo) content_).toBuilder();
                }
                content_ =
                    input.readMessage(emu.grasscutter.net.proto.NightCrowGadgetInfoOuterClass.NightCrowGadgetInfo.parser(), extensionRegistry);
                if (subBuilder != null) {
                  subBuilder.mergeFrom((emu.grasscutter.net.proto.NightCrowGadgetInfoOuterClass.NightCrowGadgetInfo) content_);
                  content_ = subBuilder.buildPartial();
                }
                contentCase_ = 62;
                break;
              }
              case 506: {
                emu.grasscutter.net.proto.DeshretObeliskGadgetInfoOuterClass.DeshretObeliskGadgetInfo.Builder subBuilder = null;
                if (contentCase_ == 63) {
                  subBuilder = ((emu.grasscutter.net.proto.DeshretObeliskGadgetInfoOuterClass.DeshretObeliskGadgetInfo) content_).toBuilder();
                }
                content_ =
                    input.readMessage(emu.grasscutter.net.proto.DeshretObeliskGadgetInfoOuterClass.DeshretObeliskGadgetInfo.parser(), extensionRegistry);
                if (subBuilder != null) {
                  subBuilder.mergeFrom((emu.grasscutter.net.proto.DeshretObeliskGadgetInfoOuterClass.DeshretObeliskGadgetInfo) content_);
                  content_ = subBuilder.buildPartial();
                }
                contentCase_ = 63;
                break;
              }
              case 514: {
                emu.grasscutter.net.proto.CoinCollectOperatorInfoOuterClass.CoinCollectOperatorInfo.Builder subBuilder = null;
                if (contentCase_ == 64) {
                  subBuilder = ((emu.grasscutter.net.proto.CoinCollectOperatorInfoOuterClass.CoinCollectOperatorInfo) content_).toBuilder();
                }
                content_ =
                    input.readMessage(emu.grasscutter.net.proto.CoinCollectOperatorInfoOuterClass.CoinCollectOperatorInfo.parser(), extensionRegistry);
                if (subBuilder != null) {
                  subBuilder.mergeFrom((emu.grasscutter.net.proto.CoinCollectOperatorInfoOuterClass.CoinCollectOperatorInfo) content_);
                  content_ = subBuilder.buildPartial();
                }
                contentCase_ = 64;
                break;
              }
              case 802: {
                emu.grasscutter.net.proto.GadgetPlayInfoOuterClass.GadgetPlayInfo.Builder subBuilder = null;
                if (playInfo_ != null) {
                  subBuilder = playInfo_.toBuilder();
                }
                playInfo_ = input.readMessage(emu.grasscutter.net.proto.GadgetPlayInfoOuterClass.GadgetPlayInfo.parser(), extensionRegistry);
                if (subBuilder != null) {
                  subBuilder.mergeFrom(playInfo_);
                  playInfo_ = 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_ & 0x00000001) != 0)) {
            interactUidList_.makeImmutable(); // C
          }
          this.unknownFields = unknownFields.build();
          makeExtensionsImmutable();
        }
      }
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return emu.grasscutter.net.proto.SceneGadgetInfoOuterClass.internal_static_SceneGadgetInfo_descriptor;
      }
  
      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return emu.grasscutter.net.proto.SceneGadgetInfoOuterClass.internal_static_SceneGadgetInfo_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                emu.grasscutter.net.proto.SceneGadgetInfoOuterClass.SceneGadgetInfo.class, emu.grasscutter.net.proto.SceneGadgetInfoOuterClass.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 {
        TRIFLE_ITEM(12),
        GATHER_GADGET(13),
        WORKTOP(14),
        CLIENT_GADGET(15),
        WEATHER(17),
        ABILITY_GADGET(18),
        STATUE_GADGET(19),
        BOSS_CHEST(20),
        BLOSSOM_CHEST(41),
        MP_PLAY_REWARD(42),
        GENERAL_REWARD(43),
        OFFERING_INFO(44),
        FOUNDATION_INFO(45),
        VEHICLE_INFO(46),
        SHELL_INFO(47),
        SCREEN_INFO(48),
        FISH_POOL_INFO(59),
        CUSTOM_GADGET_TREE_INFO(60),
        ROGUELIKE_GADGET_INFO(61),
        NIGHT_CROW_GADGET_INFO(62),
        DESHRET_OBELISK_GADGET_INFO(63),
        COIN_COLLECT_OPERATOR_INFO(64),
        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 12: return TRIFLE_ITEM;
            case 13: return GATHER_GADGET;
            case 14: return WORKTOP;
            case 15: return CLIENT_GADGET;
            case 17: return WEATHER;
            case 18: return ABILITY_GADGET;
            case 19: return STATUE_GADGET;
            case 20: return BOSS_CHEST;
            case 41: return BLOSSOM_CHEST;
            case 42: return MP_PLAY_REWARD;
            case 43: return GENERAL_REWARD;
            case 44: return OFFERING_INFO;
            case 45: return FOUNDATION_INFO;
            case 46: return VEHICLE_INFO;
            case 47: return SHELL_INFO;
            case 48: return SCREEN_INFO;
            case 59: return FISH_POOL_INFO;
            case 60: return CUSTOM_GADGET_TREE_INFO;
            case 61: return ROGUELIKE_GADGET_INFO;
            case 62: return NIGHT_CROW_GADGET_INFO;
            case 63: return DESHRET_OBELISK_GADGET_INFO;
            case 64: return COIN_COLLECT_OPERATOR_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 GADGETID_FIELD_NUMBER = 1;
      private int gadgetId_;
      /**
       * <code>uint32 gadgetId = 1;</code>
       * @return The gadgetId.
       */
      @java.lang.Override
      public int getGadgetId() {
        return gadgetId_;
      }
  
      public static final int GROUPID_FIELD_NUMBER = 2;
      private int groupId_;
      /**
       * <code>uint32 groupId = 2;</code>
       * @return The groupId.
       */
      @java.lang.Override
      public int getGroupId() {
        return groupId_;
      }
  
      public static final int CONFIGID_FIELD_NUMBER = 3;
      private int configId_;
      /**
       * <code>uint32 configId = 3;</code>
       * @return The configId.
       */
      @java.lang.Override
      public int getConfigId() {
        return configId_;
      }
  
      public static final int OWNERENTITYID_FIELD_NUMBER = 4;
      private int ownerEntityId_;
      /**
       * <code>uint32 ownerEntityId = 4;</code>
       * @return The ownerEntityId.
       */
      @java.lang.Override
      public int getOwnerEntityId() {
        return ownerEntityId_;
      }
  
      public static final int BORNTYPE_FIELD_NUMBER = 5;
      private int bornType_;
      /**
       * <code>.GadgetBornType bornType = 5;</code>
       * @return The enum numeric value on the wire for bornType.
       */
      @java.lang.Override public int getBornTypeValue() {
        return bornType_;
      }
      /**
       * <code>.GadgetBornType bornType = 5;</code>
       * @return The bornType.
       */
      @java.lang.Override public emu.grasscutter.net.proto.GadgetBornTypeOuterClass.GadgetBornType getBornType() {
        @SuppressWarnings("deprecation")
        emu.grasscutter.net.proto.GadgetBornTypeOuterClass.GadgetBornType result = emu.grasscutter.net.proto.GadgetBornTypeOuterClass.GadgetBornType.valueOf(bornType_);
        return result == null ? emu.grasscutter.net.proto.GadgetBornTypeOuterClass.GadgetBornType.UNRECOGNIZED : result;
      }
  
      public static final int GADGETSTATE_FIELD_NUMBER = 6;
      private int gadgetState_;
      /**
       * <code>uint32 gadgetState = 6;</code>
       * @return The gadgetState.
       */
      @java.lang.Override
      public int getGadgetState() {
        return gadgetState_;
      }
  
      public static final int GADGETTYPE_FIELD_NUMBER = 7;
      private int gadgetType_;
      /**
       * <code>uint32 gadgetType = 7;</code>
       * @return The gadgetType.
       */
      @java.lang.Override
      public int getGadgetType() {
        return gadgetType_;
      }
  
      public static final int ISSHOWCUTSCENE_FIELD_NUMBER = 8;
      private boolean isShowCutscene_;
      /**
       * <code>bool isShowCutscene = 8;</code>
       * @return The isShowCutscene.
       */
      @java.lang.Override
      public boolean getIsShowCutscene() {
        return isShowCutscene_;
      }
  
      public static final int AUTHORITYPEERID_FIELD_NUMBER = 9;
      private int authorityPeerId_;
      /**
       * <code>uint32 authorityPeerId = 9;</code>
       * @return The authorityPeerId.
       */
      @java.lang.Override
      public int getAuthorityPeerId() {
        return authorityPeerId_;
      }
  
      public static final int ISENABLEINTERACT_FIELD_NUMBER = 10;
      private boolean isEnableInteract_;
      /**
       * <code>bool isEnableInteract = 10;</code>
       * @return The isEnableInteract.
       */
      @java.lang.Override
      public boolean getIsEnableInteract() {
        return isEnableInteract_;
      }
  
      public static final int INTERACTID_FIELD_NUMBER = 11;
      private int interactId_;
      /**
       * <code>uint32 interactId = 11;</code>
       * @return The interactId.
       */
      @java.lang.Override
      public int getInteractId() {
        return interactId_;
      }
  
      public static final int TRIFLE_ITEM_FIELD_NUMBER = 12;
      /**
       * <code>.Item trifle_item = 12;</code>
       * @return Whether the trifleItem field is set.
       */
      @java.lang.Override
      public boolean hasTrifleItem() {
        return contentCase_ == 12;
      }
      /**
       * <code>.Item trifle_item = 12;</code>
       * @return The trifleItem.
       */
      @java.lang.Override
      public emu.grasscutter.net.proto.ItemOuterClass.Item getTrifleItem() {
        if (contentCase_ == 12) {
           return (emu.grasscutter.net.proto.ItemOuterClass.Item) content_;
        }
        return emu.grasscutter.net.proto.ItemOuterClass.Item.getDefaultInstance();
      }
      /**
       * <code>.Item trifle_item = 12;</code>
       */
      @java.lang.Override
      public emu.grasscutter.net.proto.ItemOuterClass.ItemOrBuilder getTrifleItemOrBuilder() {
        if (contentCase_ == 12) {
           return (emu.grasscutter.net.proto.ItemOuterClass.Item) content_;
        }
        return emu.grasscutter.net.proto.ItemOuterClass.Item.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 emu.grasscutter.net.proto.GatherGadgetInfoOuterClass.GatherGadgetInfo getGatherGadget() {
        if (contentCase_ == 13) {
           return (emu.grasscutter.net.proto.GatherGadgetInfoOuterClass.GatherGadgetInfo) content_;
        }
        return emu.grasscutter.net.proto.GatherGadgetInfoOuterClass.GatherGadgetInfo.getDefaultInstance();
      }
      /**
       * <code>.GatherGadgetInfo gather_gadget = 13;</code>
       */
      @java.lang.Override
      public emu.grasscutter.net.proto.GatherGadgetInfoOuterClass.GatherGadgetInfoOrBuilder getGatherGadgetOrBuilder() {
        if (contentCase_ == 13) {
           return (emu.grasscutter.net.proto.GatherGadgetInfoOuterClass.GatherGadgetInfo) content_;
        }
        return emu.grasscutter.net.proto.GatherGadgetInfoOuterClass.GatherGadgetInfo.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 emu.grasscutter.net.proto.WorktopInfoOuterClass.WorktopInfo getWorktop() {
        if (contentCase_ == 14) {
           return (emu.grasscutter.net.proto.WorktopInfoOuterClass.WorktopInfo) content_;
        }
        return emu.grasscutter.net.proto.WorktopInfoOuterClass.WorktopInfo.getDefaultInstance();
      }
      /**
       * <code>.WorktopInfo worktop = 14;</code>
       */
      @java.lang.Override
      public emu.grasscutter.net.proto.WorktopInfoOuterClass.WorktopInfoOrBuilder getWorktopOrBuilder() {
        if (contentCase_ == 14) {
           return (emu.grasscutter.net.proto.WorktopInfoOuterClass.WorktopInfo) content_;
        }
        return emu.grasscutter.net.proto.WorktopInfoOuterClass.WorktopInfo.getDefaultInstance();
      }
  
      public static final int CLIENT_GADGET_FIELD_NUMBER = 15;
      /**
       * <code>.ClientGadgetInfo client_gadget = 15;</code>
       * @return Whether the clientGadget field is set.
       */
      @java.lang.Override
      public boolean hasClientGadget() {
        return contentCase_ == 15;
      }
      /**
       * <code>.ClientGadgetInfo client_gadget = 15;</code>
       * @return The clientGadget.
       */
      @java.lang.Override
      public emu.grasscutter.net.proto.ClientGadgetInfoOuterClass.ClientGadgetInfo getClientGadget() {
        if (contentCase_ == 15) {
           return (emu.grasscutter.net.proto.ClientGadgetInfoOuterClass.ClientGadgetInfo) content_;
        }
        return emu.grasscutter.net.proto.ClientGadgetInfoOuterClass.ClientGadgetInfo.getDefaultInstance();
      }
      /**
       * <code>.ClientGadgetInfo client_gadget = 15;</code>
       */
      @java.lang.Override
      public emu.grasscutter.net.proto.ClientGadgetInfoOuterClass.ClientGadgetInfoOrBuilder getClientGadgetOrBuilder() {
        if (contentCase_ == 15) {
           return (emu.grasscutter.net.proto.ClientGadgetInfoOuterClass.ClientGadgetInfo) content_;
        }
        return emu.grasscutter.net.proto.ClientGadgetInfoOuterClass.ClientGadgetInfo.getDefaultInstance();
      }
  
      public static final int WEATHER_FIELD_NUMBER = 17;
      /**
       * <code>.Weather weather = 17;</code>
       * @return Whether the weather field is set.
       */
      @java.lang.Override
      public boolean hasWeather() {
        return contentCase_ == 17;
      }
      /**
       * <code>.Weather weather = 17;</code>
       * @return The weather.
       */
      @java.lang.Override
      public emu.grasscutter.net.proto.WeatherOuterClass.Weather getWeather() {
        if (contentCase_ == 17) {
           return (emu.grasscutter.net.proto.WeatherOuterClass.Weather) content_;
        }
        return emu.grasscutter.net.proto.WeatherOuterClass.Weather.getDefaultInstance();
      }
      /**
       * <code>.Weather weather = 17;</code>
       */
      @java.lang.Override
      public emu.grasscutter.net.proto.WeatherOuterClass.WeatherOrBuilder getWeatherOrBuilder() {
        if (contentCase_ == 17) {
           return (emu.grasscutter.net.proto.WeatherOuterClass.Weather) content_;
        }
        return emu.grasscutter.net.proto.WeatherOuterClass.Weather.getDefaultInstance();
      }
  
      public static final int ABILITY_GADGET_FIELD_NUMBER = 18;
      /**
       * <code>.AbilityGadgetInfo ability_gadget = 18;</code>
       * @return Whether the abilityGadget field is set.
       */
      @java.lang.Override
      public boolean hasAbilityGadget() {
        return contentCase_ == 18;
      }
      /**
       * <code>.AbilityGadgetInfo ability_gadget = 18;</code>
       * @return The abilityGadget.
       */
      @java.lang.Override
      public emu.grasscutter.net.proto.AbilityGadgetInfoOuterClass.AbilityGadgetInfo getAbilityGadget() {
        if (contentCase_ == 18) {
           return (emu.grasscutter.net.proto.AbilityGadgetInfoOuterClass.AbilityGadgetInfo) content_;
        }
        return emu.grasscutter.net.proto.AbilityGadgetInfoOuterClass.AbilityGadgetInfo.getDefaultInstance();
      }
      /**
       * <code>.AbilityGadgetInfo ability_gadget = 18;</code>
       */
      @java.lang.Override
      public emu.grasscutter.net.proto.AbilityGadgetInfoOuterClass.AbilityGadgetInfoOrBuilder getAbilityGadgetOrBuilder() {
        if (contentCase_ == 18) {
           return (emu.grasscutter.net.proto.AbilityGadgetInfoOuterClass.AbilityGadgetInfo) content_;
        }
        return emu.grasscutter.net.proto.AbilityGadgetInfoOuterClass.AbilityGadgetInfo.getDefaultInstance();
      }
  
      public static final int STATUE_GADGET_FIELD_NUMBER = 19;
      /**
       * <code>.StatueGadget statue_gadget = 19;</code>
       * @return Whether the statueGadget field is set.
       */
      @java.lang.Override
      public boolean hasStatueGadget() {
        return contentCase_ == 19;
      }
      /**
       * <code>.StatueGadget statue_gadget = 19;</code>
       * @return The statueGadget.
       */
      @java.lang.Override
      public emu.grasscutter.net.proto.StatueGadgetOuterClass.StatueGadget getStatueGadget() {
        if (contentCase_ == 19) {
           return (emu.grasscutter.net.proto.StatueGadgetOuterClass.StatueGadget) content_;
        }
        return emu.grasscutter.net.proto.StatueGadgetOuterClass.StatueGadget.getDefaultInstance();
      }
      /**
       * <code>.StatueGadget statue_gadget = 19;</code>
       */
      @java.lang.Override
      public emu.grasscutter.net.proto.StatueGadgetOuterClass.StatueGadgetOrBuilder getStatueGadgetOrBuilder() {
        if (contentCase_ == 19) {
           return (emu.grasscutter.net.proto.StatueGadgetOuterClass.StatueGadget) content_;
        }
        return emu.grasscutter.net.proto.StatueGadgetOuterClass.StatueGadget.getDefaultInstance();
      }
  
      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 emu.grasscutter.net.proto.BossChestInfoOuterClass.BossChestInfo getBossChest() {
        if (contentCase_ == 20) {
           return (emu.grasscutter.net.proto.BossChestInfoOuterClass.BossChestInfo) content_;
        }
        return emu.grasscutter.net.proto.BossChestInfoOuterClass.BossChestInfo.getDefaultInstance();
      }
      /**
       * <code>.BossChestInfo boss_chest = 20;</code>
       */
      @java.lang.Override
      public emu.grasscutter.net.proto.BossChestInfoOuterClass.BossChestInfoOrBuilder getBossChestOrBuilder() {
        if (contentCase_ == 20) {
           return (emu.grasscutter.net.proto.BossChestInfoOuterClass.BossChestInfo) content_;
        }
        return emu.grasscutter.net.proto.BossChestInfoOuterClass.BossChestInfo.getDefaultInstance();
      }
  
      public static final int BLOSSOM_CHEST_FIELD_NUMBER = 41;
      /**
       * <code>.BlossomChest blossom_chest = 41;</code>
       * @return Whether the blossomChest field is set.
       */
      @java.lang.Override
      public boolean hasBlossomChest() {
        return contentCase_ == 41;
      }
      /**
       * <code>.BlossomChest blossom_chest = 41;</code>
       * @return The blossomChest.
       */
      @java.lang.Override
      public emu.grasscutter.net.proto.BlossomChestOuterClass.BlossomChest getBlossomChest() {
        if (contentCase_ == 41) {
           return (emu.grasscutter.net.proto.BlossomChestOuterClass.BlossomChest) content_;
        }
        return emu.grasscutter.net.proto.BlossomChestOuterClass.BlossomChest.getDefaultInstance();
      }
      /**
       * <code>.BlossomChest blossom_chest = 41;</code>
       */
      @java.lang.Override
      public emu.grasscutter.net.proto.BlossomChestOuterClass.BlossomChestOrBuilder getBlossomChestOrBuilder() {
        if (contentCase_ == 41) {
           return (emu.grasscutter.net.proto.BlossomChestOuterClass.BlossomChest) content_;
        }
        return emu.grasscutter.net.proto.BlossomChestOuterClass.BlossomChest.getDefaultInstance();
      }
  
      public static final int MP_PLAY_REWARD_FIELD_NUMBER = 42;
      /**
       * <code>.MpPlayReward mp_play_reward = 42;</code>
       * @return Whether the mpPlayReward field is set.
       */
      @java.lang.Override
      public boolean hasMpPlayReward() {
        return contentCase_ == 42;
      }
      /**
       * <code>.MpPlayReward mp_play_reward = 42;</code>
       * @return The mpPlayReward.
       */
      @java.lang.Override
      public emu.grasscutter.net.proto.MpPlayRewardOuterClass.MpPlayReward getMpPlayReward() {
        if (contentCase_ == 42) {
           return (emu.grasscutter.net.proto.MpPlayRewardOuterClass.MpPlayReward) content_;
        }
        return emu.grasscutter.net.proto.MpPlayRewardOuterClass.MpPlayReward.getDefaultInstance();
      }
      /**
       * <code>.MpPlayReward mp_play_reward = 42;</code>
       */
      @java.lang.Override
      public emu.grasscutter.net.proto.MpPlayRewardOuterClass.MpPlayRewardOrBuilder getMpPlayRewardOrBuilder() {
        if (contentCase_ == 42) {
           return (emu.grasscutter.net.proto.MpPlayRewardOuterClass.MpPlayReward) content_;
        }
        return emu.grasscutter.net.proto.MpPlayRewardOuterClass.MpPlayReward.getDefaultInstance();
      }
  
      public static final int GENERAL_REWARD_FIELD_NUMBER = 43;
      /**
       * <code>.GeneralReward general_reward = 43;</code>
       * @return Whether the generalReward field is set.
       */
      @java.lang.Override
      public boolean hasGeneralReward() {
        return contentCase_ == 43;
      }
      /**
       * <code>.GeneralReward general_reward = 43;</code>
       * @return The generalReward.
       */
      @java.lang.Override
      public emu.grasscutter.net.proto.GeneralRewardOuterClass.GeneralReward getGeneralReward() {
        if (contentCase_ == 43) {
           return (emu.grasscutter.net.proto.GeneralRewardOuterClass.GeneralReward) content_;
        }
        return emu.grasscutter.net.proto.GeneralRewardOuterClass.GeneralReward.getDefaultInstance();
      }
      /**
       * <code>.GeneralReward general_reward = 43;</code>
       */
      @java.lang.Override
      public emu.grasscutter.net.proto.GeneralRewardOuterClass.GeneralRewardOrBuilder getGeneralRewardOrBuilder() {
        if (contentCase_ == 43) {
           return (emu.grasscutter.net.proto.GeneralRewardOuterClass.GeneralReward) content_;
        }
        return emu.grasscutter.net.proto.GeneralRewardOuterClass.GeneralReward.getDefaultInstance();
      }
  
      public static final int OFFERING_INFO_FIELD_NUMBER = 44;
      /**
       * <code>.OfferingInfo offering_info = 44;</code>
       * @return Whether the offeringInfo field is set.
       */
      @java.lang.Override
      public boolean hasOfferingInfo() {
        return contentCase_ == 44;
      }
      /**
       * <code>.OfferingInfo offering_info = 44;</code>
       * @return The offeringInfo.
       */
      @java.lang.Override
      public emu.grasscutter.net.proto.OfferingInfoOuterClass.OfferingInfo getOfferingInfo() {
        if (contentCase_ == 44) {
           return (emu.grasscutter.net.proto.OfferingInfoOuterClass.OfferingInfo) content_;
        }
        return emu.grasscutter.net.proto.OfferingInfoOuterClass.OfferingInfo.getDefaultInstance();
      }
      /**
       * <code>.OfferingInfo offering_info = 44;</code>
       */
      @java.lang.Override
      public emu.grasscutter.net.proto.OfferingInfoOuterClass.OfferingInfoOrBuilder getOfferingInfoOrBuilder() {
        if (contentCase_ == 44) {
           return (emu.grasscutter.net.proto.OfferingInfoOuterClass.OfferingInfo) content_;
        }
        return emu.grasscutter.net.proto.OfferingInfoOuterClass.OfferingInfo.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 emu.grasscutter.net.proto.FoundationInfoOuterClass.FoundationInfo getFoundationInfo() {
        if (contentCase_ == 45) {
           return (emu.grasscutter.net.proto.FoundationInfoOuterClass.FoundationInfo) content_;
        }
        return emu.grasscutter.net.proto.FoundationInfoOuterClass.FoundationInfo.getDefaultInstance();
      }
      /**
       * <code>.FoundationInfo foundation_info = 45;</code>
       */
      @java.lang.Override
      public emu.grasscutter.net.proto.FoundationInfoOuterClass.FoundationInfoOrBuilder getFoundationInfoOrBuilder() {
        if (contentCase_ == 45) {
           return (emu.grasscutter.net.proto.FoundationInfoOuterClass.FoundationInfo) content_;
        }
        return emu.grasscutter.net.proto.FoundationInfoOuterClass.FoundationInfo.getDefaultInstance();
      }
  
      public static final int VEHICLE_INFO_FIELD_NUMBER = 46;
      /**
       * <code>.VehicleInfo vehicle_info = 46;</code>
       * @return Whether the vehicleInfo field is set.
       */
      @java.lang.Override
      public boolean hasVehicleInfo() {
        return contentCase_ == 46;
      }
      /**
       * <code>.VehicleInfo vehicle_info = 46;</code>
       * @return The vehicleInfo.
       */
      @java.lang.Override
      public emu.grasscutter.net.proto.VehicleInfoOuterClass.VehicleInfo getVehicleInfo() {
        if (contentCase_ == 46) {
           return (emu.grasscutter.net.proto.VehicleInfoOuterClass.VehicleInfo) content_;
        }
        return emu.grasscutter.net.proto.VehicleInfoOuterClass.VehicleInfo.getDefaultInstance();
      }
      /**
       * <code>.VehicleInfo vehicle_info = 46;</code>
       */
      @java.lang.Override
      public emu.grasscutter.net.proto.VehicleInfoOuterClass.VehicleInfoOrBuilder getVehicleInfoOrBuilder() {
        if (contentCase_ == 46) {
           return (emu.grasscutter.net.proto.VehicleInfoOuterClass.VehicleInfo) content_;
        }
        return emu.grasscutter.net.proto.VehicleInfoOuterClass.VehicleInfo.getDefaultInstance();
      }
  
      public static final int SHELL_INFO_FIELD_NUMBER = 47;
      /**
       * <code>.ShellInfo shell_info = 47;</code>
       * @return Whether the shellInfo field is set.
       */
      @java.lang.Override
      public boolean hasShellInfo() {
        return contentCase_ == 47;
      }
      /**
       * <code>.ShellInfo shell_info = 47;</code>
       * @return The shellInfo.
       */
      @java.lang.Override
      public emu.grasscutter.net.proto.ShellInfoOuterClass.ShellInfo getShellInfo() {
        if (contentCase_ == 47) {
           return (emu.grasscutter.net.proto.ShellInfoOuterClass.ShellInfo) content_;
        }
        return emu.grasscutter.net.proto.ShellInfoOuterClass.ShellInfo.getDefaultInstance();
      }
      /**
       * <code>.ShellInfo shell_info = 47;</code>
       */
      @java.lang.Override
      public emu.grasscutter.net.proto.ShellInfoOuterClass.ShellInfoOrBuilder getShellInfoOrBuilder() {
        if (contentCase_ == 47) {
           return (emu.grasscutter.net.proto.ShellInfoOuterClass.ShellInfo) content_;
        }
        return emu.grasscutter.net.proto.ShellInfoOuterClass.ShellInfo.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 emu.grasscutter.net.proto.ScreenInfoOuterClass.ScreenInfo getScreenInfo() {
        if (contentCase_ == 48) {
           return (emu.grasscutter.net.proto.ScreenInfoOuterClass.ScreenInfo) content_;
        }
        return emu.grasscutter.net.proto.ScreenInfoOuterClass.ScreenInfo.getDefaultInstance();
      }
      /**
       * <code>.ScreenInfo screen_info = 48;</code>
       */
      @java.lang.Override
      public emu.grasscutter.net.proto.ScreenInfoOuterClass.ScreenInfoOrBuilder getScreenInfoOrBuilder() {
        if (contentCase_ == 48) {
           return (emu.grasscutter.net.proto.ScreenInfoOuterClass.ScreenInfo) content_;
        }
        return emu.grasscutter.net.proto.ScreenInfoOuterClass.ScreenInfo.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 emu.grasscutter.net.proto.FishPoolInfoOuterClass.FishPoolInfo getFishPoolInfo() {
        if (contentCase_ == 59) {
           return (emu.grasscutter.net.proto.FishPoolInfoOuterClass.FishPoolInfo) content_;
        }
        return emu.grasscutter.net.proto.FishPoolInfoOuterClass.FishPoolInfo.getDefaultInstance();
      }
      /**
       * <code>.FishPoolInfo fish_pool_info = 59;</code>
       */
      @java.lang.Override
      public emu.grasscutter.net.proto.FishPoolInfoOuterClass.FishPoolInfoOrBuilder getFishPoolInfoOrBuilder() {
        if (contentCase_ == 59) {
           return (emu.grasscutter.net.proto.FishPoolInfoOuterClass.FishPoolInfo) content_;
        }
        return emu.grasscutter.net.proto.FishPoolInfoOuterClass.FishPoolInfo.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 emu.grasscutter.net.proto.CustomGadgetTreeInfoOuterClass.CustomGadgetTreeInfo getCustomGadgetTreeInfo() {
        if (contentCase_ == 60) {
           return (emu.grasscutter.net.proto.CustomGadgetTreeInfoOuterClass.CustomGadgetTreeInfo) content_;
        }
        return emu.grasscutter.net.proto.CustomGadgetTreeInfoOuterClass.CustomGadgetTreeInfo.getDefaultInstance();
      }
      /**
       * <code>.CustomGadgetTreeInfo custom_gadget_tree_info = 60;</code>
       */
      @java.lang.Override
      public emu.grasscutter.net.proto.CustomGadgetTreeInfoOuterClass.CustomGadgetTreeInfoOrBuilder getCustomGadgetTreeInfoOrBuilder() {
        if (contentCase_ == 60) {
           return (emu.grasscutter.net.proto.CustomGadgetTreeInfoOuterClass.CustomGadgetTreeInfo) content_;
        }
        return emu.grasscutter.net.proto.CustomGadgetTreeInfoOuterClass.CustomGadgetTreeInfo.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 emu.grasscutter.net.proto.RoguelikeGadgetInfoOuterClass.RoguelikeGadgetInfo getRoguelikeGadgetInfo() {
        if (contentCase_ == 61) {
           return (emu.grasscutter.net.proto.RoguelikeGadgetInfoOuterClass.RoguelikeGadgetInfo) content_;
        }
        return emu.grasscutter.net.proto.RoguelikeGadgetInfoOuterClass.RoguelikeGadgetInfo.getDefaultInstance();
      }
      /**
       * <code>.RoguelikeGadgetInfo roguelike_gadget_info = 61;</code>
       */
      @java.lang.Override
      public emu.grasscutter.net.proto.RoguelikeGadgetInfoOuterClass.RoguelikeGadgetInfoOrBuilder getRoguelikeGadgetInfoOrBuilder() {
        if (contentCase_ == 61) {
           return (emu.grasscutter.net.proto.RoguelikeGadgetInfoOuterClass.RoguelikeGadgetInfo) content_;
        }
        return emu.grasscutter.net.proto.RoguelikeGadgetInfoOuterClass.RoguelikeGadgetInfo.getDefaultInstance();
      }
  
      public static final int NIGHT_CROW_GADGET_INFO_FIELD_NUMBER = 62;
      /**
       * <code>.NightCrowGadgetInfo night_crow_gadget_info = 62;</code>
       * @return Whether the nightCrowGadgetInfo field is set.
       */
      @java.lang.Override
      public boolean hasNightCrowGadgetInfo() {
        return contentCase_ == 62;
      }
      /**
       * <code>.NightCrowGadgetInfo night_crow_gadget_info = 62;</code>
       * @return The nightCrowGadgetInfo.
       */
      @java.lang.Override
      public emu.grasscutter.net.proto.NightCrowGadgetInfoOuterClass.NightCrowGadgetInfo getNightCrowGadgetInfo() {
        if (contentCase_ == 62) {
           return (emu.grasscutter.net.proto.NightCrowGadgetInfoOuterClass.NightCrowGadgetInfo) content_;
        }
        return emu.grasscutter.net.proto.NightCrowGadgetInfoOuterClass.NightCrowGadgetInfo.getDefaultInstance();
      }
      /**
       * <code>.NightCrowGadgetInfo night_crow_gadget_info = 62;</code>
       */
      @java.lang.Override
      public emu.grasscutter.net.proto.NightCrowGadgetInfoOuterClass.NightCrowGadgetInfoOrBuilder getNightCrowGadgetInfoOrBuilder() {
        if (contentCase_ == 62) {
           return (emu.grasscutter.net.proto.NightCrowGadgetInfoOuterClass.NightCrowGadgetInfo) content_;
        }
        return emu.grasscutter.net.proto.NightCrowGadgetInfoOuterClass.NightCrowGadgetInfo.getDefaultInstance();
      }
  
      public static final int DESHRET_OBELISK_GADGET_INFO_FIELD_NUMBER = 63;
      /**
       * <code>.DeshretObeliskGadgetInfo deshret_obelisk_gadget_info = 63;</code>
       * @return Whether the deshretObeliskGadgetInfo field is set.
       */
      @java.lang.Override
      public boolean hasDeshretObeliskGadgetInfo() {
        return contentCase_ == 63;
      }
      /**
       * <code>.DeshretObeliskGadgetInfo deshret_obelisk_gadget_info = 63;</code>
       * @return The deshretObeliskGadgetInfo.
       */
      @java.lang.Override
      public emu.grasscutter.net.proto.DeshretObeliskGadgetInfoOuterClass.DeshretObeliskGadgetInfo getDeshretObeliskGadgetInfo() {
        if (contentCase_ == 63) {
           return (emu.grasscutter.net.proto.DeshretObeliskGadgetInfoOuterClass.DeshretObeliskGadgetInfo) content_;
        }
        return emu.grasscutter.net.proto.DeshretObeliskGadgetInfoOuterClass.DeshretObeliskGadgetInfo.getDefaultInstance();
      }
      /**
       * <code>.DeshretObeliskGadgetInfo deshret_obelisk_gadget_info = 63;</code>
       */
      @java.lang.Override
      public emu.grasscutter.net.proto.DeshretObeliskGadgetInfoOuterClass.DeshretObeliskGadgetInfoOrBuilder getDeshretObeliskGadgetInfoOrBuilder() {
        if (contentCase_ == 63) {
           return (emu.grasscutter.net.proto.DeshretObeliskGadgetInfoOuterClass.DeshretObeliskGadgetInfo) content_;
        }
        return emu.grasscutter.net.proto.DeshretObeliskGadgetInfoOuterClass.DeshretObeliskGadgetInfo.getDefaultInstance();
      }
  
      public static final int COIN_COLLECT_OPERATOR_INFO_FIELD_NUMBER = 64;
      /**
       * <code>.CoinCollectOperatorInfo coin_collect_operator_info = 64;</code>
       * @return Whether the coinCollectOperatorInfo field is set.
       */
      @java.lang.Override
      public boolean hasCoinCollectOperatorInfo() {
        return contentCase_ == 64;
      }
      /**
       * <code>.CoinCollectOperatorInfo coin_collect_operator_info = 64;</code>
       * @return The coinCollectOperatorInfo.
       */
      @java.lang.Override
      public emu.grasscutter.net.proto.CoinCollectOperatorInfoOuterClass.CoinCollectOperatorInfo getCoinCollectOperatorInfo() {
        if (contentCase_ == 64) {
           return (emu.grasscutter.net.proto.CoinCollectOperatorInfoOuterClass.CoinCollectOperatorInfo) content_;
        }
        return emu.grasscutter.net.proto.CoinCollectOperatorInfoOuterClass.CoinCollectOperatorInfo.getDefaultInstance();
      }
      /**
       * <code>.CoinCollectOperatorInfo coin_collect_operator_info = 64;</code>
       */
      @java.lang.Override
      public emu.grasscutter.net.proto.CoinCollectOperatorInfoOuterClass.CoinCollectOperatorInfoOrBuilder getCoinCollectOperatorInfoOrBuilder() {
        if (contentCase_ == 64) {
           return (emu.grasscutter.net.proto.CoinCollectOperatorInfoOuterClass.CoinCollectOperatorInfo) content_;
        }
        return emu.grasscutter.net.proto.CoinCollectOperatorInfoOuterClass.CoinCollectOperatorInfo.getDefaultInstance();
      }
  
      public static final int MARKFLAG_FIELD_NUMBER = 21;
      private int markFlag_;
      /**
       * <code>uint32 markFlag = 21;</code>
       * @return The markFlag.
       */
      @java.lang.Override
      public int getMarkFlag() {
        return markFlag_;
      }
  
      public static final int PROPOWNERENTITYID_FIELD_NUMBER = 22;
      private int propOwnerEntityId_;
      /**
       * <code>uint32 propOwnerEntityId = 22;</code>
       * @return The propOwnerEntityId.
       */
      @java.lang.Override
      public int getPropOwnerEntityId() {
        return propOwnerEntityId_;
      }
  
      public static final int PLATFORM_FIELD_NUMBER = 23;
      private emu.grasscutter.net.proto.PlatformInfoOuterClass.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 emu.grasscutter.net.proto.PlatformInfoOuterClass.PlatformInfo getPlatform() {
        return platform_ == null ? emu.grasscutter.net.proto.PlatformInfoOuterClass.PlatformInfo.getDefaultInstance() : platform_;
      }
      /**
       * <code>.PlatformInfo platform = 23;</code>
       */
      @java.lang.Override
      public emu.grasscutter.net.proto.PlatformInfoOuterClass.PlatformInfoOrBuilder getPlatformOrBuilder() {
        return getPlatform();
      }
  
      public static final int INTERACTUIDLIST_FIELD_NUMBER = 24;
      private com.google.protobuf.Internal.IntList interactUidList_;
      /**
       * <code>repeated uint32 interactUidList = 24;</code>
       * @return A list containing the interactUidList.
       */
      @java.lang.Override
      public java.util.List<java.lang.Integer>
          getInteractUidListList() {
        return interactUidList_;
      }
      /**
       * <code>repeated uint32 interactUidList = 24;</code>
       * @return The count of interactUidList.
       */
      public int getInteractUidListCount() {
        return interactUidList_.size();
      }
      /**
       * <code>repeated uint32 interactUidList = 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 DRAFTID_FIELD_NUMBER = 25;
      private int draftId_;
      /**
       * <code>uint32 draftId = 25;</code>
       * @return The draftId.
       */
      @java.lang.Override
      public int getDraftId() {
        return draftId_;
      }
  
      public static final int GADGETTALKSTATE_FIELD_NUMBER = 26;
      private int gadgetTalkState_;
      /**
       * <code>uint32 gadgetTalkState = 26;</code>
       * @return The gadgetTalkState.
       */
      @java.lang.Override
      public int getGadgetTalkState() {
        return gadgetTalkState_;
      }
  
      public static final int PLAYINFO_FIELD_NUMBER = 100;
      private emu.grasscutter.net.proto.GadgetPlayInfoOuterClass.GadgetPlayInfo playInfo_;
      /**
       * <code>.GadgetPlayInfo playInfo = 100;</code>
       * @return Whether the playInfo field is set.
       */
      @java.lang.Override
      public boolean hasPlayInfo() {
        return playInfo_ != null;
      }
      /**
       * <code>.GadgetPlayInfo playInfo = 100;</code>
       * @return The playInfo.
       */
      @java.lang.Override
      public emu.grasscutter.net.proto.GadgetPlayInfoOuterClass.GadgetPlayInfo getPlayInfo() {
        return playInfo_ == null ? emu.grasscutter.net.proto.GadgetPlayInfoOuterClass.GadgetPlayInfo.getDefaultInstance() : playInfo_;
      }
      /**
       * <code>.GadgetPlayInfo playInfo = 100;</code>
       */
      @java.lang.Override
      public emu.grasscutter.net.proto.GadgetPlayInfoOuterClass.GadgetPlayInfoOrBuilder getPlayInfoOrBuilder() {
        return getPlayInfo();
      }
  
      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_ != emu.grasscutter.net.proto.GadgetBornTypeOuterClass.GadgetBornType.GADGET_BORN_TYPE_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_ == 12) {
          output.writeMessage(12, (emu.grasscutter.net.proto.ItemOuterClass.Item) content_);
        }
        if (contentCase_ == 13) {
          output.writeMessage(13, (emu.grasscutter.net.proto.GatherGadgetInfoOuterClass.GatherGadgetInfo) content_);
        }
        if (contentCase_ == 14) {
          output.writeMessage(14, (emu.grasscutter.net.proto.WorktopInfoOuterClass.WorktopInfo) content_);
        }
        if (contentCase_ == 15) {
          output.writeMessage(15, (emu.grasscutter.net.proto.ClientGadgetInfoOuterClass.ClientGadgetInfo) content_);
        }
        if (contentCase_ == 17) {
          output.writeMessage(17, (emu.grasscutter.net.proto.WeatherOuterClass.Weather) content_);
        }
        if (contentCase_ == 18) {
          output.writeMessage(18, (emu.grasscutter.net.proto.AbilityGadgetInfoOuterClass.AbilityGadgetInfo) content_);
        }
        if (contentCase_ == 19) {
          output.writeMessage(19, (emu.grasscutter.net.proto.StatueGadgetOuterClass.StatueGadget) content_);
        }
        if (contentCase_ == 20) {
          output.writeMessage(20, (emu.grasscutter.net.proto.BossChestInfoOuterClass.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 (contentCase_ == 41) {
          output.writeMessage(41, (emu.grasscutter.net.proto.BlossomChestOuterClass.BlossomChest) content_);
        }
        if (contentCase_ == 42) {
          output.writeMessage(42, (emu.grasscutter.net.proto.MpPlayRewardOuterClass.MpPlayReward) content_);
        }
        if (contentCase_ == 43) {
          output.writeMessage(43, (emu.grasscutter.net.proto.GeneralRewardOuterClass.GeneralReward) content_);
        }
        if (contentCase_ == 44) {
          output.writeMessage(44, (emu.grasscutter.net.proto.OfferingInfoOuterClass.OfferingInfo) content_);
        }
        if (contentCase_ == 45) {
          output.writeMessage(45, (emu.grasscutter.net.proto.FoundationInfoOuterClass.FoundationInfo) content_);
        }
        if (contentCase_ == 46) {
          output.writeMessage(46, (emu.grasscutter.net.proto.VehicleInfoOuterClass.VehicleInfo) content_);
        }
        if (contentCase_ == 47) {
          output.writeMessage(47, (emu.grasscutter.net.proto.ShellInfoOuterClass.ShellInfo) content_);
        }
        if (contentCase_ == 48) {
          output.writeMessage(48, (emu.grasscutter.net.proto.ScreenInfoOuterClass.ScreenInfo) content_);
        }
        if (contentCase_ == 59) {
          output.writeMessage(59, (emu.grasscutter.net.proto.FishPoolInfoOuterClass.FishPoolInfo) content_);
        }
        if (contentCase_ == 60) {
          output.writeMessage(60, (emu.grasscutter.net.proto.CustomGadgetTreeInfoOuterClass.CustomGadgetTreeInfo) content_);
        }
        if (contentCase_ == 61) {
          output.writeMessage(61, (emu.grasscutter.net.proto.RoguelikeGadgetInfoOuterClass.RoguelikeGadgetInfo) content_);
        }
        if (contentCase_ == 62) {
          output.writeMessage(62, (emu.grasscutter.net.proto.NightCrowGadgetInfoOuterClass.NightCrowGadgetInfo) content_);
        }
        if (contentCase_ == 63) {
          output.writeMessage(63, (emu.grasscutter.net.proto.DeshretObeliskGadgetInfoOuterClass.DeshretObeliskGadgetInfo) content_);
        }
        if (contentCase_ == 64) {
          output.writeMessage(64, (emu.grasscutter.net.proto.CoinCollectOperatorInfoOuterClass.CoinCollectOperatorInfo) content_);
        }
        if (playInfo_ != null) {
          output.writeMessage(100, getPlayInfo());
        }
        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_ != emu.grasscutter.net.proto.GadgetBornTypeOuterClass.GadgetBornType.GADGET_BORN_TYPE_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_ == 12) {
          size += com.google.protobuf.CodedOutputStream
            .computeMessageSize(12, (emu.grasscutter.net.proto.ItemOuterClass.Item) content_);
        }
        if (contentCase_ == 13) {
          size += com.google.protobuf.CodedOutputStream
            .computeMessageSize(13, (emu.grasscutter.net.proto.GatherGadgetInfoOuterClass.GatherGadgetInfo) content_);
        }
        if (contentCase_ == 14) {
          size += com.google.protobuf.CodedOutputStream
            .computeMessageSize(14, (emu.grasscutter.net.proto.WorktopInfoOuterClass.WorktopInfo) content_);
        }
        if (contentCase_ == 15) {
          size += com.google.protobuf.CodedOutputStream
            .computeMessageSize(15, (emu.grasscutter.net.proto.ClientGadgetInfoOuterClass.ClientGadgetInfo) content_);
        }
        if (contentCase_ == 17) {
          size += com.google.protobuf.CodedOutputStream
            .computeMessageSize(17, (emu.grasscutter.net.proto.WeatherOuterClass.Weather) content_);
        }
        if (contentCase_ == 18) {
          size += com.google.protobuf.CodedOutputStream
            .computeMessageSize(18, (emu.grasscutter.net.proto.AbilityGadgetInfoOuterClass.AbilityGadgetInfo) content_);
        }
        if (contentCase_ == 19) {
          size += com.google.protobuf.CodedOutputStream
            .computeMessageSize(19, (emu.grasscutter.net.proto.StatueGadgetOuterClass.StatueGadget) content_);
        }
        if (contentCase_ == 20) {
          size += com.google.protobuf.CodedOutputStream
            .computeMessageSize(20, (emu.grasscutter.net.proto.BossChestInfoOuterClass.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 (contentCase_ == 41) {
          size += com.google.protobuf.CodedOutputStream
            .computeMessageSize(41, (emu.grasscutter.net.proto.BlossomChestOuterClass.BlossomChest) content_);
        }
        if (contentCase_ == 42) {
          size += com.google.protobuf.CodedOutputStream
            .computeMessageSize(42, (emu.grasscutter.net.proto.MpPlayRewardOuterClass.MpPlayReward) content_);
        }
        if (contentCase_ == 43) {
          size += com.google.protobuf.CodedOutputStream
            .computeMessageSize(43, (emu.grasscutter.net.proto.GeneralRewardOuterClass.GeneralReward) content_);
        }
        if (contentCase_ == 44) {
          size += com.google.protobuf.CodedOutputStream
            .computeMessageSize(44, (emu.grasscutter.net.proto.OfferingInfoOuterClass.OfferingInfo) content_);
        }
        if (contentCase_ == 45) {
          size += com.google.protobuf.CodedOutputStream
            .computeMessageSize(45, (emu.grasscutter.net.proto.FoundationInfoOuterClass.FoundationInfo) content_);
        }
        if (contentCase_ == 46) {
          size += com.google.protobuf.CodedOutputStream
            .computeMessageSize(46, (emu.grasscutter.net.proto.VehicleInfoOuterClass.VehicleInfo) content_);
        }
        if (contentCase_ == 47) {
          size += com.google.protobuf.CodedOutputStream
            .computeMessageSize(47, (emu.grasscutter.net.proto.ShellInfoOuterClass.ShellInfo) content_);
        }
        if (contentCase_ == 48) {
          size += com.google.protobuf.CodedOutputStream
            .computeMessageSize(48, (emu.grasscutter.net.proto.ScreenInfoOuterClass.ScreenInfo) content_);
        }
        if (contentCase_ == 59) {
          size += com.google.protobuf.CodedOutputStream
            .computeMessageSize(59, (emu.grasscutter.net.proto.FishPoolInfoOuterClass.FishPoolInfo) content_);
        }
        if (contentCase_ == 60) {
          size += com.google.protobuf.CodedOutputStream
            .computeMessageSize(60, (emu.grasscutter.net.proto.CustomGadgetTreeInfoOuterClass.CustomGadgetTreeInfo) content_);
        }
        if (contentCase_ == 61) {
          size += com.google.protobuf.CodedOutputStream
            .computeMessageSize(61, (emu.grasscutter.net.proto.RoguelikeGadgetInfoOuterClass.RoguelikeGadgetInfo) content_);
        }
        if (contentCase_ == 62) {
          size += com.google.protobuf.CodedOutputStream
            .computeMessageSize(62, (emu.grasscutter.net.proto.NightCrowGadgetInfoOuterClass.NightCrowGadgetInfo) content_);
        }
        if (contentCase_ == 63) {
          size += com.google.protobuf.CodedOutputStream
            .computeMessageSize(63, (emu.grasscutter.net.proto.DeshretObeliskGadgetInfoOuterClass.DeshretObeliskGadgetInfo) content_);
        }
        if (contentCase_ == 64) {
          size += com.google.protobuf.CodedOutputStream
            .computeMessageSize(64, (emu.grasscutter.net.proto.CoinCollectOperatorInfoOuterClass.CoinCollectOperatorInfo) content_);
        }
        if (playInfo_ != null) {
          size += com.google.protobuf.CodedOutputStream
            .computeMessageSize(100, getPlayInfo());
        }
        size += unknownFields.getSerializedSize();
        memoizedSize = size;
        return size;
      }
  
      @java.lang.Override
      public boolean equals(final java.lang.Object obj) {
        if (obj == this) {
         return true;
        }
        if (!(obj instanceof emu.grasscutter.net.proto.SceneGadgetInfoOuterClass.SceneGadgetInfo)) {
          return super.equals(obj);
        }
        emu.grasscutter.net.proto.SceneGadgetInfoOuterClass.SceneGadgetInfo other = (emu.grasscutter.net.proto.SceneGadgetInfoOuterClass.SceneGadgetInfo) obj;
  
        if (getGadgetId()
            != other.getGadgetId()) return false;
        if (getGroupId()
            != other.getGroupId()) return false;
        if (getConfigId()
            != other.getConfigId()) return false;
        if (getOwnerEntityId()
            != other.getOwnerEntityId()) return false;
        if (bornType_ != other.bornType_) return false;
        if (getGadgetState()
            != other.getGadgetState()) return false;
        if (getGadgetType()
            != other.getGadgetType()) return false;
        if (getIsShowCutscene()
            != other.getIsShowCutscene()) return false;
        if (getAuthorityPeerId()
            != other.getAuthorityPeerId()) return false;
        if (getIsEnableInteract()
            != other.getIsEnableInteract()) return false;
        if (getInteractId()
            != other.getInteractId()) return false;
        if (getMarkFlag()
            != other.getMarkFlag()) return false;
        if (getPropOwnerEntityId()
            != other.getPropOwnerEntityId()) return false;
        if (hasPlatform() != other.hasPlatform()) return false;
        if (hasPlatform()) {
          if (!getPlatform()
              .equals(other.getPlatform())) return false;
        }
        if (!getInteractUidListList()
            .equals(other.getInteractUidListList())) return false;
        if (getDraftId()
            != other.getDraftId()) return false;
        if (getGadgetTalkState()
            != other.getGadgetTalkState()) return false;
        if (hasPlayInfo() != other.hasPlayInfo()) return false;
        if (hasPlayInfo()) {
          if (!getPlayInfo()
              .equals(other.getPlayInfo())) return false;
        }
        if (!getContentCase().equals(other.getContentCase())) return false;
        switch (contentCase_) {
          case 12:
            if (!getTrifleItem()
                .equals(other.getTrifleItem())) return false;
            break;
          case 13:
            if (!getGatherGadget()
                .equals(other.getGatherGadget())) return false;
            break;
          case 14:
            if (!getWorktop()
                .equals(other.getWorktop())) return false;
            break;
          case 15:
            if (!getClientGadget()
                .equals(other.getClientGadget())) return false;
            break;
          case 17:
            if (!getWeather()
                .equals(other.getWeather())) return false;
            break;
          case 18:
            if (!getAbilityGadget()
                .equals(other.getAbilityGadget())) return false;
            break;
          case 19:
            if (!getStatueGadget()
                .equals(other.getStatueGadget())) return false;
            break;
          case 20:
            if (!getBossChest()
                .equals(other.getBossChest())) return false;
            break;
          case 41:
            if (!getBlossomChest()
                .equals(other.getBlossomChest())) return false;
            break;
          case 42:
            if (!getMpPlayReward()
                .equals(other.getMpPlayReward())) return false;
            break;
          case 43:
            if (!getGeneralReward()
                .equals(other.getGeneralReward())) return false;
            break;
          case 44:
            if (!getOfferingInfo()
                .equals(other.getOfferingInfo())) return false;
            break;
          case 45:
            if (!getFoundationInfo()
                .equals(other.getFoundationInfo())) return false;
            break;
          case 46:
            if (!getVehicleInfo()
                .equals(other.getVehicleInfo())) return false;
            break;
          case 47:
            if (!getShellInfo()
                .equals(other.getShellInfo())) return false;
            break;
          case 48:
            if (!getScreenInfo()
                .equals(other.getScreenInfo())) return false;
            break;
          case 59:
            if (!getFishPoolInfo()
                .equals(other.getFishPoolInfo())) return false;
            break;
          case 60:
            if (!getCustomGadgetTreeInfo()
                .equals(other.getCustomGadgetTreeInfo())) return false;
            break;
          case 61:
            if (!getRoguelikeGadgetInfo()
                .equals(other.getRoguelikeGadgetInfo())) return false;
            break;
          case 62:
            if (!getNightCrowGadgetInfo()
                .equals(other.getNightCrowGadgetInfo())) return false;
            break;
          case 63:
            if (!getDeshretObeliskGadgetInfo()
                .equals(other.getDeshretObeliskGadgetInfo())) return false;
            break;
          case 64:
            if (!getCoinCollectOperatorInfo()
                .equals(other.getCoinCollectOperatorInfo())) return false;
            break;
          case 0:
          default:
        }
        if (!unknownFields.equals(other.unknownFields)) return false;
        return true;
      }
  
      @java.lang.Override
      public int hashCode() {
        if (memoizedHashCode != 0) {
          return memoizedHashCode;
        }
        int hash = 41;
        hash = (19 * hash) + getDescriptor().hashCode();
        hash = (37 * hash) + GADGETID_FIELD_NUMBER;
        hash = (53 * hash) + getGadgetId();
        hash = (37 * hash) + GROUPID_FIELD_NUMBER;
        hash = (53 * hash) + getGroupId();
        hash = (37 * hash) + CONFIGID_FIELD_NUMBER;
        hash = (53 * hash) + getConfigId();
        hash = (37 * hash) + OWNERENTITYID_FIELD_NUMBER;
        hash = (53 * hash) + getOwnerEntityId();
        hash = (37 * hash) + BORNTYPE_FIELD_NUMBER;
        hash = (53 * hash) + bornType_;
        hash = (37 * hash) + GADGETSTATE_FIELD_NUMBER;
        hash = (53 * hash) + getGadgetState();
        hash = (37 * hash) + GADGETTYPE_FIELD_NUMBER;
        hash = (53 * hash) + getGadgetType();
        hash = (37 * hash) + ISSHOWCUTSCENE_FIELD_NUMBER;
        hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
            getIsShowCutscene());
        hash = (37 * hash) + AUTHORITYPEERID_FIELD_NUMBER;
        hash = (53 * hash) + getAuthorityPeerId();
        hash = (37 * hash) + ISENABLEINTERACT_FIELD_NUMBER;
        hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
            getIsEnableInteract());
        hash = (37 * hash) + INTERACTID_FIELD_NUMBER;
        hash = (53 * hash) + getInteractId();
        hash = (37 * hash) + MARKFLAG_FIELD_NUMBER;
        hash = (53 * hash) + getMarkFlag();
        hash = (37 * hash) + PROPOWNERENTITYID_FIELD_NUMBER;
        hash = (53 * hash) + getPropOwnerEntityId();
        if (hasPlatform()) {
          hash = (37 * hash) + PLATFORM_FIELD_NUMBER;
          hash = (53 * hash) + getPlatform().hashCode();
        }
        if (getInteractUidListCount() > 0) {
          hash = (37 * hash) + INTERACTUIDLIST_FIELD_NUMBER;
          hash = (53 * hash) + getInteractUidListList().hashCode();
        }
        hash = (37 * hash) + DRAFTID_FIELD_NUMBER;
        hash = (53 * hash) + getDraftId();
        hash = (37 * hash) + GADGETTALKSTATE_FIELD_NUMBER;
        hash = (53 * hash) + getGadgetTalkState();
        if (hasPlayInfo()) {
          hash = (37 * hash) + PLAYINFO_FIELD_NUMBER;
          hash = (53 * hash) + getPlayInfo().hashCode();
        }
        switch (contentCase_) {
          case 12:
            hash = (37 * hash) + TRIFLE_ITEM_FIELD_NUMBER;
            hash = (53 * hash) + getTrifleItem().hashCode();
            break;
          case 13:
            hash = (37 * hash) + GATHER_GADGET_FIELD_NUMBER;
            hash = (53 * hash) + getGatherGadget().hashCode();
            break;
          case 14:
            hash = (37 * hash) + WORKTOP_FIELD_NUMBER;
            hash = (53 * hash) + getWorktop().hashCode();
            break;
          case 15:
            hash = (37 * hash) + CLIENT_GADGET_FIELD_NUMBER;
            hash = (53 * hash) + getClientGadget().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 19:
            hash = (37 * hash) + STATUE_GADGET_FIELD_NUMBER;
            hash = (53 * hash) + getStatueGadget().hashCode();
            break;
          case 20:
            hash = (37 * hash) + BOSS_CHEST_FIELD_NUMBER;
            hash = (53 * hash) + getBossChest().hashCode();
            break;
          case 41:
            hash = (37 * hash) + BLOSSOM_CHEST_FIELD_NUMBER;
            hash = (53 * hash) + getBlossomChest().hashCode();
            break;
          case 42:
            hash = (37 * hash) + MP_PLAY_REWARD_FIELD_NUMBER;
            hash = (53 * hash) + getMpPlayReward().hashCode();
            break;
          case 43:
            hash = (37 * hash) + GENERAL_REWARD_FIELD_NUMBER;
            hash = (53 * hash) + getGeneralReward().hashCode();
            break;
          case 44:
            hash = (37 * hash) + OFFERING_INFO_FIELD_NUMBER;
            hash = (53 * hash) + getOfferingInfo().hashCode();
            break;
          case 45:
            hash = (37 * hash) + FOUNDATION_INFO_FIELD_NUMBER;
            hash = (53 * hash) + getFoundationInfo().hashCode();
            break;
          case 46:
            hash = (37 * hash) + VEHICLE_INFO_FIELD_NUMBER;
            hash = (53 * hash) + getVehicleInfo().hashCode();
            break;
          case 47:
            hash = (37 * hash) + SHELL_INFO_FIELD_NUMBER;
            hash = (53 * hash) + getShellInfo().hashCode();
            break;
          case 48:
            hash = (37 * hash) + SCREEN_INFO_FIELD_NUMBER;
            hash = (53 * hash) + getScreenInfo().hashCode();
            break;
          case 59:
            hash = (37 * hash) + FISH_POOL_INFO_FIELD_NUMBER;
            hash = (53 * hash) + getFishPoolInfo().hashCode();
            break;
          case 60:
            hash = (37 * hash) + CUSTOM_GADGET_TREE_INFO_FIELD_NUMBER;
            hash = (53 * hash) + getCustomGadgetTreeInfo().hashCode();
            break;
          case 61:
            hash = (37 * hash) + ROGUELIKE_GADGET_INFO_FIELD_NUMBER;
            hash = (53 * hash) + getRoguelikeGadgetInfo().hashCode();
            break;
          case 62:
            hash = (37 * hash) + NIGHT_CROW_GADGET_INFO_FIELD_NUMBER;
            hash = (53 * hash) + getNightCrowGadgetInfo().hashCode();
            break;
          case 63:
            hash = (37 * hash) + DESHRET_OBELISK_GADGET_INFO_FIELD_NUMBER;
            hash = (53 * hash) + getDeshretObeliskGadgetInfo().hashCode();
            break;
          case 64:
            hash = (37 * hash) + COIN_COLLECT_OPERATOR_INFO_FIELD_NUMBER;
            hash = (53 * hash) + getCoinCollectOperatorInfo().hashCode();
            break;
          case 0:
          default:
        }
        hash = (29 * hash) + unknownFields.hashCode();
        memoizedHashCode = hash;
        return hash;
      }
  
      public static emu.grasscutter.net.proto.SceneGadgetInfoOuterClass.SceneGadgetInfo parseFrom(
          java.nio.ByteBuffer data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static emu.grasscutter.net.proto.SceneGadgetInfoOuterClass.SceneGadgetInfo parseFrom(
          java.nio.ByteBuffer data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static emu.grasscutter.net.proto.SceneGadgetInfoOuterClass.SceneGadgetInfo parseFrom(
          com.google.protobuf.ByteString data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static emu.grasscutter.net.proto.SceneGadgetInfoOuterClass.SceneGadgetInfo parseFrom(
          com.google.protobuf.ByteString data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static emu.grasscutter.net.proto.SceneGadgetInfoOuterClass.SceneGadgetInfo parseFrom(byte[] data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static emu.grasscutter.net.proto.SceneGadgetInfoOuterClass.SceneGadgetInfo parseFrom(
          byte[] data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static emu.grasscutter.net.proto.SceneGadgetInfoOuterClass.SceneGadgetInfo parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static emu.grasscutter.net.proto.SceneGadgetInfoOuterClass.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 emu.grasscutter.net.proto.SceneGadgetInfoOuterClass.SceneGadgetInfo parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseDelimitedWithIOException(PARSER, input);
      }
      public static emu.grasscutter.net.proto.SceneGadgetInfoOuterClass.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 emu.grasscutter.net.proto.SceneGadgetInfoOuterClass.SceneGadgetInfo parseFrom(
          com.google.protobuf.CodedInputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static emu.grasscutter.net.proto.SceneGadgetInfoOuterClass.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(emu.grasscutter.net.proto.SceneGadgetInfoOuterClass.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)
          emu.grasscutter.net.proto.SceneGadgetInfoOuterClass.SceneGadgetInfoOrBuilder {
        public static final com.google.protobuf.Descriptors.Descriptor
            getDescriptor() {
          return emu.grasscutter.net.proto.SceneGadgetInfoOuterClass.internal_static_SceneGadgetInfo_descriptor;
        }
  
        @java.lang.Override
        protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return emu.grasscutter.net.proto.SceneGadgetInfoOuterClass.internal_static_SceneGadgetInfo_fieldAccessorTable
              .ensureFieldAccessorsInitialized(
                  emu.grasscutter.net.proto.SceneGadgetInfoOuterClass.SceneGadgetInfo.class, emu.grasscutter.net.proto.SceneGadgetInfoOuterClass.SceneGadgetInfo.Builder.class);
        }
  
        // Construct using emu.grasscutter.net.proto.SceneGadgetInfoOuterClass.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();
          gadgetId_ = 0;
  
          groupId_ = 0;
  
          configId_ = 0;
  
          ownerEntityId_ = 0;
  
          bornType_ = 0;
  
          gadgetState_ = 0;
  
          gadgetType_ = 0;
  
          isShowCutscene_ = false;
  
          authorityPeerId_ = 0;
  
          isEnableInteract_ = false;
  
          interactId_ = 0;
  
          markFlag_ = 0;
  
          propOwnerEntityId_ = 0;
  
          if (platformBuilder_ == null) {
            platform_ = null;
          } else {
            platform_ = null;
            platformBuilder_ = null;
          }
          interactUidList_ = emptyIntList();
          bitField0_ = (bitField0_ & ~0x00000001);
          draftId_ = 0;
  
          gadgetTalkState_ = 0;
  
          if (playInfoBuilder_ == null) {
            playInfo_ = null;
          } else {
            playInfo_ = null;
            playInfoBuilder_ = null;
          }
          contentCase_ = 0;
          content_ = null;
          return this;
        }
  
        @java.lang.Override
        public com.google.protobuf.Descriptors.Descriptor
            getDescriptorForType() {
          return emu.grasscutter.net.proto.SceneGadgetInfoOuterClass.internal_static_SceneGadgetInfo_descriptor;
        }
  
        @java.lang.Override
        public emu.grasscutter.net.proto.SceneGadgetInfoOuterClass.SceneGadgetInfo getDefaultInstanceForType() {
          return emu.grasscutter.net.proto.SceneGadgetInfoOuterClass.SceneGadgetInfo.getDefaultInstance();
        }
  
        @java.lang.Override
        public emu.grasscutter.net.proto.SceneGadgetInfoOuterClass.SceneGadgetInfo build() {
          emu.grasscutter.net.proto.SceneGadgetInfoOuterClass.SceneGadgetInfo result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return result;
        }
  
        @java.lang.Override
        public emu.grasscutter.net.proto.SceneGadgetInfoOuterClass.SceneGadgetInfo buildPartial() {
          emu.grasscutter.net.proto.SceneGadgetInfoOuterClass.SceneGadgetInfo result = new emu.grasscutter.net.proto.SceneGadgetInfoOuterClass.SceneGadgetInfo(this);
          int from_bitField0_ = bitField0_;
          result.gadgetId_ = gadgetId_;
          result.groupId_ = groupId_;
          result.configId_ = configId_;
          result.ownerEntityId_ = ownerEntityId_;
          result.bornType_ = bornType_;
          result.gadgetState_ = gadgetState_;
          result.gadgetType_ = gadgetType_;
          result.isShowCutscene_ = isShowCutscene_;
          result.authorityPeerId_ = authorityPeerId_;
          result.isEnableInteract_ = isEnableInteract_;
          result.interactId_ = interactId_;
          if (contentCase_ == 12) {
            if (trifleItemBuilder_ == null) {
              result.content_ = content_;
            } else {
              result.content_ = trifleItemBuilder_.build();
            }
          }
          if (contentCase_ == 13) {
            if (gatherGadgetBuilder_ == null) {
              result.content_ = content_;
            } else {
              result.content_ = gatherGadgetBuilder_.build();
            }
          }
          if (contentCase_ == 14) {
            if (worktopBuilder_ == null) {
              result.content_ = content_;
            } else {
              result.content_ = worktopBuilder_.build();
            }
          }
          if (contentCase_ == 15) {
            if (clientGadgetBuilder_ == null) {
              result.content_ = content_;
            } else {
              result.content_ = clientGadgetBuilder_.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_ == 19) {
            if (statueGadgetBuilder_ == null) {
              result.content_ = content_;
            } else {
              result.content_ = statueGadgetBuilder_.build();
            }
          }
          if (contentCase_ == 20) {
            if (bossChestBuilder_ == null) {
              result.content_ = content_;
            } else {
              result.content_ = bossChestBuilder_.build();
            }
          }
          if (contentCase_ == 41) {
            if (blossomChestBuilder_ == null) {
              result.content_ = content_;
            } else {
              result.content_ = blossomChestBuilder_.build();
            }
          }
          if (contentCase_ == 42) {
            if (mpPlayRewardBuilder_ == null) {
              result.content_ = content_;
            } else {
              result.content_ = mpPlayRewardBuilder_.build();
            }
          }
          if (contentCase_ == 43) {
            if (generalRewardBuilder_ == null) {
              result.content_ = content_;
            } else {
              result.content_ = generalRewardBuilder_.build();
            }
          }
          if (contentCase_ == 44) {
            if (offeringInfoBuilder_ == null) {
              result.content_ = content_;
            } else {
              result.content_ = offeringInfoBuilder_.build();
            }
          }
          if (contentCase_ == 45) {
            if (foundationInfoBuilder_ == null) {
              result.content_ = content_;
            } else {
              result.content_ = foundationInfoBuilder_.build();
            }
          }
          if (contentCase_ == 46) {
            if (vehicleInfoBuilder_ == null) {
              result.content_ = content_;
            } else {
              result.content_ = vehicleInfoBuilder_.build();
            }
          }
          if (contentCase_ == 47) {
            if (shellInfoBuilder_ == null) {
              result.content_ = content_;
            } else {
              result.content_ = shellInfoBuilder_.build();
            }
          }
          if (contentCase_ == 48) {
            if (screenInfoBuilder_ == null) {
              result.content_ = content_;
            } else {
              result.content_ = screenInfoBuilder_.build();
            }
          }
          if (contentCase_ == 59) {
            if (fishPoolInfoBuilder_ == null) {
              result.content_ = content_;
            } else {
              result.content_ = fishPoolInfoBuilder_.build();
            }
          }
          if (contentCase_ == 60) {
            if (customGadgetTreeInfoBuilder_ == null) {
              result.content_ = content_;
            } else {
              result.content_ = customGadgetTreeInfoBuilder_.build();
            }
          }
          if (contentCase_ == 61) {
            if (roguelikeGadgetInfoBuilder_ == null) {
              result.content_ = content_;
            } else {
              result.content_ = roguelikeGadgetInfoBuilder_.build();
            }
          }
          if (contentCase_ == 62) {
            if (nightCrowGadgetInfoBuilder_ == null) {
              result.content_ = content_;
            } else {
              result.content_ = nightCrowGadgetInfoBuilder_.build();
            }
          }
          if (contentCase_ == 63) {
            if (deshretObeliskGadgetInfoBuilder_ == null) {
              result.content_ = content_;
            } else {
              result.content_ = deshretObeliskGadgetInfoBuilder_.build();
            }
          }
          if (contentCase_ == 64) {
            if (coinCollectOperatorInfoBuilder_ == null) {
              result.content_ = content_;
            } else {
              result.content_ = coinCollectOperatorInfoBuilder_.build();
            }
          }
          result.markFlag_ = markFlag_;
          result.propOwnerEntityId_ = propOwnerEntityId_;
          if (platformBuilder_ == null) {
            result.platform_ = platform_;
          } else {
            result.platform_ = platformBuilder_.build();
          }
          if (((bitField0_ & 0x00000001) != 0)) {
            interactUidList_.makeImmutable();
            bitField0_ = (bitField0_ & ~0x00000001);
          }
          result.interactUidList_ = interactUidList_;
          result.draftId_ = draftId_;
          result.gadgetTalkState_ = gadgetTalkState_;
          if (playInfoBuilder_ == null) {
            result.playInfo_ = playInfo_;
          } else {
            result.playInfo_ = playInfoBuilder_.build();
          }
          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 emu.grasscutter.net.proto.SceneGadgetInfoOuterClass.SceneGadgetInfo) {
            return mergeFrom((emu.grasscutter.net.proto.SceneGadgetInfoOuterClass.SceneGadgetInfo)other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }
  
        public Builder mergeFrom(emu.grasscutter.net.proto.SceneGadgetInfoOuterClass.SceneGadgetInfo other) {
          if (other == emu.grasscutter.net.proto.SceneGadgetInfoOuterClass.SceneGadgetInfo.getDefaultInstance()) return this;
          if (other.getGadgetId() != 0) {
            setGadgetId(other.getGadgetId());
          }
          if (other.getGroupId() != 0) {
            setGroupId(other.getGroupId());
          }
          if (other.getConfigId() != 0) {
            setConfigId(other.getConfigId());
          }
          if (other.getOwnerEntityId() != 0) {
            setOwnerEntityId(other.getOwnerEntityId());
          }
          if (other.bornType_ != 0) {
            setBornTypeValue(other.getBornTypeValue());
          }
          if (other.getGadgetState() != 0) {
            setGadgetState(other.getGadgetState());
          }
          if (other.getGadgetType() != 0) {
            setGadgetType(other.getGadgetType());
          }
          if (other.getIsShowCutscene() != false) {
            setIsShowCutscene(other.getIsShowCutscene());
          }
          if (other.getAuthorityPeerId() != 0) {
            setAuthorityPeerId(other.getAuthorityPeerId());
          }
          if (other.getIsEnableInteract() != false) {
            setIsEnableInteract(other.getIsEnableInteract());
          }
          if (other.getInteractId() != 0) {
            setInteractId(other.getInteractId());
          }
          if (other.getMarkFlag() != 0) {
            setMarkFlag(other.getMarkFlag());
          }
          if (other.getPropOwnerEntityId() != 0) {
            setPropOwnerEntityId(other.getPropOwnerEntityId());
          }
          if (other.hasPlatform()) {
            mergePlatform(other.getPlatform());
          }
          if (!other.interactUidList_.isEmpty()) {
            if (interactUidList_.isEmpty()) {
              interactUidList_ = other.interactUidList_;
              bitField0_ = (bitField0_ & ~0x00000001);
            } else {
              ensureInteractUidListIsMutable();
              interactUidList_.addAll(other.interactUidList_);
            }
            onChanged();
          }
          if (other.getDraftId() != 0) {
            setDraftId(other.getDraftId());
          }
          if (other.getGadgetTalkState() != 0) {
            setGadgetTalkState(other.getGadgetTalkState());
          }
          if (other.hasPlayInfo()) {
            mergePlayInfo(other.getPlayInfo());
          }
          switch (other.getContentCase()) {
            case TRIFLE_ITEM: {
              mergeTrifleItem(other.getTrifleItem());
              break;
            }
            case GATHER_GADGET: {
              mergeGatherGadget(other.getGatherGadget());
              break;
            }
            case WORKTOP: {
              mergeWorktop(other.getWorktop());
              break;
            }
            case CLIENT_GADGET: {
              mergeClientGadget(other.getClientGadget());
              break;
            }
            case WEATHER: {
              mergeWeather(other.getWeather());
              break;
            }
            case ABILITY_GADGET: {
              mergeAbilityGadget(other.getAbilityGadget());
              break;
            }
            case STATUE_GADGET: {
              mergeStatueGadget(other.getStatueGadget());
              break;
            }
            case BOSS_CHEST: {
              mergeBossChest(other.getBossChest());
              break;
            }
            case BLOSSOM_CHEST: {
              mergeBlossomChest(other.getBlossomChest());
              break;
            }
            case MP_PLAY_REWARD: {
              mergeMpPlayReward(other.getMpPlayReward());
              break;
            }
            case GENERAL_REWARD: {
              mergeGeneralReward(other.getGeneralReward());
              break;
            }
            case OFFERING_INFO: {
              mergeOfferingInfo(other.getOfferingInfo());
              break;
            }
            case FOUNDATION_INFO: {
              mergeFoundationInfo(other.getFoundationInfo());
              break;
            }
            case VEHICLE_INFO: {
              mergeVehicleInfo(other.getVehicleInfo());
              break;
            }
            case SHELL_INFO: {
              mergeShellInfo(other.getShellInfo());
              break;
            }
            case SCREEN_INFO: {
              mergeScreenInfo(other.getScreenInfo());
              break;
            }
            case FISH_POOL_INFO: {
              mergeFishPoolInfo(other.getFishPoolInfo());
              break;
            }
            case CUSTOM_GADGET_TREE_INFO: {
              mergeCustomGadgetTreeInfo(other.getCustomGadgetTreeInfo());
              break;
            }
            case ROGUELIKE_GADGET_INFO: {
              mergeRoguelikeGadgetInfo(other.getRoguelikeGadgetInfo());
              break;
            }
            case NIGHT_CROW_GADGET_INFO: {
              mergeNightCrowGadgetInfo(other.getNightCrowGadgetInfo());
              break;
            }
            case DESHRET_OBELISK_GADGET_INFO: {
              mergeDeshretObeliskGadgetInfo(other.getDeshretObeliskGadgetInfo());
              break;
            }
            case COIN_COLLECT_OPERATOR_INFO: {
              mergeCoinCollectOperatorInfo(other.getCoinCollectOperatorInfo());
              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 {
          emu.grasscutter.net.proto.SceneGadgetInfoOuterClass.SceneGadgetInfo parsedMessage = null;
          try {
            parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
            parsedMessage = (emu.grasscutter.net.proto.SceneGadgetInfoOuterClass.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 int gadgetId_ ;
        /**
         * <code>uint32 gadgetId = 1;</code>
         * @return The gadgetId.
         */
        @java.lang.Override
        public int getGadgetId() {
          return gadgetId_;
        }
        /**
         * <code>uint32 gadgetId = 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 gadgetId = 1;</code>
         * @return This builder for chaining.
         */
        public Builder clearGadgetId() {
          
          gadgetId_ = 0;
          onChanged();
          return this;
        }
  
        private int groupId_ ;
        /**
         * <code>uint32 groupId = 2;</code>
         * @return The groupId.
         */
        @java.lang.Override
        public int getGroupId() {
          return groupId_;
        }
        /**
         * <code>uint32 groupId = 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 groupId = 2;</code>
         * @return This builder for chaining.
         */
        public Builder clearGroupId() {
          
          groupId_ = 0;
          onChanged();
          return this;
        }
  
        private int configId_ ;
        /**
         * <code>uint32 configId = 3;</code>
         * @return The configId.
         */
        @java.lang.Override
        public int getConfigId() {
          return configId_;
        }
        /**
         * <code>uint32 configId = 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 configId = 3;</code>
         * @return This builder for chaining.
         */
        public Builder clearConfigId() {
          
          configId_ = 0;
          onChanged();
          return this;
        }
  
        private int ownerEntityId_ ;
        /**
         * <code>uint32 ownerEntityId = 4;</code>
         * @return The ownerEntityId.
         */
        @java.lang.Override
        public int getOwnerEntityId() {
          return ownerEntityId_;
        }
        /**
         * <code>uint32 ownerEntityId = 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 ownerEntityId = 4;</code>
         * @return This builder for chaining.
         */
        public Builder clearOwnerEntityId() {
          
          ownerEntityId_ = 0;
          onChanged();
          return this;
        }
  
        private int bornType_ = 0;
        /**
         * <code>.GadgetBornType bornType = 5;</code>
         * @return The enum numeric value on the wire for bornType.
         */
        @java.lang.Override public int getBornTypeValue() {
          return bornType_;
        }
        /**
         * <code>.GadgetBornType bornType = 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 bornType = 5;</code>
         * @return The bornType.
         */
        @java.lang.Override
        public emu.grasscutter.net.proto.GadgetBornTypeOuterClass.GadgetBornType getBornType() {
          @SuppressWarnings("deprecation")
          emu.grasscutter.net.proto.GadgetBornTypeOuterClass.GadgetBornType result = emu.grasscutter.net.proto.GadgetBornTypeOuterClass.GadgetBornType.valueOf(bornType_);
          return result == null ? emu.grasscutter.net.proto.GadgetBornTypeOuterClass.GadgetBornType.UNRECOGNIZED : result;
        }
        /**
         * <code>.GadgetBornType bornType = 5;</code>
         * @param value The bornType to set.
         * @return This builder for chaining.
         */
        public Builder setBornType(emu.grasscutter.net.proto.GadgetBornTypeOuterClass.GadgetBornType value) {
          if (value == null) {
            throw new NullPointerException();
          }
          
          bornType_ = value.getNumber();
          onChanged();
          return this;
        }
        /**
         * <code>.GadgetBornType bornType = 5;</code>
         * @return This builder for chaining.
         */
        public Builder clearBornType() {
          
          bornType_ = 0;
          onChanged();
          return this;
        }
  
        private int gadgetState_ ;
        /**
         * <code>uint32 gadgetState = 6;</code>
         * @return The gadgetState.
         */
        @java.lang.Override
        public int getGadgetState() {
          return gadgetState_;
        }
        /**
         * <code>uint32 gadgetState = 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 gadgetState = 6;</code>
         * @return This builder for chaining.
         */
        public Builder clearGadgetState() {
          
          gadgetState_ = 0;
          onChanged();
          return this;
        }
  
        private int gadgetType_ ;
        /**
         * <code>uint32 gadgetType = 7;</code>
         * @return The gadgetType.
         */
        @java.lang.Override
        public int getGadgetType() {
          return gadgetType_;
        }
        /**
         * <code>uint32 gadgetType = 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 gadgetType = 7;</code>
         * @return This builder for chaining.
         */
        public Builder clearGadgetType() {
          
          gadgetType_ = 0;
          onChanged();
          return this;
        }
  
        private boolean isShowCutscene_ ;
        /**
         * <code>bool isShowCutscene = 8;</code>
         * @return The isShowCutscene.
         */
        @java.lang.Override
        public boolean getIsShowCutscene() {
          return isShowCutscene_;
        }
        /**
         * <code>bool isShowCutscene = 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 isShowCutscene = 8;</code>
         * @return This builder for chaining.
         */
        public Builder clearIsShowCutscene() {
          
          isShowCutscene_ = false;
          onChanged();
          return this;
        }
  
        private int authorityPeerId_ ;
        /**
         * <code>uint32 authorityPeerId = 9;</code>
         * @return The authorityPeerId.
         */
        @java.lang.Override
        public int getAuthorityPeerId() {
          return authorityPeerId_;
        }
        /**
         * <code>uint32 authorityPeerId = 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 authorityPeerId = 9;</code>
         * @return This builder for chaining.
         */
        public Builder clearAuthorityPeerId() {
          
          authorityPeerId_ = 0;
          onChanged();
          return this;
        }
  
        private boolean isEnableInteract_ ;
        /**
         * <code>bool isEnableInteract = 10;</code>
         * @return The isEnableInteract.
         */
        @java.lang.Override
        public boolean getIsEnableInteract() {
          return isEnableInteract_;
        }
        /**
         * <code>bool isEnableInteract = 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 isEnableInteract = 10;</code>
         * @return This builder for chaining.
         */
        public Builder clearIsEnableInteract() {
          
          isEnableInteract_ = false;
          onChanged();
          return this;
        }
  
        private int interactId_ ;
        /**
         * <code>uint32 interactId = 11;</code>
         * @return The interactId.
         */
        @java.lang.Override
        public int getInteractId() {
          return interactId_;
        }
        /**
         * <code>uint32 interactId = 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 interactId = 11;</code>
         * @return This builder for chaining.
         */
        public Builder clearInteractId() {
          
          interactId_ = 0;
          onChanged();
          return this;
        }
  
        private com.google.protobuf.SingleFieldBuilderV3<
            emu.grasscutter.net.proto.ItemOuterClass.Item, emu.grasscutter.net.proto.ItemOuterClass.Item.Builder, emu.grasscutter.net.proto.ItemOuterClass.ItemOrBuilder> trifleItemBuilder_;
        /**
         * <code>.Item trifle_item = 12;</code>
         * @return Whether the trifleItem field is set.
         */
        @java.lang.Override
        public boolean hasTrifleItem() {
          return contentCase_ == 12;
        }
        /**
         * <code>.Item trifle_item = 12;</code>
         * @return The trifleItem.
         */
        @java.lang.Override
        public emu.grasscutter.net.proto.ItemOuterClass.Item getTrifleItem() {
          if (trifleItemBuilder_ == null) {
            if (contentCase_ == 12) {
              return (emu.grasscutter.net.proto.ItemOuterClass.Item) content_;
            }
            return emu.grasscutter.net.proto.ItemOuterClass.Item.getDefaultInstance();
          } else {
            if (contentCase_ == 12) {
              return trifleItemBuilder_.getMessage();
            }
            return emu.grasscutter.net.proto.ItemOuterClass.Item.getDefaultInstance();
          }
        }
        /**
         * <code>.Item trifle_item = 12;</code>
         */
        public Builder setTrifleItem(emu.grasscutter.net.proto.ItemOuterClass.Item value) {
          if (trifleItemBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            content_ = value;
            onChanged();
          } else {
            trifleItemBuilder_.setMessage(value);
          }
          contentCase_ = 12;
          return this;
        }
        /**
         * <code>.Item trifle_item = 12;</code>
         */
        public Builder setTrifleItem(
            emu.grasscutter.net.proto.ItemOuterClass.Item.Builder builderForValue) {
          if (trifleItemBuilder_ == null) {
            content_ = builderForValue.build();
            onChanged();
          } else {
            trifleItemBuilder_.setMessage(builderForValue.build());
          }
          contentCase_ = 12;
          return this;
        }
        /**
         * <code>.Item trifle_item = 12;</code>
         */
        public Builder mergeTrifleItem(emu.grasscutter.net.proto.ItemOuterClass.Item value) {
          if (trifleItemBuilder_ == null) {
            if (contentCase_ == 12 &&
                content_ != emu.grasscutter.net.proto.ItemOuterClass.Item.getDefaultInstance()) {
              content_ = emu.grasscutter.net.proto.ItemOuterClass.Item.newBuilder((emu.grasscutter.net.proto.ItemOuterClass.Item) content_)
                  .mergeFrom(value).buildPartial();
            } else {
              content_ = value;
            }
            onChanged();
          } else {
            if (contentCase_ == 12) {
              trifleItemBuilder_.mergeFrom(value);
            }
            trifleItemBuilder_.setMessage(value);
          }
          contentCase_ = 12;
          return this;
        }
        /**
         * <code>.Item trifle_item = 12;</code>
         */
        public Builder clearTrifleItem() {
          if (trifleItemBuilder_ == null) {
            if (contentCase_ == 12) {
              contentCase_ = 0;
              content_ = null;
              onChanged();
            }
          } else {
            if (contentCase_ == 12) {
              contentCase_ = 0;
              content_ = null;
            }
            trifleItemBuilder_.clear();
          }
          return this;
        }
        /**
         * <code>.Item trifle_item = 12;</code>
         */
        public emu.grasscutter.net.proto.ItemOuterClass.Item.Builder getTrifleItemBuilder() {
          return getTrifleItemFieldBuilder().getBuilder();
        }
        /**
         * <code>.Item trifle_item = 12;</code>
         */
        @java.lang.Override
        public emu.grasscutter.net.proto.ItemOuterClass.ItemOrBuilder getTrifleItemOrBuilder() {
          if ((contentCase_ == 12) && (trifleItemBuilder_ != null)) {
            return trifleItemBuilder_.getMessageOrBuilder();
          } else {
            if (contentCase_ == 12) {
              return (emu.grasscutter.net.proto.ItemOuterClass.Item) content_;
            }
            return emu.grasscutter.net.proto.ItemOuterClass.Item.getDefaultInstance();
          }
        }
        /**
         * <code>.Item trifle_item = 12;</code>
         */
        private com.google.protobuf.SingleFieldBuilderV3<
            emu.grasscutter.net.proto.ItemOuterClass.Item, emu.grasscutter.net.proto.ItemOuterClass.Item.Builder, emu.grasscutter.net.proto.ItemOuterClass.ItemOrBuilder> 
            getTrifleItemFieldBuilder() {
          if (trifleItemBuilder_ == null) {
            if (!(contentCase_ == 12)) {
              content_ = emu.grasscutter.net.proto.ItemOuterClass.Item.getDefaultInstance();
            }
            trifleItemBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
                emu.grasscutter.net.proto.ItemOuterClass.Item, emu.grasscutter.net.proto.ItemOuterClass.Item.Builder, emu.grasscutter.net.proto.ItemOuterClass.ItemOrBuilder>(
                    (emu.grasscutter.net.proto.ItemOuterClass.Item) content_,
                    getParentForChildren(),
                    isClean());
            content_ = null;
          }
          contentCase_ = 12;
          onChanged();;
          return trifleItemBuilder_;
        }
  
        private com.google.protobuf.SingleFieldBuilderV3<
            emu.grasscutter.net.proto.GatherGadgetInfoOuterClass.GatherGadgetInfo, emu.grasscutter.net.proto.GatherGadgetInfoOuterClass.GatherGadgetInfo.Builder, emu.grasscutter.net.proto.GatherGadgetInfoOuterClass.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 emu.grasscutter.net.proto.GatherGadgetInfoOuterClass.GatherGadgetInfo getGatherGadget() {
          if (gatherGadgetBuilder_ == null) {
            if (contentCase_ == 13) {
              return (emu.grasscutter.net.proto.GatherGadgetInfoOuterClass.GatherGadgetInfo) content_;
            }
            return emu.grasscutter.net.proto.GatherGadgetInfoOuterClass.GatherGadgetInfo.getDefaultInstance();
          } else {
            if (contentCase_ == 13) {
              return gatherGadgetBuilder_.getMessage();
            }
            return emu.grasscutter.net.proto.GatherGadgetInfoOuterClass.GatherGadgetInfo.getDefaultInstance();
          }
        }
        /**
         * <code>.GatherGadgetInfo gather_gadget = 13;</code>
         */
        public Builder setGatherGadget(emu.grasscutter.net.proto.GatherGadgetInfoOuterClass.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(
            emu.grasscutter.net.proto.GatherGadgetInfoOuterClass.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(emu.grasscutter.net.proto.GatherGadgetInfoOuterClass.GatherGadgetInfo value) {
          if (gatherGadgetBuilder_ == null) {
            if (contentCase_ == 13 &&
                content_ != emu.grasscutter.net.proto.GatherGadgetInfoOuterClass.GatherGadgetInfo.getDefaultInstance()) {
              content_ = emu.grasscutter.net.proto.GatherGadgetInfoOuterClass.GatherGadgetInfo.newBuilder((emu.grasscutter.net.proto.GatherGadgetInfoOuterClass.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 emu.grasscutter.net.proto.GatherGadgetInfoOuterClass.GatherGadgetInfo.Builder getGatherGadgetBuilder() {
          return getGatherGadgetFieldBuilder().getBuilder();
        }
        /**
         * <code>.GatherGadgetInfo gather_gadget = 13;</code>
         */
        @java.lang.Override
        public emu.grasscutter.net.proto.GatherGadgetInfoOuterClass.GatherGadgetInfoOrBuilder getGatherGadgetOrBuilder() {
          if ((contentCase_ == 13) && (gatherGadgetBuilder_ != null)) {
            return gatherGadgetBuilder_.getMessageOrBuilder();
          } else {
            if (contentCase_ == 13) {
              return (emu.grasscutter.net.proto.GatherGadgetInfoOuterClass.GatherGadgetInfo) content_;
            }
            return emu.grasscutter.net.proto.GatherGadgetInfoOuterClass.GatherGadgetInfo.getDefaultInstance();
          }
        }
        /**
         * <code>.GatherGadgetInfo gather_gadget = 13;</code>
         */
        private com.google.protobuf.SingleFieldBuilderV3<
            emu.grasscutter.net.proto.GatherGadgetInfoOuterClass.GatherGadgetInfo, emu.grasscutter.net.proto.GatherGadgetInfoOuterClass.GatherGadgetInfo.Builder, emu.grasscutter.net.proto.GatherGadgetInfoOuterClass.GatherGadgetInfoOrBuilder> 
            getGatherGadgetFieldBuilder() {
          if (gatherGadgetBuilder_ == null) {
            if (!(contentCase_ == 13)) {
              content_ = emu.grasscutter.net.proto.GatherGadgetInfoOuterClass.GatherGadgetInfo.getDefaultInstance();
            }
            gatherGadgetBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
                emu.grasscutter.net.proto.GatherGadgetInfoOuterClass.GatherGadgetInfo, emu.grasscutter.net.proto.GatherGadgetInfoOuterClass.GatherGadgetInfo.Builder, emu.grasscutter.net.proto.GatherGadgetInfoOuterClass.GatherGadgetInfoOrBuilder>(
                    (emu.grasscutter.net.proto.GatherGadgetInfoOuterClass.GatherGadgetInfo) content_,
                    getParentForChildren(),
                    isClean());
            content_ = null;
          }
          contentCase_ = 13;
          onChanged();;
          return gatherGadgetBuilder_;
        }
  
        private com.google.protobuf.SingleFieldBuilderV3<
            emu.grasscutter.net.proto.WorktopInfoOuterClass.WorktopInfo, emu.grasscutter.net.proto.WorktopInfoOuterClass.WorktopInfo.Builder, emu.grasscutter.net.proto.WorktopInfoOuterClass.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 emu.grasscutter.net.proto.WorktopInfoOuterClass.WorktopInfo getWorktop() {
          if (worktopBuilder_ == null) {
            if (contentCase_ == 14) {
              return (emu.grasscutter.net.proto.WorktopInfoOuterClass.WorktopInfo) content_;
            }
            return emu.grasscutter.net.proto.WorktopInfoOuterClass.WorktopInfo.getDefaultInstance();
          } else {
            if (contentCase_ == 14) {
              return worktopBuilder_.getMessage();
            }
            return emu.grasscutter.net.proto.WorktopInfoOuterClass.WorktopInfo.getDefaultInstance();
          }
        }
        /**
         * <code>.WorktopInfo worktop = 14;</code>
         */
        public Builder setWorktop(emu.grasscutter.net.proto.WorktopInfoOuterClass.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(
            emu.grasscutter.net.proto.WorktopInfoOuterClass.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(emu.grasscutter.net.proto.WorktopInfoOuterClass.WorktopInfo value) {
          if (worktopBuilder_ == null) {
            if (contentCase_ == 14 &&
                content_ != emu.grasscutter.net.proto.WorktopInfoOuterClass.WorktopInfo.getDefaultInstance()) {
              content_ = emu.grasscutter.net.proto.WorktopInfoOuterClass.WorktopInfo.newBuilder((emu.grasscutter.net.proto.WorktopInfoOuterClass.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 emu.grasscutter.net.proto.WorktopInfoOuterClass.WorktopInfo.Builder getWorktopBuilder() {
          return getWorktopFieldBuilder().getBuilder();
        }
        /**
         * <code>.WorktopInfo worktop = 14;</code>
         */
        @java.lang.Override
        public emu.grasscutter.net.proto.WorktopInfoOuterClass.WorktopInfoOrBuilder getWorktopOrBuilder() {
          if ((contentCase_ == 14) && (worktopBuilder_ != null)) {
            return worktopBuilder_.getMessageOrBuilder();
          } else {
            if (contentCase_ == 14) {
              return (emu.grasscutter.net.proto.WorktopInfoOuterClass.WorktopInfo) content_;
            }
            return emu.grasscutter.net.proto.WorktopInfoOuterClass.WorktopInfo.getDefaultInstance();
          }
        }
        /**
         * <code>.WorktopInfo worktop = 14;</code>
         */
        private com.google.protobuf.SingleFieldBuilderV3<
            emu.grasscutter.net.proto.WorktopInfoOuterClass.WorktopInfo, emu.grasscutter.net.proto.WorktopInfoOuterClass.WorktopInfo.Builder, emu.grasscutter.net.proto.WorktopInfoOuterClass.WorktopInfoOrBuilder> 
            getWorktopFieldBuilder() {
          if (worktopBuilder_ == null) {
            if (!(contentCase_ == 14)) {
              content_ = emu.grasscutter.net.proto.WorktopInfoOuterClass.WorktopInfo.getDefaultInstance();
            }
            worktopBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
                emu.grasscutter.net.proto.WorktopInfoOuterClass.WorktopInfo, emu.grasscutter.net.proto.WorktopInfoOuterClass.WorktopInfo.Builder, emu.grasscutter.net.proto.WorktopInfoOuterClass.WorktopInfoOrBuilder>(
                    (emu.grasscutter.net.proto.WorktopInfoOuterClass.WorktopInfo) content_,
                    getParentForChildren(),
                    isClean());
            content_ = null;
          }
          contentCase_ = 14;
          onChanged();;
          return worktopBuilder_;
        }
  
        private com.google.protobuf.SingleFieldBuilderV3<
            emu.grasscutter.net.proto.ClientGadgetInfoOuterClass.ClientGadgetInfo, emu.grasscutter.net.proto.ClientGadgetInfoOuterClass.ClientGadgetInfo.Builder, emu.grasscutter.net.proto.ClientGadgetInfoOuterClass.ClientGadgetInfoOrBuilder> clientGadgetBuilder_;
        /**
         * <code>.ClientGadgetInfo client_gadget = 15;</code>
         * @return Whether the clientGadget field is set.
         */
        @java.lang.Override
        public boolean hasClientGadget() {
          return contentCase_ == 15;
        }
        /**
         * <code>.ClientGadgetInfo client_gadget = 15;</code>
         * @return The clientGadget.
         */
        @java.lang.Override
        public emu.grasscutter.net.proto.ClientGadgetInfoOuterClass.ClientGadgetInfo getClientGadget() {
          if (clientGadgetBuilder_ == null) {
            if (contentCase_ == 15) {
              return (emu.grasscutter.net.proto.ClientGadgetInfoOuterClass.ClientGadgetInfo) content_;
            }
            return emu.grasscutter.net.proto.ClientGadgetInfoOuterClass.ClientGadgetInfo.getDefaultInstance();
          } else {
            if (contentCase_ == 15) {
              return clientGadgetBuilder_.getMessage();
            }
            return emu.grasscutter.net.proto.ClientGadgetInfoOuterClass.ClientGadgetInfo.getDefaultInstance();
          }
        }
        /**
         * <code>.ClientGadgetInfo client_gadget = 15;</code>
         */
        public Builder setClientGadget(emu.grasscutter.net.proto.ClientGadgetInfoOuterClass.ClientGadgetInfo value) {
          if (clientGadgetBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            content_ = value;
            onChanged();
          } else {
            clientGadgetBuilder_.setMessage(value);
          }
          contentCase_ = 15;
          return this;
        }
        /**
         * <code>.ClientGadgetInfo client_gadget = 15;</code>
         */
        public Builder setClientGadget(
            emu.grasscutter.net.proto.ClientGadgetInfoOuterClass.ClientGadgetInfo.Builder builderForValue) {
          if (clientGadgetBuilder_ == null) {
            content_ = builderForValue.build();
            onChanged();
          } else {
            clientGadgetBuilder_.setMessage(builderForValue.build());
          }
          contentCase_ = 15;
          return this;
        }
        /**
         * <code>.ClientGadgetInfo client_gadget = 15;</code>
         */
        public Builder mergeClientGadget(emu.grasscutter.net.proto.ClientGadgetInfoOuterClass.ClientGadgetInfo value) {
          if (clientGadgetBuilder_ == null) {
            if (contentCase_ == 15 &&
                content_ != emu.grasscutter.net.proto.ClientGadgetInfoOuterClass.ClientGadgetInfo.getDefaultInstance()) {
              content_ = emu.grasscutter.net.proto.ClientGadgetInfoOuterClass.ClientGadgetInfo.newBuilder((emu.grasscutter.net.proto.ClientGadgetInfoOuterClass.ClientGadgetInfo) content_)
                  .mergeFrom(value).buildPartial();
            } else {
              content_ = value;
            }
            onChanged();
          } else {
            if (contentCase_ == 15) {
              clientGadgetBuilder_.mergeFrom(value);
            }
            clientGadgetBuilder_.setMessage(value);
          }
          contentCase_ = 15;
          return this;
        }
        /**
         * <code>.ClientGadgetInfo 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>.ClientGadgetInfo client_gadget = 15;</code>
         */
        public emu.grasscutter.net.proto.ClientGadgetInfoOuterClass.ClientGadgetInfo.Builder getClientGadgetBuilder() {
          return getClientGadgetFieldBuilder().getBuilder();
        }
        /**
         * <code>.ClientGadgetInfo client_gadget = 15;</code>
         */
        @java.lang.Override
        public emu.grasscutter.net.proto.ClientGadgetInfoOuterClass.ClientGadgetInfoOrBuilder getClientGadgetOrBuilder() {
          if ((contentCase_ == 15) && (clientGadgetBuilder_ != null)) {
            return clientGadgetBuilder_.getMessageOrBuilder();
          } else {
            if (contentCase_ == 15) {
              return (emu.grasscutter.net.proto.ClientGadgetInfoOuterClass.ClientGadgetInfo) content_;
            }
            return emu.grasscutter.net.proto.ClientGadgetInfoOuterClass.ClientGadgetInfo.getDefaultInstance();
          }
        }
        /**
         * <code>.ClientGadgetInfo client_gadget = 15;</code>
         */
        private com.google.protobuf.SingleFieldBuilderV3<
            emu.grasscutter.net.proto.ClientGadgetInfoOuterClass.ClientGadgetInfo, emu.grasscutter.net.proto.ClientGadgetInfoOuterClass.ClientGadgetInfo.Builder, emu.grasscutter.net.proto.ClientGadgetInfoOuterClass.ClientGadgetInfoOrBuilder> 
            getClientGadgetFieldBuilder() {
          if (clientGadgetBuilder_ == null) {
            if (!(contentCase_ == 15)) {
              content_ = emu.grasscutter.net.proto.ClientGadgetInfoOuterClass.ClientGadgetInfo.getDefaultInstance();
            }
            clientGadgetBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
                emu.grasscutter.net.proto.ClientGadgetInfoOuterClass.ClientGadgetInfo, emu.grasscutter.net.proto.ClientGadgetInfoOuterClass.ClientGadgetInfo.Builder, emu.grasscutter.net.proto.ClientGadgetInfoOuterClass.ClientGadgetInfoOrBuilder>(
                    (emu.grasscutter.net.proto.ClientGadgetInfoOuterClass.ClientGadgetInfo) content_,
                    getParentForChildren(),
                    isClean());
            content_ = null;
          }
          contentCase_ = 15;
          onChanged();;
          return clientGadgetBuilder_;
        }
  
        private com.google.protobuf.SingleFieldBuilderV3<
            emu.grasscutter.net.proto.WeatherOuterClass.Weather, emu.grasscutter.net.proto.WeatherOuterClass.Weather.Builder, emu.grasscutter.net.proto.WeatherOuterClass.WeatherOrBuilder> weatherBuilder_;
        /**
         * <code>.Weather weather = 17;</code>
         * @return Whether the weather field is set.
         */
        @java.lang.Override
        public boolean hasWeather() {
          return contentCase_ == 17;
        }
        /**
         * <code>.Weather weather = 17;</code>
         * @return The weather.
         */
        @java.lang.Override
        public emu.grasscutter.net.proto.WeatherOuterClass.Weather getWeather() {
          if (weatherBuilder_ == null) {
            if (contentCase_ == 17) {
              return (emu.grasscutter.net.proto.WeatherOuterClass.Weather) content_;
            }
            return emu.grasscutter.net.proto.WeatherOuterClass.Weather.getDefaultInstance();
          } else {
            if (contentCase_ == 17) {
              return weatherBuilder_.getMessage();
            }
            return emu.grasscutter.net.proto.WeatherOuterClass.Weather.getDefaultInstance();
          }
        }
        /**
         * <code>.Weather weather = 17;</code>
         */
        public Builder setWeather(emu.grasscutter.net.proto.WeatherOuterClass.Weather value) {
          if (weatherBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            content_ = value;
            onChanged();
          } else {
            weatherBuilder_.setMessage(value);
          }
          contentCase_ = 17;
          return this;
        }
        /**
         * <code>.Weather weather = 17;</code>
         */
        public Builder setWeather(
            emu.grasscutter.net.proto.WeatherOuterClass.Weather.Builder builderForValue) {
          if (weatherBuilder_ == null) {
            content_ = builderForValue.build();
            onChanged();
          } else {
            weatherBuilder_.setMessage(builderForValue.build());
          }
          contentCase_ = 17;
          return this;
        }
        /**
         * <code>.Weather weather = 17;</code>
         */
        public Builder mergeWeather(emu.grasscutter.net.proto.WeatherOuterClass.Weather value) {
          if (weatherBuilder_ == null) {
            if (contentCase_ == 17 &&
                content_ != emu.grasscutter.net.proto.WeatherOuterClass.Weather.getDefaultInstance()) {
              content_ = emu.grasscutter.net.proto.WeatherOuterClass.Weather.newBuilder((emu.grasscutter.net.proto.WeatherOuterClass.Weather) content_)
                  .mergeFrom(value).buildPartial();
            } else {
              content_ = value;
            }
            onChanged();
          } else {
            if (contentCase_ == 17) {
              weatherBuilder_.mergeFrom(value);
            }
            weatherBuilder_.setMessage(value);
          }
          contentCase_ = 17;
          return this;
        }
        /**
         * <code>.Weather 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>.Weather weather = 17;</code>
         */
        public emu.grasscutter.net.proto.WeatherOuterClass.Weather.Builder getWeatherBuilder() {
          return getWeatherFieldBuilder().getBuilder();
        }
        /**
         * <code>.Weather weather = 17;</code>
         */
        @java.lang.Override
        public emu.grasscutter.net.proto.WeatherOuterClass.WeatherOrBuilder getWeatherOrBuilder() {
          if ((contentCase_ == 17) && (weatherBuilder_ != null)) {
            return weatherBuilder_.getMessageOrBuilder();
          } else {
            if (contentCase_ == 17) {
              return (emu.grasscutter.net.proto.WeatherOuterClass.Weather) content_;
            }
            return emu.grasscutter.net.proto.WeatherOuterClass.Weather.getDefaultInstance();
          }
        }
        /**
         * <code>.Weather weather = 17;</code>
         */
        private com.google.protobuf.SingleFieldBuilderV3<
            emu.grasscutter.net.proto.WeatherOuterClass.Weather, emu.grasscutter.net.proto.WeatherOuterClass.Weather.Builder, emu.grasscutter.net.proto.WeatherOuterClass.WeatherOrBuilder> 
            getWeatherFieldBuilder() {
          if (weatherBuilder_ == null) {
            if (!(contentCase_ == 17)) {
              content_ = emu.grasscutter.net.proto.WeatherOuterClass.Weather.getDefaultInstance();
            }
            weatherBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
                emu.grasscutter.net.proto.WeatherOuterClass.Weather, emu.grasscutter.net.proto.WeatherOuterClass.Weather.Builder, emu.grasscutter.net.proto.WeatherOuterClass.WeatherOrBuilder>(
                    (emu.grasscutter.net.proto.WeatherOuterClass.Weather) content_,
                    getParentForChildren(),
                    isClean());
            content_ = null;
          }
          contentCase_ = 17;
          onChanged();;
          return weatherBuilder_;
        }
  
        private com.google.protobuf.SingleFieldBuilderV3<
            emu.grasscutter.net.proto.AbilityGadgetInfoOuterClass.AbilityGadgetInfo, emu.grasscutter.net.proto.AbilityGadgetInfoOuterClass.AbilityGadgetInfo.Builder, emu.grasscutter.net.proto.AbilityGadgetInfoOuterClass.AbilityGadgetInfoOrBuilder> abilityGadgetBuilder_;
        /**
         * <code>.AbilityGadgetInfo ability_gadget = 18;</code>
         * @return Whether the abilityGadget field is set.
         */
        @java.lang.Override
        public boolean hasAbilityGadget() {
          return contentCase_ == 18;
        }
        /**
         * <code>.AbilityGadgetInfo ability_gadget = 18;</code>
         * @return The abilityGadget.
         */
        @java.lang.Override
        public emu.grasscutter.net.proto.AbilityGadgetInfoOuterClass.AbilityGadgetInfo getAbilityGadget() {
          if (abilityGadgetBuilder_ == null) {
            if (contentCase_ == 18) {
              return (emu.grasscutter.net.proto.AbilityGadgetInfoOuterClass.AbilityGadgetInfo) content_;
            }
            return emu.grasscutter.net.proto.AbilityGadgetInfoOuterClass.AbilityGadgetInfo.getDefaultInstance();
          } else {
            if (contentCase_ == 18) {
              return abilityGadgetBuilder_.getMessage();
            }
            return emu.grasscutter.net.proto.AbilityGadgetInfoOuterClass.AbilityGadgetInfo.getDefaultInstance();
          }
        }
        /**
         * <code>.AbilityGadgetInfo ability_gadget = 18;</code>
         */
        public Builder setAbilityGadget(emu.grasscutter.net.proto.AbilityGadgetInfoOuterClass.AbilityGadgetInfo value) {
          if (abilityGadgetBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            content_ = value;
            onChanged();
          } else {
            abilityGadgetBuilder_.setMessage(value);
          }
          contentCase_ = 18;
          return this;
        }
        /**
         * <code>.AbilityGadgetInfo ability_gadget = 18;</code>
         */
        public Builder setAbilityGadget(
            emu.grasscutter.net.proto.AbilityGadgetInfoOuterClass.AbilityGadgetInfo.Builder builderForValue) {
          if (abilityGadgetBuilder_ == null) {
            content_ = builderForValue.build();
            onChanged();
          } else {
            abilityGadgetBuilder_.setMessage(builderForValue.build());
          }
          contentCase_ = 18;
          return this;
        }
        /**
         * <code>.AbilityGadgetInfo ability_gadget = 18;</code>
         */
        public Builder mergeAbilityGadget(emu.grasscutter.net.proto.AbilityGadgetInfoOuterClass.AbilityGadgetInfo value) {
          if (abilityGadgetBuilder_ == null) {
            if (contentCase_ == 18 &&
                content_ != emu.grasscutter.net.proto.AbilityGadgetInfoOuterClass.AbilityGadgetInfo.getDefaultInstance()) {
              content_ = emu.grasscutter.net.proto.AbilityGadgetInfoOuterClass.AbilityGadgetInfo.newBuilder((emu.grasscutter.net.proto.AbilityGadgetInfoOuterClass.AbilityGadgetInfo) content_)
                  .mergeFrom(value).buildPartial();
            } else {
              content_ = value;
            }
            onChanged();
          } else {
            if (contentCase_ == 18) {
              abilityGadgetBuilder_.mergeFrom(value);
            }
            abilityGadgetBuilder_.setMessage(value);
          }
          contentCase_ = 18;
          return this;
        }
        /**
         * <code>.AbilityGadgetInfo 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>.AbilityGadgetInfo ability_gadget = 18;</code>
         */
        public emu.grasscutter.net.proto.AbilityGadgetInfoOuterClass.AbilityGadgetInfo.Builder getAbilityGadgetBuilder() {
          return getAbilityGadgetFieldBuilder().getBuilder();
        }
        /**
         * <code>.AbilityGadgetInfo ability_gadget = 18;</code>
         */
        @java.lang.Override
        public emu.grasscutter.net.proto.AbilityGadgetInfoOuterClass.AbilityGadgetInfoOrBuilder getAbilityGadgetOrBuilder() {
          if ((contentCase_ == 18) && (abilityGadgetBuilder_ != null)) {
            return abilityGadgetBuilder_.getMessageOrBuilder();
          } else {
            if (contentCase_ == 18) {
              return (emu.grasscutter.net.proto.AbilityGadgetInfoOuterClass.AbilityGadgetInfo) content_;
            }
            return emu.grasscutter.net.proto.AbilityGadgetInfoOuterClass.AbilityGadgetInfo.getDefaultInstance();
          }
        }
        /**
         * <code>.AbilityGadgetInfo ability_gadget = 18;</code>
         */
        private com.google.protobuf.SingleFieldBuilderV3<
            emu.grasscutter.net.proto.AbilityGadgetInfoOuterClass.AbilityGadgetInfo, emu.grasscutter.net.proto.AbilityGadgetInfoOuterClass.AbilityGadgetInfo.Builder, emu.grasscutter.net.proto.AbilityGadgetInfoOuterClass.AbilityGadgetInfoOrBuilder> 
            getAbilityGadgetFieldBuilder() {
          if (abilityGadgetBuilder_ == null) {
            if (!(contentCase_ == 18)) {
              content_ = emu.grasscutter.net.proto.AbilityGadgetInfoOuterClass.AbilityGadgetInfo.getDefaultInstance();
            }
            abilityGadgetBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
                emu.grasscutter.net.proto.AbilityGadgetInfoOuterClass.AbilityGadgetInfo, emu.grasscutter.net.proto.AbilityGadgetInfoOuterClass.AbilityGadgetInfo.Builder, emu.grasscutter.net.proto.AbilityGadgetInfoOuterClass.AbilityGadgetInfoOrBuilder>(
                    (emu.grasscutter.net.proto.AbilityGadgetInfoOuterClass.AbilityGadgetInfo) content_,
                    getParentForChildren(),
                    isClean());
            content_ = null;
          }
          contentCase_ = 18;
          onChanged();;
          return abilityGadgetBuilder_;
        }
  
        private com.google.protobuf.SingleFieldBuilderV3<
            emu.grasscutter.net.proto.StatueGadgetOuterClass.StatueGadget, emu.grasscutter.net.proto.StatueGadgetOuterClass.StatueGadget.Builder, emu.grasscutter.net.proto.StatueGadgetOuterClass.StatueGadgetOrBuilder> statueGadgetBuilder_;
        /**
         * <code>.StatueGadget statue_gadget = 19;</code>
         * @return Whether the statueGadget field is set.
         */
        @java.lang.Override
        public boolean hasStatueGadget() {
          return contentCase_ == 19;
        }
        /**
         * <code>.StatueGadget statue_gadget = 19;</code>
         * @return The statueGadget.
         */
        @java.lang.Override
        public emu.grasscutter.net.proto.StatueGadgetOuterClass.StatueGadget getStatueGadget() {
          if (statueGadgetBuilder_ == null) {
            if (contentCase_ == 19) {
              return (emu.grasscutter.net.proto.StatueGadgetOuterClass.StatueGadget) content_;
            }
            return emu.grasscutter.net.proto.StatueGadgetOuterClass.StatueGadget.getDefaultInstance();
          } else {
            if (contentCase_ == 19) {
              return statueGadgetBuilder_.getMessage();
            }
            return emu.grasscutter.net.proto.StatueGadgetOuterClass.StatueGadget.getDefaultInstance();
          }
        }
        /**
         * <code>.StatueGadget statue_gadget = 19;</code>
         */
        public Builder setStatueGadget(emu.grasscutter.net.proto.StatueGadgetOuterClass.StatueGadget value) {
          if (statueGadgetBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            content_ = value;
            onChanged();
          } else {
            statueGadgetBuilder_.setMessage(value);
          }
          contentCase_ = 19;
          return this;
        }
        /**
         * <code>.StatueGadget statue_gadget = 19;</code>
         */
        public Builder setStatueGadget(
            emu.grasscutter.net.proto.StatueGadgetOuterClass.StatueGadget.Builder builderForValue) {
          if (statueGadgetBuilder_ == null) {
            content_ = builderForValue.build();
            onChanged();
          } else {
            statueGadgetBuilder_.setMessage(builderForValue.build());
          }
          contentCase_ = 19;
          return this;
        }
        /**
         * <code>.StatueGadget statue_gadget = 19;</code>
         */
        public Builder mergeStatueGadget(emu.grasscutter.net.proto.StatueGadgetOuterClass.StatueGadget value) {
          if (statueGadgetBuilder_ == null) {
            if (contentCase_ == 19 &&
                content_ != emu.grasscutter.net.proto.StatueGadgetOuterClass.StatueGadget.getDefaultInstance()) {
              content_ = emu.grasscutter.net.proto.StatueGadgetOuterClass.StatueGadget.newBuilder((emu.grasscutter.net.proto.StatueGadgetOuterClass.StatueGadget) content_)
                  .mergeFrom(value).buildPartial();
            } else {
              content_ = value;
            }
            onChanged();
          } else {
            if (contentCase_ == 19) {
              statueGadgetBuilder_.mergeFrom(value);
            }
            statueGadgetBuilder_.setMessage(value);
          }
          contentCase_ = 19;
          return this;
        }
        /**
         * <code>.StatueGadget 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>.StatueGadget statue_gadget = 19;</code>
         */
        public emu.grasscutter.net.proto.StatueGadgetOuterClass.StatueGadget.Builder getStatueGadgetBuilder() {
          return getStatueGadgetFieldBuilder().getBuilder();
        }
        /**
         * <code>.StatueGadget statue_gadget = 19;</code>
         */
        @java.lang.Override
        public emu.grasscutter.net.proto.StatueGadgetOuterClass.StatueGadgetOrBuilder getStatueGadgetOrBuilder() {
          if ((contentCase_ == 19) && (statueGadgetBuilder_ != null)) {
            return statueGadgetBuilder_.getMessageOrBuilder();
          } else {
            if (contentCase_ == 19) {
              return (emu.grasscutter.net.proto.StatueGadgetOuterClass.StatueGadget) content_;
            }
            return emu.grasscutter.net.proto.StatueGadgetOuterClass.StatueGadget.getDefaultInstance();
          }
        }
        /**
         * <code>.StatueGadget statue_gadget = 19;</code>
         */
        private com.google.protobuf.SingleFieldBuilderV3<
            emu.grasscutter.net.proto.StatueGadgetOuterClass.StatueGadget, emu.grasscutter.net.proto.StatueGadgetOuterClass.StatueGadget.Builder, emu.grasscutter.net.proto.StatueGadgetOuterClass.StatueGadgetOrBuilder> 
            getStatueGadgetFieldBuilder() {
          if (statueGadgetBuilder_ == null) {
            if (!(contentCase_ == 19)) {
              content_ = emu.grasscutter.net.proto.StatueGadgetOuterClass.StatueGadget.getDefaultInstance();
            }
            statueGadgetBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
                emu.grasscutter.net.proto.StatueGadgetOuterClass.StatueGadget, emu.grasscutter.net.proto.StatueGadgetOuterClass.StatueGadget.Builder, emu.grasscutter.net.proto.StatueGadgetOuterClass.StatueGadgetOrBuilder>(
                    (emu.grasscutter.net.proto.StatueGadgetOuterClass.StatueGadget) content_,
                    getParentForChildren(),
                    isClean());
            content_ = null;
          }
          contentCase_ = 19;
          onChanged();;
          return statueGadgetBuilder_;
        }
  
        private com.google.protobuf.SingleFieldBuilderV3<
            emu.grasscutter.net.proto.BossChestInfoOuterClass.BossChestInfo, emu.grasscutter.net.proto.BossChestInfoOuterClass.BossChestInfo.Builder, emu.grasscutter.net.proto.BossChestInfoOuterClass.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 emu.grasscutter.net.proto.BossChestInfoOuterClass.BossChestInfo getBossChest() {
          if (bossChestBuilder_ == null) {
            if (contentCase_ == 20) {
              return (emu.grasscutter.net.proto.BossChestInfoOuterClass.BossChestInfo) content_;
            }
            return emu.grasscutter.net.proto.BossChestInfoOuterClass.BossChestInfo.getDefaultInstance();
          } else {
            if (contentCase_ == 20) {
              return bossChestBuilder_.getMessage();
            }
            return emu.grasscutter.net.proto.BossChestInfoOuterClass.BossChestInfo.getDefaultInstance();
          }
        }
        /**
         * <code>.BossChestInfo boss_chest = 20;</code>
         */
        public Builder setBossChest(emu.grasscutter.net.proto.BossChestInfoOuterClass.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(
            emu.grasscutter.net.proto.BossChestInfoOuterClass.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(emu.grasscutter.net.proto.BossChestInfoOuterClass.BossChestInfo value) {
          if (bossChestBuilder_ == null) {
            if (contentCase_ == 20 &&
                content_ != emu.grasscutter.net.proto.BossChestInfoOuterClass.BossChestInfo.getDefaultInstance()) {
              content_ = emu.grasscutter.net.proto.BossChestInfoOuterClass.BossChestInfo.newBuilder((emu.grasscutter.net.proto.BossChestInfoOuterClass.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 emu.grasscutter.net.proto.BossChestInfoOuterClass.BossChestInfo.Builder getBossChestBuilder() {
          return getBossChestFieldBuilder().getBuilder();
        }
        /**
         * <code>.BossChestInfo boss_chest = 20;</code>
         */
        @java.lang.Override
        public emu.grasscutter.net.proto.BossChestInfoOuterClass.BossChestInfoOrBuilder getBossChestOrBuilder() {
          if ((contentCase_ == 20) && (bossChestBuilder_ != null)) {
            return bossChestBuilder_.getMessageOrBuilder();
          } else {
            if (contentCase_ == 20) {
              return (emu.grasscutter.net.proto.BossChestInfoOuterClass.BossChestInfo) content_;
            }
            return emu.grasscutter.net.proto.BossChestInfoOuterClass.BossChestInfo.getDefaultInstance();
          }
        }
        /**
         * <code>.BossChestInfo boss_chest = 20;</code>
         */
        private com.google.protobuf.SingleFieldBuilderV3<
            emu.grasscutter.net.proto.BossChestInfoOuterClass.BossChestInfo, emu.grasscutter.net.proto.BossChestInfoOuterClass.BossChestInfo.Builder, emu.grasscutter.net.proto.BossChestInfoOuterClass.BossChestInfoOrBuilder> 
            getBossChestFieldBuilder() {
          if (bossChestBuilder_ == null) {
            if (!(contentCase_ == 20)) {
              content_ = emu.grasscutter.net.proto.BossChestInfoOuterClass.BossChestInfo.getDefaultInstance();
            }
            bossChestBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
                emu.grasscutter.net.proto.BossChestInfoOuterClass.BossChestInfo, emu.grasscutter.net.proto.BossChestInfoOuterClass.BossChestInfo.Builder, emu.grasscutter.net.proto.BossChestInfoOuterClass.BossChestInfoOrBuilder>(
                    (emu.grasscutter.net.proto.BossChestInfoOuterClass.BossChestInfo) content_,
                    getParentForChildren(),
                    isClean());
            content_ = null;
          }
          contentCase_ = 20;
          onChanged();;
          return bossChestBuilder_;
        }
  
        private com.google.protobuf.SingleFieldBuilderV3<
            emu.grasscutter.net.proto.BlossomChestOuterClass.BlossomChest, emu.grasscutter.net.proto.BlossomChestOuterClass.BlossomChest.Builder, emu.grasscutter.net.proto.BlossomChestOuterClass.BlossomChestOrBuilder> blossomChestBuilder_;
        /**
         * <code>.BlossomChest blossom_chest = 41;</code>
         * @return Whether the blossomChest field is set.
         */
        @java.lang.Override
        public boolean hasBlossomChest() {
          return contentCase_ == 41;
        }
        /**
         * <code>.BlossomChest blossom_chest = 41;</code>
         * @return The blossomChest.
         */
        @java.lang.Override
        public emu.grasscutter.net.proto.BlossomChestOuterClass.BlossomChest getBlossomChest() {
          if (blossomChestBuilder_ == null) {
            if (contentCase_ == 41) {
              return (emu.grasscutter.net.proto.BlossomChestOuterClass.BlossomChest) content_;
            }
            return emu.grasscutter.net.proto.BlossomChestOuterClass.BlossomChest.getDefaultInstance();
          } else {
            if (contentCase_ == 41) {
              return blossomChestBuilder_.getMessage();
            }
            return emu.grasscutter.net.proto.BlossomChestOuterClass.BlossomChest.getDefaultInstance();
          }
        }
        /**
         * <code>.BlossomChest blossom_chest = 41;</code>
         */
        public Builder setBlossomChest(emu.grasscutter.net.proto.BlossomChestOuterClass.BlossomChest value) {
          if (blossomChestBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            content_ = value;
            onChanged();
          } else {
            blossomChestBuilder_.setMessage(value);
          }
          contentCase_ = 41;
          return this;
        }
        /**
         * <code>.BlossomChest blossom_chest = 41;</code>
         */
        public Builder setBlossomChest(
            emu.grasscutter.net.proto.BlossomChestOuterClass.BlossomChest.Builder builderForValue) {
          if (blossomChestBuilder_ == null) {
            content_ = builderForValue.build();
            onChanged();
          } else {
            blossomChestBuilder_.setMessage(builderForValue.build());
          }
          contentCase_ = 41;
          return this;
        }
        /**
         * <code>.BlossomChest blossom_chest = 41;</code>
         */
        public Builder mergeBlossomChest(emu.grasscutter.net.proto.BlossomChestOuterClass.BlossomChest value) {
          if (blossomChestBuilder_ == null) {
            if (contentCase_ == 41 &&
                content_ != emu.grasscutter.net.proto.BlossomChestOuterClass.BlossomChest.getDefaultInstance()) {
              content_ = emu.grasscutter.net.proto.BlossomChestOuterClass.BlossomChest.newBuilder((emu.grasscutter.net.proto.BlossomChestOuterClass.BlossomChest) content_)
                  .mergeFrom(value).buildPartial();
            } else {
              content_ = value;
            }
            onChanged();
          } else {
            if (contentCase_ == 41) {
              blossomChestBuilder_.mergeFrom(value);
            }
            blossomChestBuilder_.setMessage(value);
          }
          contentCase_ = 41;
          return this;
        }
        /**
         * <code>.BlossomChest 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>.BlossomChest blossom_chest = 41;</code>
         */
        public emu.grasscutter.net.proto.BlossomChestOuterClass.BlossomChest.Builder getBlossomChestBuilder() {
          return getBlossomChestFieldBuilder().getBuilder();
        }
        /**
         * <code>.BlossomChest blossom_chest = 41;</code>
         */
        @java.lang.Override
        public emu.grasscutter.net.proto.BlossomChestOuterClass.BlossomChestOrBuilder getBlossomChestOrBuilder() {
          if ((contentCase_ == 41) && (blossomChestBuilder_ != null)) {
            return blossomChestBuilder_.getMessageOrBuilder();
          } else {
            if (contentCase_ == 41) {
              return (emu.grasscutter.net.proto.BlossomChestOuterClass.BlossomChest) content_;
            }
            return emu.grasscutter.net.proto.BlossomChestOuterClass.BlossomChest.getDefaultInstance();
          }
        }
        /**
         * <code>.BlossomChest blossom_chest = 41;</code>
         */
        private com.google.protobuf.SingleFieldBuilderV3<
            emu.grasscutter.net.proto.BlossomChestOuterClass.BlossomChest, emu.grasscutter.net.proto.BlossomChestOuterClass.BlossomChest.Builder, emu.grasscutter.net.proto.BlossomChestOuterClass.BlossomChestOrBuilder> 
            getBlossomChestFieldBuilder() {
          if (blossomChestBuilder_ == null) {
            if (!(contentCase_ == 41)) {
              content_ = emu.grasscutter.net.proto.BlossomChestOuterClass.BlossomChest.getDefaultInstance();
            }
            blossomChestBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
                emu.grasscutter.net.proto.BlossomChestOuterClass.BlossomChest, emu.grasscutter.net.proto.BlossomChestOuterClass.BlossomChest.Builder, emu.grasscutter.net.proto.BlossomChestOuterClass.BlossomChestOrBuilder>(
                    (emu.grasscutter.net.proto.BlossomChestOuterClass.BlossomChest) content_,
                    getParentForChildren(),
                    isClean());
            content_ = null;
          }
          contentCase_ = 41;
          onChanged();;
          return blossomChestBuilder_;
        }
  
        private com.google.protobuf.SingleFieldBuilderV3<
            emu.grasscutter.net.proto.MpPlayRewardOuterClass.MpPlayReward, emu.grasscutter.net.proto.MpPlayRewardOuterClass.MpPlayReward.Builder, emu.grasscutter.net.proto.MpPlayRewardOuterClass.MpPlayRewardOrBuilder> mpPlayRewardBuilder_;
        /**
         * <code>.MpPlayReward mp_play_reward = 42;</code>
         * @return Whether the mpPlayReward field is set.
         */
        @java.lang.Override
        public boolean hasMpPlayReward() {
          return contentCase_ == 42;
        }
        /**
         * <code>.MpPlayReward mp_play_reward = 42;</code>
         * @return The mpPlayReward.
         */
        @java.lang.Override
        public emu.grasscutter.net.proto.MpPlayRewardOuterClass.MpPlayReward getMpPlayReward() {
          if (mpPlayRewardBuilder_ == null) {
            if (contentCase_ == 42) {
              return (emu.grasscutter.net.proto.MpPlayRewardOuterClass.MpPlayReward) content_;
            }
            return emu.grasscutter.net.proto.MpPlayRewardOuterClass.MpPlayReward.getDefaultInstance();
          } else {
            if (contentCase_ == 42) {
              return mpPlayRewardBuilder_.getMessage();
            }
            return emu.grasscutter.net.proto.MpPlayRewardOuterClass.MpPlayReward.getDefaultInstance();
          }
        }
        /**
         * <code>.MpPlayReward mp_play_reward = 42;</code>
         */
        public Builder setMpPlayReward(emu.grasscutter.net.proto.MpPlayRewardOuterClass.MpPlayReward value) {
          if (mpPlayRewardBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            content_ = value;
            onChanged();
          } else {
            mpPlayRewardBuilder_.setMessage(value);
          }
          contentCase_ = 42;
          return this;
        }
        /**
         * <code>.MpPlayReward mp_play_reward = 42;</code>
         */
        public Builder setMpPlayReward(
            emu.grasscutter.net.proto.MpPlayRewardOuterClass.MpPlayReward.Builder builderForValue) {
          if (mpPlayRewardBuilder_ == null) {
            content_ = builderForValue.build();
            onChanged();
          } else {
            mpPlayRewardBuilder_.setMessage(builderForValue.build());
          }
          contentCase_ = 42;
          return this;
        }
        /**
         * <code>.MpPlayReward mp_play_reward = 42;</code>
         */
        public Builder mergeMpPlayReward(emu.grasscutter.net.proto.MpPlayRewardOuterClass.MpPlayReward value) {
          if (mpPlayRewardBuilder_ == null) {
            if (contentCase_ == 42 &&
                content_ != emu.grasscutter.net.proto.MpPlayRewardOuterClass.MpPlayReward.getDefaultInstance()) {
              content_ = emu.grasscutter.net.proto.MpPlayRewardOuterClass.MpPlayReward.newBuilder((emu.grasscutter.net.proto.MpPlayRewardOuterClass.MpPlayReward) content_)
                  .mergeFrom(value).buildPartial();
            } else {
              content_ = value;
            }
            onChanged();
          } else {
            if (contentCase_ == 42) {
              mpPlayRewardBuilder_.mergeFrom(value);
            }
            mpPlayRewardBuilder_.setMessage(value);
          }
          contentCase_ = 42;
          return this;
        }
        /**
         * <code>.MpPlayReward 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>.MpPlayReward mp_play_reward = 42;</code>
         */
        public emu.grasscutter.net.proto.MpPlayRewardOuterClass.MpPlayReward.Builder getMpPlayRewardBuilder() {
          return getMpPlayRewardFieldBuilder().getBuilder();
        }
        /**
         * <code>.MpPlayReward mp_play_reward = 42;</code>
         */
        @java.lang.Override
        public emu.grasscutter.net.proto.MpPlayRewardOuterClass.MpPlayRewardOrBuilder getMpPlayRewardOrBuilder() {
          if ((contentCase_ == 42) && (mpPlayRewardBuilder_ != null)) {
            return mpPlayRewardBuilder_.getMessageOrBuilder();
          } else {
            if (contentCase_ == 42) {
              return (emu.grasscutter.net.proto.MpPlayRewardOuterClass.MpPlayReward) content_;
            }
            return emu.grasscutter.net.proto.MpPlayRewardOuterClass.MpPlayReward.getDefaultInstance();
          }
        }
        /**
         * <code>.MpPlayReward mp_play_reward = 42;</code>
         */
        private com.google.protobuf.SingleFieldBuilderV3<
            emu.grasscutter.net.proto.MpPlayRewardOuterClass.MpPlayReward, emu.grasscutter.net.proto.MpPlayRewardOuterClass.MpPlayReward.Builder, emu.grasscutter.net.proto.MpPlayRewardOuterClass.MpPlayRewardOrBuilder> 
            getMpPlayRewardFieldBuilder() {
          if (mpPlayRewardBuilder_ == null) {
            if (!(contentCase_ == 42)) {
              content_ = emu.grasscutter.net.proto.MpPlayRewardOuterClass.MpPlayReward.getDefaultInstance();
            }
            mpPlayRewardBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
                emu.grasscutter.net.proto.MpPlayRewardOuterClass.MpPlayReward, emu.grasscutter.net.proto.MpPlayRewardOuterClass.MpPlayReward.Builder, emu.grasscutter.net.proto.MpPlayRewardOuterClass.MpPlayRewardOrBuilder>(
                    (emu.grasscutter.net.proto.MpPlayRewardOuterClass.MpPlayReward) content_,
                    getParentForChildren(),
                    isClean());
            content_ = null;
          }
          contentCase_ = 42;
          onChanged();;
          return mpPlayRewardBuilder_;
        }
  
        private com.google.protobuf.SingleFieldBuilderV3<
            emu.grasscutter.net.proto.GeneralRewardOuterClass.GeneralReward, emu.grasscutter.net.proto.GeneralRewardOuterClass.GeneralReward.Builder, emu.grasscutter.net.proto.GeneralRewardOuterClass.GeneralRewardOrBuilder> generalRewardBuilder_;
        /**
         * <code>.GeneralReward general_reward = 43;</code>
         * @return Whether the generalReward field is set.
         */
        @java.lang.Override
        public boolean hasGeneralReward() {
          return contentCase_ == 43;
        }
        /**
         * <code>.GeneralReward general_reward = 43;</code>
         * @return The generalReward.
         */
        @java.lang.Override
        public emu.grasscutter.net.proto.GeneralRewardOuterClass.GeneralReward getGeneralReward() {
          if (generalRewardBuilder_ == null) {
            if (contentCase_ == 43) {
              return (emu.grasscutter.net.proto.GeneralRewardOuterClass.GeneralReward) content_;
            }
            return emu.grasscutter.net.proto.GeneralRewardOuterClass.GeneralReward.getDefaultInstance();
          } else {
            if (contentCase_ == 43) {
              return generalRewardBuilder_.getMessage();
            }
            return emu.grasscutter.net.proto.GeneralRewardOuterClass.GeneralReward.getDefaultInstance();
          }
        }
        /**
         * <code>.GeneralReward general_reward = 43;</code>
         */
        public Builder setGeneralReward(emu.grasscutter.net.proto.GeneralRewardOuterClass.GeneralReward value) {
          if (generalRewardBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            content_ = value;
            onChanged();
          } else {
            generalRewardBuilder_.setMessage(value);
          }
          contentCase_ = 43;
          return this;
        }
        /**
         * <code>.GeneralReward general_reward = 43;</code>
         */
        public Builder setGeneralReward(
            emu.grasscutter.net.proto.GeneralRewardOuterClass.GeneralReward.Builder builderForValue) {
          if (generalRewardBuilder_ == null) {
            content_ = builderForValue.build();
            onChanged();
          } else {
            generalRewardBuilder_.setMessage(builderForValue.build());
          }
          contentCase_ = 43;
          return this;
        }
        /**
         * <code>.GeneralReward general_reward = 43;</code>
         */
        public Builder mergeGeneralReward(emu.grasscutter.net.proto.GeneralRewardOuterClass.GeneralReward value) {
          if (generalRewardBuilder_ == null) {
            if (contentCase_ == 43 &&
                content_ != emu.grasscutter.net.proto.GeneralRewardOuterClass.GeneralReward.getDefaultInstance()) {
              content_ = emu.grasscutter.net.proto.GeneralRewardOuterClass.GeneralReward.newBuilder((emu.grasscutter.net.proto.GeneralRewardOuterClass.GeneralReward) content_)
                  .mergeFrom(value).buildPartial();
            } else {
              content_ = value;
            }
            onChanged();
          } else {
            if (contentCase_ == 43) {
              generalRewardBuilder_.mergeFrom(value);
            }
            generalRewardBuilder_.setMessage(value);
          }
          contentCase_ = 43;
          return this;
        }
        /**
         * <code>.GeneralReward 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>.GeneralReward general_reward = 43;</code>
         */
        public emu.grasscutter.net.proto.GeneralRewardOuterClass.GeneralReward.Builder getGeneralRewardBuilder() {
          return getGeneralRewardFieldBuilder().getBuilder();
        }
        /**
         * <code>.GeneralReward general_reward = 43;</code>
         */
        @java.lang.Override
        public emu.grasscutter.net.proto.GeneralRewardOuterClass.GeneralRewardOrBuilder getGeneralRewardOrBuilder() {
          if ((contentCase_ == 43) && (generalRewardBuilder_ != null)) {
            return generalRewardBuilder_.getMessageOrBuilder();
          } else {
            if (contentCase_ == 43) {
              return (emu.grasscutter.net.proto.GeneralRewardOuterClass.GeneralReward) content_;
            }
            return emu.grasscutter.net.proto.GeneralRewardOuterClass.GeneralReward.getDefaultInstance();
          }
        }
        /**
         * <code>.GeneralReward general_reward = 43;</code>
         */
        private com.google.protobuf.SingleFieldBuilderV3<
            emu.grasscutter.net.proto.GeneralRewardOuterClass.GeneralReward, emu.grasscutter.net.proto.GeneralRewardOuterClass.GeneralReward.Builder, emu.grasscutter.net.proto.GeneralRewardOuterClass.GeneralRewardOrBuilder> 
            getGeneralRewardFieldBuilder() {
          if (generalRewardBuilder_ == null) {
            if (!(contentCase_ == 43)) {
              content_ = emu.grasscutter.net.proto.GeneralRewardOuterClass.GeneralReward.getDefaultInstance();
            }
            generalRewardBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
                emu.grasscutter.net.proto.GeneralRewardOuterClass.GeneralReward, emu.grasscutter.net.proto.GeneralRewardOuterClass.GeneralReward.Builder, emu.grasscutter.net.proto.GeneralRewardOuterClass.GeneralRewardOrBuilder>(
                    (emu.grasscutter.net.proto.GeneralRewardOuterClass.GeneralReward) content_,
                    getParentForChildren(),
                    isClean());
            content_ = null;
          }
          contentCase_ = 43;
          onChanged();;
          return generalRewardBuilder_;
        }
  
        private com.google.protobuf.SingleFieldBuilderV3<
            emu.grasscutter.net.proto.OfferingInfoOuterClass.OfferingInfo, emu.grasscutter.net.proto.OfferingInfoOuterClass.OfferingInfo.Builder, emu.grasscutter.net.proto.OfferingInfoOuterClass.OfferingInfoOrBuilder> offeringInfoBuilder_;
        /**
         * <code>.OfferingInfo offering_info = 44;</code>
         * @return Whether the offeringInfo field is set.
         */
        @java.lang.Override
        public boolean hasOfferingInfo() {
          return contentCase_ == 44;
        }
        /**
         * <code>.OfferingInfo offering_info = 44;</code>
         * @return The offeringInfo.
         */
        @java.lang.Override
        public emu.grasscutter.net.proto.OfferingInfoOuterClass.OfferingInfo getOfferingInfo() {
          if (offeringInfoBuilder_ == null) {
            if (contentCase_ == 44) {
              return (emu.grasscutter.net.proto.OfferingInfoOuterClass.OfferingInfo) content_;
            }
            return emu.grasscutter.net.proto.OfferingInfoOuterClass.OfferingInfo.getDefaultInstance();
          } else {
            if (contentCase_ == 44) {
              return offeringInfoBuilder_.getMessage();
            }
            return emu.grasscutter.net.proto.OfferingInfoOuterClass.OfferingInfo.getDefaultInstance();
          }
        }
        /**
         * <code>.OfferingInfo offering_info = 44;</code>
         */
        public Builder setOfferingInfo(emu.grasscutter.net.proto.OfferingInfoOuterClass.OfferingInfo value) {
          if (offeringInfoBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            content_ = value;
            onChanged();
          } else {
            offeringInfoBuilder_.setMessage(value);
          }
          contentCase_ = 44;
          return this;
        }
        /**
         * <code>.OfferingInfo offering_info = 44;</code>
         */
        public Builder setOfferingInfo(
            emu.grasscutter.net.proto.OfferingInfoOuterClass.OfferingInfo.Builder builderForValue) {
          if (offeringInfoBuilder_ == null) {
            content_ = builderForValue.build();
            onChanged();
          } else {
            offeringInfoBuilder_.setMessage(builderForValue.build());
          }
          contentCase_ = 44;
          return this;
        }
        /**
         * <code>.OfferingInfo offering_info = 44;</code>
         */
        public Builder mergeOfferingInfo(emu.grasscutter.net.proto.OfferingInfoOuterClass.OfferingInfo value) {
          if (offeringInfoBuilder_ == null) {
            if (contentCase_ == 44 &&
                content_ != emu.grasscutter.net.proto.OfferingInfoOuterClass.OfferingInfo.getDefaultInstance()) {
              content_ = emu.grasscutter.net.proto.OfferingInfoOuterClass.OfferingInfo.newBuilder((emu.grasscutter.net.proto.OfferingInfoOuterClass.OfferingInfo) content_)
                  .mergeFrom(value).buildPartial();
            } else {
              content_ = value;
            }
            onChanged();
          } else {
            if (contentCase_ == 44) {
              offeringInfoBuilder_.mergeFrom(value);
            }
            offeringInfoBuilder_.setMessage(value);
          }
          contentCase_ = 44;
          return this;
        }
        /**
         * <code>.OfferingInfo 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>.OfferingInfo offering_info = 44;</code>
         */
        public emu.grasscutter.net.proto.OfferingInfoOuterClass.OfferingInfo.Builder getOfferingInfoBuilder() {
          return getOfferingInfoFieldBuilder().getBuilder();
        }
        /**
         * <code>.OfferingInfo offering_info = 44;</code>
         */
        @java.lang.Override
        public emu.grasscutter.net.proto.OfferingInfoOuterClass.OfferingInfoOrBuilder getOfferingInfoOrBuilder() {
          if ((contentCase_ == 44) && (offeringInfoBuilder_ != null)) {
            return offeringInfoBuilder_.getMessageOrBuilder();
          } else {
            if (contentCase_ == 44) {
              return (emu.grasscutter.net.proto.OfferingInfoOuterClass.OfferingInfo) content_;
            }
            return emu.grasscutter.net.proto.OfferingInfoOuterClass.OfferingInfo.getDefaultInstance();
          }
        }
        /**
         * <code>.OfferingInfo offering_info = 44;</code>
         */
        private com.google.protobuf.SingleFieldBuilderV3<
            emu.grasscutter.net.proto.OfferingInfoOuterClass.OfferingInfo, emu.grasscutter.net.proto.OfferingInfoOuterClass.OfferingInfo.Builder, emu.grasscutter.net.proto.OfferingInfoOuterClass.OfferingInfoOrBuilder> 
            getOfferingInfoFieldBuilder() {
          if (offeringInfoBuilder_ == null) {
            if (!(contentCase_ == 44)) {
              content_ = emu.grasscutter.net.proto.OfferingInfoOuterClass.OfferingInfo.getDefaultInstance();
            }
            offeringInfoBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
                emu.grasscutter.net.proto.OfferingInfoOuterClass.OfferingInfo, emu.grasscutter.net.proto.OfferingInfoOuterClass.OfferingInfo.Builder, emu.grasscutter.net.proto.OfferingInfoOuterClass.OfferingInfoOrBuilder>(
                    (emu.grasscutter.net.proto.OfferingInfoOuterClass.OfferingInfo) content_,
                    getParentForChildren(),
                    isClean());
            content_ = null;
          }
          contentCase_ = 44;
          onChanged();;
          return offeringInfoBuilder_;
        }
  
        private com.google.protobuf.SingleFieldBuilderV3<
            emu.grasscutter.net.proto.FoundationInfoOuterClass.FoundationInfo, emu.grasscutter.net.proto.FoundationInfoOuterClass.FoundationInfo.Builder, emu.grasscutter.net.proto.FoundationInfoOuterClass.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 emu.grasscutter.net.proto.FoundationInfoOuterClass.FoundationInfo getFoundationInfo() {
          if (foundationInfoBuilder_ == null) {
            if (contentCase_ == 45) {
              return (emu.grasscutter.net.proto.FoundationInfoOuterClass.FoundationInfo) content_;
            }
            return emu.grasscutter.net.proto.FoundationInfoOuterClass.FoundationInfo.getDefaultInstance();
          } else {
            if (contentCase_ == 45) {
              return foundationInfoBuilder_.getMessage();
            }
            return emu.grasscutter.net.proto.FoundationInfoOuterClass.FoundationInfo.getDefaultInstance();
          }
        }
        /**
         * <code>.FoundationInfo foundation_info = 45;</code>
         */
        public Builder setFoundationInfo(emu.grasscutter.net.proto.FoundationInfoOuterClass.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(
            emu.grasscutter.net.proto.FoundationInfoOuterClass.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(emu.grasscutter.net.proto.FoundationInfoOuterClass.FoundationInfo value) {
          if (foundationInfoBuilder_ == null) {
            if (contentCase_ == 45 &&
                content_ != emu.grasscutter.net.proto.FoundationInfoOuterClass.FoundationInfo.getDefaultInstance()) {
              content_ = emu.grasscutter.net.proto.FoundationInfoOuterClass.FoundationInfo.newBuilder((emu.grasscutter.net.proto.FoundationInfoOuterClass.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 emu.grasscutter.net.proto.FoundationInfoOuterClass.FoundationInfo.Builder getFoundationInfoBuilder() {
          return getFoundationInfoFieldBuilder().getBuilder();
        }
        /**
         * <code>.FoundationInfo foundation_info = 45;</code>
         */
        @java.lang.Override
        public emu.grasscutter.net.proto.FoundationInfoOuterClass.FoundationInfoOrBuilder getFoundationInfoOrBuilder() {
          if ((contentCase_ == 45) && (foundationInfoBuilder_ != null)) {
            return foundationInfoBuilder_.getMessageOrBuilder();
          } else {
            if (contentCase_ == 45) {
              return (emu.grasscutter.net.proto.FoundationInfoOuterClass.FoundationInfo) content_;
            }
            return emu.grasscutter.net.proto.FoundationInfoOuterClass.FoundationInfo.getDefaultInstance();
          }
        }
        /**
         * <code>.FoundationInfo foundation_info = 45;</code>
         */
        private com.google.protobuf.SingleFieldBuilderV3<
            emu.grasscutter.net.proto.FoundationInfoOuterClass.FoundationInfo, emu.grasscutter.net.proto.FoundationInfoOuterClass.FoundationInfo.Builder, emu.grasscutter.net.proto.FoundationInfoOuterClass.FoundationInfoOrBuilder> 
            getFoundationInfoFieldBuilder() {
          if (foundationInfoBuilder_ == null) {
            if (!(contentCase_ == 45)) {
              content_ = emu.grasscutter.net.proto.FoundationInfoOuterClass.FoundationInfo.getDefaultInstance();
            }
            foundationInfoBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
                emu.grasscutter.net.proto.FoundationInfoOuterClass.FoundationInfo, emu.grasscutter.net.proto.FoundationInfoOuterClass.FoundationInfo.Builder, emu.grasscutter.net.proto.FoundationInfoOuterClass.FoundationInfoOrBuilder>(
                    (emu.grasscutter.net.proto.FoundationInfoOuterClass.FoundationInfo) content_,
                    getParentForChildren(),
                    isClean());
            content_ = null;
          }
          contentCase_ = 45;
          onChanged();;
          return foundationInfoBuilder_;
        }
  
        private com.google.protobuf.SingleFieldBuilderV3<
            emu.grasscutter.net.proto.VehicleInfoOuterClass.VehicleInfo, emu.grasscutter.net.proto.VehicleInfoOuterClass.VehicleInfo.Builder, emu.grasscutter.net.proto.VehicleInfoOuterClass.VehicleInfoOrBuilder> vehicleInfoBuilder_;
        /**
         * <code>.VehicleInfo vehicle_info = 46;</code>
         * @return Whether the vehicleInfo field is set.
         */
        @java.lang.Override
        public boolean hasVehicleInfo() {
          return contentCase_ == 46;
        }
        /**
         * <code>.VehicleInfo vehicle_info = 46;</code>
         * @return The vehicleInfo.
         */
        @java.lang.Override
        public emu.grasscutter.net.proto.VehicleInfoOuterClass.VehicleInfo getVehicleInfo() {
          if (vehicleInfoBuilder_ == null) {
            if (contentCase_ == 46) {
              return (emu.grasscutter.net.proto.VehicleInfoOuterClass.VehicleInfo) content_;
            }
            return emu.grasscutter.net.proto.VehicleInfoOuterClass.VehicleInfo.getDefaultInstance();
          } else {
            if (contentCase_ == 46) {
              return vehicleInfoBuilder_.getMessage();
            }
            return emu.grasscutter.net.proto.VehicleInfoOuterClass.VehicleInfo.getDefaultInstance();
          }
        }
        /**
         * <code>.VehicleInfo vehicle_info = 46;</code>
         */
        public Builder setVehicleInfo(emu.grasscutter.net.proto.VehicleInfoOuterClass.VehicleInfo value) {
          if (vehicleInfoBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            content_ = value;
            onChanged();
          } else {
            vehicleInfoBuilder_.setMessage(value);
          }
          contentCase_ = 46;
          return this;
        }
        /**
         * <code>.VehicleInfo vehicle_info = 46;</code>
         */
        public Builder setVehicleInfo(
            emu.grasscutter.net.proto.VehicleInfoOuterClass.VehicleInfo.Builder builderForValue) {
          if (vehicleInfoBuilder_ == null) {
            content_ = builderForValue.build();
            onChanged();
          } else {
            vehicleInfoBuilder_.setMessage(builderForValue.build());
          }
          contentCase_ = 46;
          return this;
        }
        /**
         * <code>.VehicleInfo vehicle_info = 46;</code>
         */
        public Builder mergeVehicleInfo(emu.grasscutter.net.proto.VehicleInfoOuterClass.VehicleInfo value) {
          if (vehicleInfoBuilder_ == null) {
            if (contentCase_ == 46 &&
                content_ != emu.grasscutter.net.proto.VehicleInfoOuterClass.VehicleInfo.getDefaultInstance()) {
              content_ = emu.grasscutter.net.proto.VehicleInfoOuterClass.VehicleInfo.newBuilder((emu.grasscutter.net.proto.VehicleInfoOuterClass.VehicleInfo) content_)
                  .mergeFrom(value).buildPartial();
            } else {
              content_ = value;
            }
            onChanged();
          } else {
            if (contentCase_ == 46) {
              vehicleInfoBuilder_.mergeFrom(value);
            }
            vehicleInfoBuilder_.setMessage(value);
          }
          contentCase_ = 46;
          return this;
        }
        /**
         * <code>.VehicleInfo 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>.VehicleInfo vehicle_info = 46;</code>
         */
        public emu.grasscutter.net.proto.VehicleInfoOuterClass.VehicleInfo.Builder getVehicleInfoBuilder() {
          return getVehicleInfoFieldBuilder().getBuilder();
        }
        /**
         * <code>.VehicleInfo vehicle_info = 46;</code>
         */
        @java.lang.Override
        public emu.grasscutter.net.proto.VehicleInfoOuterClass.VehicleInfoOrBuilder getVehicleInfoOrBuilder() {
          if ((contentCase_ == 46) && (vehicleInfoBuilder_ != null)) {
            return vehicleInfoBuilder_.getMessageOrBuilder();
          } else {
            if (contentCase_ == 46) {
              return (emu.grasscutter.net.proto.VehicleInfoOuterClass.VehicleInfo) content_;
            }
            return emu.grasscutter.net.proto.VehicleInfoOuterClass.VehicleInfo.getDefaultInstance();
          }
        }
        /**
         * <code>.VehicleInfo vehicle_info = 46;</code>
         */
        private com.google.protobuf.SingleFieldBuilderV3<
            emu.grasscutter.net.proto.VehicleInfoOuterClass.VehicleInfo, emu.grasscutter.net.proto.VehicleInfoOuterClass.VehicleInfo.Builder, emu.grasscutter.net.proto.VehicleInfoOuterClass.VehicleInfoOrBuilder> 
            getVehicleInfoFieldBuilder() {
          if (vehicleInfoBuilder_ == null) {
            if (!(contentCase_ == 46)) {
              content_ = emu.grasscutter.net.proto.VehicleInfoOuterClass.VehicleInfo.getDefaultInstance();
            }
            vehicleInfoBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
                emu.grasscutter.net.proto.VehicleInfoOuterClass.VehicleInfo, emu.grasscutter.net.proto.VehicleInfoOuterClass.VehicleInfo.Builder, emu.grasscutter.net.proto.VehicleInfoOuterClass.VehicleInfoOrBuilder>(
                    (emu.grasscutter.net.proto.VehicleInfoOuterClass.VehicleInfo) content_,
                    getParentForChildren(),
                    isClean());
            content_ = null;
          }
          contentCase_ = 46;
          onChanged();;
          return vehicleInfoBuilder_;
        }
  
        private com.google.protobuf.SingleFieldBuilderV3<
            emu.grasscutter.net.proto.ShellInfoOuterClass.ShellInfo, emu.grasscutter.net.proto.ShellInfoOuterClass.ShellInfo.Builder, emu.grasscutter.net.proto.ShellInfoOuterClass.ShellInfoOrBuilder> shellInfoBuilder_;
        /**
         * <code>.ShellInfo shell_info = 47;</code>
         * @return Whether the shellInfo field is set.
         */
        @java.lang.Override
        public boolean hasShellInfo() {
          return contentCase_ == 47;
        }
        /**
         * <code>.ShellInfo shell_info = 47;</code>
         * @return The shellInfo.
         */
        @java.lang.Override
        public emu.grasscutter.net.proto.ShellInfoOuterClass.ShellInfo getShellInfo() {
          if (shellInfoBuilder_ == null) {
            if (contentCase_ == 47) {
              return (emu.grasscutter.net.proto.ShellInfoOuterClass.ShellInfo) content_;
            }
            return emu.grasscutter.net.proto.ShellInfoOuterClass.ShellInfo.getDefaultInstance();
          } else {
            if (contentCase_ == 47) {
              return shellInfoBuilder_.getMessage();
            }
            return emu.grasscutter.net.proto.ShellInfoOuterClass.ShellInfo.getDefaultInstance();
          }
        }
        /**
         * <code>.ShellInfo shell_info = 47;</code>
         */
        public Builder setShellInfo(emu.grasscutter.net.proto.ShellInfoOuterClass.ShellInfo value) {
          if (shellInfoBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            content_ = value;
            onChanged();
          } else {
            shellInfoBuilder_.setMessage(value);
          }
          contentCase_ = 47;
          return this;
        }
        /**
         * <code>.ShellInfo shell_info = 47;</code>
         */
        public Builder setShellInfo(
            emu.grasscutter.net.proto.ShellInfoOuterClass.ShellInfo.Builder builderForValue) {
          if (shellInfoBuilder_ == null) {
            content_ = builderForValue.build();
            onChanged();
          } else {
            shellInfoBuilder_.setMessage(builderForValue.build());
          }
          contentCase_ = 47;
          return this;
        }
        /**
         * <code>.ShellInfo shell_info = 47;</code>
         */
        public Builder mergeShellInfo(emu.grasscutter.net.proto.ShellInfoOuterClass.ShellInfo value) {
          if (shellInfoBuilder_ == null) {
            if (contentCase_ == 47 &&
                content_ != emu.grasscutter.net.proto.ShellInfoOuterClass.ShellInfo.getDefaultInstance()) {
              content_ = emu.grasscutter.net.proto.ShellInfoOuterClass.ShellInfo.newBuilder((emu.grasscutter.net.proto.ShellInfoOuterClass.ShellInfo) content_)
                  .mergeFrom(value).buildPartial();
            } else {
              content_ = value;
            }
            onChanged();
          } else {
            if (contentCase_ == 47) {
              shellInfoBuilder_.mergeFrom(value);
            }
            shellInfoBuilder_.setMessage(value);
          }
          contentCase_ = 47;
          return this;
        }
        /**
         * <code>.ShellInfo 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>.ShellInfo shell_info = 47;</code>
         */
        public emu.grasscutter.net.proto.ShellInfoOuterClass.ShellInfo.Builder getShellInfoBuilder() {
          return getShellInfoFieldBuilder().getBuilder();
        }
        /**
         * <code>.ShellInfo shell_info = 47;</code>
         */
        @java.lang.Override
        public emu.grasscutter.net.proto.ShellInfoOuterClass.ShellInfoOrBuilder getShellInfoOrBuilder() {
          if ((contentCase_ == 47) && (shellInfoBuilder_ != null)) {
            return shellInfoBuilder_.getMessageOrBuilder();
          } else {
            if (contentCase_ == 47) {
              return (emu.grasscutter.net.proto.ShellInfoOuterClass.ShellInfo) content_;
            }
            return emu.grasscutter.net.proto.ShellInfoOuterClass.ShellInfo.getDefaultInstance();
          }
        }
        /**
         * <code>.ShellInfo shell_info = 47;</code>
         */
        private com.google.protobuf.SingleFieldBuilderV3<
            emu.grasscutter.net.proto.ShellInfoOuterClass.ShellInfo, emu.grasscutter.net.proto.ShellInfoOuterClass.ShellInfo.Builder, emu.grasscutter.net.proto.ShellInfoOuterClass.ShellInfoOrBuilder> 
            getShellInfoFieldBuilder() {
          if (shellInfoBuilder_ == null) {
            if (!(contentCase_ == 47)) {
              content_ = emu.grasscutter.net.proto.ShellInfoOuterClass.ShellInfo.getDefaultInstance();
            }
            shellInfoBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
                emu.grasscutter.net.proto.ShellInfoOuterClass.ShellInfo, emu.grasscutter.net.proto.ShellInfoOuterClass.ShellInfo.Builder, emu.grasscutter.net.proto.ShellInfoOuterClass.ShellInfoOrBuilder>(
                    (emu.grasscutter.net.proto.ShellInfoOuterClass.ShellInfo) content_,
                    getParentForChildren(),
                    isClean());
            content_ = null;
          }
          contentCase_ = 47;
          onChanged();;
          return shellInfoBuilder_;
        }
  
        private com.google.protobuf.SingleFieldBuilderV3<
            emu.grasscutter.net.proto.ScreenInfoOuterClass.ScreenInfo, emu.grasscutter.net.proto.ScreenInfoOuterClass.ScreenInfo.Builder, emu.grasscutter.net.proto.ScreenInfoOuterClass.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 emu.grasscutter.net.proto.ScreenInfoOuterClass.ScreenInfo getScreenInfo() {
          if (screenInfoBuilder_ == null) {
            if (contentCase_ == 48) {
              return (emu.grasscutter.net.proto.ScreenInfoOuterClass.ScreenInfo) content_;
            }
            return emu.grasscutter.net.proto.ScreenInfoOuterClass.ScreenInfo.getDefaultInstance();
          } else {
            if (contentCase_ == 48) {
              return screenInfoBuilder_.getMessage();
            }
            return emu.grasscutter.net.proto.ScreenInfoOuterClass.ScreenInfo.getDefaultInstance();
          }
        }
        /**
         * <code>.ScreenInfo screen_info = 48;</code>
         */
        public Builder setScreenInfo(emu.grasscutter.net.proto.ScreenInfoOuterClass.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(
            emu.grasscutter.net.proto.ScreenInfoOuterClass.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(emu.grasscutter.net.proto.ScreenInfoOuterClass.ScreenInfo value) {
          if (screenInfoBuilder_ == null) {
            if (contentCase_ == 48 &&
                content_ != emu.grasscutter.net.proto.ScreenInfoOuterClass.ScreenInfo.getDefaultInstance()) {
              content_ = emu.grasscutter.net.proto.ScreenInfoOuterClass.ScreenInfo.newBuilder((emu.grasscutter.net.proto.ScreenInfoOuterClass.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 emu.grasscutter.net.proto.ScreenInfoOuterClass.ScreenInfo.Builder getScreenInfoBuilder() {
          return getScreenInfoFieldBuilder().getBuilder();
        }
        /**
         * <code>.ScreenInfo screen_info = 48;</code>
         */
        @java.lang.Override
        public emu.grasscutter.net.proto.ScreenInfoOuterClass.ScreenInfoOrBuilder getScreenInfoOrBuilder() {
          if ((contentCase_ == 48) && (screenInfoBuilder_ != null)) {
            return screenInfoBuilder_.getMessageOrBuilder();
          } else {
            if (contentCase_ == 48) {
              return (emu.grasscutter.net.proto.ScreenInfoOuterClass.ScreenInfo) content_;
            }
            return emu.grasscutter.net.proto.ScreenInfoOuterClass.ScreenInfo.getDefaultInstance();
          }
        }
        /**
         * <code>.ScreenInfo screen_info = 48;</code>
         */
        private com.google.protobuf.SingleFieldBuilderV3<
            emu.grasscutter.net.proto.ScreenInfoOuterClass.ScreenInfo, emu.grasscutter.net.proto.ScreenInfoOuterClass.ScreenInfo.Builder, emu.grasscutter.net.proto.ScreenInfoOuterClass.ScreenInfoOrBuilder> 
            getScreenInfoFieldBuilder() {
          if (screenInfoBuilder_ == null) {
            if (!(contentCase_ == 48)) {
              content_ = emu.grasscutter.net.proto.ScreenInfoOuterClass.ScreenInfo.getDefaultInstance();
            }
            screenInfoBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
                emu.grasscutter.net.proto.ScreenInfoOuterClass.ScreenInfo, emu.grasscutter.net.proto.ScreenInfoOuterClass.ScreenInfo.Builder, emu.grasscutter.net.proto.ScreenInfoOuterClass.ScreenInfoOrBuilder>(
                    (emu.grasscutter.net.proto.ScreenInfoOuterClass.ScreenInfo) content_,
                    getParentForChildren(),
                    isClean());
            content_ = null;
          }
          contentCase_ = 48;
          onChanged();;
          return screenInfoBuilder_;
        }
  
        private com.google.protobuf.SingleFieldBuilderV3<
            emu.grasscutter.net.proto.FishPoolInfoOuterClass.FishPoolInfo, emu.grasscutter.net.proto.FishPoolInfoOuterClass.FishPoolInfo.Builder, emu.grasscutter.net.proto.FishPoolInfoOuterClass.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 emu.grasscutter.net.proto.FishPoolInfoOuterClass.FishPoolInfo getFishPoolInfo() {
          if (fishPoolInfoBuilder_ == null) {
            if (contentCase_ == 59) {
              return (emu.grasscutter.net.proto.FishPoolInfoOuterClass.FishPoolInfo) content_;
            }
            return emu.grasscutter.net.proto.FishPoolInfoOuterClass.FishPoolInfo.getDefaultInstance();
          } else {
            if (contentCase_ == 59) {
              return fishPoolInfoBuilder_.getMessage();
            }
            return emu.grasscutter.net.proto.FishPoolInfoOuterClass.FishPoolInfo.getDefaultInstance();
          }
        }
        /**
         * <code>.FishPoolInfo fish_pool_info = 59;</code>
         */
        public Builder setFishPoolInfo(emu.grasscutter.net.proto.FishPoolInfoOuterClass.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(
            emu.grasscutter.net.proto.FishPoolInfoOuterClass.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(emu.grasscutter.net.proto.FishPoolInfoOuterClass.FishPoolInfo value) {
          if (fishPoolInfoBuilder_ == null) {
            if (contentCase_ == 59 &&
                content_ != emu.grasscutter.net.proto.FishPoolInfoOuterClass.FishPoolInfo.getDefaultInstance()) {
              content_ = emu.grasscutter.net.proto.FishPoolInfoOuterClass.FishPoolInfo.newBuilder((emu.grasscutter.net.proto.FishPoolInfoOuterClass.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 emu.grasscutter.net.proto.FishPoolInfoOuterClass.FishPoolInfo.Builder getFishPoolInfoBuilder() {
          return getFishPoolInfoFieldBuilder().getBuilder();
        }
        /**
         * <code>.FishPoolInfo fish_pool_info = 59;</code>
         */
        @java.lang.Override
        public emu.grasscutter.net.proto.FishPoolInfoOuterClass.FishPoolInfoOrBuilder getFishPoolInfoOrBuilder() {
          if ((contentCase_ == 59) && (fishPoolInfoBuilder_ != null)) {
            return fishPoolInfoBuilder_.getMessageOrBuilder();
          } else {
            if (contentCase_ == 59) {
              return (emu.grasscutter.net.proto.FishPoolInfoOuterClass.FishPoolInfo) content_;
            }
            return emu.grasscutter.net.proto.FishPoolInfoOuterClass.FishPoolInfo.getDefaultInstance();
          }
        }
        /**
         * <code>.FishPoolInfo fish_pool_info = 59;</code>
         */
        private com.google.protobuf.SingleFieldBuilderV3<
            emu.grasscutter.net.proto.FishPoolInfoOuterClass.FishPoolInfo, emu.grasscutter.net.proto.FishPoolInfoOuterClass.FishPoolInfo.Builder, emu.grasscutter.net.proto.FishPoolInfoOuterClass.FishPoolInfoOrBuilder> 
            getFishPoolInfoFieldBuilder() {
          if (fishPoolInfoBuilder_ == null) {
            if (!(contentCase_ == 59)) {
              content_ = emu.grasscutter.net.proto.FishPoolInfoOuterClass.FishPoolInfo.getDefaultInstance();
            }
            fishPoolInfoBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
                emu.grasscutter.net.proto.FishPoolInfoOuterClass.FishPoolInfo, emu.grasscutter.net.proto.FishPoolInfoOuterClass.FishPoolInfo.Builder, emu.grasscutter.net.proto.FishPoolInfoOuterClass.FishPoolInfoOrBuilder>(
                    (emu.grasscutter.net.proto.FishPoolInfoOuterClass.FishPoolInfo) content_,
                    getParentForChildren(),
                    isClean());
            content_ = null;
          }
          contentCase_ = 59;
          onChanged();;
          return fishPoolInfoBuilder_;
        }
  
        private com.google.protobuf.SingleFieldBuilderV3<
            emu.grasscutter.net.proto.CustomGadgetTreeInfoOuterClass.CustomGadgetTreeInfo, emu.grasscutter.net.proto.CustomGadgetTreeInfoOuterClass.CustomGadgetTreeInfo.Builder, emu.grasscutter.net.proto.CustomGadgetTreeInfoOuterClass.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 emu.grasscutter.net.proto.CustomGadgetTreeInfoOuterClass.CustomGadgetTreeInfo getCustomGadgetTreeInfo() {
          if (customGadgetTreeInfoBuilder_ == null) {
            if (contentCase_ == 60) {
              return (emu.grasscutter.net.proto.CustomGadgetTreeInfoOuterClass.CustomGadgetTreeInfo) content_;
            }
            return emu.grasscutter.net.proto.CustomGadgetTreeInfoOuterClass.CustomGadgetTreeInfo.getDefaultInstance();
          } else {
            if (contentCase_ == 60) {
              return customGadgetTreeInfoBuilder_.getMessage();
            }
            return emu.grasscutter.net.proto.CustomGadgetTreeInfoOuterClass.CustomGadgetTreeInfo.getDefaultInstance();
          }
        }
        /**
         * <code>.CustomGadgetTreeInfo custom_gadget_tree_info = 60;</code>
         */
        public Builder setCustomGadgetTreeInfo(emu.grasscutter.net.proto.CustomGadgetTreeInfoOuterClass.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(
            emu.grasscutter.net.proto.CustomGadgetTreeInfoOuterClass.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(emu.grasscutter.net.proto.CustomGadgetTreeInfoOuterClass.CustomGadgetTreeInfo value) {
          if (customGadgetTreeInfoBuilder_ == null) {
            if (contentCase_ == 60 &&
                content_ != emu.grasscutter.net.proto.CustomGadgetTreeInfoOuterClass.CustomGadgetTreeInfo.getDefaultInstance()) {
              content_ = emu.grasscutter.net.proto.CustomGadgetTreeInfoOuterClass.CustomGadgetTreeInfo.newBuilder((emu.grasscutter.net.proto.CustomGadgetTreeInfoOuterClass.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 emu.grasscutter.net.proto.CustomGadgetTreeInfoOuterClass.CustomGadgetTreeInfo.Builder getCustomGadgetTreeInfoBuilder() {
          return getCustomGadgetTreeInfoFieldBuilder().getBuilder();
        }
        /**
         * <code>.CustomGadgetTreeInfo custom_gadget_tree_info = 60;</code>
         */
        @java.lang.Override
        public emu.grasscutter.net.proto.CustomGadgetTreeInfoOuterClass.CustomGadgetTreeInfoOrBuilder getCustomGadgetTreeInfoOrBuilder() {
          if ((contentCase_ == 60) && (customGadgetTreeInfoBuilder_ != null)) {
            return customGadgetTreeInfoBuilder_.getMessageOrBuilder();
          } else {
            if (contentCase_ == 60) {
              return (emu.grasscutter.net.proto.CustomGadgetTreeInfoOuterClass.CustomGadgetTreeInfo) content_;
            }
            return emu.grasscutter.net.proto.CustomGadgetTreeInfoOuterClass.CustomGadgetTreeInfo.getDefaultInstance();
          }
        }
        /**
         * <code>.CustomGadgetTreeInfo custom_gadget_tree_info = 60;</code>
         */
        private com.google.protobuf.SingleFieldBuilderV3<
            emu.grasscutter.net.proto.CustomGadgetTreeInfoOuterClass.CustomGadgetTreeInfo, emu.grasscutter.net.proto.CustomGadgetTreeInfoOuterClass.CustomGadgetTreeInfo.Builder, emu.grasscutter.net.proto.CustomGadgetTreeInfoOuterClass.CustomGadgetTreeInfoOrBuilder> 
            getCustomGadgetTreeInfoFieldBuilder() {
          if (customGadgetTreeInfoBuilder_ == null) {
            if (!(contentCase_ == 60)) {
              content_ = emu.grasscutter.net.proto.CustomGadgetTreeInfoOuterClass.CustomGadgetTreeInfo.getDefaultInstance();
            }
            customGadgetTreeInfoBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
                emu.grasscutter.net.proto.CustomGadgetTreeInfoOuterClass.CustomGadgetTreeInfo, emu.grasscutter.net.proto.CustomGadgetTreeInfoOuterClass.CustomGadgetTreeInfo.Builder, emu.grasscutter.net.proto.CustomGadgetTreeInfoOuterClass.CustomGadgetTreeInfoOrBuilder>(
                    (emu.grasscutter.net.proto.CustomGadgetTreeInfoOuterClass.CustomGadgetTreeInfo) content_,
                    getParentForChildren(),
                    isClean());
            content_ = null;
          }
          contentCase_ = 60;
          onChanged();;
          return customGadgetTreeInfoBuilder_;
        }
  
        private com.google.protobuf.SingleFieldBuilderV3<
            emu.grasscutter.net.proto.RoguelikeGadgetInfoOuterClass.RoguelikeGadgetInfo, emu.grasscutter.net.proto.RoguelikeGadgetInfoOuterClass.RoguelikeGadgetInfo.Builder, emu.grasscutter.net.proto.RoguelikeGadgetInfoOuterClass.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 emu.grasscutter.net.proto.RoguelikeGadgetInfoOuterClass.RoguelikeGadgetInfo getRoguelikeGadgetInfo() {
          if (roguelikeGadgetInfoBuilder_ == null) {
            if (contentCase_ == 61) {
              return (emu.grasscutter.net.proto.RoguelikeGadgetInfoOuterClass.RoguelikeGadgetInfo) content_;
            }
            return emu.grasscutter.net.proto.RoguelikeGadgetInfoOuterClass.RoguelikeGadgetInfo.getDefaultInstance();
          } else {
            if (contentCase_ == 61) {
              return roguelikeGadgetInfoBuilder_.getMessage();
            }
            return emu.grasscutter.net.proto.RoguelikeGadgetInfoOuterClass.RoguelikeGadgetInfo.getDefaultInstance();
          }
        }
        /**
         * <code>.RoguelikeGadgetInfo roguelike_gadget_info = 61;</code>
         */
        public Builder setRoguelikeGadgetInfo(emu.grasscutter.net.proto.RoguelikeGadgetInfoOuterClass.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(
            emu.grasscutter.net.proto.RoguelikeGadgetInfoOuterClass.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(emu.grasscutter.net.proto.RoguelikeGadgetInfoOuterClass.RoguelikeGadgetInfo value) {
          if (roguelikeGadgetInfoBuilder_ == null) {
            if (contentCase_ == 61 &&
                content_ != emu.grasscutter.net.proto.RoguelikeGadgetInfoOuterClass.RoguelikeGadgetInfo.getDefaultInstance()) {
              content_ = emu.grasscutter.net.proto.RoguelikeGadgetInfoOuterClass.RoguelikeGadgetInfo.newBuilder((emu.grasscutter.net.proto.RoguelikeGadgetInfoOuterClass.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 emu.grasscutter.net.proto.RoguelikeGadgetInfoOuterClass.RoguelikeGadgetInfo.Builder getRoguelikeGadgetInfoBuilder() {
          return getRoguelikeGadgetInfoFieldBuilder().getBuilder();
        }
        /**
         * <code>.RoguelikeGadgetInfo roguelike_gadget_info = 61;</code>
         */
        @java.lang.Override
        public emu.grasscutter.net.proto.RoguelikeGadgetInfoOuterClass.RoguelikeGadgetInfoOrBuilder getRoguelikeGadgetInfoOrBuilder() {
          if ((contentCase_ == 61) && (roguelikeGadgetInfoBuilder_ != null)) {
            return roguelikeGadgetInfoBuilder_.getMessageOrBuilder();
          } else {
            if (contentCase_ == 61) {
              return (emu.grasscutter.net.proto.RoguelikeGadgetInfoOuterClass.RoguelikeGadgetInfo) content_;
            }
            return emu.grasscutter.net.proto.RoguelikeGadgetInfoOuterClass.RoguelikeGadgetInfo.getDefaultInstance();
          }
        }
        /**
         * <code>.RoguelikeGadgetInfo roguelike_gadget_info = 61;</code>
         */
        private com.google.protobuf.SingleFieldBuilderV3<
            emu.grasscutter.net.proto.RoguelikeGadgetInfoOuterClass.RoguelikeGadgetInfo, emu.grasscutter.net.proto.RoguelikeGadgetInfoOuterClass.RoguelikeGadgetInfo.Builder, emu.grasscutter.net.proto.RoguelikeGadgetInfoOuterClass.RoguelikeGadgetInfoOrBuilder> 
            getRoguelikeGadgetInfoFieldBuilder() {
          if (roguelikeGadgetInfoBuilder_ == null) {
            if (!(contentCase_ == 61)) {
              content_ = emu.grasscutter.net.proto.RoguelikeGadgetInfoOuterClass.RoguelikeGadgetInfo.getDefaultInstance();
            }
            roguelikeGadgetInfoBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
                emu.grasscutter.net.proto.RoguelikeGadgetInfoOuterClass.RoguelikeGadgetInfo, emu.grasscutter.net.proto.RoguelikeGadgetInfoOuterClass.RoguelikeGadgetInfo.Builder, emu.grasscutter.net.proto.RoguelikeGadgetInfoOuterClass.RoguelikeGadgetInfoOrBuilder>(
                    (emu.grasscutter.net.proto.RoguelikeGadgetInfoOuterClass.RoguelikeGadgetInfo) content_,
                    getParentForChildren(),
                    isClean());
            content_ = null;
          }
          contentCase_ = 61;
          onChanged();;
          return roguelikeGadgetInfoBuilder_;
        }
  
        private com.google.protobuf.SingleFieldBuilderV3<
            emu.grasscutter.net.proto.NightCrowGadgetInfoOuterClass.NightCrowGadgetInfo, emu.grasscutter.net.proto.NightCrowGadgetInfoOuterClass.NightCrowGadgetInfo.Builder, emu.grasscutter.net.proto.NightCrowGadgetInfoOuterClass.NightCrowGadgetInfoOrBuilder> nightCrowGadgetInfoBuilder_;
        /**
         * <code>.NightCrowGadgetInfo night_crow_gadget_info = 62;</code>
         * @return Whether the nightCrowGadgetInfo field is set.
         */
        @java.lang.Override
        public boolean hasNightCrowGadgetInfo() {
          return contentCase_ == 62;
        }
        /**
         * <code>.NightCrowGadgetInfo night_crow_gadget_info = 62;</code>
         * @return The nightCrowGadgetInfo.
         */
        @java.lang.Override
        public emu.grasscutter.net.proto.NightCrowGadgetInfoOuterClass.NightCrowGadgetInfo getNightCrowGadgetInfo() {
          if (nightCrowGadgetInfoBuilder_ == null) {
            if (contentCase_ == 62) {
              return (emu.grasscutter.net.proto.NightCrowGadgetInfoOuterClass.NightCrowGadgetInfo) content_;
            }
            return emu.grasscutter.net.proto.NightCrowGadgetInfoOuterClass.NightCrowGadgetInfo.getDefaultInstance();
          } else {
            if (contentCase_ == 62) {
              return nightCrowGadgetInfoBuilder_.getMessage();
            }
            return emu.grasscutter.net.proto.NightCrowGadgetInfoOuterClass.NightCrowGadgetInfo.getDefaultInstance();
          }
        }
        /**
         * <code>.NightCrowGadgetInfo night_crow_gadget_info = 62;</code>
         */
        public Builder setNightCrowGadgetInfo(emu.grasscutter.net.proto.NightCrowGadgetInfoOuterClass.NightCrowGadgetInfo value) {
          if (nightCrowGadgetInfoBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            content_ = value;
            onChanged();
          } else {
            nightCrowGadgetInfoBuilder_.setMessage(value);
          }
          contentCase_ = 62;
          return this;
        }
        /**
         * <code>.NightCrowGadgetInfo night_crow_gadget_info = 62;</code>
         */
        public Builder setNightCrowGadgetInfo(
            emu.grasscutter.net.proto.NightCrowGadgetInfoOuterClass.NightCrowGadgetInfo.Builder builderForValue) {
          if (nightCrowGadgetInfoBuilder_ == null) {
            content_ = builderForValue.build();
            onChanged();
          } else {
            nightCrowGadgetInfoBuilder_.setMessage(builderForValue.build());
          }
          contentCase_ = 62;
          return this;
        }
        /**
         * <code>.NightCrowGadgetInfo night_crow_gadget_info = 62;</code>
         */
        public Builder mergeNightCrowGadgetInfo(emu.grasscutter.net.proto.NightCrowGadgetInfoOuterClass.NightCrowGadgetInfo value) {
          if (nightCrowGadgetInfoBuilder_ == null) {
            if (contentCase_ == 62 &&
                content_ != emu.grasscutter.net.proto.NightCrowGadgetInfoOuterClass.NightCrowGadgetInfo.getDefaultInstance()) {
              content_ = emu.grasscutter.net.proto.NightCrowGadgetInfoOuterClass.NightCrowGadgetInfo.newBuilder((emu.grasscutter.net.proto.NightCrowGadgetInfoOuterClass.NightCrowGadgetInfo) content_)
                  .mergeFrom(value).buildPartial();
            } else {
              content_ = value;
            }
            onChanged();
          } else {
            if (contentCase_ == 62) {
              nightCrowGadgetInfoBuilder_.mergeFrom(value);
            }
            nightCrowGadgetInfoBuilder_.setMessage(value);
          }
          contentCase_ = 62;
          return this;
        }
        /**
         * <code>.NightCrowGadgetInfo 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>.NightCrowGadgetInfo night_crow_gadget_info = 62;</code>
         */
        public emu.grasscutter.net.proto.NightCrowGadgetInfoOuterClass.NightCrowGadgetInfo.Builder getNightCrowGadgetInfoBuilder() {
          return getNightCrowGadgetInfoFieldBuilder().getBuilder();
        }
        /**
         * <code>.NightCrowGadgetInfo night_crow_gadget_info = 62;</code>
         */
        @java.lang.Override
        public emu.grasscutter.net.proto.NightCrowGadgetInfoOuterClass.NightCrowGadgetInfoOrBuilder getNightCrowGadgetInfoOrBuilder() {
          if ((contentCase_ == 62) && (nightCrowGadgetInfoBuilder_ != null)) {
            return nightCrowGadgetInfoBuilder_.getMessageOrBuilder();
          } else {
            if (contentCase_ == 62) {
              return (emu.grasscutter.net.proto.NightCrowGadgetInfoOuterClass.NightCrowGadgetInfo) content_;
            }
            return emu.grasscutter.net.proto.NightCrowGadgetInfoOuterClass.NightCrowGadgetInfo.getDefaultInstance();
          }
        }
        /**
         * <code>.NightCrowGadgetInfo night_crow_gadget_info = 62;</code>
         */
        private com.google.protobuf.SingleFieldBuilderV3<
            emu.grasscutter.net.proto.NightCrowGadgetInfoOuterClass.NightCrowGadgetInfo, emu.grasscutter.net.proto.NightCrowGadgetInfoOuterClass.NightCrowGadgetInfo.Builder, emu.grasscutter.net.proto.NightCrowGadgetInfoOuterClass.NightCrowGadgetInfoOrBuilder> 
            getNightCrowGadgetInfoFieldBuilder() {
          if (nightCrowGadgetInfoBuilder_ == null) {
            if (!(contentCase_ == 62)) {
              content_ = emu.grasscutter.net.proto.NightCrowGadgetInfoOuterClass.NightCrowGadgetInfo.getDefaultInstance();
            }
            nightCrowGadgetInfoBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
                emu.grasscutter.net.proto.NightCrowGadgetInfoOuterClass.NightCrowGadgetInfo, emu.grasscutter.net.proto.NightCrowGadgetInfoOuterClass.NightCrowGadgetInfo.Builder, emu.grasscutter.net.proto.NightCrowGadgetInfoOuterClass.NightCrowGadgetInfoOrBuilder>(
                    (emu.grasscutter.net.proto.NightCrowGadgetInfoOuterClass.NightCrowGadgetInfo) content_,
                    getParentForChildren(),
                    isClean());
            content_ = null;
          }
          contentCase_ = 62;
          onChanged();;
          return nightCrowGadgetInfoBuilder_;
        }
  
        private com.google.protobuf.SingleFieldBuilderV3<
            emu.grasscutter.net.proto.DeshretObeliskGadgetInfoOuterClass.DeshretObeliskGadgetInfo, emu.grasscutter.net.proto.DeshretObeliskGadgetInfoOuterClass.DeshretObeliskGadgetInfo.Builder, emu.grasscutter.net.proto.DeshretObeliskGadgetInfoOuterClass.DeshretObeliskGadgetInfoOrBuilder> deshretObeliskGadgetInfoBuilder_;
        /**
         * <code>.DeshretObeliskGadgetInfo deshret_obelisk_gadget_info = 63;</code>
         * @return Whether the deshretObeliskGadgetInfo field is set.
         */
        @java.lang.Override
        public boolean hasDeshretObeliskGadgetInfo() {
          return contentCase_ == 63;
        }
        /**
         * <code>.DeshretObeliskGadgetInfo deshret_obelisk_gadget_info = 63;</code>
         * @return The deshretObeliskGadgetInfo.
         */
        @java.lang.Override
        public emu.grasscutter.net.proto.DeshretObeliskGadgetInfoOuterClass.DeshretObeliskGadgetInfo getDeshretObeliskGadgetInfo() {
          if (deshretObeliskGadgetInfoBuilder_ == null) {
            if (contentCase_ == 63) {
              return (emu.grasscutter.net.proto.DeshretObeliskGadgetInfoOuterClass.DeshretObeliskGadgetInfo) content_;
            }
            return emu.grasscutter.net.proto.DeshretObeliskGadgetInfoOuterClass.DeshretObeliskGadgetInfo.getDefaultInstance();
          } else {
            if (contentCase_ == 63) {
              return deshretObeliskGadgetInfoBuilder_.getMessage();
            }
            return emu.grasscutter.net.proto.DeshretObeliskGadgetInfoOuterClass.DeshretObeliskGadgetInfo.getDefaultInstance();
          }
        }
        /**
         * <code>.DeshretObeliskGadgetInfo deshret_obelisk_gadget_info = 63;</code>
         */
        public Builder setDeshretObeliskGadgetInfo(emu.grasscutter.net.proto.DeshretObeliskGadgetInfoOuterClass.DeshretObeliskGadgetInfo value) {
          if (deshretObeliskGadgetInfoBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            content_ = value;
            onChanged();
          } else {
            deshretObeliskGadgetInfoBuilder_.setMessage(value);
          }
          contentCase_ = 63;
          return this;
        }
        /**
         * <code>.DeshretObeliskGadgetInfo deshret_obelisk_gadget_info = 63;</code>
         */
        public Builder setDeshretObeliskGadgetInfo(
            emu.grasscutter.net.proto.DeshretObeliskGadgetInfoOuterClass.DeshretObeliskGadgetInfo.Builder builderForValue) {
          if (deshretObeliskGadgetInfoBuilder_ == null) {
            content_ = builderForValue.build();
            onChanged();
          } else {
            deshretObeliskGadgetInfoBuilder_.setMessage(builderForValue.build());
          }
          contentCase_ = 63;
          return this;
        }
        /**
         * <code>.DeshretObeliskGadgetInfo deshret_obelisk_gadget_info = 63;</code>
         */
        public Builder mergeDeshretObeliskGadgetInfo(emu.grasscutter.net.proto.DeshretObeliskGadgetInfoOuterClass.DeshretObeliskGadgetInfo value) {
          if (deshretObeliskGadgetInfoBuilder_ == null) {
            if (contentCase_ == 63 &&
                content_ != emu.grasscutter.net.proto.DeshretObeliskGadgetInfoOuterClass.DeshretObeliskGadgetInfo.getDefaultInstance()) {
              content_ = emu.grasscutter.net.proto.DeshretObeliskGadgetInfoOuterClass.DeshretObeliskGadgetInfo.newBuilder((emu.grasscutter.net.proto.DeshretObeliskGadgetInfoOuterClass.DeshretObeliskGadgetInfo) content_)
                  .mergeFrom(value).buildPartial();
            } else {
              content_ = value;
            }
            onChanged();
          } else {
            if (contentCase_ == 63) {
              deshretObeliskGadgetInfoBuilder_.mergeFrom(value);
            }
            deshretObeliskGadgetInfoBuilder_.setMessage(value);
          }
          contentCase_ = 63;
          return this;
        }
        /**
         * <code>.DeshretObeliskGadgetInfo 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>.DeshretObeliskGadgetInfo deshret_obelisk_gadget_info = 63;</code>
         */
        public emu.grasscutter.net.proto.DeshretObeliskGadgetInfoOuterClass.DeshretObeliskGadgetInfo.Builder getDeshretObeliskGadgetInfoBuilder() {
          return getDeshretObeliskGadgetInfoFieldBuilder().getBuilder();
        }
        /**
         * <code>.DeshretObeliskGadgetInfo deshret_obelisk_gadget_info = 63;</code>
         */
        @java.lang.Override
        public emu.grasscutter.net.proto.DeshretObeliskGadgetInfoOuterClass.DeshretObeliskGadgetInfoOrBuilder getDeshretObeliskGadgetInfoOrBuilder() {
          if ((contentCase_ == 63) && (deshretObeliskGadgetInfoBuilder_ != null)) {
            return deshretObeliskGadgetInfoBuilder_.getMessageOrBuilder();
          } else {
            if (contentCase_ == 63) {
              return (emu.grasscutter.net.proto.DeshretObeliskGadgetInfoOuterClass.DeshretObeliskGadgetInfo) content_;
            }
            return emu.grasscutter.net.proto.DeshretObeliskGadgetInfoOuterClass.DeshretObeliskGadgetInfo.getDefaultInstance();
          }
        }
        /**
         * <code>.DeshretObeliskGadgetInfo deshret_obelisk_gadget_info = 63;</code>
         */
        private com.google.protobuf.SingleFieldBuilderV3<
            emu.grasscutter.net.proto.DeshretObeliskGadgetInfoOuterClass.DeshretObeliskGadgetInfo, emu.grasscutter.net.proto.DeshretObeliskGadgetInfoOuterClass.DeshretObeliskGadgetInfo.Builder, emu.grasscutter.net.proto.DeshretObeliskGadgetInfoOuterClass.DeshretObeliskGadgetInfoOrBuilder> 
            getDeshretObeliskGadgetInfoFieldBuilder() {
          if (deshretObeliskGadgetInfoBuilder_ == null) {
            if (!(contentCase_ == 63)) {
              content_ = emu.grasscutter.net.proto.DeshretObeliskGadgetInfoOuterClass.DeshretObeliskGadgetInfo.getDefaultInstance();
            }
            deshretObeliskGadgetInfoBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
                emu.grasscutter.net.proto.DeshretObeliskGadgetInfoOuterClass.DeshretObeliskGadgetInfo, emu.grasscutter.net.proto.DeshretObeliskGadgetInfoOuterClass.DeshretObeliskGadgetInfo.Builder, emu.grasscutter.net.proto.DeshretObeliskGadgetInfoOuterClass.DeshretObeliskGadgetInfoOrBuilder>(
                    (emu.grasscutter.net.proto.DeshretObeliskGadgetInfoOuterClass.DeshretObeliskGadgetInfo) content_,
                    getParentForChildren(),
                    isClean());
            content_ = null;
          }
          contentCase_ = 63;
          onChanged();;
          return deshretObeliskGadgetInfoBuilder_;
        }
  
        private com.google.protobuf.SingleFieldBuilderV3<
            emu.grasscutter.net.proto.CoinCollectOperatorInfoOuterClass.CoinCollectOperatorInfo, emu.grasscutter.net.proto.CoinCollectOperatorInfoOuterClass.CoinCollectOperatorInfo.Builder, emu.grasscutter.net.proto.CoinCollectOperatorInfoOuterClass.CoinCollectOperatorInfoOrBuilder> coinCollectOperatorInfoBuilder_;
        /**
         * <code>.CoinCollectOperatorInfo coin_collect_operator_info = 64;</code>
         * @return Whether the coinCollectOperatorInfo field is set.
         */
        @java.lang.Override
        public boolean hasCoinCollectOperatorInfo() {
          return contentCase_ == 64;
        }
        /**
         * <code>.CoinCollectOperatorInfo coin_collect_operator_info = 64;</code>
         * @return The coinCollectOperatorInfo.
         */
        @java.lang.Override
        public emu.grasscutter.net.proto.CoinCollectOperatorInfoOuterClass.CoinCollectOperatorInfo getCoinCollectOperatorInfo() {
          if (coinCollectOperatorInfoBuilder_ == null) {
            if (contentCase_ == 64) {
              return (emu.grasscutter.net.proto.CoinCollectOperatorInfoOuterClass.CoinCollectOperatorInfo) content_;
            }
            return emu.grasscutter.net.proto.CoinCollectOperatorInfoOuterClass.CoinCollectOperatorInfo.getDefaultInstance();
          } else {
            if (contentCase_ == 64) {
              return coinCollectOperatorInfoBuilder_.getMessage();
            }
            return emu.grasscutter.net.proto.CoinCollectOperatorInfoOuterClass.CoinCollectOperatorInfo.getDefaultInstance();
          }
        }
        /**
         * <code>.CoinCollectOperatorInfo coin_collect_operator_info = 64;</code>
         */
        public Builder setCoinCollectOperatorInfo(emu.grasscutter.net.proto.CoinCollectOperatorInfoOuterClass.CoinCollectOperatorInfo value) {
          if (coinCollectOperatorInfoBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            content_ = value;
            onChanged();
          } else {
            coinCollectOperatorInfoBuilder_.setMessage(value);
          }
          contentCase_ = 64;
          return this;
        }
        /**
         * <code>.CoinCollectOperatorInfo coin_collect_operator_info = 64;</code>
         */
        public Builder setCoinCollectOperatorInfo(
            emu.grasscutter.net.proto.CoinCollectOperatorInfoOuterClass.CoinCollectOperatorInfo.Builder builderForValue) {
          if (coinCollectOperatorInfoBuilder_ == null) {
            content_ = builderForValue.build();
            onChanged();
          } else {
            coinCollectOperatorInfoBuilder_.setMessage(builderForValue.build());
          }
          contentCase_ = 64;
          return this;
        }
        /**
         * <code>.CoinCollectOperatorInfo coin_collect_operator_info = 64;</code>
         */
        public Builder mergeCoinCollectOperatorInfo(emu.grasscutter.net.proto.CoinCollectOperatorInfoOuterClass.CoinCollectOperatorInfo value) {
          if (coinCollectOperatorInfoBuilder_ == null) {
            if (contentCase_ == 64 &&
                content_ != emu.grasscutter.net.proto.CoinCollectOperatorInfoOuterClass.CoinCollectOperatorInfo.getDefaultInstance()) {
              content_ = emu.grasscutter.net.proto.CoinCollectOperatorInfoOuterClass.CoinCollectOperatorInfo.newBuilder((emu.grasscutter.net.proto.CoinCollectOperatorInfoOuterClass.CoinCollectOperatorInfo) content_)
                  .mergeFrom(value).buildPartial();
            } else {
              content_ = value;
            }
            onChanged();
          } else {
            if (contentCase_ == 64) {
              coinCollectOperatorInfoBuilder_.mergeFrom(value);
            }
            coinCollectOperatorInfoBuilder_.setMessage(value);
          }
          contentCase_ = 64;
          return this;
        }
        /**
         * <code>.CoinCollectOperatorInfo 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>.CoinCollectOperatorInfo coin_collect_operator_info = 64;</code>
         */
        public emu.grasscutter.net.proto.CoinCollectOperatorInfoOuterClass.CoinCollectOperatorInfo.Builder getCoinCollectOperatorInfoBuilder() {
          return getCoinCollectOperatorInfoFieldBuilder().getBuilder();
        }
        /**
         * <code>.CoinCollectOperatorInfo coin_collect_operator_info = 64;</code>
         */
        @java.lang.Override
        public emu.grasscutter.net.proto.CoinCollectOperatorInfoOuterClass.CoinCollectOperatorInfoOrBuilder getCoinCollectOperatorInfoOrBuilder() {
          if ((contentCase_ == 64) && (coinCollectOperatorInfoBuilder_ != null)) {
            return coinCollectOperatorInfoBuilder_.getMessageOrBuilder();
          } else {
            if (contentCase_ == 64) {
              return (emu.grasscutter.net.proto.CoinCollectOperatorInfoOuterClass.CoinCollectOperatorInfo) content_;
            }
            return emu.grasscutter.net.proto.CoinCollectOperatorInfoOuterClass.CoinCollectOperatorInfo.getDefaultInstance();
          }
        }
        /**
         * <code>.CoinCollectOperatorInfo coin_collect_operator_info = 64;</code>
         */
        private com.google.protobuf.SingleFieldBuilderV3<
            emu.grasscutter.net.proto.CoinCollectOperatorInfoOuterClass.CoinCollectOperatorInfo, emu.grasscutter.net.proto.CoinCollectOperatorInfoOuterClass.CoinCollectOperatorInfo.Builder, emu.grasscutter.net.proto.CoinCollectOperatorInfoOuterClass.CoinCollectOperatorInfoOrBuilder> 
            getCoinCollectOperatorInfoFieldBuilder() {
          if (coinCollectOperatorInfoBuilder_ == null) {
            if (!(contentCase_ == 64)) {
              content_ = emu.grasscutter.net.proto.CoinCollectOperatorInfoOuterClass.CoinCollectOperatorInfo.getDefaultInstance();
            }
            coinCollectOperatorInfoBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
                emu.grasscutter.net.proto.CoinCollectOperatorInfoOuterClass.CoinCollectOperatorInfo, emu.grasscutter.net.proto.CoinCollectOperatorInfoOuterClass.CoinCollectOperatorInfo.Builder, emu.grasscutter.net.proto.CoinCollectOperatorInfoOuterClass.CoinCollectOperatorInfoOrBuilder>(
                    (emu.grasscutter.net.proto.CoinCollectOperatorInfoOuterClass.CoinCollectOperatorInfo) content_,
                    getParentForChildren(),
                    isClean());
            content_ = null;
          }
          contentCase_ = 64;
          onChanged();;
          return coinCollectOperatorInfoBuilder_;
        }
  
        private int markFlag_ ;
        /**
         * <code>uint32 markFlag = 21;</code>
         * @return The markFlag.
         */
        @java.lang.Override
        public int getMarkFlag() {
          return markFlag_;
        }
        /**
         * <code>uint32 markFlag = 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 markFlag = 21;</code>
         * @return This builder for chaining.
         */
        public Builder clearMarkFlag() {
          
          markFlag_ = 0;
          onChanged();
          return this;
        }
  
        private int propOwnerEntityId_ ;
        /**
         * <code>uint32 propOwnerEntityId = 22;</code>
         * @return The propOwnerEntityId.
         */
        @java.lang.Override
        public int getPropOwnerEntityId() {
          return propOwnerEntityId_;
        }
        /**
         * <code>uint32 propOwnerEntityId = 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 propOwnerEntityId = 22;</code>
         * @return This builder for chaining.
         */
        public Builder clearPropOwnerEntityId() {
          
          propOwnerEntityId_ = 0;
          onChanged();
          return this;
        }
  
        private emu.grasscutter.net.proto.PlatformInfoOuterClass.PlatformInfo platform_;
        private com.google.protobuf.SingleFieldBuilderV3<
            emu.grasscutter.net.proto.PlatformInfoOuterClass.PlatformInfo, emu.grasscutter.net.proto.PlatformInfoOuterClass.PlatformInfo.Builder, emu.grasscutter.net.proto.PlatformInfoOuterClass.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 emu.grasscutter.net.proto.PlatformInfoOuterClass.PlatformInfo getPlatform() {
          if (platformBuilder_ == null) {
            return platform_ == null ? emu.grasscutter.net.proto.PlatformInfoOuterClass.PlatformInfo.getDefaultInstance() : platform_;
          } else {
            return platformBuilder_.getMessage();
          }
        }
        /**
         * <code>.PlatformInfo platform = 23;</code>
         */
        public Builder setPlatform(emu.grasscutter.net.proto.PlatformInfoOuterClass.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(
            emu.grasscutter.net.proto.PlatformInfoOuterClass.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(emu.grasscutter.net.proto.PlatformInfoOuterClass.PlatformInfo value) {
          if (platformBuilder_ == null) {
            if (platform_ != null) {
              platform_ =
                emu.grasscutter.net.proto.PlatformInfoOuterClass.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 emu.grasscutter.net.proto.PlatformInfoOuterClass.PlatformInfo.Builder getPlatformBuilder() {
          
          onChanged();
          return getPlatformFieldBuilder().getBuilder();
        }
        /**
         * <code>.PlatformInfo platform = 23;</code>
         */
        public emu.grasscutter.net.proto.PlatformInfoOuterClass.PlatformInfoOrBuilder getPlatformOrBuilder() {
          if (platformBuilder_ != null) {
            return platformBuilder_.getMessageOrBuilder();
          } else {
            return platform_ == null ?
                emu.grasscutter.net.proto.PlatformInfoOuterClass.PlatformInfo.getDefaultInstance() : platform_;
          }
        }
        /**
         * <code>.PlatformInfo platform = 23;</code>
         */
        private com.google.protobuf.SingleFieldBuilderV3<
            emu.grasscutter.net.proto.PlatformInfoOuterClass.PlatformInfo, emu.grasscutter.net.proto.PlatformInfoOuterClass.PlatformInfo.Builder, emu.grasscutter.net.proto.PlatformInfoOuterClass.PlatformInfoOrBuilder> 
            getPlatformFieldBuilder() {
          if (platformBuilder_ == null) {
            platformBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
                emu.grasscutter.net.proto.PlatformInfoOuterClass.PlatformInfo, emu.grasscutter.net.proto.PlatformInfoOuterClass.PlatformInfo.Builder, emu.grasscutter.net.proto.PlatformInfoOuterClass.PlatformInfoOrBuilder>(
                    getPlatform(),
                    getParentForChildren(),
                    isClean());
            platform_ = null;
          }
          return platformBuilder_;
        }
  
        private com.google.protobuf.Internal.IntList interactUidList_ = emptyIntList();
        private void ensureInteractUidListIsMutable() {
          if (!((bitField0_ & 0x00000001) != 0)) {
            interactUidList_ = mutableCopy(interactUidList_);
            bitField0_ |= 0x00000001;
           }
        }
        /**
         * <code>repeated uint32 interactUidList = 24;</code>
         * @return A list containing the interactUidList.
         */
        public java.util.List<java.lang.Integer>
            getInteractUidListList() {
          return ((bitField0_ & 0x00000001) != 0) ?
                   java.util.Collections.unmodifiableList(interactUidList_) : interactUidList_;
        }
        /**
         * <code>repeated uint32 interactUidList = 24;</code>
         * @return The count of interactUidList.
         */
        public int getInteractUidListCount() {
          return interactUidList_.size();
        }
        /**
         * <code>repeated uint32 interactUidList = 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 interactUidList = 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 interactUidList = 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 interactUidList = 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 interactUidList = 24;</code>
         * @return This builder for chaining.
         */
        public Builder clearInteractUidList() {
          interactUidList_ = emptyIntList();
          bitField0_ = (bitField0_ & ~0x00000001);
          onChanged();
          return this;
        }
  
        private int draftId_ ;
        /**
         * <code>uint32 draftId = 25;</code>
         * @return The draftId.
         */
        @java.lang.Override
        public int getDraftId() {
          return draftId_;
        }
        /**
         * <code>uint32 draftId = 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 draftId = 25;</code>
         * @return This builder for chaining.
         */
        public Builder clearDraftId() {
          
          draftId_ = 0;
          onChanged();
          return this;
        }
  
        private int gadgetTalkState_ ;
        /**
         * <code>uint32 gadgetTalkState = 26;</code>
         * @return The gadgetTalkState.
         */
        @java.lang.Override
        public int getGadgetTalkState() {
          return gadgetTalkState_;
        }
        /**
         * <code>uint32 gadgetTalkState = 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 gadgetTalkState = 26;</code>
         * @return This builder for chaining.
         */
        public Builder clearGadgetTalkState() {
          
          gadgetTalkState_ = 0;
          onChanged();
          return this;
        }
  
        private emu.grasscutter.net.proto.GadgetPlayInfoOuterClass.GadgetPlayInfo playInfo_;
        private com.google.protobuf.SingleFieldBuilderV3<
            emu.grasscutter.net.proto.GadgetPlayInfoOuterClass.GadgetPlayInfo, emu.grasscutter.net.proto.GadgetPlayInfoOuterClass.GadgetPlayInfo.Builder, emu.grasscutter.net.proto.GadgetPlayInfoOuterClass.GadgetPlayInfoOrBuilder> playInfoBuilder_;
        /**
         * <code>.GadgetPlayInfo playInfo = 100;</code>
         * @return Whether the playInfo field is set.
         */
        public boolean hasPlayInfo() {
          return playInfoBuilder_ != null || playInfo_ != null;
        }
        /**
         * <code>.GadgetPlayInfo playInfo = 100;</code>
         * @return The playInfo.
         */
        public emu.grasscutter.net.proto.GadgetPlayInfoOuterClass.GadgetPlayInfo getPlayInfo() {
          if (playInfoBuilder_ == null) {
            return playInfo_ == null ? emu.grasscutter.net.proto.GadgetPlayInfoOuterClass.GadgetPlayInfo.getDefaultInstance() : playInfo_;
          } else {
            return playInfoBuilder_.getMessage();
          }
        }
        /**
         * <code>.GadgetPlayInfo playInfo = 100;</code>
         */
        public Builder setPlayInfo(emu.grasscutter.net.proto.GadgetPlayInfoOuterClass.GadgetPlayInfo value) {
          if (playInfoBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            playInfo_ = value;
            onChanged();
          } else {
            playInfoBuilder_.setMessage(value);
          }
  
          return this;
        }
        /**
         * <code>.GadgetPlayInfo playInfo = 100;</code>
         */
        public Builder setPlayInfo(
            emu.grasscutter.net.proto.GadgetPlayInfoOuterClass.GadgetPlayInfo.Builder builderForValue) {
          if (playInfoBuilder_ == null) {
            playInfo_ = builderForValue.build();
            onChanged();
          } else {
            playInfoBuilder_.setMessage(builderForValue.build());
          }
  
          return this;
        }
        /**
         * <code>.GadgetPlayInfo playInfo = 100;</code>
         */
        public Builder mergePlayInfo(emu.grasscutter.net.proto.GadgetPlayInfoOuterClass.GadgetPlayInfo value) {
          if (playInfoBuilder_ == null) {
            if (playInfo_ != null) {
              playInfo_ =
                emu.grasscutter.net.proto.GadgetPlayInfoOuterClass.GadgetPlayInfo.newBuilder(playInfo_).mergeFrom(value).buildPartial();
            } else {
              playInfo_ = value;
            }
            onChanged();
          } else {
            playInfoBuilder_.mergeFrom(value);
          }
  
          return this;
        }
        /**
         * <code>.GadgetPlayInfo playInfo = 100;</code>
         */
        public Builder clearPlayInfo() {
          if (playInfoBuilder_ == null) {
            playInfo_ = null;
            onChanged();
          } else {
            playInfo_ = null;
            playInfoBuilder_ = null;
          }
  
          return this;
        }
        /**
         * <code>.GadgetPlayInfo playInfo = 100;</code>
         */
        public emu.grasscutter.net.proto.GadgetPlayInfoOuterClass.GadgetPlayInfo.Builder getPlayInfoBuilder() {
          
          onChanged();
          return getPlayInfoFieldBuilder().getBuilder();
        }
        /**
         * <code>.GadgetPlayInfo playInfo = 100;</code>
         */
        public emu.grasscutter.net.proto.GadgetPlayInfoOuterClass.GadgetPlayInfoOrBuilder getPlayInfoOrBuilder() {
          if (playInfoBuilder_ != null) {
            return playInfoBuilder_.getMessageOrBuilder();
          } else {
            return playInfo_ == null ?
                emu.grasscutter.net.proto.GadgetPlayInfoOuterClass.GadgetPlayInfo.getDefaultInstance() : playInfo_;
          }
        }
        /**
         * <code>.GadgetPlayInfo playInfo = 100;</code>
         */
        private com.google.protobuf.SingleFieldBuilderV3<
            emu.grasscutter.net.proto.GadgetPlayInfoOuterClass.GadgetPlayInfo, emu.grasscutter.net.proto.GadgetPlayInfoOuterClass.GadgetPlayInfo.Builder, emu.grasscutter.net.proto.GadgetPlayInfoOuterClass.GadgetPlayInfoOrBuilder> 
            getPlayInfoFieldBuilder() {
          if (playInfoBuilder_ == null) {
            playInfoBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
                emu.grasscutter.net.proto.GadgetPlayInfoOuterClass.GadgetPlayInfo, emu.grasscutter.net.proto.GadgetPlayInfoOuterClass.GadgetPlayInfo.Builder, emu.grasscutter.net.proto.GadgetPlayInfoOuterClass.GadgetPlayInfoOrBuilder>(
                    getPlayInfo(),
                    getParentForChildren(),
                    isClean());
            playInfo_ = null;
          }
          return playInfoBuilder_;
        }
        @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 emu.grasscutter.net.proto.SceneGadgetInfoOuterClass.SceneGadgetInfo DEFAULT_INSTANCE;
      static {
        DEFAULT_INSTANCE = new emu.grasscutter.net.proto.SceneGadgetInfoOuterClass.SceneGadgetInfo();
      }
  
      public static emu.grasscutter.net.proto.SceneGadgetInfoOuterClass.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 emu.grasscutter.net.proto.SceneGadgetInfoOuterClass.SceneGadgetInfo getDefaultInstanceForType() {
        return DEFAULT_INSTANCE;
      }
  
    }
  
    private static final com.google.protobuf.Descriptors.Descriptor
      internal_static_SceneGadgetInfo_descriptor;
    private static final 
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internal_static_SceneGadgetInfo_fieldAccessorTable;
  
    public static com.google.protobuf.Descriptors.FileDescriptor
        getDescriptor() {
      return descriptor;
    }
    private static  com.google.protobuf.Descriptors.FileDescriptor
        descriptor;
    static {
      java.lang.String[] descriptorData = {
        "\n\025SceneGadgetInfo.proto\032\027AbilityGadgetIn" +
        "fo.proto\032\024GadgetBornType.proto\032\nItem.pro" +
        "to\032\026ClientGadgetInfo.proto\032\026GatherGadget" +
        "Info.proto\032\022GatherGadget.proto\032\rWorktop." +
        "proto\032\022ClientGadget.proto\032\rWeather.proto" +
        "\032\023AbilityGadget.proto\032\022StatueGadget.prot" +
        "o\032\023BossChestInfo.proto\032\017BossChest.proto\032" +
        "\022BlossomChest.proto\032\022MpPlayReward.proto\032" +
        "\023GeneralReward.proto\032\022OfferingInfo.proto" +
        "\032\024FoundationInfo.proto\032\021VehicleInfo.prot" +
        "o\032\017ShellInfo.proto\032\020ScreenInfo.proto\032\022Fi" +
        "shPoolInfo.proto\032\032CustomGadgetTreeInfo.p" +
        "roto\032\031RoguelikeGadgetInfo.proto\032\031NightCr" +
        "owGadgetInfo.proto\032\036DeshretObeliskGadget" +
        "Info.proto\032\035CoinCollectOperatorInfo.prot" +
        "o\032\022PlatformInfo.proto\032\024GadgetPlayInfo.pr" +
        "oto\032\021WorktopInfo.proto\"\206\013\n\017SceneGadgetIn" +
        "fo\022\020\n\010gadgetId\030\001 \001(\r\022\017\n\007groupId\030\002 \001(\r\022\020\n" +
        "\010configId\030\003 \001(\r\022\025\n\rownerEntityId\030\004 \001(\r\022!" +
        "\n\010bornType\030\005 \001(\0162\017.GadgetBornType\022\023\n\013gad" +
        "getState\030\006 \001(\r\022\022\n\ngadgetType\030\007 \001(\r\022\026\n\016is" +
        "ShowCutscene\030\010 \001(\010\022\027\n\017authorityPeerId\030\t " +
        "\001(\r\022\030\n\020isEnableInteract\030\n \001(\010\022\022\n\ninterac" +
        "tId\030\013 \001(\r\022\034\n\013trifle_item\030\014 \001(\0132\005.ItemH\000\022" +
        "*\n\rgather_gadget\030\r \001(\0132\021.GatherGadgetInf" +
        "oH\000\022\037\n\007worktop\030\016 \001(\0132\014.WorktopInfoH\000\022*\n\r" +
        "client_gadget\030\017 \001(\0132\021.ClientGadgetInfoH\000" +
        "\022\033\n\007weather\030\021 \001(\0132\010.WeatherH\000\022,\n\016ability" +
        "_gadget\030\022 \001(\0132\022.AbilityGadgetInfoH\000\022&\n\rs" +
        "tatue_gadget\030\023 \001(\0132\r.StatueGadgetH\000\022$\n\nb" +
        "oss_chest\030\024 \001(\0132\016.BossChestInfoH\000\022&\n\rblo" +
        "ssom_chest\030) \001(\0132\r.BlossomChestH\000\022\'\n\016mp_" +
        "play_reward\030* \001(\0132\r.MpPlayRewardH\000\022(\n\016ge" +
        "neral_reward\030+ \001(\0132\016.GeneralRewardH\000\022&\n\r" +
        "offering_info\030, \001(\0132\r.OfferingInfoH\000\022*\n\017" +
        "foundation_info\030- \001(\0132\017.FoundationInfoH\000" +
        "\022$\n\014vehicle_info\030. \001(\0132\014.VehicleInfoH\000\022 " +
        "\n\nshell_info\030/ \001(\0132\n.ShellInfoH\000\022\"\n\013scre" +
        "en_info\0300 \001(\0132\013.ScreenInfoH\000\022\'\n\016fish_poo" +
        "l_info\030; \001(\0132\r.FishPoolInfoH\000\0228\n\027custom_" +
        "gadget_tree_info\030< \001(\0132\025.CustomGadgetTre" +
        "eInfoH\000\0225\n\025roguelike_gadget_info\030= \001(\0132\024" +
        ".RoguelikeGadgetInfoH\000\0226\n\026night_crow_gad" +
        "get_info\030> \001(\0132\024.NightCrowGadgetInfoH\000\022@" +
        "\n\033deshret_obelisk_gadget_info\030? \001(\0132\031.De" +
        "shretObeliskGadgetInfoH\000\022>\n\032coin_collect" +
        "_operator_info\030@ \001(\0132\030.CoinCollectOperat" +
        "orInfoH\000\022\020\n\010markFlag\030\025 \001(\r\022\031\n\021propOwnerE" +
        "ntityId\030\026 \001(\r\022\037\n\010platform\030\027 \001(\0132\r.Platfo" +
        "rmInfo\022\027\n\017interactUidList\030\030 \003(\r\022\017\n\007draft" +
        "Id\030\031 \001(\r\022\027\n\017gadgetTalkState\030\032 \001(\r\022!\n\010pla" +
        "yInfo\030d \001(\0132\017.GadgetPlayInfoB\t\n\007contentB" +
        "\033\n\031emu.grasscutter.net.protob\006proto3"
      };
      descriptor = com.google.protobuf.Descriptors.FileDescriptor
        .internalBuildGeneratedFileFrom(descriptorData,
          new com.google.protobuf.Descriptors.FileDescriptor[] {
            emu.grasscutter.net.proto.AbilityGadgetInfoOuterClass.getDescriptor(),
            emu.grasscutter.net.proto.GadgetBornTypeOuterClass.getDescriptor(),
            emu.grasscutter.net.proto.ItemOuterClass.getDescriptor(),
            emu.grasscutter.net.proto.ClientGadgetInfoOuterClass.getDescriptor(),
            emu.grasscutter.net.proto.GatherGadgetInfoOuterClass.getDescriptor(),
            emu.grasscutter.net.proto.GatherGadgetOuterClass.getDescriptor(),
            emu.grasscutter.net.proto.WorktopOuterClass.getDescriptor(),
            emu.grasscutter.net.proto.ClientGadgetOuterClass.getDescriptor(),
            emu.grasscutter.net.proto.WeatherOuterClass.getDescriptor(),
            emu.grasscutter.net.proto.AbilityGadgetOuterClass.getDescriptor(),
            emu.grasscutter.net.proto.StatueGadgetOuterClass.getDescriptor(),
            emu.grasscutter.net.proto.BossChestInfoOuterClass.getDescriptor(),
            emu.grasscutter.net.proto.BossChestOuterClass.getDescriptor(),
            emu.grasscutter.net.proto.BlossomChestOuterClass.getDescriptor(),
            emu.grasscutter.net.proto.MpPlayRewardOuterClass.getDescriptor(),
            emu.grasscutter.net.proto.GeneralRewardOuterClass.getDescriptor(),
            emu.grasscutter.net.proto.OfferingInfoOuterClass.getDescriptor(),
            emu.grasscutter.net.proto.FoundationInfoOuterClass.getDescriptor(),
            emu.grasscutter.net.proto.VehicleInfoOuterClass.getDescriptor(),
            emu.grasscutter.net.proto.ShellInfoOuterClass.getDescriptor(),
            emu.grasscutter.net.proto.ScreenInfoOuterClass.getDescriptor(),
            emu.grasscutter.net.proto.FishPoolInfoOuterClass.getDescriptor(),
            emu.grasscutter.net.proto.CustomGadgetTreeInfoOuterClass.getDescriptor(),
            emu.grasscutter.net.proto.RoguelikeGadgetInfoOuterClass.getDescriptor(),
            emu.grasscutter.net.proto.NightCrowGadgetInfoOuterClass.getDescriptor(),
            emu.grasscutter.net.proto.DeshretObeliskGadgetInfoOuterClass.getDescriptor(),
            emu.grasscutter.net.proto.CoinCollectOperatorInfoOuterClass.getDescriptor(),
            emu.grasscutter.net.proto.PlatformInfoOuterClass.getDescriptor(),
            emu.grasscutter.net.proto.GadgetPlayInfoOuterClass.getDescriptor(),
            emu.grasscutter.net.proto.WorktopInfoOuterClass.getDescriptor(),
          });
      internal_static_SceneGadgetInfo_descriptor =
        getDescriptor().getMessageTypes().get(0);
      internal_static_SceneGadgetInfo_fieldAccessorTable = new
        com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
          internal_static_SceneGadgetInfo_descriptor,
          new java.lang.String[] { "GadgetId", "GroupId", "ConfigId", "OwnerEntityId", "BornType", "GadgetState", "GadgetType", "IsShowCutscene", "AuthorityPeerId", "IsEnableInteract", "InteractId", "TrifleItem", "GatherGadget", "Worktop", "ClientGadget", "Weather", "AbilityGadget", "StatueGadget", "BossChest", "BlossomChest", "MpPlayReward", "GeneralReward", "OfferingInfo", "FoundationInfo", "VehicleInfo", "ShellInfo", "ScreenInfo", "FishPoolInfo", "CustomGadgetTreeInfo", "RoguelikeGadgetInfo", "NightCrowGadgetInfo", "DeshretObeliskGadgetInfo", "CoinCollectOperatorInfo", "MarkFlag", "PropOwnerEntityId", "Platform", "InteractUidList", "DraftId", "GadgetTalkState", "PlayInfo", "Content", });
      emu.grasscutter.net.proto.AbilityGadgetInfoOuterClass.getDescriptor();
      emu.grasscutter.net.proto.GadgetBornTypeOuterClass.getDescriptor();
      emu.grasscutter.net.proto.ItemOuterClass.getDescriptor();
      emu.grasscutter.net.proto.ClientGadgetInfoOuterClass.getDescriptor();
      emu.grasscutter.net.proto.GatherGadgetInfoOuterClass.getDescriptor();
      emu.grasscutter.net.proto.GatherGadgetOuterClass.getDescriptor();
      emu.grasscutter.net.proto.WorktopOuterClass.getDescriptor();
      emu.grasscutter.net.proto.ClientGadgetOuterClass.getDescriptor();
      emu.grasscutter.net.proto.WeatherOuterClass.getDescriptor();
      emu.grasscutter.net.proto.AbilityGadgetOuterClass.getDescriptor();
      emu.grasscutter.net.proto.StatueGadgetOuterClass.getDescriptor();
      emu.grasscutter.net.proto.BossChestInfoOuterClass.getDescriptor();
      emu.grasscutter.net.proto.BossChestOuterClass.getDescriptor();
      emu.grasscutter.net.proto.BlossomChestOuterClass.getDescriptor();
      emu.grasscutter.net.proto.MpPlayRewardOuterClass.getDescriptor();
      emu.grasscutter.net.proto.GeneralRewardOuterClass.getDescriptor();
      emu.grasscutter.net.proto.OfferingInfoOuterClass.getDescriptor();
      emu.grasscutter.net.proto.FoundationInfoOuterClass.getDescriptor();
      emu.grasscutter.net.proto.VehicleInfoOuterClass.getDescriptor();
      emu.grasscutter.net.proto.ShellInfoOuterClass.getDescriptor();
      emu.grasscutter.net.proto.ScreenInfoOuterClass.getDescriptor();
      emu.grasscutter.net.proto.FishPoolInfoOuterClass.getDescriptor();
      emu.grasscutter.net.proto.CustomGadgetTreeInfoOuterClass.getDescriptor();
      emu.grasscutter.net.proto.RoguelikeGadgetInfoOuterClass.getDescriptor();
      emu.grasscutter.net.proto.NightCrowGadgetInfoOuterClass.getDescriptor();
      emu.grasscutter.net.proto.DeshretObeliskGadgetInfoOuterClass.getDescriptor();
      emu.grasscutter.net.proto.CoinCollectOperatorInfoOuterClass.getDescriptor();
      emu.grasscutter.net.proto.PlatformInfoOuterClass.getDescriptor();
      emu.grasscutter.net.proto.GadgetPlayInfoOuterClass.getDescriptor();
      emu.grasscutter.net.proto.WorktopInfoOuterClass.getDescriptor();
    }
  
    // @@protoc_insertion_point(outer_class_scope)
  }
  