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

package emu.grasscutter.net.proto;

public final class HomeSceneArrangementInfoOuterClass {
  private HomeSceneArrangementInfoOuterClass() {}
  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 HomeSceneArrangementInfoOrBuilder extends
      // @@protoc_insertion_point(interface_extends:HomeSceneArrangementInfo)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <code>.Vector born_rot = 4;</code>
     * @return Whether the bornRot field is set.
     */
    boolean hasBornRot();
    /**
     * <code>.Vector born_rot = 4;</code>
     * @return The bornRot.
     */
    emu.grasscutter.net.proto.VectorOuterClass.Vector getBornRot();
    /**
     * <code>.Vector born_rot = 4;</code>
     */
    emu.grasscutter.net.proto.VectorOuterClass.VectorOrBuilder getBornRotOrBuilder();

    /**
     * <code>.Vector born_pos = 1;</code>
     * @return Whether the bornPos field is set.
     */
    boolean hasBornPos();
    /**
     * <code>.Vector born_pos = 1;</code>
     * @return The bornPos.
     */
    emu.grasscutter.net.proto.VectorOuterClass.Vector getBornPos();
    /**
     * <code>.Vector born_pos = 1;</code>
     */
    emu.grasscutter.net.proto.VectorOuterClass.VectorOrBuilder getBornPosOrBuilder();

    /**
     * <code>repeated .HomeFurnitureData stair_list = 11;</code>
     */
    java.util.List<emu.grasscutter.net.proto.HomeFurnitureDataOuterClass.HomeFurnitureData> 
        getStairListList();
    /**
     * <code>repeated .HomeFurnitureData stair_list = 11;</code>
     */
    emu.grasscutter.net.proto.HomeFurnitureDataOuterClass.HomeFurnitureData getStairList(int index);
    /**
     * <code>repeated .HomeFurnitureData stair_list = 11;</code>
     */
    int getStairListCount();
    /**
     * <code>repeated .HomeFurnitureData stair_list = 11;</code>
     */
    java.util.List<? extends emu.grasscutter.net.proto.HomeFurnitureDataOuterClass.HomeFurnitureDataOrBuilder> 
        getStairListOrBuilderList();
    /**
     * <code>repeated .HomeFurnitureData stair_list = 11;</code>
     */
    emu.grasscutter.net.proto.HomeFurnitureDataOuterClass.HomeFurnitureDataOrBuilder getStairListOrBuilder(
        int index);

    /**
     * <code>repeated .HomeFurnitureData door_list = 13;</code>
     */
    java.util.List<emu.grasscutter.net.proto.HomeFurnitureDataOuterClass.HomeFurnitureData> 
        getDoorListList();
    /**
     * <code>repeated .HomeFurnitureData door_list = 13;</code>
     */
    emu.grasscutter.net.proto.HomeFurnitureDataOuterClass.HomeFurnitureData getDoorList(int index);
    /**
     * <code>repeated .HomeFurnitureData door_list = 13;</code>
     */
    int getDoorListCount();
    /**
     * <code>repeated .HomeFurnitureData door_list = 13;</code>
     */
    java.util.List<? extends emu.grasscutter.net.proto.HomeFurnitureDataOuterClass.HomeFurnitureDataOrBuilder> 
        getDoorListOrBuilderList();
    /**
     * <code>repeated .HomeFurnitureData door_list = 13;</code>
     */
    emu.grasscutter.net.proto.HomeFurnitureDataOuterClass.HomeFurnitureDataOrBuilder getDoorListOrBuilder(
        int index);

    /**
     * <code>bool is_set_born_pos = 10;</code>
     * @return The isSetBornPos.
     */
    boolean getIsSetBornPos();

    /**
     * <code>repeated .HomeBlockArrangementInfo block_arrangement_info_list = 8;</code>
     */
    java.util.List<emu.grasscutter.net.proto.HomeBlockArrangementInfoOuterClass.HomeBlockArrangementInfo> 
        getBlockArrangementInfoListList();
    /**
     * <code>repeated .HomeBlockArrangementInfo block_arrangement_info_list = 8;</code>
     */
    emu.grasscutter.net.proto.HomeBlockArrangementInfoOuterClass.HomeBlockArrangementInfo getBlockArrangementInfoList(int index);
    /**
     * <code>repeated .HomeBlockArrangementInfo block_arrangement_info_list = 8;</code>
     */
    int getBlockArrangementInfoListCount();
    /**
     * <code>repeated .HomeBlockArrangementInfo block_arrangement_info_list = 8;</code>
     */
    java.util.List<? extends emu.grasscutter.net.proto.HomeBlockArrangementInfoOuterClass.HomeBlockArrangementInfoOrBuilder> 
        getBlockArrangementInfoListOrBuilderList();
    /**
     * <code>repeated .HomeBlockArrangementInfo block_arrangement_info_list = 8;</code>
     */
    emu.grasscutter.net.proto.HomeBlockArrangementInfoOuterClass.HomeBlockArrangementInfoOrBuilder getBlockArrangementInfoListOrBuilder(
        int index);

    /**
     * <code>uint32 scene_id = 2;</code>
     * @return The sceneId.
     */
    int getSceneId();

    /**
     * <code>uint32 Unk2700_BJHAMKKECEI = 12;</code>
     * @return The unk2700BJHAMKKECEI.
     */
    int getUnk2700BJHAMKKECEI();

    /**
     * <code>.Vector djinn_pos = 9;</code>
     * @return Whether the djinnPos field is set.
     */
    boolean hasDjinnPos();
    /**
     * <code>.Vector djinn_pos = 9;</code>
     * @return The djinnPos.
     */
    emu.grasscutter.net.proto.VectorOuterClass.Vector getDjinnPos();
    /**
     * <code>.Vector djinn_pos = 9;</code>
     */
    emu.grasscutter.net.proto.VectorOuterClass.VectorOrBuilder getDjinnPosOrBuilder();

    /**
     * <code>.HomeFurnitureData main_house = 14;</code>
     * @return Whether the mainHouse field is set.
     */
    boolean hasMainHouse();
    /**
     * <code>.HomeFurnitureData main_house = 14;</code>
     * @return The mainHouse.
     */
    emu.grasscutter.net.proto.HomeFurnitureDataOuterClass.HomeFurnitureData getMainHouse();
    /**
     * <code>.HomeFurnitureData main_house = 14;</code>
     */
    emu.grasscutter.net.proto.HomeFurnitureDataOuterClass.HomeFurnitureDataOrBuilder getMainHouseOrBuilder();

    /**
     * <code>uint32 comfort_value = 7;</code>
     * @return The comfortValue.
     */
    int getComfortValue();

    /**
     * <code>uint32 tmp_version = 5;</code>
     * @return The tmpVersion.
     */
    int getTmpVersion();
  }
  /**
   * Protobuf type {@code HomeSceneArrangementInfo}
   */
  public static final class HomeSceneArrangementInfo extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:HomeSceneArrangementInfo)
      HomeSceneArrangementInfoOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use HomeSceneArrangementInfo.newBuilder() to construct.
    private HomeSceneArrangementInfo(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private HomeSceneArrangementInfo() {
      stairList_ = java.util.Collections.emptyList();
      doorList_ = java.util.Collections.emptyList();
      blockArrangementInfoList_ = java.util.Collections.emptyList();
    }

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

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private HomeSceneArrangementInfo(
        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 10: {
              emu.grasscutter.net.proto.VectorOuterClass.Vector.Builder subBuilder = null;
              if (bornPos_ != null) {
                subBuilder = bornPos_.toBuilder();
              }
              bornPos_ = input.readMessage(emu.grasscutter.net.proto.VectorOuterClass.Vector.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(bornPos_);
                bornPos_ = subBuilder.buildPartial();
              }

              break;
            }
            case 16: {

              sceneId_ = input.readUInt32();
              break;
            }
            case 34: {
              emu.grasscutter.net.proto.VectorOuterClass.Vector.Builder subBuilder = null;
              if (bornRot_ != null) {
                subBuilder = bornRot_.toBuilder();
              }
              bornRot_ = input.readMessage(emu.grasscutter.net.proto.VectorOuterClass.Vector.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(bornRot_);
                bornRot_ = subBuilder.buildPartial();
              }

              break;
            }
            case 40: {

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

              comfortValue_ = input.readUInt32();
              break;
            }
            case 66: {
              if (!((mutable_bitField0_ & 0x00000004) != 0)) {
                blockArrangementInfoList_ = new java.util.ArrayList<emu.grasscutter.net.proto.HomeBlockArrangementInfoOuterClass.HomeBlockArrangementInfo>();
                mutable_bitField0_ |= 0x00000004;
              }
              blockArrangementInfoList_.add(
                  input.readMessage(emu.grasscutter.net.proto.HomeBlockArrangementInfoOuterClass.HomeBlockArrangementInfo.parser(), extensionRegistry));
              break;
            }
            case 74: {
              emu.grasscutter.net.proto.VectorOuterClass.Vector.Builder subBuilder = null;
              if (djinnPos_ != null) {
                subBuilder = djinnPos_.toBuilder();
              }
              djinnPos_ = input.readMessage(emu.grasscutter.net.proto.VectorOuterClass.Vector.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(djinnPos_);
                djinnPos_ = subBuilder.buildPartial();
              }

              break;
            }
            case 80: {

              isSetBornPos_ = input.readBool();
              break;
            }
            case 90: {
              if (!((mutable_bitField0_ & 0x00000001) != 0)) {
                stairList_ = new java.util.ArrayList<emu.grasscutter.net.proto.HomeFurnitureDataOuterClass.HomeFurnitureData>();
                mutable_bitField0_ |= 0x00000001;
              }
              stairList_.add(
                  input.readMessage(emu.grasscutter.net.proto.HomeFurnitureDataOuterClass.HomeFurnitureData.parser(), extensionRegistry));
              break;
            }
            case 96: {

              unk2700BJHAMKKECEI_ = input.readUInt32();
              break;
            }
            case 106: {
              if (!((mutable_bitField0_ & 0x00000002) != 0)) {
                doorList_ = new java.util.ArrayList<emu.grasscutter.net.proto.HomeFurnitureDataOuterClass.HomeFurnitureData>();
                mutable_bitField0_ |= 0x00000002;
              }
              doorList_.add(
                  input.readMessage(emu.grasscutter.net.proto.HomeFurnitureDataOuterClass.HomeFurnitureData.parser(), extensionRegistry));
              break;
            }
            case 114: {
              emu.grasscutter.net.proto.HomeFurnitureDataOuterClass.HomeFurnitureData.Builder subBuilder = null;
              if (mainHouse_ != null) {
                subBuilder = mainHouse_.toBuilder();
              }
              mainHouse_ = input.readMessage(emu.grasscutter.net.proto.HomeFurnitureDataOuterClass.HomeFurnitureData.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(mainHouse_);
                mainHouse_ = 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_ & 0x00000004) != 0)) {
          blockArrangementInfoList_ = java.util.Collections.unmodifiableList(blockArrangementInfoList_);
        }
        if (((mutable_bitField0_ & 0x00000001) != 0)) {
          stairList_ = java.util.Collections.unmodifiableList(stairList_);
        }
        if (((mutable_bitField0_ & 0x00000002) != 0)) {
          doorList_ = java.util.Collections.unmodifiableList(doorList_);
        }
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return emu.grasscutter.net.proto.HomeSceneArrangementInfoOuterClass.internal_static_HomeSceneArrangementInfo_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return emu.grasscutter.net.proto.HomeSceneArrangementInfoOuterClass.internal_static_HomeSceneArrangementInfo_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              emu.grasscutter.net.proto.HomeSceneArrangementInfoOuterClass.HomeSceneArrangementInfo.class, emu.grasscutter.net.proto.HomeSceneArrangementInfoOuterClass.HomeSceneArrangementInfo.Builder.class);
    }

    public static final int BORN_ROT_FIELD_NUMBER = 4;
    private emu.grasscutter.net.proto.VectorOuterClass.Vector bornRot_;
    /**
     * <code>.Vector born_rot = 4;</code>
     * @return Whether the bornRot field is set.
     */
    @java.lang.Override
    public boolean hasBornRot() {
      return bornRot_ != null;
    }
    /**
     * <code>.Vector born_rot = 4;</code>
     * @return The bornRot.
     */
    @java.lang.Override
    public emu.grasscutter.net.proto.VectorOuterClass.Vector getBornRot() {
      return bornRot_ == null ? emu.grasscutter.net.proto.VectorOuterClass.Vector.getDefaultInstance() : bornRot_;
    }
    /**
     * <code>.Vector born_rot = 4;</code>
     */
    @java.lang.Override
    public emu.grasscutter.net.proto.VectorOuterClass.VectorOrBuilder getBornRotOrBuilder() {
      return getBornRot();
    }

    public static final int BORN_POS_FIELD_NUMBER = 1;
    private emu.grasscutter.net.proto.VectorOuterClass.Vector bornPos_;
    /**
     * <code>.Vector born_pos = 1;</code>
     * @return Whether the bornPos field is set.
     */
    @java.lang.Override
    public boolean hasBornPos() {
      return bornPos_ != null;
    }
    /**
     * <code>.Vector born_pos = 1;</code>
     * @return The bornPos.
     */
    @java.lang.Override
    public emu.grasscutter.net.proto.VectorOuterClass.Vector getBornPos() {
      return bornPos_ == null ? emu.grasscutter.net.proto.VectorOuterClass.Vector.getDefaultInstance() : bornPos_;
    }
    /**
     * <code>.Vector born_pos = 1;</code>
     */
    @java.lang.Override
    public emu.grasscutter.net.proto.VectorOuterClass.VectorOrBuilder getBornPosOrBuilder() {
      return getBornPos();
    }

    public static final int STAIR_LIST_FIELD_NUMBER = 11;
    private java.util.List<emu.grasscutter.net.proto.HomeFurnitureDataOuterClass.HomeFurnitureData> stairList_;
    /**
     * <code>repeated .HomeFurnitureData stair_list = 11;</code>
     */
    @java.lang.Override
    public java.util.List<emu.grasscutter.net.proto.HomeFurnitureDataOuterClass.HomeFurnitureData> getStairListList() {
      return stairList_;
    }
    /**
     * <code>repeated .HomeFurnitureData stair_list = 11;</code>
     */
    @java.lang.Override
    public java.util.List<? extends emu.grasscutter.net.proto.HomeFurnitureDataOuterClass.HomeFurnitureDataOrBuilder> 
        getStairListOrBuilderList() {
      return stairList_;
    }
    /**
     * <code>repeated .HomeFurnitureData stair_list = 11;</code>
     */
    @java.lang.Override
    public int getStairListCount() {
      return stairList_.size();
    }
    /**
     * <code>repeated .HomeFurnitureData stair_list = 11;</code>
     */
    @java.lang.Override
    public emu.grasscutter.net.proto.HomeFurnitureDataOuterClass.HomeFurnitureData getStairList(int index) {
      return stairList_.get(index);
    }
    /**
     * <code>repeated .HomeFurnitureData stair_list = 11;</code>
     */
    @java.lang.Override
    public emu.grasscutter.net.proto.HomeFurnitureDataOuterClass.HomeFurnitureDataOrBuilder getStairListOrBuilder(
        int index) {
      return stairList_.get(index);
    }

    public static final int DOOR_LIST_FIELD_NUMBER = 13;
    private java.util.List<emu.grasscutter.net.proto.HomeFurnitureDataOuterClass.HomeFurnitureData> doorList_;
    /**
     * <code>repeated .HomeFurnitureData door_list = 13;</code>
     */
    @java.lang.Override
    public java.util.List<emu.grasscutter.net.proto.HomeFurnitureDataOuterClass.HomeFurnitureData> getDoorListList() {
      return doorList_;
    }
    /**
     * <code>repeated .HomeFurnitureData door_list = 13;</code>
     */
    @java.lang.Override
    public java.util.List<? extends emu.grasscutter.net.proto.HomeFurnitureDataOuterClass.HomeFurnitureDataOrBuilder> 
        getDoorListOrBuilderList() {
      return doorList_;
    }
    /**
     * <code>repeated .HomeFurnitureData door_list = 13;</code>
     */
    @java.lang.Override
    public int getDoorListCount() {
      return doorList_.size();
    }
    /**
     * <code>repeated .HomeFurnitureData door_list = 13;</code>
     */
    @java.lang.Override
    public emu.grasscutter.net.proto.HomeFurnitureDataOuterClass.HomeFurnitureData getDoorList(int index) {
      return doorList_.get(index);
    }
    /**
     * <code>repeated .HomeFurnitureData door_list = 13;</code>
     */
    @java.lang.Override
    public emu.grasscutter.net.proto.HomeFurnitureDataOuterClass.HomeFurnitureDataOrBuilder getDoorListOrBuilder(
        int index) {
      return doorList_.get(index);
    }

    public static final int IS_SET_BORN_POS_FIELD_NUMBER = 10;
    private boolean isSetBornPos_;
    /**
     * <code>bool is_set_born_pos = 10;</code>
     * @return The isSetBornPos.
     */
    @java.lang.Override
    public boolean getIsSetBornPos() {
      return isSetBornPos_;
    }

    public static final int BLOCK_ARRANGEMENT_INFO_LIST_FIELD_NUMBER = 8;
    private java.util.List<emu.grasscutter.net.proto.HomeBlockArrangementInfoOuterClass.HomeBlockArrangementInfo> blockArrangementInfoList_;
    /**
     * <code>repeated .HomeBlockArrangementInfo block_arrangement_info_list = 8;</code>
     */
    @java.lang.Override
    public java.util.List<emu.grasscutter.net.proto.HomeBlockArrangementInfoOuterClass.HomeBlockArrangementInfo> getBlockArrangementInfoListList() {
      return blockArrangementInfoList_;
    }
    /**
     * <code>repeated .HomeBlockArrangementInfo block_arrangement_info_list = 8;</code>
     */
    @java.lang.Override
    public java.util.List<? extends emu.grasscutter.net.proto.HomeBlockArrangementInfoOuterClass.HomeBlockArrangementInfoOrBuilder> 
        getBlockArrangementInfoListOrBuilderList() {
      return blockArrangementInfoList_;
    }
    /**
     * <code>repeated .HomeBlockArrangementInfo block_arrangement_info_list = 8;</code>
     */
    @java.lang.Override
    public int getBlockArrangementInfoListCount() {
      return blockArrangementInfoList_.size();
    }
    /**
     * <code>repeated .HomeBlockArrangementInfo block_arrangement_info_list = 8;</code>
     */
    @java.lang.Override
    public emu.grasscutter.net.proto.HomeBlockArrangementInfoOuterClass.HomeBlockArrangementInfo getBlockArrangementInfoList(int index) {
      return blockArrangementInfoList_.get(index);
    }
    /**
     * <code>repeated .HomeBlockArrangementInfo block_arrangement_info_list = 8;</code>
     */
    @java.lang.Override
    public emu.grasscutter.net.proto.HomeBlockArrangementInfoOuterClass.HomeBlockArrangementInfoOrBuilder getBlockArrangementInfoListOrBuilder(
        int index) {
      return blockArrangementInfoList_.get(index);
    }

    public static final int SCENE_ID_FIELD_NUMBER = 2;
    private int sceneId_;
    /**
     * <code>uint32 scene_id = 2;</code>
     * @return The sceneId.
     */
    @java.lang.Override
    public int getSceneId() {
      return sceneId_;
    }

    public static final int UNK2700_BJHAMKKECEI_FIELD_NUMBER = 12;
    private int unk2700BJHAMKKECEI_;
    /**
     * <code>uint32 Unk2700_BJHAMKKECEI = 12;</code>
     * @return The unk2700BJHAMKKECEI.
     */
    @java.lang.Override
    public int getUnk2700BJHAMKKECEI() {
      return unk2700BJHAMKKECEI_;
    }

    public static final int DJINN_POS_FIELD_NUMBER = 9;
    private emu.grasscutter.net.proto.VectorOuterClass.Vector djinnPos_;
    /**
     * <code>.Vector djinn_pos = 9;</code>
     * @return Whether the djinnPos field is set.
     */
    @java.lang.Override
    public boolean hasDjinnPos() {
      return djinnPos_ != null;
    }
    /**
     * <code>.Vector djinn_pos = 9;</code>
     * @return The djinnPos.
     */
    @java.lang.Override
    public emu.grasscutter.net.proto.VectorOuterClass.Vector getDjinnPos() {
      return djinnPos_ == null ? emu.grasscutter.net.proto.VectorOuterClass.Vector.getDefaultInstance() : djinnPos_;
    }
    /**
     * <code>.Vector djinn_pos = 9;</code>
     */
    @java.lang.Override
    public emu.grasscutter.net.proto.VectorOuterClass.VectorOrBuilder getDjinnPosOrBuilder() {
      return getDjinnPos();
    }

    public static final int MAIN_HOUSE_FIELD_NUMBER = 14;
    private emu.grasscutter.net.proto.HomeFurnitureDataOuterClass.HomeFurnitureData mainHouse_;
    /**
     * <code>.HomeFurnitureData main_house = 14;</code>
     * @return Whether the mainHouse field is set.
     */
    @java.lang.Override
    public boolean hasMainHouse() {
      return mainHouse_ != null;
    }
    /**
     * <code>.HomeFurnitureData main_house = 14;</code>
     * @return The mainHouse.
     */
    @java.lang.Override
    public emu.grasscutter.net.proto.HomeFurnitureDataOuterClass.HomeFurnitureData getMainHouse() {
      return mainHouse_ == null ? emu.grasscutter.net.proto.HomeFurnitureDataOuterClass.HomeFurnitureData.getDefaultInstance() : mainHouse_;
    }
    /**
     * <code>.HomeFurnitureData main_house = 14;</code>
     */
    @java.lang.Override
    public emu.grasscutter.net.proto.HomeFurnitureDataOuterClass.HomeFurnitureDataOrBuilder getMainHouseOrBuilder() {
      return getMainHouse();
    }

    public static final int COMFORT_VALUE_FIELD_NUMBER = 7;
    private int comfortValue_;
    /**
     * <code>uint32 comfort_value = 7;</code>
     * @return The comfortValue.
     */
    @java.lang.Override
    public int getComfortValue() {
      return comfortValue_;
    }

    public static final int TMP_VERSION_FIELD_NUMBER = 5;
    private int tmpVersion_;
    /**
     * <code>uint32 tmp_version = 5;</code>
     * @return The tmpVersion.
     */
    @java.lang.Override
    public int getTmpVersion() {
      return tmpVersion_;
    }

    private byte memoizedIsInitialized = -1;
    @java.lang.Override
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (bornPos_ != null) {
        output.writeMessage(1, getBornPos());
      }
      if (sceneId_ != 0) {
        output.writeUInt32(2, sceneId_);
      }
      if (bornRot_ != null) {
        output.writeMessage(4, getBornRot());
      }
      if (tmpVersion_ != 0) {
        output.writeUInt32(5, tmpVersion_);
      }
      if (comfortValue_ != 0) {
        output.writeUInt32(7, comfortValue_);
      }
      for (int i = 0; i < blockArrangementInfoList_.size(); i++) {
        output.writeMessage(8, blockArrangementInfoList_.get(i));
      }
      if (djinnPos_ != null) {
        output.writeMessage(9, getDjinnPos());
      }
      if (isSetBornPos_ != false) {
        output.writeBool(10, isSetBornPos_);
      }
      for (int i = 0; i < stairList_.size(); i++) {
        output.writeMessage(11, stairList_.get(i));
      }
      if (unk2700BJHAMKKECEI_ != 0) {
        output.writeUInt32(12, unk2700BJHAMKKECEI_);
      }
      for (int i = 0; i < doorList_.size(); i++) {
        output.writeMessage(13, doorList_.get(i));
      }
      if (mainHouse_ != null) {
        output.writeMessage(14, getMainHouse());
      }
      unknownFields.writeTo(output);
    }

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

      size = 0;
      if (bornPos_ != null) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(1, getBornPos());
      }
      if (sceneId_ != 0) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(2, sceneId_);
      }
      if (bornRot_ != null) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(4, getBornRot());
      }
      if (tmpVersion_ != 0) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(5, tmpVersion_);
      }
      if (comfortValue_ != 0) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(7, comfortValue_);
      }
      for (int i = 0; i < blockArrangementInfoList_.size(); i++) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(8, blockArrangementInfoList_.get(i));
      }
      if (djinnPos_ != null) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(9, getDjinnPos());
      }
      if (isSetBornPos_ != false) {
        size += com.google.protobuf.CodedOutputStream
          .computeBoolSize(10, isSetBornPos_);
      }
      for (int i = 0; i < stairList_.size(); i++) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(11, stairList_.get(i));
      }
      if (unk2700BJHAMKKECEI_ != 0) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(12, unk2700BJHAMKKECEI_);
      }
      for (int i = 0; i < doorList_.size(); i++) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(13, doorList_.get(i));
      }
      if (mainHouse_ != null) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(14, getMainHouse());
      }
      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.HomeSceneArrangementInfoOuterClass.HomeSceneArrangementInfo)) {
        return super.equals(obj);
      }
      emu.grasscutter.net.proto.HomeSceneArrangementInfoOuterClass.HomeSceneArrangementInfo other = (emu.grasscutter.net.proto.HomeSceneArrangementInfoOuterClass.HomeSceneArrangementInfo) obj;

      if (hasBornRot() != other.hasBornRot()) return false;
      if (hasBornRot()) {
        if (!getBornRot()
            .equals(other.getBornRot())) return false;
      }
      if (hasBornPos() != other.hasBornPos()) return false;
      if (hasBornPos()) {
        if (!getBornPos()
            .equals(other.getBornPos())) return false;
      }
      if (!getStairListList()
          .equals(other.getStairListList())) return false;
      if (!getDoorListList()
          .equals(other.getDoorListList())) return false;
      if (getIsSetBornPos()
          != other.getIsSetBornPos()) return false;
      if (!getBlockArrangementInfoListList()
          .equals(other.getBlockArrangementInfoListList())) return false;
      if (getSceneId()
          != other.getSceneId()) return false;
      if (getUnk2700BJHAMKKECEI()
          != other.getUnk2700BJHAMKKECEI()) return false;
      if (hasDjinnPos() != other.hasDjinnPos()) return false;
      if (hasDjinnPos()) {
        if (!getDjinnPos()
            .equals(other.getDjinnPos())) return false;
      }
      if (hasMainHouse() != other.hasMainHouse()) return false;
      if (hasMainHouse()) {
        if (!getMainHouse()
            .equals(other.getMainHouse())) return false;
      }
      if (getComfortValue()
          != other.getComfortValue()) return false;
      if (getTmpVersion()
          != other.getTmpVersion()) return false;
      if (!unknownFields.equals(other.unknownFields)) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      if (hasBornRot()) {
        hash = (37 * hash) + BORN_ROT_FIELD_NUMBER;
        hash = (53 * hash) + getBornRot().hashCode();
      }
      if (hasBornPos()) {
        hash = (37 * hash) + BORN_POS_FIELD_NUMBER;
        hash = (53 * hash) + getBornPos().hashCode();
      }
      if (getStairListCount() > 0) {
        hash = (37 * hash) + STAIR_LIST_FIELD_NUMBER;
        hash = (53 * hash) + getStairListList().hashCode();
      }
      if (getDoorListCount() > 0) {
        hash = (37 * hash) + DOOR_LIST_FIELD_NUMBER;
        hash = (53 * hash) + getDoorListList().hashCode();
      }
      hash = (37 * hash) + IS_SET_BORN_POS_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
          getIsSetBornPos());
      if (getBlockArrangementInfoListCount() > 0) {
        hash = (37 * hash) + BLOCK_ARRANGEMENT_INFO_LIST_FIELD_NUMBER;
        hash = (53 * hash) + getBlockArrangementInfoListList().hashCode();
      }
      hash = (37 * hash) + SCENE_ID_FIELD_NUMBER;
      hash = (53 * hash) + getSceneId();
      hash = (37 * hash) + UNK2700_BJHAMKKECEI_FIELD_NUMBER;
      hash = (53 * hash) + getUnk2700BJHAMKKECEI();
      if (hasDjinnPos()) {
        hash = (37 * hash) + DJINN_POS_FIELD_NUMBER;
        hash = (53 * hash) + getDjinnPos().hashCode();
      }
      if (hasMainHouse()) {
        hash = (37 * hash) + MAIN_HOUSE_FIELD_NUMBER;
        hash = (53 * hash) + getMainHouse().hashCode();
      }
      hash = (37 * hash) + COMFORT_VALUE_FIELD_NUMBER;
      hash = (53 * hash) + getComfortValue();
      hash = (37 * hash) + TMP_VERSION_FIELD_NUMBER;
      hash = (53 * hash) + getTmpVersion();
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static emu.grasscutter.net.proto.HomeSceneArrangementInfoOuterClass.HomeSceneArrangementInfo parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static emu.grasscutter.net.proto.HomeSceneArrangementInfoOuterClass.HomeSceneArrangementInfo 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.HomeSceneArrangementInfoOuterClass.HomeSceneArrangementInfo parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static emu.grasscutter.net.proto.HomeSceneArrangementInfoOuterClass.HomeSceneArrangementInfo 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.HomeSceneArrangementInfoOuterClass.HomeSceneArrangementInfo parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static emu.grasscutter.net.proto.HomeSceneArrangementInfoOuterClass.HomeSceneArrangementInfo parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static emu.grasscutter.net.proto.HomeSceneArrangementInfoOuterClass.HomeSceneArrangementInfo parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static emu.grasscutter.net.proto.HomeSceneArrangementInfoOuterClass.HomeSceneArrangementInfo 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.HomeSceneArrangementInfoOuterClass.HomeSceneArrangementInfo parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static emu.grasscutter.net.proto.HomeSceneArrangementInfoOuterClass.HomeSceneArrangementInfo 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.HomeSceneArrangementInfoOuterClass.HomeSceneArrangementInfo parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static emu.grasscutter.net.proto.HomeSceneArrangementInfoOuterClass.HomeSceneArrangementInfo 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.HomeSceneArrangementInfoOuterClass.HomeSceneArrangementInfo 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 HomeSceneArrangementInfo}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:HomeSceneArrangementInfo)
        emu.grasscutter.net.proto.HomeSceneArrangementInfoOuterClass.HomeSceneArrangementInfoOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return emu.grasscutter.net.proto.HomeSceneArrangementInfoOuterClass.internal_static_HomeSceneArrangementInfo_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return emu.grasscutter.net.proto.HomeSceneArrangementInfoOuterClass.internal_static_HomeSceneArrangementInfo_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                emu.grasscutter.net.proto.HomeSceneArrangementInfoOuterClass.HomeSceneArrangementInfo.class, emu.grasscutter.net.proto.HomeSceneArrangementInfoOuterClass.HomeSceneArrangementInfo.Builder.class);
      }

      // Construct using emu.grasscutter.net.proto.HomeSceneArrangementInfoOuterClass.HomeSceneArrangementInfo.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
          getStairListFieldBuilder();
          getDoorListFieldBuilder();
          getBlockArrangementInfoListFieldBuilder();
        }
      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        if (bornRotBuilder_ == null) {
          bornRot_ = null;
        } else {
          bornRot_ = null;
          bornRotBuilder_ = null;
        }
        if (bornPosBuilder_ == null) {
          bornPos_ = null;
        } else {
          bornPos_ = null;
          bornPosBuilder_ = null;
        }
        if (stairListBuilder_ == null) {
          stairList_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000001);
        } else {
          stairListBuilder_.clear();
        }
        if (doorListBuilder_ == null) {
          doorList_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000002);
        } else {
          doorListBuilder_.clear();
        }
        isSetBornPos_ = false;

        if (blockArrangementInfoListBuilder_ == null) {
          blockArrangementInfoList_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000004);
        } else {
          blockArrangementInfoListBuilder_.clear();
        }
        sceneId_ = 0;

        unk2700BJHAMKKECEI_ = 0;

        if (djinnPosBuilder_ == null) {
          djinnPos_ = null;
        } else {
          djinnPos_ = null;
          djinnPosBuilder_ = null;
        }
        if (mainHouseBuilder_ == null) {
          mainHouse_ = null;
        } else {
          mainHouse_ = null;
          mainHouseBuilder_ = null;
        }
        comfortValue_ = 0;

        tmpVersion_ = 0;

        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return emu.grasscutter.net.proto.HomeSceneArrangementInfoOuterClass.internal_static_HomeSceneArrangementInfo_descriptor;
      }

      @java.lang.Override
      public emu.grasscutter.net.proto.HomeSceneArrangementInfoOuterClass.HomeSceneArrangementInfo getDefaultInstanceForType() {
        return emu.grasscutter.net.proto.HomeSceneArrangementInfoOuterClass.HomeSceneArrangementInfo.getDefaultInstance();
      }

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

      @java.lang.Override
      public emu.grasscutter.net.proto.HomeSceneArrangementInfoOuterClass.HomeSceneArrangementInfo buildPartial() {
        emu.grasscutter.net.proto.HomeSceneArrangementInfoOuterClass.HomeSceneArrangementInfo result = new emu.grasscutter.net.proto.HomeSceneArrangementInfoOuterClass.HomeSceneArrangementInfo(this);
        int from_bitField0_ = bitField0_;
        if (bornRotBuilder_ == null) {
          result.bornRot_ = bornRot_;
        } else {
          result.bornRot_ = bornRotBuilder_.build();
        }
        if (bornPosBuilder_ == null) {
          result.bornPos_ = bornPos_;
        } else {
          result.bornPos_ = bornPosBuilder_.build();
        }
        if (stairListBuilder_ == null) {
          if (((bitField0_ & 0x00000001) != 0)) {
            stairList_ = java.util.Collections.unmodifiableList(stairList_);
            bitField0_ = (bitField0_ & ~0x00000001);
          }
          result.stairList_ = stairList_;
        } else {
          result.stairList_ = stairListBuilder_.build();
        }
        if (doorListBuilder_ == null) {
          if (((bitField0_ & 0x00000002) != 0)) {
            doorList_ = java.util.Collections.unmodifiableList(doorList_);
            bitField0_ = (bitField0_ & ~0x00000002);
          }
          result.doorList_ = doorList_;
        } else {
          result.doorList_ = doorListBuilder_.build();
        }
        result.isSetBornPos_ = isSetBornPos_;
        if (blockArrangementInfoListBuilder_ == null) {
          if (((bitField0_ & 0x00000004) != 0)) {
            blockArrangementInfoList_ = java.util.Collections.unmodifiableList(blockArrangementInfoList_);
            bitField0_ = (bitField0_ & ~0x00000004);
          }
          result.blockArrangementInfoList_ = blockArrangementInfoList_;
        } else {
          result.blockArrangementInfoList_ = blockArrangementInfoListBuilder_.build();
        }
        result.sceneId_ = sceneId_;
        result.unk2700BJHAMKKECEI_ = unk2700BJHAMKKECEI_;
        if (djinnPosBuilder_ == null) {
          result.djinnPos_ = djinnPos_;
        } else {
          result.djinnPos_ = djinnPosBuilder_.build();
        }
        if (mainHouseBuilder_ == null) {
          result.mainHouse_ = mainHouse_;
        } else {
          result.mainHouse_ = mainHouseBuilder_.build();
        }
        result.comfortValue_ = comfortValue_;
        result.tmpVersion_ = tmpVersion_;
        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.HomeSceneArrangementInfoOuterClass.HomeSceneArrangementInfo) {
          return mergeFrom((emu.grasscutter.net.proto.HomeSceneArrangementInfoOuterClass.HomeSceneArrangementInfo)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(emu.grasscutter.net.proto.HomeSceneArrangementInfoOuterClass.HomeSceneArrangementInfo other) {
        if (other == emu.grasscutter.net.proto.HomeSceneArrangementInfoOuterClass.HomeSceneArrangementInfo.getDefaultInstance()) return this;
        if (other.hasBornRot()) {
          mergeBornRot(other.getBornRot());
        }
        if (other.hasBornPos()) {
          mergeBornPos(other.getBornPos());
        }
        if (stairListBuilder_ == null) {
          if (!other.stairList_.isEmpty()) {
            if (stairList_.isEmpty()) {
              stairList_ = other.stairList_;
              bitField0_ = (bitField0_ & ~0x00000001);
            } else {
              ensureStairListIsMutable();
              stairList_.addAll(other.stairList_);
            }
            onChanged();
          }
        } else {
          if (!other.stairList_.isEmpty()) {
            if (stairListBuilder_.isEmpty()) {
              stairListBuilder_.dispose();
              stairListBuilder_ = null;
              stairList_ = other.stairList_;
              bitField0_ = (bitField0_ & ~0x00000001);
              stairListBuilder_ = 
                com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
                   getStairListFieldBuilder() : null;
            } else {
              stairListBuilder_.addAllMessages(other.stairList_);
            }
          }
        }
        if (doorListBuilder_ == null) {
          if (!other.doorList_.isEmpty()) {
            if (doorList_.isEmpty()) {
              doorList_ = other.doorList_;
              bitField0_ = (bitField0_ & ~0x00000002);
            } else {
              ensureDoorListIsMutable();
              doorList_.addAll(other.doorList_);
            }
            onChanged();
          }
        } else {
          if (!other.doorList_.isEmpty()) {
            if (doorListBuilder_.isEmpty()) {
              doorListBuilder_.dispose();
              doorListBuilder_ = null;
              doorList_ = other.doorList_;
              bitField0_ = (bitField0_ & ~0x00000002);
              doorListBuilder_ = 
                com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
                   getDoorListFieldBuilder() : null;
            } else {
              doorListBuilder_.addAllMessages(other.doorList_);
            }
          }
        }
        if (other.getIsSetBornPos() != false) {
          setIsSetBornPos(other.getIsSetBornPos());
        }
        if (blockArrangementInfoListBuilder_ == null) {
          if (!other.blockArrangementInfoList_.isEmpty()) {
            if (blockArrangementInfoList_.isEmpty()) {
              blockArrangementInfoList_ = other.blockArrangementInfoList_;
              bitField0_ = (bitField0_ & ~0x00000004);
            } else {
              ensureBlockArrangementInfoListIsMutable();
              blockArrangementInfoList_.addAll(other.blockArrangementInfoList_);
            }
            onChanged();
          }
        } else {
          if (!other.blockArrangementInfoList_.isEmpty()) {
            if (blockArrangementInfoListBuilder_.isEmpty()) {
              blockArrangementInfoListBuilder_.dispose();
              blockArrangementInfoListBuilder_ = null;
              blockArrangementInfoList_ = other.blockArrangementInfoList_;
              bitField0_ = (bitField0_ & ~0x00000004);
              blockArrangementInfoListBuilder_ = 
                com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
                   getBlockArrangementInfoListFieldBuilder() : null;
            } else {
              blockArrangementInfoListBuilder_.addAllMessages(other.blockArrangementInfoList_);
            }
          }
        }
        if (other.getSceneId() != 0) {
          setSceneId(other.getSceneId());
        }
        if (other.getUnk2700BJHAMKKECEI() != 0) {
          setUnk2700BJHAMKKECEI(other.getUnk2700BJHAMKKECEI());
        }
        if (other.hasDjinnPos()) {
          mergeDjinnPos(other.getDjinnPos());
        }
        if (other.hasMainHouse()) {
          mergeMainHouse(other.getMainHouse());
        }
        if (other.getComfortValue() != 0) {
          setComfortValue(other.getComfortValue());
        }
        if (other.getTmpVersion() != 0) {
          setTmpVersion(other.getTmpVersion());
        }
        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.HomeSceneArrangementInfoOuterClass.HomeSceneArrangementInfo parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (emu.grasscutter.net.proto.HomeSceneArrangementInfoOuterClass.HomeSceneArrangementInfo) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      private emu.grasscutter.net.proto.VectorOuterClass.Vector bornRot_;
      private com.google.protobuf.SingleFieldBuilderV3<
          emu.grasscutter.net.proto.VectorOuterClass.Vector, emu.grasscutter.net.proto.VectorOuterClass.Vector.Builder, emu.grasscutter.net.proto.VectorOuterClass.VectorOrBuilder> bornRotBuilder_;
      /**
       * <code>.Vector born_rot = 4;</code>
       * @return Whether the bornRot field is set.
       */
      public boolean hasBornRot() {
        return bornRotBuilder_ != null || bornRot_ != null;
      }
      /**
       * <code>.Vector born_rot = 4;</code>
       * @return The bornRot.
       */
      public emu.grasscutter.net.proto.VectorOuterClass.Vector getBornRot() {
        if (bornRotBuilder_ == null) {
          return bornRot_ == null ? emu.grasscutter.net.proto.VectorOuterClass.Vector.getDefaultInstance() : bornRot_;
        } else {
          return bornRotBuilder_.getMessage();
        }
      }
      /**
       * <code>.Vector born_rot = 4;</code>
       */
      public Builder setBornRot(emu.grasscutter.net.proto.VectorOuterClass.Vector value) {
        if (bornRotBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          bornRot_ = value;
          onChanged();
        } else {
          bornRotBuilder_.setMessage(value);
        }

        return this;
      }
      /**
       * <code>.Vector born_rot = 4;</code>
       */
      public Builder setBornRot(
          emu.grasscutter.net.proto.VectorOuterClass.Vector.Builder builderForValue) {
        if (bornRotBuilder_ == null) {
          bornRot_ = builderForValue.build();
          onChanged();
        } else {
          bornRotBuilder_.setMessage(builderForValue.build());
        }

        return this;
      }
      /**
       * <code>.Vector born_rot = 4;</code>
       */
      public Builder mergeBornRot(emu.grasscutter.net.proto.VectorOuterClass.Vector value) {
        if (bornRotBuilder_ == null) {
          if (bornRot_ != null) {
            bornRot_ =
              emu.grasscutter.net.proto.VectorOuterClass.Vector.newBuilder(bornRot_).mergeFrom(value).buildPartial();
          } else {
            bornRot_ = value;
          }
          onChanged();
        } else {
          bornRotBuilder_.mergeFrom(value);
        }

        return this;
      }
      /**
       * <code>.Vector born_rot = 4;</code>
       */
      public Builder clearBornRot() {
        if (bornRotBuilder_ == null) {
          bornRot_ = null;
          onChanged();
        } else {
          bornRot_ = null;
          bornRotBuilder_ = null;
        }

        return this;
      }
      /**
       * <code>.Vector born_rot = 4;</code>
       */
      public emu.grasscutter.net.proto.VectorOuterClass.Vector.Builder getBornRotBuilder() {
        
        onChanged();
        return getBornRotFieldBuilder().getBuilder();
      }
      /**
       * <code>.Vector born_rot = 4;</code>
       */
      public emu.grasscutter.net.proto.VectorOuterClass.VectorOrBuilder getBornRotOrBuilder() {
        if (bornRotBuilder_ != null) {
          return bornRotBuilder_.getMessageOrBuilder();
        } else {
          return bornRot_ == null ?
              emu.grasscutter.net.proto.VectorOuterClass.Vector.getDefaultInstance() : bornRot_;
        }
      }
      /**
       * <code>.Vector born_rot = 4;</code>
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          emu.grasscutter.net.proto.VectorOuterClass.Vector, emu.grasscutter.net.proto.VectorOuterClass.Vector.Builder, emu.grasscutter.net.proto.VectorOuterClass.VectorOrBuilder> 
          getBornRotFieldBuilder() {
        if (bornRotBuilder_ == null) {
          bornRotBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              emu.grasscutter.net.proto.VectorOuterClass.Vector, emu.grasscutter.net.proto.VectorOuterClass.Vector.Builder, emu.grasscutter.net.proto.VectorOuterClass.VectorOrBuilder>(
                  getBornRot(),
                  getParentForChildren(),
                  isClean());
          bornRot_ = null;
        }
        return bornRotBuilder_;
      }

      private emu.grasscutter.net.proto.VectorOuterClass.Vector bornPos_;
      private com.google.protobuf.SingleFieldBuilderV3<
          emu.grasscutter.net.proto.VectorOuterClass.Vector, emu.grasscutter.net.proto.VectorOuterClass.Vector.Builder, emu.grasscutter.net.proto.VectorOuterClass.VectorOrBuilder> bornPosBuilder_;
      /**
       * <code>.Vector born_pos = 1;</code>
       * @return Whether the bornPos field is set.
       */
      public boolean hasBornPos() {
        return bornPosBuilder_ != null || bornPos_ != null;
      }
      /**
       * <code>.Vector born_pos = 1;</code>
       * @return The bornPos.
       */
      public emu.grasscutter.net.proto.VectorOuterClass.Vector getBornPos() {
        if (bornPosBuilder_ == null) {
          return bornPos_ == null ? emu.grasscutter.net.proto.VectorOuterClass.Vector.getDefaultInstance() : bornPos_;
        } else {
          return bornPosBuilder_.getMessage();
        }
      }
      /**
       * <code>.Vector born_pos = 1;</code>
       */
      public Builder setBornPos(emu.grasscutter.net.proto.VectorOuterClass.Vector value) {
        if (bornPosBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          bornPos_ = value;
          onChanged();
        } else {
          bornPosBuilder_.setMessage(value);
        }

        return this;
      }
      /**
       * <code>.Vector born_pos = 1;</code>
       */
      public Builder setBornPos(
          emu.grasscutter.net.proto.VectorOuterClass.Vector.Builder builderForValue) {
        if (bornPosBuilder_ == null) {
          bornPos_ = builderForValue.build();
          onChanged();
        } else {
          bornPosBuilder_.setMessage(builderForValue.build());
        }

        return this;
      }
      /**
       * <code>.Vector born_pos = 1;</code>
       */
      public Builder mergeBornPos(emu.grasscutter.net.proto.VectorOuterClass.Vector value) {
        if (bornPosBuilder_ == null) {
          if (bornPos_ != null) {
            bornPos_ =
              emu.grasscutter.net.proto.VectorOuterClass.Vector.newBuilder(bornPos_).mergeFrom(value).buildPartial();
          } else {
            bornPos_ = value;
          }
          onChanged();
        } else {
          bornPosBuilder_.mergeFrom(value);
        }

        return this;
      }
      /**
       * <code>.Vector born_pos = 1;</code>
       */
      public Builder clearBornPos() {
        if (bornPosBuilder_ == null) {
          bornPos_ = null;
          onChanged();
        } else {
          bornPos_ = null;
          bornPosBuilder_ = null;
        }

        return this;
      }
      /**
       * <code>.Vector born_pos = 1;</code>
       */
      public emu.grasscutter.net.proto.VectorOuterClass.Vector.Builder getBornPosBuilder() {
        
        onChanged();
        return getBornPosFieldBuilder().getBuilder();
      }
      /**
       * <code>.Vector born_pos = 1;</code>
       */
      public emu.grasscutter.net.proto.VectorOuterClass.VectorOrBuilder getBornPosOrBuilder() {
        if (bornPosBuilder_ != null) {
          return bornPosBuilder_.getMessageOrBuilder();
        } else {
          return bornPos_ == null ?
              emu.grasscutter.net.proto.VectorOuterClass.Vector.getDefaultInstance() : bornPos_;
        }
      }
      /**
       * <code>.Vector born_pos = 1;</code>
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          emu.grasscutter.net.proto.VectorOuterClass.Vector, emu.grasscutter.net.proto.VectorOuterClass.Vector.Builder, emu.grasscutter.net.proto.VectorOuterClass.VectorOrBuilder> 
          getBornPosFieldBuilder() {
        if (bornPosBuilder_ == null) {
          bornPosBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              emu.grasscutter.net.proto.VectorOuterClass.Vector, emu.grasscutter.net.proto.VectorOuterClass.Vector.Builder, emu.grasscutter.net.proto.VectorOuterClass.VectorOrBuilder>(
                  getBornPos(),
                  getParentForChildren(),
                  isClean());
          bornPos_ = null;
        }
        return bornPosBuilder_;
      }

      private java.util.List<emu.grasscutter.net.proto.HomeFurnitureDataOuterClass.HomeFurnitureData> stairList_ =
        java.util.Collections.emptyList();
      private void ensureStairListIsMutable() {
        if (!((bitField0_ & 0x00000001) != 0)) {
          stairList_ = new java.util.ArrayList<emu.grasscutter.net.proto.HomeFurnitureDataOuterClass.HomeFurnitureData>(stairList_);
          bitField0_ |= 0x00000001;
         }
      }

      private com.google.protobuf.RepeatedFieldBuilderV3<
          emu.grasscutter.net.proto.HomeFurnitureDataOuterClass.HomeFurnitureData, emu.grasscutter.net.proto.HomeFurnitureDataOuterClass.HomeFurnitureData.Builder, emu.grasscutter.net.proto.HomeFurnitureDataOuterClass.HomeFurnitureDataOrBuilder> stairListBuilder_;

      /**
       * <code>repeated .HomeFurnitureData stair_list = 11;</code>
       */
      public java.util.List<emu.grasscutter.net.proto.HomeFurnitureDataOuterClass.HomeFurnitureData> getStairListList() {
        if (stairListBuilder_ == null) {
          return java.util.Collections.unmodifiableList(stairList_);
        } else {
          return stairListBuilder_.getMessageList();
        }
      }
      /**
       * <code>repeated .HomeFurnitureData stair_list = 11;</code>
       */
      public int getStairListCount() {
        if (stairListBuilder_ == null) {
          return stairList_.size();
        } else {
          return stairListBuilder_.getCount();
        }
      }
      /**
       * <code>repeated .HomeFurnitureData stair_list = 11;</code>
       */
      public emu.grasscutter.net.proto.HomeFurnitureDataOuterClass.HomeFurnitureData getStairList(int index) {
        if (stairListBuilder_ == null) {
          return stairList_.get(index);
        } else {
          return stairListBuilder_.getMessage(index);
        }
      }
      /**
       * <code>repeated .HomeFurnitureData stair_list = 11;</code>
       */
      public Builder setStairList(
          int index, emu.grasscutter.net.proto.HomeFurnitureDataOuterClass.HomeFurnitureData value) {
        if (stairListBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureStairListIsMutable();
          stairList_.set(index, value);
          onChanged();
        } else {
          stairListBuilder_.setMessage(index, value);
        }
        return this;
      }
      /**
       * <code>repeated .HomeFurnitureData stair_list = 11;</code>
       */
      public Builder setStairList(
          int index, emu.grasscutter.net.proto.HomeFurnitureDataOuterClass.HomeFurnitureData.Builder builderForValue) {
        if (stairListBuilder_ == null) {
          ensureStairListIsMutable();
          stairList_.set(index, builderForValue.build());
          onChanged();
        } else {
          stairListBuilder_.setMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * <code>repeated .HomeFurnitureData stair_list = 11;</code>
       */
      public Builder addStairList(emu.grasscutter.net.proto.HomeFurnitureDataOuterClass.HomeFurnitureData value) {
        if (stairListBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureStairListIsMutable();
          stairList_.add(value);
          onChanged();
        } else {
          stairListBuilder_.addMessage(value);
        }
        return this;
      }
      /**
       * <code>repeated .HomeFurnitureData stair_list = 11;</code>
       */
      public Builder addStairList(
          int index, emu.grasscutter.net.proto.HomeFurnitureDataOuterClass.HomeFurnitureData value) {
        if (stairListBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureStairListIsMutable();
          stairList_.add(index, value);
          onChanged();
        } else {
          stairListBuilder_.addMessage(index, value);
        }
        return this;
      }
      /**
       * <code>repeated .HomeFurnitureData stair_list = 11;</code>
       */
      public Builder addStairList(
          emu.grasscutter.net.proto.HomeFurnitureDataOuterClass.HomeFurnitureData.Builder builderForValue) {
        if (stairListBuilder_ == null) {
          ensureStairListIsMutable();
          stairList_.add(builderForValue.build());
          onChanged();
        } else {
          stairListBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      /**
       * <code>repeated .HomeFurnitureData stair_list = 11;</code>
       */
      public Builder addStairList(
          int index, emu.grasscutter.net.proto.HomeFurnitureDataOuterClass.HomeFurnitureData.Builder builderForValue) {
        if (stairListBuilder_ == null) {
          ensureStairListIsMutable();
          stairList_.add(index, builderForValue.build());
          onChanged();
        } else {
          stairListBuilder_.addMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * <code>repeated .HomeFurnitureData stair_list = 11;</code>
       */
      public Builder addAllStairList(
          java.lang.Iterable<? extends emu.grasscutter.net.proto.HomeFurnitureDataOuterClass.HomeFurnitureData> values) {
        if (stairListBuilder_ == null) {
          ensureStairListIsMutable();
          com.google.protobuf.AbstractMessageLite.Builder.addAll(
              values, stairList_);
          onChanged();
        } else {
          stairListBuilder_.addAllMessages(values);
        }
        return this;
      }
      /**
       * <code>repeated .HomeFurnitureData stair_list = 11;</code>
       */
      public Builder clearStairList() {
        if (stairListBuilder_ == null) {
          stairList_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000001);
          onChanged();
        } else {
          stairListBuilder_.clear();
        }
        return this;
      }
      /**
       * <code>repeated .HomeFurnitureData stair_list = 11;</code>
       */
      public Builder removeStairList(int index) {
        if (stairListBuilder_ == null) {
          ensureStairListIsMutable();
          stairList_.remove(index);
          onChanged();
        } else {
          stairListBuilder_.remove(index);
        }
        return this;
      }
      /**
       * <code>repeated .HomeFurnitureData stair_list = 11;</code>
       */
      public emu.grasscutter.net.proto.HomeFurnitureDataOuterClass.HomeFurnitureData.Builder getStairListBuilder(
          int index) {
        return getStairListFieldBuilder().getBuilder(index);
      }
      /**
       * <code>repeated .HomeFurnitureData stair_list = 11;</code>
       */
      public emu.grasscutter.net.proto.HomeFurnitureDataOuterClass.HomeFurnitureDataOrBuilder getStairListOrBuilder(
          int index) {
        if (stairListBuilder_ == null) {
          return stairList_.get(index);  } else {
          return stairListBuilder_.getMessageOrBuilder(index);
        }
      }
      /**
       * <code>repeated .HomeFurnitureData stair_list = 11;</code>
       */
      public java.util.List<? extends emu.grasscutter.net.proto.HomeFurnitureDataOuterClass.HomeFurnitureDataOrBuilder> 
           getStairListOrBuilderList() {
        if (stairListBuilder_ != null) {
          return stairListBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(stairList_);
        }
      }
      /**
       * <code>repeated .HomeFurnitureData stair_list = 11;</code>
       */
      public emu.grasscutter.net.proto.HomeFurnitureDataOuterClass.HomeFurnitureData.Builder addStairListBuilder() {
        return getStairListFieldBuilder().addBuilder(
            emu.grasscutter.net.proto.HomeFurnitureDataOuterClass.HomeFurnitureData.getDefaultInstance());
      }
      /**
       * <code>repeated .HomeFurnitureData stair_list = 11;</code>
       */
      public emu.grasscutter.net.proto.HomeFurnitureDataOuterClass.HomeFurnitureData.Builder addStairListBuilder(
          int index) {
        return getStairListFieldBuilder().addBuilder(
            index, emu.grasscutter.net.proto.HomeFurnitureDataOuterClass.HomeFurnitureData.getDefaultInstance());
      }
      /**
       * <code>repeated .HomeFurnitureData stair_list = 11;</code>
       */
      public java.util.List<emu.grasscutter.net.proto.HomeFurnitureDataOuterClass.HomeFurnitureData.Builder> 
           getStairListBuilderList() {
        return getStairListFieldBuilder().getBuilderList();
      }
      private com.google.protobuf.RepeatedFieldBuilderV3<
          emu.grasscutter.net.proto.HomeFurnitureDataOuterClass.HomeFurnitureData, emu.grasscutter.net.proto.HomeFurnitureDataOuterClass.HomeFurnitureData.Builder, emu.grasscutter.net.proto.HomeFurnitureDataOuterClass.HomeFurnitureDataOrBuilder> 
          getStairListFieldBuilder() {
        if (stairListBuilder_ == null) {
          stairListBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
              emu.grasscutter.net.proto.HomeFurnitureDataOuterClass.HomeFurnitureData, emu.grasscutter.net.proto.HomeFurnitureDataOuterClass.HomeFurnitureData.Builder, emu.grasscutter.net.proto.HomeFurnitureDataOuterClass.HomeFurnitureDataOrBuilder>(
                  stairList_,
                  ((bitField0_ & 0x00000001) != 0),
                  getParentForChildren(),
                  isClean());
          stairList_ = null;
        }
        return stairListBuilder_;
      }

      private java.util.List<emu.grasscutter.net.proto.HomeFurnitureDataOuterClass.HomeFurnitureData> doorList_ =
        java.util.Collections.emptyList();
      private void ensureDoorListIsMutable() {
        if (!((bitField0_ & 0x00000002) != 0)) {
          doorList_ = new java.util.ArrayList<emu.grasscutter.net.proto.HomeFurnitureDataOuterClass.HomeFurnitureData>(doorList_);
          bitField0_ |= 0x00000002;
         }
      }

      private com.google.protobuf.RepeatedFieldBuilderV3<
          emu.grasscutter.net.proto.HomeFurnitureDataOuterClass.HomeFurnitureData, emu.grasscutter.net.proto.HomeFurnitureDataOuterClass.HomeFurnitureData.Builder, emu.grasscutter.net.proto.HomeFurnitureDataOuterClass.HomeFurnitureDataOrBuilder> doorListBuilder_;

      /**
       * <code>repeated .HomeFurnitureData door_list = 13;</code>
       */
      public java.util.List<emu.grasscutter.net.proto.HomeFurnitureDataOuterClass.HomeFurnitureData> getDoorListList() {
        if (doorListBuilder_ == null) {
          return java.util.Collections.unmodifiableList(doorList_);
        } else {
          return doorListBuilder_.getMessageList();
        }
      }
      /**
       * <code>repeated .HomeFurnitureData door_list = 13;</code>
       */
      public int getDoorListCount() {
        if (doorListBuilder_ == null) {
          return doorList_.size();
        } else {
          return doorListBuilder_.getCount();
        }
      }
      /**
       * <code>repeated .HomeFurnitureData door_list = 13;</code>
       */
      public emu.grasscutter.net.proto.HomeFurnitureDataOuterClass.HomeFurnitureData getDoorList(int index) {
        if (doorListBuilder_ == null) {
          return doorList_.get(index);
        } else {
          return doorListBuilder_.getMessage(index);
        }
      }
      /**
       * <code>repeated .HomeFurnitureData door_list = 13;</code>
       */
      public Builder setDoorList(
          int index, emu.grasscutter.net.proto.HomeFurnitureDataOuterClass.HomeFurnitureData value) {
        if (doorListBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureDoorListIsMutable();
          doorList_.set(index, value);
          onChanged();
        } else {
          doorListBuilder_.setMessage(index, value);
        }
        return this;
      }
      /**
       * <code>repeated .HomeFurnitureData door_list = 13;</code>
       */
      public Builder setDoorList(
          int index, emu.grasscutter.net.proto.HomeFurnitureDataOuterClass.HomeFurnitureData.Builder builderForValue) {
        if (doorListBuilder_ == null) {
          ensureDoorListIsMutable();
          doorList_.set(index, builderForValue.build());
          onChanged();
        } else {
          doorListBuilder_.setMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * <code>repeated .HomeFurnitureData door_list = 13;</code>
       */
      public Builder addDoorList(emu.grasscutter.net.proto.HomeFurnitureDataOuterClass.HomeFurnitureData value) {
        if (doorListBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureDoorListIsMutable();
          doorList_.add(value);
          onChanged();
        } else {
          doorListBuilder_.addMessage(value);
        }
        return this;
      }
      /**
       * <code>repeated .HomeFurnitureData door_list = 13;</code>
       */
      public Builder addDoorList(
          int index, emu.grasscutter.net.proto.HomeFurnitureDataOuterClass.HomeFurnitureData value) {
        if (doorListBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureDoorListIsMutable();
          doorList_.add(index, value);
          onChanged();
        } else {
          doorListBuilder_.addMessage(index, value);
        }
        return this;
      }
      /**
       * <code>repeated .HomeFurnitureData door_list = 13;</code>
       */
      public Builder addDoorList(
          emu.grasscutter.net.proto.HomeFurnitureDataOuterClass.HomeFurnitureData.Builder builderForValue) {
        if (doorListBuilder_ == null) {
          ensureDoorListIsMutable();
          doorList_.add(builderForValue.build());
          onChanged();
        } else {
          doorListBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      /**
       * <code>repeated .HomeFurnitureData door_list = 13;</code>
       */
      public Builder addDoorList(
          int index, emu.grasscutter.net.proto.HomeFurnitureDataOuterClass.HomeFurnitureData.Builder builderForValue) {
        if (doorListBuilder_ == null) {
          ensureDoorListIsMutable();
          doorList_.add(index, builderForValue.build());
          onChanged();
        } else {
          doorListBuilder_.addMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * <code>repeated .HomeFurnitureData door_list = 13;</code>
       */
      public Builder addAllDoorList(
          java.lang.Iterable<? extends emu.grasscutter.net.proto.HomeFurnitureDataOuterClass.HomeFurnitureData> values) {
        if (doorListBuilder_ == null) {
          ensureDoorListIsMutable();
          com.google.protobuf.AbstractMessageLite.Builder.addAll(
              values, doorList_);
          onChanged();
        } else {
          doorListBuilder_.addAllMessages(values);
        }
        return this;
      }
      /**
       * <code>repeated .HomeFurnitureData door_list = 13;</code>
       */
      public Builder clearDoorList() {
        if (doorListBuilder_ == null) {
          doorList_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000002);
          onChanged();
        } else {
          doorListBuilder_.clear();
        }
        return this;
      }
      /**
       * <code>repeated .HomeFurnitureData door_list = 13;</code>
       */
      public Builder removeDoorList(int index) {
        if (doorListBuilder_ == null) {
          ensureDoorListIsMutable();
          doorList_.remove(index);
          onChanged();
        } else {
          doorListBuilder_.remove(index);
        }
        return this;
      }
      /**
       * <code>repeated .HomeFurnitureData door_list = 13;</code>
       */
      public emu.grasscutter.net.proto.HomeFurnitureDataOuterClass.HomeFurnitureData.Builder getDoorListBuilder(
          int index) {
        return getDoorListFieldBuilder().getBuilder(index);
      }
      /**
       * <code>repeated .HomeFurnitureData door_list = 13;</code>
       */
      public emu.grasscutter.net.proto.HomeFurnitureDataOuterClass.HomeFurnitureDataOrBuilder getDoorListOrBuilder(
          int index) {
        if (doorListBuilder_ == null) {
          return doorList_.get(index);  } else {
          return doorListBuilder_.getMessageOrBuilder(index);
        }
      }
      /**
       * <code>repeated .HomeFurnitureData door_list = 13;</code>
       */
      public java.util.List<? extends emu.grasscutter.net.proto.HomeFurnitureDataOuterClass.HomeFurnitureDataOrBuilder> 
           getDoorListOrBuilderList() {
        if (doorListBuilder_ != null) {
          return doorListBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(doorList_);
        }
      }
      /**
       * <code>repeated .HomeFurnitureData door_list = 13;</code>
       */
      public emu.grasscutter.net.proto.HomeFurnitureDataOuterClass.HomeFurnitureData.Builder addDoorListBuilder() {
        return getDoorListFieldBuilder().addBuilder(
            emu.grasscutter.net.proto.HomeFurnitureDataOuterClass.HomeFurnitureData.getDefaultInstance());
      }
      /**
       * <code>repeated .HomeFurnitureData door_list = 13;</code>
       */
      public emu.grasscutter.net.proto.HomeFurnitureDataOuterClass.HomeFurnitureData.Builder addDoorListBuilder(
          int index) {
        return getDoorListFieldBuilder().addBuilder(
            index, emu.grasscutter.net.proto.HomeFurnitureDataOuterClass.HomeFurnitureData.getDefaultInstance());
      }
      /**
       * <code>repeated .HomeFurnitureData door_list = 13;</code>
       */
      public java.util.List<emu.grasscutter.net.proto.HomeFurnitureDataOuterClass.HomeFurnitureData.Builder> 
           getDoorListBuilderList() {
        return getDoorListFieldBuilder().getBuilderList();
      }
      private com.google.protobuf.RepeatedFieldBuilderV3<
          emu.grasscutter.net.proto.HomeFurnitureDataOuterClass.HomeFurnitureData, emu.grasscutter.net.proto.HomeFurnitureDataOuterClass.HomeFurnitureData.Builder, emu.grasscutter.net.proto.HomeFurnitureDataOuterClass.HomeFurnitureDataOrBuilder> 
          getDoorListFieldBuilder() {
        if (doorListBuilder_ == null) {
          doorListBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
              emu.grasscutter.net.proto.HomeFurnitureDataOuterClass.HomeFurnitureData, emu.grasscutter.net.proto.HomeFurnitureDataOuterClass.HomeFurnitureData.Builder, emu.grasscutter.net.proto.HomeFurnitureDataOuterClass.HomeFurnitureDataOrBuilder>(
                  doorList_,
                  ((bitField0_ & 0x00000002) != 0),
                  getParentForChildren(),
                  isClean());
          doorList_ = null;
        }
        return doorListBuilder_;
      }

      private boolean isSetBornPos_ ;
      /**
       * <code>bool is_set_born_pos = 10;</code>
       * @return The isSetBornPos.
       */
      @java.lang.Override
      public boolean getIsSetBornPos() {
        return isSetBornPos_;
      }
      /**
       * <code>bool is_set_born_pos = 10;</code>
       * @param value The isSetBornPos to set.
       * @return This builder for chaining.
       */
      public Builder setIsSetBornPos(boolean value) {
        
        isSetBornPos_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>bool is_set_born_pos = 10;</code>
       * @return This builder for chaining.
       */
      public Builder clearIsSetBornPos() {
        
        isSetBornPos_ = false;
        onChanged();
        return this;
      }

      private java.util.List<emu.grasscutter.net.proto.HomeBlockArrangementInfoOuterClass.HomeBlockArrangementInfo> blockArrangementInfoList_ =
        java.util.Collections.emptyList();
      private void ensureBlockArrangementInfoListIsMutable() {
        if (!((bitField0_ & 0x00000004) != 0)) {
          blockArrangementInfoList_ = new java.util.ArrayList<emu.grasscutter.net.proto.HomeBlockArrangementInfoOuterClass.HomeBlockArrangementInfo>(blockArrangementInfoList_);
          bitField0_ |= 0x00000004;
         }
      }

      private com.google.protobuf.RepeatedFieldBuilderV3<
          emu.grasscutter.net.proto.HomeBlockArrangementInfoOuterClass.HomeBlockArrangementInfo, emu.grasscutter.net.proto.HomeBlockArrangementInfoOuterClass.HomeBlockArrangementInfo.Builder, emu.grasscutter.net.proto.HomeBlockArrangementInfoOuterClass.HomeBlockArrangementInfoOrBuilder> blockArrangementInfoListBuilder_;

      /**
       * <code>repeated .HomeBlockArrangementInfo block_arrangement_info_list = 8;</code>
       */
      public java.util.List<emu.grasscutter.net.proto.HomeBlockArrangementInfoOuterClass.HomeBlockArrangementInfo> getBlockArrangementInfoListList() {
        if (blockArrangementInfoListBuilder_ == null) {
          return java.util.Collections.unmodifiableList(blockArrangementInfoList_);
        } else {
          return blockArrangementInfoListBuilder_.getMessageList();
        }
      }
      /**
       * <code>repeated .HomeBlockArrangementInfo block_arrangement_info_list = 8;</code>
       */
      public int getBlockArrangementInfoListCount() {
        if (blockArrangementInfoListBuilder_ == null) {
          return blockArrangementInfoList_.size();
        } else {
          return blockArrangementInfoListBuilder_.getCount();
        }
      }
      /**
       * <code>repeated .HomeBlockArrangementInfo block_arrangement_info_list = 8;</code>
       */
      public emu.grasscutter.net.proto.HomeBlockArrangementInfoOuterClass.HomeBlockArrangementInfo getBlockArrangementInfoList(int index) {
        if (blockArrangementInfoListBuilder_ == null) {
          return blockArrangementInfoList_.get(index);
        } else {
          return blockArrangementInfoListBuilder_.getMessage(index);
        }
      }
      /**
       * <code>repeated .HomeBlockArrangementInfo block_arrangement_info_list = 8;</code>
       */
      public Builder setBlockArrangementInfoList(
          int index, emu.grasscutter.net.proto.HomeBlockArrangementInfoOuterClass.HomeBlockArrangementInfo value) {
        if (blockArrangementInfoListBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureBlockArrangementInfoListIsMutable();
          blockArrangementInfoList_.set(index, value);
          onChanged();
        } else {
          blockArrangementInfoListBuilder_.setMessage(index, value);
        }
        return this;
      }
      /**
       * <code>repeated .HomeBlockArrangementInfo block_arrangement_info_list = 8;</code>
       */
      public Builder setBlockArrangementInfoList(
          int index, emu.grasscutter.net.proto.HomeBlockArrangementInfoOuterClass.HomeBlockArrangementInfo.Builder builderForValue) {
        if (blockArrangementInfoListBuilder_ == null) {
          ensureBlockArrangementInfoListIsMutable();
          blockArrangementInfoList_.set(index, builderForValue.build());
          onChanged();
        } else {
          blockArrangementInfoListBuilder_.setMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * <code>repeated .HomeBlockArrangementInfo block_arrangement_info_list = 8;</code>
       */
      public Builder addBlockArrangementInfoList(emu.grasscutter.net.proto.HomeBlockArrangementInfoOuterClass.HomeBlockArrangementInfo value) {
        if (blockArrangementInfoListBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureBlockArrangementInfoListIsMutable();
          blockArrangementInfoList_.add(value);
          onChanged();
        } else {
          blockArrangementInfoListBuilder_.addMessage(value);
        }
        return this;
      }
      /**
       * <code>repeated .HomeBlockArrangementInfo block_arrangement_info_list = 8;</code>
       */
      public Builder addBlockArrangementInfoList(
          int index, emu.grasscutter.net.proto.HomeBlockArrangementInfoOuterClass.HomeBlockArrangementInfo value) {
        if (blockArrangementInfoListBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureBlockArrangementInfoListIsMutable();
          blockArrangementInfoList_.add(index, value);
          onChanged();
        } else {
          blockArrangementInfoListBuilder_.addMessage(index, value);
        }
        return this;
      }
      /**
       * <code>repeated .HomeBlockArrangementInfo block_arrangement_info_list = 8;</code>
       */
      public Builder addBlockArrangementInfoList(
          emu.grasscutter.net.proto.HomeBlockArrangementInfoOuterClass.HomeBlockArrangementInfo.Builder builderForValue) {
        if (blockArrangementInfoListBuilder_ == null) {
          ensureBlockArrangementInfoListIsMutable();
          blockArrangementInfoList_.add(builderForValue.build());
          onChanged();
        } else {
          blockArrangementInfoListBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      /**
       * <code>repeated .HomeBlockArrangementInfo block_arrangement_info_list = 8;</code>
       */
      public Builder addBlockArrangementInfoList(
          int index, emu.grasscutter.net.proto.HomeBlockArrangementInfoOuterClass.HomeBlockArrangementInfo.Builder builderForValue) {
        if (blockArrangementInfoListBuilder_ == null) {
          ensureBlockArrangementInfoListIsMutable();
          blockArrangementInfoList_.add(index, builderForValue.build());
          onChanged();
        } else {
          blockArrangementInfoListBuilder_.addMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * <code>repeated .HomeBlockArrangementInfo block_arrangement_info_list = 8;</code>
       */
      public Builder addAllBlockArrangementInfoList(
          java.lang.Iterable<? extends emu.grasscutter.net.proto.HomeBlockArrangementInfoOuterClass.HomeBlockArrangementInfo> values) {
        if (blockArrangementInfoListBuilder_ == null) {
          ensureBlockArrangementInfoListIsMutable();
          com.google.protobuf.AbstractMessageLite.Builder.addAll(
              values, blockArrangementInfoList_);
          onChanged();
        } else {
          blockArrangementInfoListBuilder_.addAllMessages(values);
        }
        return this;
      }
      /**
       * <code>repeated .HomeBlockArrangementInfo block_arrangement_info_list = 8;</code>
       */
      public Builder clearBlockArrangementInfoList() {
        if (blockArrangementInfoListBuilder_ == null) {
          blockArrangementInfoList_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000004);
          onChanged();
        } else {
          blockArrangementInfoListBuilder_.clear();
        }
        return this;
      }
      /**
       * <code>repeated .HomeBlockArrangementInfo block_arrangement_info_list = 8;</code>
       */
      public Builder removeBlockArrangementInfoList(int index) {
        if (blockArrangementInfoListBuilder_ == null) {
          ensureBlockArrangementInfoListIsMutable();
          blockArrangementInfoList_.remove(index);
          onChanged();
        } else {
          blockArrangementInfoListBuilder_.remove(index);
        }
        return this;
      }
      /**
       * <code>repeated .HomeBlockArrangementInfo block_arrangement_info_list = 8;</code>
       */
      public emu.grasscutter.net.proto.HomeBlockArrangementInfoOuterClass.HomeBlockArrangementInfo.Builder getBlockArrangementInfoListBuilder(
          int index) {
        return getBlockArrangementInfoListFieldBuilder().getBuilder(index);
      }
      /**
       * <code>repeated .HomeBlockArrangementInfo block_arrangement_info_list = 8;</code>
       */
      public emu.grasscutter.net.proto.HomeBlockArrangementInfoOuterClass.HomeBlockArrangementInfoOrBuilder getBlockArrangementInfoListOrBuilder(
          int index) {
        if (blockArrangementInfoListBuilder_ == null) {
          return blockArrangementInfoList_.get(index);  } else {
          return blockArrangementInfoListBuilder_.getMessageOrBuilder(index);
        }
      }
      /**
       * <code>repeated .HomeBlockArrangementInfo block_arrangement_info_list = 8;</code>
       */
      public java.util.List<? extends emu.grasscutter.net.proto.HomeBlockArrangementInfoOuterClass.HomeBlockArrangementInfoOrBuilder> 
           getBlockArrangementInfoListOrBuilderList() {
        if (blockArrangementInfoListBuilder_ != null) {
          return blockArrangementInfoListBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(blockArrangementInfoList_);
        }
      }
      /**
       * <code>repeated .HomeBlockArrangementInfo block_arrangement_info_list = 8;</code>
       */
      public emu.grasscutter.net.proto.HomeBlockArrangementInfoOuterClass.HomeBlockArrangementInfo.Builder addBlockArrangementInfoListBuilder() {
        return getBlockArrangementInfoListFieldBuilder().addBuilder(
            emu.grasscutter.net.proto.HomeBlockArrangementInfoOuterClass.HomeBlockArrangementInfo.getDefaultInstance());
      }
      /**
       * <code>repeated .HomeBlockArrangementInfo block_arrangement_info_list = 8;</code>
       */
      public emu.grasscutter.net.proto.HomeBlockArrangementInfoOuterClass.HomeBlockArrangementInfo.Builder addBlockArrangementInfoListBuilder(
          int index) {
        return getBlockArrangementInfoListFieldBuilder().addBuilder(
            index, emu.grasscutter.net.proto.HomeBlockArrangementInfoOuterClass.HomeBlockArrangementInfo.getDefaultInstance());
      }
      /**
       * <code>repeated .HomeBlockArrangementInfo block_arrangement_info_list = 8;</code>
       */
      public java.util.List<emu.grasscutter.net.proto.HomeBlockArrangementInfoOuterClass.HomeBlockArrangementInfo.Builder> 
           getBlockArrangementInfoListBuilderList() {
        return getBlockArrangementInfoListFieldBuilder().getBuilderList();
      }
      private com.google.protobuf.RepeatedFieldBuilderV3<
          emu.grasscutter.net.proto.HomeBlockArrangementInfoOuterClass.HomeBlockArrangementInfo, emu.grasscutter.net.proto.HomeBlockArrangementInfoOuterClass.HomeBlockArrangementInfo.Builder, emu.grasscutter.net.proto.HomeBlockArrangementInfoOuterClass.HomeBlockArrangementInfoOrBuilder> 
          getBlockArrangementInfoListFieldBuilder() {
        if (blockArrangementInfoListBuilder_ == null) {
          blockArrangementInfoListBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
              emu.grasscutter.net.proto.HomeBlockArrangementInfoOuterClass.HomeBlockArrangementInfo, emu.grasscutter.net.proto.HomeBlockArrangementInfoOuterClass.HomeBlockArrangementInfo.Builder, emu.grasscutter.net.proto.HomeBlockArrangementInfoOuterClass.HomeBlockArrangementInfoOrBuilder>(
                  blockArrangementInfoList_,
                  ((bitField0_ & 0x00000004) != 0),
                  getParentForChildren(),
                  isClean());
          blockArrangementInfoList_ = null;
        }
        return blockArrangementInfoListBuilder_;
      }

      private int sceneId_ ;
      /**
       * <code>uint32 scene_id = 2;</code>
       * @return The sceneId.
       */
      @java.lang.Override
      public int getSceneId() {
        return sceneId_;
      }
      /**
       * <code>uint32 scene_id = 2;</code>
       * @param value The sceneId to set.
       * @return This builder for chaining.
       */
      public Builder setSceneId(int value) {
        
        sceneId_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>uint32 scene_id = 2;</code>
       * @return This builder for chaining.
       */
      public Builder clearSceneId() {
        
        sceneId_ = 0;
        onChanged();
        return this;
      }

      private int unk2700BJHAMKKECEI_ ;
      /**
       * <code>uint32 Unk2700_BJHAMKKECEI = 12;</code>
       * @return The unk2700BJHAMKKECEI.
       */
      @java.lang.Override
      public int getUnk2700BJHAMKKECEI() {
        return unk2700BJHAMKKECEI_;
      }
      /**
       * <code>uint32 Unk2700_BJHAMKKECEI = 12;</code>
       * @param value The unk2700BJHAMKKECEI to set.
       * @return This builder for chaining.
       */
      public Builder setUnk2700BJHAMKKECEI(int value) {
        
        unk2700BJHAMKKECEI_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>uint32 Unk2700_BJHAMKKECEI = 12;</code>
       * @return This builder for chaining.
       */
      public Builder clearUnk2700BJHAMKKECEI() {
        
        unk2700BJHAMKKECEI_ = 0;
        onChanged();
        return this;
      }

      private emu.grasscutter.net.proto.VectorOuterClass.Vector djinnPos_;
      private com.google.protobuf.SingleFieldBuilderV3<
          emu.grasscutter.net.proto.VectorOuterClass.Vector, emu.grasscutter.net.proto.VectorOuterClass.Vector.Builder, emu.grasscutter.net.proto.VectorOuterClass.VectorOrBuilder> djinnPosBuilder_;
      /**
       * <code>.Vector djinn_pos = 9;</code>
       * @return Whether the djinnPos field is set.
       */
      public boolean hasDjinnPos() {
        return djinnPosBuilder_ != null || djinnPos_ != null;
      }
      /**
       * <code>.Vector djinn_pos = 9;</code>
       * @return The djinnPos.
       */
      public emu.grasscutter.net.proto.VectorOuterClass.Vector getDjinnPos() {
        if (djinnPosBuilder_ == null) {
          return djinnPos_ == null ? emu.grasscutter.net.proto.VectorOuterClass.Vector.getDefaultInstance() : djinnPos_;
        } else {
          return djinnPosBuilder_.getMessage();
        }
      }
      /**
       * <code>.Vector djinn_pos = 9;</code>
       */
      public Builder setDjinnPos(emu.grasscutter.net.proto.VectorOuterClass.Vector value) {
        if (djinnPosBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          djinnPos_ = value;
          onChanged();
        } else {
          djinnPosBuilder_.setMessage(value);
        }

        return this;
      }
      /**
       * <code>.Vector djinn_pos = 9;</code>
       */
      public Builder setDjinnPos(
          emu.grasscutter.net.proto.VectorOuterClass.Vector.Builder builderForValue) {
        if (djinnPosBuilder_ == null) {
          djinnPos_ = builderForValue.build();
          onChanged();
        } else {
          djinnPosBuilder_.setMessage(builderForValue.build());
        }

        return this;
      }
      /**
       * <code>.Vector djinn_pos = 9;</code>
       */
      public Builder mergeDjinnPos(emu.grasscutter.net.proto.VectorOuterClass.Vector value) {
        if (djinnPosBuilder_ == null) {
          if (djinnPos_ != null) {
            djinnPos_ =
              emu.grasscutter.net.proto.VectorOuterClass.Vector.newBuilder(djinnPos_).mergeFrom(value).buildPartial();
          } else {
            djinnPos_ = value;
          }
          onChanged();
        } else {
          djinnPosBuilder_.mergeFrom(value);
        }

        return this;
      }
      /**
       * <code>.Vector djinn_pos = 9;</code>
       */
      public Builder clearDjinnPos() {
        if (djinnPosBuilder_ == null) {
          djinnPos_ = null;
          onChanged();
        } else {
          djinnPos_ = null;
          djinnPosBuilder_ = null;
        }

        return this;
      }
      /**
       * <code>.Vector djinn_pos = 9;</code>
       */
      public emu.grasscutter.net.proto.VectorOuterClass.Vector.Builder getDjinnPosBuilder() {
        
        onChanged();
        return getDjinnPosFieldBuilder().getBuilder();
      }
      /**
       * <code>.Vector djinn_pos = 9;</code>
       */
      public emu.grasscutter.net.proto.VectorOuterClass.VectorOrBuilder getDjinnPosOrBuilder() {
        if (djinnPosBuilder_ != null) {
          return djinnPosBuilder_.getMessageOrBuilder();
        } else {
          return djinnPos_ == null ?
              emu.grasscutter.net.proto.VectorOuterClass.Vector.getDefaultInstance() : djinnPos_;
        }
      }
      /**
       * <code>.Vector djinn_pos = 9;</code>
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          emu.grasscutter.net.proto.VectorOuterClass.Vector, emu.grasscutter.net.proto.VectorOuterClass.Vector.Builder, emu.grasscutter.net.proto.VectorOuterClass.VectorOrBuilder> 
          getDjinnPosFieldBuilder() {
        if (djinnPosBuilder_ == null) {
          djinnPosBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              emu.grasscutter.net.proto.VectorOuterClass.Vector, emu.grasscutter.net.proto.VectorOuterClass.Vector.Builder, emu.grasscutter.net.proto.VectorOuterClass.VectorOrBuilder>(
                  getDjinnPos(),
                  getParentForChildren(),
                  isClean());
          djinnPos_ = null;
        }
        return djinnPosBuilder_;
      }

      private emu.grasscutter.net.proto.HomeFurnitureDataOuterClass.HomeFurnitureData mainHouse_;
      private com.google.protobuf.SingleFieldBuilderV3<
          emu.grasscutter.net.proto.HomeFurnitureDataOuterClass.HomeFurnitureData, emu.grasscutter.net.proto.HomeFurnitureDataOuterClass.HomeFurnitureData.Builder, emu.grasscutter.net.proto.HomeFurnitureDataOuterClass.HomeFurnitureDataOrBuilder> mainHouseBuilder_;
      /**
       * <code>.HomeFurnitureData main_house = 14;</code>
       * @return Whether the mainHouse field is set.
       */
      public boolean hasMainHouse() {
        return mainHouseBuilder_ != null || mainHouse_ != null;
      }
      /**
       * <code>.HomeFurnitureData main_house = 14;</code>
       * @return The mainHouse.
       */
      public emu.grasscutter.net.proto.HomeFurnitureDataOuterClass.HomeFurnitureData getMainHouse() {
        if (mainHouseBuilder_ == null) {
          return mainHouse_ == null ? emu.grasscutter.net.proto.HomeFurnitureDataOuterClass.HomeFurnitureData.getDefaultInstance() : mainHouse_;
        } else {
          return mainHouseBuilder_.getMessage();
        }
      }
      /**
       * <code>.HomeFurnitureData main_house = 14;</code>
       */
      public Builder setMainHouse(emu.grasscutter.net.proto.HomeFurnitureDataOuterClass.HomeFurnitureData value) {
        if (mainHouseBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          mainHouse_ = value;
          onChanged();
        } else {
          mainHouseBuilder_.setMessage(value);
        }

        return this;
      }
      /**
       * <code>.HomeFurnitureData main_house = 14;</code>
       */
      public Builder setMainHouse(
          emu.grasscutter.net.proto.HomeFurnitureDataOuterClass.HomeFurnitureData.Builder builderForValue) {
        if (mainHouseBuilder_ == null) {
          mainHouse_ = builderForValue.build();
          onChanged();
        } else {
          mainHouseBuilder_.setMessage(builderForValue.build());
        }

        return this;
      }
      /**
       * <code>.HomeFurnitureData main_house = 14;</code>
       */
      public Builder mergeMainHouse(emu.grasscutter.net.proto.HomeFurnitureDataOuterClass.HomeFurnitureData value) {
        if (mainHouseBuilder_ == null) {
          if (mainHouse_ != null) {
            mainHouse_ =
              emu.grasscutter.net.proto.HomeFurnitureDataOuterClass.HomeFurnitureData.newBuilder(mainHouse_).mergeFrom(value).buildPartial();
          } else {
            mainHouse_ = value;
          }
          onChanged();
        } else {
          mainHouseBuilder_.mergeFrom(value);
        }

        return this;
      }
      /**
       * <code>.HomeFurnitureData main_house = 14;</code>
       */
      public Builder clearMainHouse() {
        if (mainHouseBuilder_ == null) {
          mainHouse_ = null;
          onChanged();
        } else {
          mainHouse_ = null;
          mainHouseBuilder_ = null;
        }

        return this;
      }
      /**
       * <code>.HomeFurnitureData main_house = 14;</code>
       */
      public emu.grasscutter.net.proto.HomeFurnitureDataOuterClass.HomeFurnitureData.Builder getMainHouseBuilder() {
        
        onChanged();
        return getMainHouseFieldBuilder().getBuilder();
      }
      /**
       * <code>.HomeFurnitureData main_house = 14;</code>
       */
      public emu.grasscutter.net.proto.HomeFurnitureDataOuterClass.HomeFurnitureDataOrBuilder getMainHouseOrBuilder() {
        if (mainHouseBuilder_ != null) {
          return mainHouseBuilder_.getMessageOrBuilder();
        } else {
          return mainHouse_ == null ?
              emu.grasscutter.net.proto.HomeFurnitureDataOuterClass.HomeFurnitureData.getDefaultInstance() : mainHouse_;
        }
      }
      /**
       * <code>.HomeFurnitureData main_house = 14;</code>
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          emu.grasscutter.net.proto.HomeFurnitureDataOuterClass.HomeFurnitureData, emu.grasscutter.net.proto.HomeFurnitureDataOuterClass.HomeFurnitureData.Builder, emu.grasscutter.net.proto.HomeFurnitureDataOuterClass.HomeFurnitureDataOrBuilder> 
          getMainHouseFieldBuilder() {
        if (mainHouseBuilder_ == null) {
          mainHouseBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              emu.grasscutter.net.proto.HomeFurnitureDataOuterClass.HomeFurnitureData, emu.grasscutter.net.proto.HomeFurnitureDataOuterClass.HomeFurnitureData.Builder, emu.grasscutter.net.proto.HomeFurnitureDataOuterClass.HomeFurnitureDataOrBuilder>(
                  getMainHouse(),
                  getParentForChildren(),
                  isClean());
          mainHouse_ = null;
        }
        return mainHouseBuilder_;
      }

      private int comfortValue_ ;
      /**
       * <code>uint32 comfort_value = 7;</code>
       * @return The comfortValue.
       */
      @java.lang.Override
      public int getComfortValue() {
        return comfortValue_;
      }
      /**
       * <code>uint32 comfort_value = 7;</code>
       * @param value The comfortValue to set.
       * @return This builder for chaining.
       */
      public Builder setComfortValue(int value) {
        
        comfortValue_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>uint32 comfort_value = 7;</code>
       * @return This builder for chaining.
       */
      public Builder clearComfortValue() {
        
        comfortValue_ = 0;
        onChanged();
        return this;
      }

      private int tmpVersion_ ;
      /**
       * <code>uint32 tmp_version = 5;</code>
       * @return The tmpVersion.
       */
      @java.lang.Override
      public int getTmpVersion() {
        return tmpVersion_;
      }
      /**
       * <code>uint32 tmp_version = 5;</code>
       * @param value The tmpVersion to set.
       * @return This builder for chaining.
       */
      public Builder setTmpVersion(int value) {
        
        tmpVersion_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>uint32 tmp_version = 5;</code>
       * @return This builder for chaining.
       */
      public Builder clearTmpVersion() {
        
        tmpVersion_ = 0;
        onChanged();
        return this;
      }
      @java.lang.Override
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

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


      // @@protoc_insertion_point(builder_scope:HomeSceneArrangementInfo)
    }

    // @@protoc_insertion_point(class_scope:HomeSceneArrangementInfo)
    private static final emu.grasscutter.net.proto.HomeSceneArrangementInfoOuterClass.HomeSceneArrangementInfo DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new emu.grasscutter.net.proto.HomeSceneArrangementInfoOuterClass.HomeSceneArrangementInfo();
    }

    public static emu.grasscutter.net.proto.HomeSceneArrangementInfoOuterClass.HomeSceneArrangementInfo getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

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

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

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

    @java.lang.Override
    public emu.grasscutter.net.proto.HomeSceneArrangementInfoOuterClass.HomeSceneArrangementInfo getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_HomeSceneArrangementInfo_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_HomeSceneArrangementInfo_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\036HomeSceneArrangementInfo.proto\032\036HomeBl" +
      "ockArrangementInfo.proto\032\027HomeFurnitureD" +
      "ata.proto\032\014Vector.proto\"\227\003\n\030HomeSceneArr" +
      "angementInfo\022\031\n\010born_rot\030\004 \001(\0132\007.Vector\022" +
      "\031\n\010born_pos\030\001 \001(\0132\007.Vector\022&\n\nstair_list" +
      "\030\013 \003(\0132\022.HomeFurnitureData\022%\n\tdoor_list\030" +
      "\r \003(\0132\022.HomeFurnitureData\022\027\n\017is_set_born" +
      "_pos\030\n \001(\010\022>\n\033block_arrangement_info_lis" +
      "t\030\010 \003(\0132\031.HomeBlockArrangementInfo\022\020\n\010sc" +
      "ene_id\030\002 \001(\r\022\033\n\023Unk2700_BJHAMKKECEI\030\014 \001(" +
      "\r\022\032\n\tdjinn_pos\030\t \001(\0132\007.Vector\022&\n\nmain_ho" +
      "use\030\016 \001(\0132\022.HomeFurnitureData\022\025\n\rcomfort" +
      "_value\030\007 \001(\r\022\023\n\013tmp_version\030\005 \001(\rB\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.HomeBlockArrangementInfoOuterClass.getDescriptor(),
          emu.grasscutter.net.proto.HomeFurnitureDataOuterClass.getDescriptor(),
          emu.grasscutter.net.proto.VectorOuterClass.getDescriptor(),
        });
    internal_static_HomeSceneArrangementInfo_descriptor =
      getDescriptor().getMessageTypes().get(0);
    internal_static_HomeSceneArrangementInfo_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_HomeSceneArrangementInfo_descriptor,
        new java.lang.String[] { "BornRot", "BornPos", "StairList", "DoorList", "IsSetBornPos", "BlockArrangementInfoList", "SceneId", "Unk2700BJHAMKKECEI", "DjinnPos", "MainHouse", "ComfortValue", "TmpVersion", });
    emu.grasscutter.net.proto.HomeBlockArrangementInfoOuterClass.getDescriptor();
    emu.grasscutter.net.proto.HomeFurnitureDataOuterClass.getDescriptor();
    emu.grasscutter.net.proto.VectorOuterClass.getDescriptor();
  }

  // @@protoc_insertion_point(outer_class_scope)
}
