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

package emu.grasscutter.net.proto;

public final class BeginCameraSceneLookNotifyOuterClass {
    private BeginCameraSceneLookNotifyOuterClass() {}

    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 BeginCameraSceneLookNotifyOrBuilder
            extends
            // @@protoc_insertion_point(interface_extends:BeginCameraSceneLookNotify)
            com.google.protobuf.MessageOrBuilder {

        /**
         * <code>float screen_x = 13;</code>
         *
         * @return The screenX.
         */
        float getScreenX();

        /**
         * <code>bool is_set_screen_xy = 9;</code>
         *
         * @return The isSetScreenXy.
         */
        boolean getIsSetScreenXy();

        /**
         * <code>bool is_recover_keep_current = 14;</code>
         *
         * @return The isRecoverKeepCurrent.
         */
        boolean getIsRecoverKeepCurrent();

        /**
         * <code>repeated string other_params = 5;</code>
         *
         * @return A list containing the otherParams.
         */
        java.util.List<java.lang.String> getOtherParamsList();
        /**
         * <code>repeated string other_params = 5;</code>
         *
         * @return The count of otherParams.
         */
        int getOtherParamsCount();
        /**
         * <code>repeated string other_params = 5;</code>
         *
         * @param index The index of the element to return.
         * @return The otherParams at the given index.
         */
        java.lang.String getOtherParams(int index);
        /**
         * <code>repeated string other_params = 5;</code>
         *
         * @param index The index of the value to return.
         * @return The bytes of the otherParams at the given index.
         */
        com.google.protobuf.ByteString getOtherParamsBytes(int index);

        /**
         * <code>.Vector look_pos = 4;</code>
         *
         * @return Whether the lookPos field is set.
         */
        boolean hasLookPos();
        /**
         * <code>.Vector look_pos = 4;</code>
         *
         * @return The lookPos.
         */
        emu.grasscutter.net.proto.VectorOuterClass.Vector getLookPos();
        /** <code>.Vector look_pos = 4;</code> */
        emu.grasscutter.net.proto.VectorOuterClass.VectorOrBuilder getLookPosOrBuilder();

        /**
         * <code>bool is_abs_follow_pos = 1979;</code>
         *
         * @return The isAbsFollowPos.
         */
        boolean getIsAbsFollowPos();

        /**
         * <code>bool is_change_play_mode = 7;</code>
         *
         * @return The isChangePlayMode.
         */
        boolean getIsChangePlayMode();

        /**
         * <code>float screen_y = 12;</code>
         *
         * @return The screenY.
         */
        float getScreenY();

        /**
         * <code>bool is_set_follow_pos = 8;</code>
         *
         * @return The isSetFollowPos.
         */
        boolean getIsSetFollowPos();

        /**
         * <code>.Vector follow_pos = 15;</code>
         *
         * @return Whether the followPos field is set.
         */
        boolean hasFollowPos();
        /**
         * <code>.Vector follow_pos = 15;</code>
         *
         * @return The followPos.
         */
        emu.grasscutter.net.proto.VectorOuterClass.Vector getFollowPos();
        /** <code>.Vector follow_pos = 15;</code> */
        emu.grasscutter.net.proto.VectorOuterClass.VectorOrBuilder getFollowPosOrBuilder();

        /**
         * <code>float custom_radius = 6;</code>
         *
         * @return The customRadius.
         */
        float getCustomRadius();

        /**
         * <code>uint32 blend_type = 1200;</code>
         *
         * @return The blendType.
         */
        int getBlendType();

        /**
         * <code>bool is_force = 10;</code>
         *
         * @return The isForce.
         */
        boolean getIsForce();

        /**
         * <code>float duration = 2;</code>
         *
         * @return The duration.
         */
        float getDuration();

        /**
         * <code>float blend_duration = 377;</code>
         *
         * @return The blendDuration.
         */
        float getBlendDuration();

        /**
         * <code>uint32 disable_protect = 1905;</code>
         *
         * @return The disableProtect.
         */
        int getDisableProtect();

        /**
         * <code>.BeginCameraSceneLookNotify.KeepRotType keep_rot_type = 11;</code>
         *
         * @return The enum numeric value on the wire for keepRotType.
         */
        int getKeepRotTypeValue();
        /**
         * <code>.BeginCameraSceneLookNotify.KeepRotType keep_rot_type = 11;</code>
         *
         * @return The keepRotType.
         */
        emu.grasscutter.net.proto.BeginCameraSceneLookNotifyOuterClass.BeginCameraSceneLookNotify
                        .KeepRotType
                getKeepRotType();

        /**
         * <code>uint32 entity_id = 434;</code>
         *
         * @return The entityId.
         */
        int getEntityId();

        /**
         * <code>bool is_force_walk = 1;</code>
         *
         * @return The isForceWalk.
         */
        boolean getIsForceWalk();

        /**
         * <code>bool is_allow_input = 3;</code>
         *
         * @return The isAllowInput.
         */
        boolean getIsAllowInput();
    }
    /**
     *
     *
     * <pre>
     * Name: FJHMJKFEAIH
     * CmdId: 260
     * </pre>
     *
     * Protobuf type {@code BeginCameraSceneLookNotify}
     */
    public static final class BeginCameraSceneLookNotify
            extends com.google.protobuf.GeneratedMessageV3
            implements
            // @@protoc_insertion_point(message_implements:BeginCameraSceneLookNotify)
            BeginCameraSceneLookNotifyOrBuilder {
        private static final long serialVersionUID = 0L;
        // Use BeginCameraSceneLookNotify.newBuilder() to construct.
        private BeginCameraSceneLookNotify(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
            super(builder);
        }

        private BeginCameraSceneLookNotify() {
            otherParams_ = com.google.protobuf.LazyStringArrayList.EMPTY;
            keepRotType_ = 0;
        }

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

        @java.lang.Override
        public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
            return this.unknownFields;
        }

        private BeginCameraSceneLookNotify(
                com.google.protobuf.CodedInputStream input,
                com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                throws com.google.protobuf.InvalidProtocolBufferException {
            this();
            if (extensionRegistry == null) {
                throw new java.lang.NullPointerException();
            }
            int mutable_bitField0_ = 0;
            com.google.protobuf.UnknownFieldSet.Builder unknownFields =
                    com.google.protobuf.UnknownFieldSet.newBuilder();
            try {
                boolean done = false;
                while (!done) {
                    int tag = input.readTag();
                    switch (tag) {
                        case 0:
                            done = true;
                            break;
                        case 8:
                            {
                                isForceWalk_ = input.readBool();
                                break;
                            }
                        case 21:
                            {
                                duration_ = input.readFloat();
                                break;
                            }
                        case 24:
                            {
                                isAllowInput_ = input.readBool();
                                break;
                            }
                        case 34:
                            {
                                emu.grasscutter.net.proto.VectorOuterClass.Vector.Builder subBuilder = null;
                                if (lookPos_ != null) {
                                    subBuilder = lookPos_.toBuilder();
                                }
                                lookPos_ =
                                        input.readMessage(
                                                emu.grasscutter.net.proto.VectorOuterClass.Vector.parser(),
                                                extensionRegistry);
                                if (subBuilder != null) {
                                    subBuilder.mergeFrom(lookPos_);
                                    lookPos_ = subBuilder.buildPartial();
                                }

                                break;
                            }
                        case 42:
                            {
                                java.lang.String s = input.readStringRequireUtf8();
                                if (!((mutable_bitField0_ & 0x00000001) != 0)) {
                                    otherParams_ = new com.google.protobuf.LazyStringArrayList();
                                    mutable_bitField0_ |= 0x00000001;
                                }
                                otherParams_.add(s);
                                break;
                            }
                        case 53:
                            {
                                customRadius_ = input.readFloat();
                                break;
                            }
                        case 56:
                            {
                                isChangePlayMode_ = input.readBool();
                                break;
                            }
                        case 64:
                            {
                                isSetFollowPos_ = input.readBool();
                                break;
                            }
                        case 72:
                            {
                                isSetScreenXy_ = input.readBool();
                                break;
                            }
                        case 80:
                            {
                                isForce_ = input.readBool();
                                break;
                            }
                        case 88:
                            {
                                int rawValue = input.readEnum();

                                keepRotType_ = rawValue;
                                break;
                            }
                        case 101:
                            {
                                screenY_ = input.readFloat();
                                break;
                            }
                        case 109:
                            {
                                screenX_ = input.readFloat();
                                break;
                            }
                        case 112:
                            {
                                isRecoverKeepCurrent_ = input.readBool();
                                break;
                            }
                        case 122:
                            {
                                emu.grasscutter.net.proto.VectorOuterClass.Vector.Builder subBuilder = null;
                                if (followPos_ != null) {
                                    subBuilder = followPos_.toBuilder();
                                }
                                followPos_ =
                                        input.readMessage(
                                                emu.grasscutter.net.proto.VectorOuterClass.Vector.parser(),
                                                extensionRegistry);
                                if (subBuilder != null) {
                                    subBuilder.mergeFrom(followPos_);
                                    followPos_ = subBuilder.buildPartial();
                                }

                                break;
                            }
                        case 3021:
                            {
                                blendDuration_ = input.readFloat();
                                break;
                            }
                        case 3472:
                            {
                                entityId_ = input.readUInt32();
                                break;
                            }
                        case 9600:
                            {
                                blendType_ = input.readUInt32();
                                break;
                            }
                        case 15240:
                            {
                                disableProtect_ = input.readUInt32();
                                break;
                            }
                        case 15832:
                            {
                                isAbsFollowPos_ = input.readBool();
                                break;
                            }
                        default:
                            {
                                if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
                                    done = true;
                                }
                                break;
                            }
                    }
                }
            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
                throw e.setUnfinishedMessage(this);
            } catch (java.io.IOException e) {
                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
            } finally {
                if (((mutable_bitField0_ & 0x00000001) != 0)) {
                    otherParams_ = otherParams_.getUnmodifiableView();
                }
                this.unknownFields = unknownFields.build();
                makeExtensionsImmutable();
            }
        }

        public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
            return emu.grasscutter.net.proto.BeginCameraSceneLookNotifyOuterClass
                    .internal_static_BeginCameraSceneLookNotify_descriptor;
        }

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

        /**
         *
         *
         * <pre>
         * Name: MDIHEAIAGGM
         * </pre>
         *
         * Protobuf enum {@code BeginCameraSceneLookNotify.KeepRotType}
         */
        public enum KeepRotType implements com.google.protobuf.ProtocolMessageEnum {
            /** <code>KEEP_ROT_TYPE_X = 0;</code> */
            KEEP_ROT_TYPE_X(0),
            /** <code>KEEP_ROT_TYPE_XY = 1;</code> */
            KEEP_ROT_TYPE_XY(1),
            UNRECOGNIZED(-1),
            ;

            /** <code>KEEP_ROT_TYPE_X = 0;</code> */
            public static final int KEEP_ROT_TYPE_X_VALUE = 0;
            /** <code>KEEP_ROT_TYPE_XY = 1;</code> */
            public static final int KEEP_ROT_TYPE_XY_VALUE = 1;

            public final int getNumber() {
                if (this == UNRECOGNIZED) {
                    throw new java.lang.IllegalArgumentException(
                            "Can't get the number of an unknown enum value.");
                }
                return value;
            }

            /**
             * @param value The numeric wire value of the corresponding enum entry.
             * @return The enum associated with the given numeric wire value.
             * @deprecated Use {@link #forNumber(int)} instead.
             */
            @java.lang.Deprecated
            public static KeepRotType valueOf(int value) {
                return forNumber(value);
            }

            /**
             * @param value The numeric wire value of the corresponding enum entry.
             * @return The enum associated with the given numeric wire value.
             */
            public static KeepRotType forNumber(int value) {
                switch (value) {
                    case 0:
                        return KEEP_ROT_TYPE_X;
                    case 1:
                        return KEEP_ROT_TYPE_XY;
                    default:
                        return null;
                }
            }

            public static com.google.protobuf.Internal.EnumLiteMap<KeepRotType> internalGetValueMap() {
                return internalValueMap;
            }

            private static final com.google.protobuf.Internal.EnumLiteMap<KeepRotType> internalValueMap =
                    new com.google.protobuf.Internal.EnumLiteMap<KeepRotType>() {
                        public KeepRotType findValueByNumber(int number) {
                            return KeepRotType.forNumber(number);
                        }
                    };

            public final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor() {
                if (this == UNRECOGNIZED) {
                    throw new java.lang.IllegalStateException(
                            "Can't get the descriptor of an unrecognized enum value.");
                }
                return getDescriptor().getValues().get(ordinal());
            }

            public final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType() {
                return getDescriptor();
            }

            public static final com.google.protobuf.Descriptors.EnumDescriptor getDescriptor() {
                return emu.grasscutter.net.proto.BeginCameraSceneLookNotifyOuterClass
                        .BeginCameraSceneLookNotify.getDescriptor()
                        .getEnumTypes()
                        .get(0);
            }

            private static final KeepRotType[] VALUES = values();

            public static KeepRotType valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
                if (desc.getType() != getDescriptor()) {
                    throw new java.lang.IllegalArgumentException("EnumValueDescriptor is not for this type.");
                }
                if (desc.getIndex() == -1) {
                    return UNRECOGNIZED;
                }
                return VALUES[desc.getIndex()];
            }

            private final int value;

            private KeepRotType(int value) {
                this.value = value;
            }

            // @@protoc_insertion_point(enum_scope:BeginCameraSceneLookNotify.KeepRotType)
        }

        public static final int SCREEN_X_FIELD_NUMBER = 13;
        private float screenX_;
        /**
         * <code>float screen_x = 13;</code>
         *
         * @return The screenX.
         */
        @java.lang.Override
        public float getScreenX() {
            return screenX_;
        }

        public static final int IS_SET_SCREEN_XY_FIELD_NUMBER = 9;
        private boolean isSetScreenXy_;
        /**
         * <code>bool is_set_screen_xy = 9;</code>
         *
         * @return The isSetScreenXy.
         */
        @java.lang.Override
        public boolean getIsSetScreenXy() {
            return isSetScreenXy_;
        }

        public static final int IS_RECOVER_KEEP_CURRENT_FIELD_NUMBER = 14;
        private boolean isRecoverKeepCurrent_;
        /**
         * <code>bool is_recover_keep_current = 14;</code>
         *
         * @return The isRecoverKeepCurrent.
         */
        @java.lang.Override
        public boolean getIsRecoverKeepCurrent() {
            return isRecoverKeepCurrent_;
        }

        public static final int OTHER_PARAMS_FIELD_NUMBER = 5;
        private com.google.protobuf.LazyStringList otherParams_;
        /**
         * <code>repeated string other_params = 5;</code>
         *
         * @return A list containing the otherParams.
         */
        public com.google.protobuf.ProtocolStringList getOtherParamsList() {
            return otherParams_;
        }
        /**
         * <code>repeated string other_params = 5;</code>
         *
         * @return The count of otherParams.
         */
        public int getOtherParamsCount() {
            return otherParams_.size();
        }
        /**
         * <code>repeated string other_params = 5;</code>
         *
         * @param index The index of the element to return.
         * @return The otherParams at the given index.
         */
        public java.lang.String getOtherParams(int index) {
            return otherParams_.get(index);
        }
        /**
         * <code>repeated string other_params = 5;</code>
         *
         * @param index The index of the value to return.
         * @return The bytes of the otherParams at the given index.
         */
        public com.google.protobuf.ByteString getOtherParamsBytes(int index) {
            return otherParams_.getByteString(index);
        }

        public static final int LOOK_POS_FIELD_NUMBER = 4;
        private emu.grasscutter.net.proto.VectorOuterClass.Vector lookPos_;
        /**
         * <code>.Vector look_pos = 4;</code>
         *
         * @return Whether the lookPos field is set.
         */
        @java.lang.Override
        public boolean hasLookPos() {
            return lookPos_ != null;
        }
        /**
         * <code>.Vector look_pos = 4;</code>
         *
         * @return The lookPos.
         */
        @java.lang.Override
        public emu.grasscutter.net.proto.VectorOuterClass.Vector getLookPos() {
            return lookPos_ == null
                    ? emu.grasscutter.net.proto.VectorOuterClass.Vector.getDefaultInstance()
                    : lookPos_;
        }
        /** <code>.Vector look_pos = 4;</code> */
        @java.lang.Override
        public emu.grasscutter.net.proto.VectorOuterClass.VectorOrBuilder getLookPosOrBuilder() {
            return getLookPos();
        }

        public static final int IS_ABS_FOLLOW_POS_FIELD_NUMBER = 1979;
        private boolean isAbsFollowPos_;
        /**
         * <code>bool is_abs_follow_pos = 1979;</code>
         *
         * @return The isAbsFollowPos.
         */
        @java.lang.Override
        public boolean getIsAbsFollowPos() {
            return isAbsFollowPos_;
        }

        public static final int IS_CHANGE_PLAY_MODE_FIELD_NUMBER = 7;
        private boolean isChangePlayMode_;
        /**
         * <code>bool is_change_play_mode = 7;</code>
         *
         * @return The isChangePlayMode.
         */
        @java.lang.Override
        public boolean getIsChangePlayMode() {
            return isChangePlayMode_;
        }

        public static final int SCREEN_Y_FIELD_NUMBER = 12;
        private float screenY_;
        /**
         * <code>float screen_y = 12;</code>
         *
         * @return The screenY.
         */
        @java.lang.Override
        public float getScreenY() {
            return screenY_;
        }

        public static final int IS_SET_FOLLOW_POS_FIELD_NUMBER = 8;
        private boolean isSetFollowPos_;
        /**
         * <code>bool is_set_follow_pos = 8;</code>
         *
         * @return The isSetFollowPos.
         */
        @java.lang.Override
        public boolean getIsSetFollowPos() {
            return isSetFollowPos_;
        }

        public static final int FOLLOW_POS_FIELD_NUMBER = 15;
        private emu.grasscutter.net.proto.VectorOuterClass.Vector followPos_;
        /**
         * <code>.Vector follow_pos = 15;</code>
         *
         * @return Whether the followPos field is set.
         */
        @java.lang.Override
        public boolean hasFollowPos() {
            return followPos_ != null;
        }
        /**
         * <code>.Vector follow_pos = 15;</code>
         *
         * @return The followPos.
         */
        @java.lang.Override
        public emu.grasscutter.net.proto.VectorOuterClass.Vector getFollowPos() {
            return followPos_ == null
                    ? emu.grasscutter.net.proto.VectorOuterClass.Vector.getDefaultInstance()
                    : followPos_;
        }
        /** <code>.Vector follow_pos = 15;</code> */
        @java.lang.Override
        public emu.grasscutter.net.proto.VectorOuterClass.VectorOrBuilder getFollowPosOrBuilder() {
            return getFollowPos();
        }

        public static final int CUSTOM_RADIUS_FIELD_NUMBER = 6;
        private float customRadius_;
        /**
         * <code>float custom_radius = 6;</code>
         *
         * @return The customRadius.
         */
        @java.lang.Override
        public float getCustomRadius() {
            return customRadius_;
        }

        public static final int BLEND_TYPE_FIELD_NUMBER = 1200;
        private int blendType_;
        /**
         * <code>uint32 blend_type = 1200;</code>
         *
         * @return The blendType.
         */
        @java.lang.Override
        public int getBlendType() {
            return blendType_;
        }

        public static final int IS_FORCE_FIELD_NUMBER = 10;
        private boolean isForce_;
        /**
         * <code>bool is_force = 10;</code>
         *
         * @return The isForce.
         */
        @java.lang.Override
        public boolean getIsForce() {
            return isForce_;
        }

        public static final int DURATION_FIELD_NUMBER = 2;
        private float duration_;
        /**
         * <code>float duration = 2;</code>
         *
         * @return The duration.
         */
        @java.lang.Override
        public float getDuration() {
            return duration_;
        }

        public static final int BLEND_DURATION_FIELD_NUMBER = 377;
        private float blendDuration_;
        /**
         * <code>float blend_duration = 377;</code>
         *
         * @return The blendDuration.
         */
        @java.lang.Override
        public float getBlendDuration() {
            return blendDuration_;
        }

        public static final int DISABLE_PROTECT_FIELD_NUMBER = 1905;
        private int disableProtect_;
        /**
         * <code>uint32 disable_protect = 1905;</code>
         *
         * @return The disableProtect.
         */
        @java.lang.Override
        public int getDisableProtect() {
            return disableProtect_;
        }

        public static final int KEEP_ROT_TYPE_FIELD_NUMBER = 11;
        private int keepRotType_;
        /**
         * <code>.BeginCameraSceneLookNotify.KeepRotType keep_rot_type = 11;</code>
         *
         * @return The enum numeric value on the wire for keepRotType.
         */
        @java.lang.Override
        public int getKeepRotTypeValue() {
            return keepRotType_;
        }
        /**
         * <code>.BeginCameraSceneLookNotify.KeepRotType keep_rot_type = 11;</code>
         *
         * @return The keepRotType.
         */
        @java.lang.Override
        public emu.grasscutter.net.proto.BeginCameraSceneLookNotifyOuterClass.BeginCameraSceneLookNotify
                        .KeepRotType
                getKeepRotType() {
            @SuppressWarnings("deprecation")
            emu.grasscutter.net.proto.BeginCameraSceneLookNotifyOuterClass.BeginCameraSceneLookNotify
                            .KeepRotType
                    result =
                            emu.grasscutter.net.proto.BeginCameraSceneLookNotifyOuterClass
                                    .BeginCameraSceneLookNotify.KeepRotType.valueOf(keepRotType_);
            return result == null
                    ? emu.grasscutter.net.proto.BeginCameraSceneLookNotifyOuterClass
                            .BeginCameraSceneLookNotify.KeepRotType.UNRECOGNIZED
                    : result;
        }

        public static final int ENTITY_ID_FIELD_NUMBER = 434;
        private int entityId_;
        /**
         * <code>uint32 entity_id = 434;</code>
         *
         * @return The entityId.
         */
        @java.lang.Override
        public int getEntityId() {
            return entityId_;
        }

        public static final int IS_FORCE_WALK_FIELD_NUMBER = 1;
        private boolean isForceWalk_;
        /**
         * <code>bool is_force_walk = 1;</code>
         *
         * @return The isForceWalk.
         */
        @java.lang.Override
        public boolean getIsForceWalk() {
            return isForceWalk_;
        }

        public static final int IS_ALLOW_INPUT_FIELD_NUMBER = 3;
        private boolean isAllowInput_;
        /**
         * <code>bool is_allow_input = 3;</code>
         *
         * @return The isAllowInput.
         */
        @java.lang.Override
        public boolean getIsAllowInput() {
            return isAllowInput_;
        }

        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 (isForceWalk_ != false) {
                output.writeBool(1, isForceWalk_);
            }
            if (duration_ != 0F) {
                output.writeFloat(2, duration_);
            }
            if (isAllowInput_ != false) {
                output.writeBool(3, isAllowInput_);
            }
            if (lookPos_ != null) {
                output.writeMessage(4, getLookPos());
            }
            for (int i = 0; i < otherParams_.size(); i++) {
                com.google.protobuf.GeneratedMessageV3.writeString(output, 5, otherParams_.getRaw(i));
            }
            if (customRadius_ != 0F) {
                output.writeFloat(6, customRadius_);
            }
            if (isChangePlayMode_ != false) {
                output.writeBool(7, isChangePlayMode_);
            }
            if (isSetFollowPos_ != false) {
                output.writeBool(8, isSetFollowPos_);
            }
            if (isSetScreenXy_ != false) {
                output.writeBool(9, isSetScreenXy_);
            }
            if (isForce_ != false) {
                output.writeBool(10, isForce_);
            }
            if (keepRotType_
                    != emu.grasscutter.net.proto.BeginCameraSceneLookNotifyOuterClass
                            .BeginCameraSceneLookNotify.KeepRotType.KEEP_ROT_TYPE_X
                            .getNumber()) {
                output.writeEnum(11, keepRotType_);
            }
            if (screenY_ != 0F) {
                output.writeFloat(12, screenY_);
            }
            if (screenX_ != 0F) {
                output.writeFloat(13, screenX_);
            }
            if (isRecoverKeepCurrent_ != false) {
                output.writeBool(14, isRecoverKeepCurrent_);
            }
            if (followPos_ != null) {
                output.writeMessage(15, getFollowPos());
            }
            if (blendDuration_ != 0F) {
                output.writeFloat(377, blendDuration_);
            }
            if (entityId_ != 0) {
                output.writeUInt32(434, entityId_);
            }
            if (blendType_ != 0) {
                output.writeUInt32(1200, blendType_);
            }
            if (disableProtect_ != 0) {
                output.writeUInt32(1905, disableProtect_);
            }
            if (isAbsFollowPos_ != false) {
                output.writeBool(1979, isAbsFollowPos_);
            }
            unknownFields.writeTo(output);
        }

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

            size = 0;
            if (isForceWalk_ != false) {
                size += com.google.protobuf.CodedOutputStream.computeBoolSize(1, isForceWalk_);
            }
            if (duration_ != 0F) {
                size += com.google.protobuf.CodedOutputStream.computeFloatSize(2, duration_);
            }
            if (isAllowInput_ != false) {
                size += com.google.protobuf.CodedOutputStream.computeBoolSize(3, isAllowInput_);
            }
            if (lookPos_ != null) {
                size += com.google.protobuf.CodedOutputStream.computeMessageSize(4, getLookPos());
            }
            {
                int dataSize = 0;
                for (int i = 0; i < otherParams_.size(); i++) {
                    dataSize += computeStringSizeNoTag(otherParams_.getRaw(i));
                }
                size += dataSize;
                size += 1 * getOtherParamsList().size();
            }
            if (customRadius_ != 0F) {
                size += com.google.protobuf.CodedOutputStream.computeFloatSize(6, customRadius_);
            }
            if (isChangePlayMode_ != false) {
                size += com.google.protobuf.CodedOutputStream.computeBoolSize(7, isChangePlayMode_);
            }
            if (isSetFollowPos_ != false) {
                size += com.google.protobuf.CodedOutputStream.computeBoolSize(8, isSetFollowPos_);
            }
            if (isSetScreenXy_ != false) {
                size += com.google.protobuf.CodedOutputStream.computeBoolSize(9, isSetScreenXy_);
            }
            if (isForce_ != false) {
                size += com.google.protobuf.CodedOutputStream.computeBoolSize(10, isForce_);
            }
            if (keepRotType_
                    != emu.grasscutter.net.proto.BeginCameraSceneLookNotifyOuterClass
                            .BeginCameraSceneLookNotify.KeepRotType.KEEP_ROT_TYPE_X
                            .getNumber()) {
                size += com.google.protobuf.CodedOutputStream.computeEnumSize(11, keepRotType_);
            }
            if (screenY_ != 0F) {
                size += com.google.protobuf.CodedOutputStream.computeFloatSize(12, screenY_);
            }
            if (screenX_ != 0F) {
                size += com.google.protobuf.CodedOutputStream.computeFloatSize(13, screenX_);
            }
            if (isRecoverKeepCurrent_ != false) {
                size += com.google.protobuf.CodedOutputStream.computeBoolSize(14, isRecoverKeepCurrent_);
            }
            if (followPos_ != null) {
                size += com.google.protobuf.CodedOutputStream.computeMessageSize(15, getFollowPos());
            }
            if (blendDuration_ != 0F) {
                size += com.google.protobuf.CodedOutputStream.computeFloatSize(377, blendDuration_);
            }
            if (entityId_ != 0) {
                size += com.google.protobuf.CodedOutputStream.computeUInt32Size(434, entityId_);
            }
            if (blendType_ != 0) {
                size += com.google.protobuf.CodedOutputStream.computeUInt32Size(1200, blendType_);
            }
            if (disableProtect_ != 0) {
                size += com.google.protobuf.CodedOutputStream.computeUInt32Size(1905, disableProtect_);
            }
            if (isAbsFollowPos_ != false) {
                size += com.google.protobuf.CodedOutputStream.computeBoolSize(1979, isAbsFollowPos_);
            }
            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.BeginCameraSceneLookNotifyOuterClass
                            .BeginCameraSceneLookNotify)) {
                return super.equals(obj);
            }
            emu.grasscutter.net.proto.BeginCameraSceneLookNotifyOuterClass.BeginCameraSceneLookNotify
                    other =
                            (emu.grasscutter.net.proto.BeginCameraSceneLookNotifyOuterClass
                                            .BeginCameraSceneLookNotify)
                                    obj;

            if (java.lang.Float.floatToIntBits(getScreenX())
                    != java.lang.Float.floatToIntBits(other.getScreenX())) return false;
            if (getIsSetScreenXy() != other.getIsSetScreenXy()) return false;
            if (getIsRecoverKeepCurrent() != other.getIsRecoverKeepCurrent()) return false;
            if (!getOtherParamsList().equals(other.getOtherParamsList())) return false;
            if (hasLookPos() != other.hasLookPos()) return false;
            if (hasLookPos()) {
                if (!getLookPos().equals(other.getLookPos())) return false;
            }
            if (getIsAbsFollowPos() != other.getIsAbsFollowPos()) return false;
            if (getIsChangePlayMode() != other.getIsChangePlayMode()) return false;
            if (java.lang.Float.floatToIntBits(getScreenY())
                    != java.lang.Float.floatToIntBits(other.getScreenY())) return false;
            if (getIsSetFollowPos() != other.getIsSetFollowPos()) return false;
            if (hasFollowPos() != other.hasFollowPos()) return false;
            if (hasFollowPos()) {
                if (!getFollowPos().equals(other.getFollowPos())) return false;
            }
            if (java.lang.Float.floatToIntBits(getCustomRadius())
                    != java.lang.Float.floatToIntBits(other.getCustomRadius())) return false;
            if (getBlendType() != other.getBlendType()) return false;
            if (getIsForce() != other.getIsForce()) return false;
            if (java.lang.Float.floatToIntBits(getDuration())
                    != java.lang.Float.floatToIntBits(other.getDuration())) return false;
            if (java.lang.Float.floatToIntBits(getBlendDuration())
                    != java.lang.Float.floatToIntBits(other.getBlendDuration())) return false;
            if (getDisableProtect() != other.getDisableProtect()) return false;
            if (keepRotType_ != other.keepRotType_) return false;
            if (getEntityId() != other.getEntityId()) return false;
            if (getIsForceWalk() != other.getIsForceWalk()) return false;
            if (getIsAllowInput() != other.getIsAllowInput()) return false;
            if (!unknownFields.equals(other.unknownFields)) return false;
            return true;
        }

        @java.lang.Override
        public int hashCode() {
            if (memoizedHashCode != 0) {
                return memoizedHashCode;
            }
            int hash = 41;
            hash = (19 * hash) + getDescriptor().hashCode();
            hash = (37 * hash) + SCREEN_X_FIELD_NUMBER;
            hash = (53 * hash) + java.lang.Float.floatToIntBits(getScreenX());
            hash = (37 * hash) + IS_SET_SCREEN_XY_FIELD_NUMBER;
            hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(getIsSetScreenXy());
            hash = (37 * hash) + IS_RECOVER_KEEP_CURRENT_FIELD_NUMBER;
            hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(getIsRecoverKeepCurrent());
            if (getOtherParamsCount() > 0) {
                hash = (37 * hash) + OTHER_PARAMS_FIELD_NUMBER;
                hash = (53 * hash) + getOtherParamsList().hashCode();
            }
            if (hasLookPos()) {
                hash = (37 * hash) + LOOK_POS_FIELD_NUMBER;
                hash = (53 * hash) + getLookPos().hashCode();
            }
            hash = (37 * hash) + IS_ABS_FOLLOW_POS_FIELD_NUMBER;
            hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(getIsAbsFollowPos());
            hash = (37 * hash) + IS_CHANGE_PLAY_MODE_FIELD_NUMBER;
            hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(getIsChangePlayMode());
            hash = (37 * hash) + SCREEN_Y_FIELD_NUMBER;
            hash = (53 * hash) + java.lang.Float.floatToIntBits(getScreenY());
            hash = (37 * hash) + IS_SET_FOLLOW_POS_FIELD_NUMBER;
            hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(getIsSetFollowPos());
            if (hasFollowPos()) {
                hash = (37 * hash) + FOLLOW_POS_FIELD_NUMBER;
                hash = (53 * hash) + getFollowPos().hashCode();
            }
            hash = (37 * hash) + CUSTOM_RADIUS_FIELD_NUMBER;
            hash = (53 * hash) + java.lang.Float.floatToIntBits(getCustomRadius());
            hash = (37 * hash) + BLEND_TYPE_FIELD_NUMBER;
            hash = (53 * hash) + getBlendType();
            hash = (37 * hash) + IS_FORCE_FIELD_NUMBER;
            hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(getIsForce());
            hash = (37 * hash) + DURATION_FIELD_NUMBER;
            hash = (53 * hash) + java.lang.Float.floatToIntBits(getDuration());
            hash = (37 * hash) + BLEND_DURATION_FIELD_NUMBER;
            hash = (53 * hash) + java.lang.Float.floatToIntBits(getBlendDuration());
            hash = (37 * hash) + DISABLE_PROTECT_FIELD_NUMBER;
            hash = (53 * hash) + getDisableProtect();
            hash = (37 * hash) + KEEP_ROT_TYPE_FIELD_NUMBER;
            hash = (53 * hash) + keepRotType_;
            hash = (37 * hash) + ENTITY_ID_FIELD_NUMBER;
            hash = (53 * hash) + getEntityId();
            hash = (37 * hash) + IS_FORCE_WALK_FIELD_NUMBER;
            hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(getIsForceWalk());
            hash = (37 * hash) + IS_ALLOW_INPUT_FIELD_NUMBER;
            hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(getIsAllowInput());
            hash = (29 * hash) + unknownFields.hashCode();
            memoizedHashCode = hash;
            return hash;
        }

        public static emu.grasscutter.net.proto.BeginCameraSceneLookNotifyOuterClass
                        .BeginCameraSceneLookNotify
                parseFrom(java.nio.ByteBuffer data)
                        throws com.google.protobuf.InvalidProtocolBufferException {
            return PARSER.parseFrom(data);
        }

        public static emu.grasscutter.net.proto.BeginCameraSceneLookNotifyOuterClass
                        .BeginCameraSceneLookNotify
                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.BeginCameraSceneLookNotifyOuterClass
                        .BeginCameraSceneLookNotify
                parseFrom(com.google.protobuf.ByteString data)
                        throws com.google.protobuf.InvalidProtocolBufferException {
            return PARSER.parseFrom(data);
        }

        public static emu.grasscutter.net.proto.BeginCameraSceneLookNotifyOuterClass
                        .BeginCameraSceneLookNotify
                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.BeginCameraSceneLookNotifyOuterClass
                        .BeginCameraSceneLookNotify
                parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException {
            return PARSER.parseFrom(data);
        }

        public static emu.grasscutter.net.proto.BeginCameraSceneLookNotifyOuterClass
                        .BeginCameraSceneLookNotify
                parseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                        throws com.google.protobuf.InvalidProtocolBufferException {
            return PARSER.parseFrom(data, extensionRegistry);
        }

        public static emu.grasscutter.net.proto.BeginCameraSceneLookNotifyOuterClass
                        .BeginCameraSceneLookNotify
                parseFrom(java.io.InputStream input) throws java.io.IOException {
            return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input);
        }

        public static emu.grasscutter.net.proto.BeginCameraSceneLookNotifyOuterClass
                        .BeginCameraSceneLookNotify
                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.BeginCameraSceneLookNotifyOuterClass
                        .BeginCameraSceneLookNotify
                parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException {
            return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(PARSER, input);
        }

        public static emu.grasscutter.net.proto.BeginCameraSceneLookNotifyOuterClass
                        .BeginCameraSceneLookNotify
                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.BeginCameraSceneLookNotifyOuterClass
                        .BeginCameraSceneLookNotify
                parseFrom(com.google.protobuf.CodedInputStream input) throws java.io.IOException {
            return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input);
        }

        public static emu.grasscutter.net.proto.BeginCameraSceneLookNotifyOuterClass
                        .BeginCameraSceneLookNotify
                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.BeginCameraSceneLookNotifyOuterClass.BeginCameraSceneLookNotify
                        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;
        }
        /**
         *
         *
         * <pre>
         * Name: FJHMJKFEAIH
         * CmdId: 260
         * </pre>
         *
         * Protobuf type {@code BeginCameraSceneLookNotify}
         */
        public static final class Builder
                extends com.google.protobuf.GeneratedMessageV3.Builder<Builder>
                implements
                // @@protoc_insertion_point(builder_implements:BeginCameraSceneLookNotify)
                emu.grasscutter.net.proto.BeginCameraSceneLookNotifyOuterClass
                        .BeginCameraSceneLookNotifyOrBuilder {
            public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
                return emu.grasscutter.net.proto.BeginCameraSceneLookNotifyOuterClass
                        .internal_static_BeginCameraSceneLookNotify_descriptor;
            }

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

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

            private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
                super(parent);
                maybeForceBuilderInitialization();
            }

            private void maybeForceBuilderInitialization() {
                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {}
            }

            @java.lang.Override
            public Builder clear() {
                super.clear();
                screenX_ = 0F;

                isSetScreenXy_ = false;

                isRecoverKeepCurrent_ = false;

                otherParams_ = com.google.protobuf.LazyStringArrayList.EMPTY;
                bitField0_ = (bitField0_ & ~0x00000001);
                if (lookPosBuilder_ == null) {
                    lookPos_ = null;
                } else {
                    lookPos_ = null;
                    lookPosBuilder_ = null;
                }
                isAbsFollowPos_ = false;

                isChangePlayMode_ = false;

                screenY_ = 0F;

                isSetFollowPos_ = false;

                if (followPosBuilder_ == null) {
                    followPos_ = null;
                } else {
                    followPos_ = null;
                    followPosBuilder_ = null;
                }
                customRadius_ = 0F;

                blendType_ = 0;

                isForce_ = false;

                duration_ = 0F;

                blendDuration_ = 0F;

                disableProtect_ = 0;

                keepRotType_ = 0;

                entityId_ = 0;

                isForceWalk_ = false;

                isAllowInput_ = false;

                return this;
            }

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

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

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

            @java.lang.Override
            public emu.grasscutter.net.proto.BeginCameraSceneLookNotifyOuterClass
                            .BeginCameraSceneLookNotify
                    buildPartial() {
                emu.grasscutter.net.proto.BeginCameraSceneLookNotifyOuterClass.BeginCameraSceneLookNotify
                        result =
                                new emu.grasscutter.net.proto.BeginCameraSceneLookNotifyOuterClass
                                        .BeginCameraSceneLookNotify(this);
                int from_bitField0_ = bitField0_;
                result.screenX_ = screenX_;
                result.isSetScreenXy_ = isSetScreenXy_;
                result.isRecoverKeepCurrent_ = isRecoverKeepCurrent_;
                if (((bitField0_ & 0x00000001) != 0)) {
                    otherParams_ = otherParams_.getUnmodifiableView();
                    bitField0_ = (bitField0_ & ~0x00000001);
                }
                result.otherParams_ = otherParams_;
                if (lookPosBuilder_ == null) {
                    result.lookPos_ = lookPos_;
                } else {
                    result.lookPos_ = lookPosBuilder_.build();
                }
                result.isAbsFollowPos_ = isAbsFollowPos_;
                result.isChangePlayMode_ = isChangePlayMode_;
                result.screenY_ = screenY_;
                result.isSetFollowPos_ = isSetFollowPos_;
                if (followPosBuilder_ == null) {
                    result.followPos_ = followPos_;
                } else {
                    result.followPos_ = followPosBuilder_.build();
                }
                result.customRadius_ = customRadius_;
                result.blendType_ = blendType_;
                result.isForce_ = isForce_;
                result.duration_ = duration_;
                result.blendDuration_ = blendDuration_;
                result.disableProtect_ = disableProtect_;
                result.keepRotType_ = keepRotType_;
                result.entityId_ = entityId_;
                result.isForceWalk_ = isForceWalk_;
                result.isAllowInput_ = isAllowInput_;
                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.BeginCameraSceneLookNotifyOuterClass
                                .BeginCameraSceneLookNotify) {
                    return mergeFrom(
                            (emu.grasscutter.net.proto.BeginCameraSceneLookNotifyOuterClass
                                            .BeginCameraSceneLookNotify)
                                    other);
                } else {
                    super.mergeFrom(other);
                    return this;
                }
            }

            public Builder mergeFrom(
                    emu.grasscutter.net.proto.BeginCameraSceneLookNotifyOuterClass.BeginCameraSceneLookNotify
                            other) {
                if (other
                        == emu.grasscutter.net.proto.BeginCameraSceneLookNotifyOuterClass
                                .BeginCameraSceneLookNotify.getDefaultInstance()) return this;
                if (other.getScreenX() != 0F) {
                    setScreenX(other.getScreenX());
                }
                if (other.getIsSetScreenXy() != false) {
                    setIsSetScreenXy(other.getIsSetScreenXy());
                }
                if (other.getIsRecoverKeepCurrent() != false) {
                    setIsRecoverKeepCurrent(other.getIsRecoverKeepCurrent());
                }
                if (!other.otherParams_.isEmpty()) {
                    if (otherParams_.isEmpty()) {
                        otherParams_ = other.otherParams_;
                        bitField0_ = (bitField0_ & ~0x00000001);
                    } else {
                        ensureOtherParamsIsMutable();
                        otherParams_.addAll(other.otherParams_);
                    }
                    onChanged();
                }
                if (other.hasLookPos()) {
                    mergeLookPos(other.getLookPos());
                }
                if (other.getIsAbsFollowPos() != false) {
                    setIsAbsFollowPos(other.getIsAbsFollowPos());
                }
                if (other.getIsChangePlayMode() != false) {
                    setIsChangePlayMode(other.getIsChangePlayMode());
                }
                if (other.getScreenY() != 0F) {
                    setScreenY(other.getScreenY());
                }
                if (other.getIsSetFollowPos() != false) {
                    setIsSetFollowPos(other.getIsSetFollowPos());
                }
                if (other.hasFollowPos()) {
                    mergeFollowPos(other.getFollowPos());
                }
                if (other.getCustomRadius() != 0F) {
                    setCustomRadius(other.getCustomRadius());
                }
                if (other.getBlendType() != 0) {
                    setBlendType(other.getBlendType());
                }
                if (other.getIsForce() != false) {
                    setIsForce(other.getIsForce());
                }
                if (other.getDuration() != 0F) {
                    setDuration(other.getDuration());
                }
                if (other.getBlendDuration() != 0F) {
                    setBlendDuration(other.getBlendDuration());
                }
                if (other.getDisableProtect() != 0) {
                    setDisableProtect(other.getDisableProtect());
                }
                if (other.keepRotType_ != 0) {
                    setKeepRotTypeValue(other.getKeepRotTypeValue());
                }
                if (other.getEntityId() != 0) {
                    setEntityId(other.getEntityId());
                }
                if (other.getIsForceWalk() != false) {
                    setIsForceWalk(other.getIsForceWalk());
                }
                if (other.getIsAllowInput() != false) {
                    setIsAllowInput(other.getIsAllowInput());
                }
                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.BeginCameraSceneLookNotifyOuterClass.BeginCameraSceneLookNotify
                        parsedMessage = null;
                try {
                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
                    parsedMessage =
                            (emu.grasscutter.net.proto.BeginCameraSceneLookNotifyOuterClass
                                            .BeginCameraSceneLookNotify)
                                    e.getUnfinishedMessage();
                    throw e.unwrapIOException();
                } finally {
                    if (parsedMessage != null) {
                        mergeFrom(parsedMessage);
                    }
                }
                return this;
            }

            private int bitField0_;

            private float screenX_;
            /**
             * <code>float screen_x = 13;</code>
             *
             * @return The screenX.
             */
            @java.lang.Override
            public float getScreenX() {
                return screenX_;
            }
            /**
             * <code>float screen_x = 13;</code>
             *
             * @param value The screenX to set.
             * @return This builder for chaining.
             */
            public Builder setScreenX(float value) {

                screenX_ = value;
                onChanged();
                return this;
            }
            /**
             * <code>float screen_x = 13;</code>
             *
             * @return This builder for chaining.
             */
            public Builder clearScreenX() {

                screenX_ = 0F;
                onChanged();
                return this;
            }

            private boolean isSetScreenXy_;
            /**
             * <code>bool is_set_screen_xy = 9;</code>
             *
             * @return The isSetScreenXy.
             */
            @java.lang.Override
            public boolean getIsSetScreenXy() {
                return isSetScreenXy_;
            }
            /**
             * <code>bool is_set_screen_xy = 9;</code>
             *
             * @param value The isSetScreenXy to set.
             * @return This builder for chaining.
             */
            public Builder setIsSetScreenXy(boolean value) {

                isSetScreenXy_ = value;
                onChanged();
                return this;
            }
            /**
             * <code>bool is_set_screen_xy = 9;</code>
             *
             * @return This builder for chaining.
             */
            public Builder clearIsSetScreenXy() {

                isSetScreenXy_ = false;
                onChanged();
                return this;
            }

            private boolean isRecoverKeepCurrent_;
            /**
             * <code>bool is_recover_keep_current = 14;</code>
             *
             * @return The isRecoverKeepCurrent.
             */
            @java.lang.Override
            public boolean getIsRecoverKeepCurrent() {
                return isRecoverKeepCurrent_;
            }
            /**
             * <code>bool is_recover_keep_current = 14;</code>
             *
             * @param value The isRecoverKeepCurrent to set.
             * @return This builder for chaining.
             */
            public Builder setIsRecoverKeepCurrent(boolean value) {

                isRecoverKeepCurrent_ = value;
                onChanged();
                return this;
            }
            /**
             * <code>bool is_recover_keep_current = 14;</code>
             *
             * @return This builder for chaining.
             */
            public Builder clearIsRecoverKeepCurrent() {

                isRecoverKeepCurrent_ = false;
                onChanged();
                return this;
            }

            private com.google.protobuf.LazyStringList otherParams_ =
                    com.google.protobuf.LazyStringArrayList.EMPTY;

            private void ensureOtherParamsIsMutable() {
                if (!((bitField0_ & 0x00000001) != 0)) {
                    otherParams_ = new com.google.protobuf.LazyStringArrayList(otherParams_);
                    bitField0_ |= 0x00000001;
                }
            }
            /**
             * <code>repeated string other_params = 5;</code>
             *
             * @return A list containing the otherParams.
             */
            public com.google.protobuf.ProtocolStringList getOtherParamsList() {
                return otherParams_.getUnmodifiableView();
            }
            /**
             * <code>repeated string other_params = 5;</code>
             *
             * @return The count of otherParams.
             */
            public int getOtherParamsCount() {
                return otherParams_.size();
            }
            /**
             * <code>repeated string other_params = 5;</code>
             *
             * @param index The index of the element to return.
             * @return The otherParams at the given index.
             */
            public java.lang.String getOtherParams(int index) {
                return otherParams_.get(index);
            }
            /**
             * <code>repeated string other_params = 5;</code>
             *
             * @param index The index of the value to return.
             * @return The bytes of the otherParams at the given index.
             */
            public com.google.protobuf.ByteString getOtherParamsBytes(int index) {
                return otherParams_.getByteString(index);
            }
            /**
             * <code>repeated string other_params = 5;</code>
             *
             * @param index The index to set the value at.
             * @param value The otherParams to set.
             * @return This builder for chaining.
             */
            public Builder setOtherParams(int index, java.lang.String value) {
                if (value == null) {
                    throw new NullPointerException();
                }
                ensureOtherParamsIsMutable();
                otherParams_.set(index, value);
                onChanged();
                return this;
            }
            /**
             * <code>repeated string other_params = 5;</code>
             *
             * @param value The otherParams to add.
             * @return This builder for chaining.
             */
            public Builder addOtherParams(java.lang.String value) {
                if (value == null) {
                    throw new NullPointerException();
                }
                ensureOtherParamsIsMutable();
                otherParams_.add(value);
                onChanged();
                return this;
            }
            /**
             * <code>repeated string other_params = 5;</code>
             *
             * @param values The otherParams to add.
             * @return This builder for chaining.
             */
            public Builder addAllOtherParams(java.lang.Iterable<java.lang.String> values) {
                ensureOtherParamsIsMutable();
                com.google.protobuf.AbstractMessageLite.Builder.addAll(values, otherParams_);
                onChanged();
                return this;
            }
            /**
             * <code>repeated string other_params = 5;</code>
             *
             * @return This builder for chaining.
             */
            public Builder clearOtherParams() {
                otherParams_ = com.google.protobuf.LazyStringArrayList.EMPTY;
                bitField0_ = (bitField0_ & ~0x00000001);
                onChanged();
                return this;
            }
            /**
             * <code>repeated string other_params = 5;</code>
             *
             * @param value The bytes of the otherParams to add.
             * @return This builder for chaining.
             */
            public Builder addOtherParamsBytes(com.google.protobuf.ByteString value) {
                if (value == null) {
                    throw new NullPointerException();
                }
                checkByteStringIsUtf8(value);
                ensureOtherParamsIsMutable();
                otherParams_.add(value);
                onChanged();
                return this;
            }

            private emu.grasscutter.net.proto.VectorOuterClass.Vector lookPos_;
            private com.google.protobuf.SingleFieldBuilderV3<
                            emu.grasscutter.net.proto.VectorOuterClass.Vector,
                            emu.grasscutter.net.proto.VectorOuterClass.Vector.Builder,
                            emu.grasscutter.net.proto.VectorOuterClass.VectorOrBuilder>
                    lookPosBuilder_;
            /**
             * <code>.Vector look_pos = 4;</code>
             *
             * @return Whether the lookPos field is set.
             */
            public boolean hasLookPos() {
                return lookPosBuilder_ != null || lookPos_ != null;
            }
            /**
             * <code>.Vector look_pos = 4;</code>
             *
             * @return The lookPos.
             */
            public emu.grasscutter.net.proto.VectorOuterClass.Vector getLookPos() {
                if (lookPosBuilder_ == null) {
                    return lookPos_ == null
                            ? emu.grasscutter.net.proto.VectorOuterClass.Vector.getDefaultInstance()
                            : lookPos_;
                } else {
                    return lookPosBuilder_.getMessage();
                }
            }
            /** <code>.Vector look_pos = 4;</code> */
            public Builder setLookPos(emu.grasscutter.net.proto.VectorOuterClass.Vector value) {
                if (lookPosBuilder_ == null) {
                    if (value == null) {
                        throw new NullPointerException();
                    }
                    lookPos_ = value;
                    onChanged();
                } else {
                    lookPosBuilder_.setMessage(value);
                }

                return this;
            }
            /** <code>.Vector look_pos = 4;</code> */
            public Builder setLookPos(
                    emu.grasscutter.net.proto.VectorOuterClass.Vector.Builder builderForValue) {
                if (lookPosBuilder_ == null) {
                    lookPos_ = builderForValue.build();
                    onChanged();
                } else {
                    lookPosBuilder_.setMessage(builderForValue.build());
                }

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

                return this;
            }
            /** <code>.Vector look_pos = 4;</code> */
            public Builder clearLookPos() {
                if (lookPosBuilder_ == null) {
                    lookPos_ = null;
                    onChanged();
                } else {
                    lookPos_ = null;
                    lookPosBuilder_ = null;
                }

                return this;
            }
            /** <code>.Vector look_pos = 4;</code> */
            public emu.grasscutter.net.proto.VectorOuterClass.Vector.Builder getLookPosBuilder() {

                onChanged();
                return getLookPosFieldBuilder().getBuilder();
            }
            /** <code>.Vector look_pos = 4;</code> */
            public emu.grasscutter.net.proto.VectorOuterClass.VectorOrBuilder getLookPosOrBuilder() {
                if (lookPosBuilder_ != null) {
                    return lookPosBuilder_.getMessageOrBuilder();
                } else {
                    return lookPos_ == null
                            ? emu.grasscutter.net.proto.VectorOuterClass.Vector.getDefaultInstance()
                            : lookPos_;
                }
            }
            /** <code>.Vector look_pos = 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>
                    getLookPosFieldBuilder() {
                if (lookPosBuilder_ == null) {
                    lookPosBuilder_ =
                            new com.google.protobuf.SingleFieldBuilderV3<
                                    emu.grasscutter.net.proto.VectorOuterClass.Vector,
                                    emu.grasscutter.net.proto.VectorOuterClass.Vector.Builder,
                                    emu.grasscutter.net.proto.VectorOuterClass.VectorOrBuilder>(
                                    getLookPos(), getParentForChildren(), isClean());
                    lookPos_ = null;
                }
                return lookPosBuilder_;
            }

            private boolean isAbsFollowPos_;
            /**
             * <code>bool is_abs_follow_pos = 1979;</code>
             *
             * @return The isAbsFollowPos.
             */
            @java.lang.Override
            public boolean getIsAbsFollowPos() {
                return isAbsFollowPos_;
            }
            /**
             * <code>bool is_abs_follow_pos = 1979;</code>
             *
             * @param value The isAbsFollowPos to set.
             * @return This builder for chaining.
             */
            public Builder setIsAbsFollowPos(boolean value) {

                isAbsFollowPos_ = value;
                onChanged();
                return this;
            }
            /**
             * <code>bool is_abs_follow_pos = 1979;</code>
             *
             * @return This builder for chaining.
             */
            public Builder clearIsAbsFollowPos() {

                isAbsFollowPos_ = false;
                onChanged();
                return this;
            }

            private boolean isChangePlayMode_;
            /**
             * <code>bool is_change_play_mode = 7;</code>
             *
             * @return The isChangePlayMode.
             */
            @java.lang.Override
            public boolean getIsChangePlayMode() {
                return isChangePlayMode_;
            }
            /**
             * <code>bool is_change_play_mode = 7;</code>
             *
             * @param value The isChangePlayMode to set.
             * @return This builder for chaining.
             */
            public Builder setIsChangePlayMode(boolean value) {

                isChangePlayMode_ = value;
                onChanged();
                return this;
            }
            /**
             * <code>bool is_change_play_mode = 7;</code>
             *
             * @return This builder for chaining.
             */
            public Builder clearIsChangePlayMode() {

                isChangePlayMode_ = false;
                onChanged();
                return this;
            }

            private float screenY_;
            /**
             * <code>float screen_y = 12;</code>
             *
             * @return The screenY.
             */
            @java.lang.Override
            public float getScreenY() {
                return screenY_;
            }
            /**
             * <code>float screen_y = 12;</code>
             *
             * @param value The screenY to set.
             * @return This builder for chaining.
             */
            public Builder setScreenY(float value) {

                screenY_ = value;
                onChanged();
                return this;
            }
            /**
             * <code>float screen_y = 12;</code>
             *
             * @return This builder for chaining.
             */
            public Builder clearScreenY() {

                screenY_ = 0F;
                onChanged();
                return this;
            }

            private boolean isSetFollowPos_;
            /**
             * <code>bool is_set_follow_pos = 8;</code>
             *
             * @return The isSetFollowPos.
             */
            @java.lang.Override
            public boolean getIsSetFollowPos() {
                return isSetFollowPos_;
            }
            /**
             * <code>bool is_set_follow_pos = 8;</code>
             *
             * @param value The isSetFollowPos to set.
             * @return This builder for chaining.
             */
            public Builder setIsSetFollowPos(boolean value) {

                isSetFollowPos_ = value;
                onChanged();
                return this;
            }
            /**
             * <code>bool is_set_follow_pos = 8;</code>
             *
             * @return This builder for chaining.
             */
            public Builder clearIsSetFollowPos() {

                isSetFollowPos_ = false;
                onChanged();
                return this;
            }

            private emu.grasscutter.net.proto.VectorOuterClass.Vector followPos_;
            private com.google.protobuf.SingleFieldBuilderV3<
                            emu.grasscutter.net.proto.VectorOuterClass.Vector,
                            emu.grasscutter.net.proto.VectorOuterClass.Vector.Builder,
                            emu.grasscutter.net.proto.VectorOuterClass.VectorOrBuilder>
                    followPosBuilder_;
            /**
             * <code>.Vector follow_pos = 15;</code>
             *
             * @return Whether the followPos field is set.
             */
            public boolean hasFollowPos() {
                return followPosBuilder_ != null || followPos_ != null;
            }
            /**
             * <code>.Vector follow_pos = 15;</code>
             *
             * @return The followPos.
             */
            public emu.grasscutter.net.proto.VectorOuterClass.Vector getFollowPos() {
                if (followPosBuilder_ == null) {
                    return followPos_ == null
                            ? emu.grasscutter.net.proto.VectorOuterClass.Vector.getDefaultInstance()
                            : followPos_;
                } else {
                    return followPosBuilder_.getMessage();
                }
            }
            /** <code>.Vector follow_pos = 15;</code> */
            public Builder setFollowPos(emu.grasscutter.net.proto.VectorOuterClass.Vector value) {
                if (followPosBuilder_ == null) {
                    if (value == null) {
                        throw new NullPointerException();
                    }
                    followPos_ = value;
                    onChanged();
                } else {
                    followPosBuilder_.setMessage(value);
                }

                return this;
            }
            /** <code>.Vector follow_pos = 15;</code> */
            public Builder setFollowPos(
                    emu.grasscutter.net.proto.VectorOuterClass.Vector.Builder builderForValue) {
                if (followPosBuilder_ == null) {
                    followPos_ = builderForValue.build();
                    onChanged();
                } else {
                    followPosBuilder_.setMessage(builderForValue.build());
                }

                return this;
            }
            /** <code>.Vector follow_pos = 15;</code> */
            public Builder mergeFollowPos(emu.grasscutter.net.proto.VectorOuterClass.Vector value) {
                if (followPosBuilder_ == null) {
                    if (followPos_ != null) {
                        followPos_ =
                                emu.grasscutter.net.proto.VectorOuterClass.Vector.newBuilder(followPos_)
                                        .mergeFrom(value)
                                        .buildPartial();
                    } else {
                        followPos_ = value;
                    }
                    onChanged();
                } else {
                    followPosBuilder_.mergeFrom(value);
                }

                return this;
            }
            /** <code>.Vector follow_pos = 15;</code> */
            public Builder clearFollowPos() {
                if (followPosBuilder_ == null) {
                    followPos_ = null;
                    onChanged();
                } else {
                    followPos_ = null;
                    followPosBuilder_ = null;
                }

                return this;
            }
            /** <code>.Vector follow_pos = 15;</code> */
            public emu.grasscutter.net.proto.VectorOuterClass.Vector.Builder getFollowPosBuilder() {

                onChanged();
                return getFollowPosFieldBuilder().getBuilder();
            }
            /** <code>.Vector follow_pos = 15;</code> */
            public emu.grasscutter.net.proto.VectorOuterClass.VectorOrBuilder getFollowPosOrBuilder() {
                if (followPosBuilder_ != null) {
                    return followPosBuilder_.getMessageOrBuilder();
                } else {
                    return followPos_ == null
                            ? emu.grasscutter.net.proto.VectorOuterClass.Vector.getDefaultInstance()
                            : followPos_;
                }
            }
            /** <code>.Vector follow_pos = 15;</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>
                    getFollowPosFieldBuilder() {
                if (followPosBuilder_ == null) {
                    followPosBuilder_ =
                            new com.google.protobuf.SingleFieldBuilderV3<
                                    emu.grasscutter.net.proto.VectorOuterClass.Vector,
                                    emu.grasscutter.net.proto.VectorOuterClass.Vector.Builder,
                                    emu.grasscutter.net.proto.VectorOuterClass.VectorOrBuilder>(
                                    getFollowPos(), getParentForChildren(), isClean());
                    followPos_ = null;
                }
                return followPosBuilder_;
            }

            private float customRadius_;
            /**
             * <code>float custom_radius = 6;</code>
             *
             * @return The customRadius.
             */
            @java.lang.Override
            public float getCustomRadius() {
                return customRadius_;
            }
            /**
             * <code>float custom_radius = 6;</code>
             *
             * @param value The customRadius to set.
             * @return This builder for chaining.
             */
            public Builder setCustomRadius(float value) {

                customRadius_ = value;
                onChanged();
                return this;
            }
            /**
             * <code>float custom_radius = 6;</code>
             *
             * @return This builder for chaining.
             */
            public Builder clearCustomRadius() {

                customRadius_ = 0F;
                onChanged();
                return this;
            }

            private int blendType_;
            /**
             * <code>uint32 blend_type = 1200;</code>
             *
             * @return The blendType.
             */
            @java.lang.Override
            public int getBlendType() {
                return blendType_;
            }
            /**
             * <code>uint32 blend_type = 1200;</code>
             *
             * @param value The blendType to set.
             * @return This builder for chaining.
             */
            public Builder setBlendType(int value) {

                blendType_ = value;
                onChanged();
                return this;
            }
            /**
             * <code>uint32 blend_type = 1200;</code>
             *
             * @return This builder for chaining.
             */
            public Builder clearBlendType() {

                blendType_ = 0;
                onChanged();
                return this;
            }

            private boolean isForce_;
            /**
             * <code>bool is_force = 10;</code>
             *
             * @return The isForce.
             */
            @java.lang.Override
            public boolean getIsForce() {
                return isForce_;
            }
            /**
             * <code>bool is_force = 10;</code>
             *
             * @param value The isForce to set.
             * @return This builder for chaining.
             */
            public Builder setIsForce(boolean value) {

                isForce_ = value;
                onChanged();
                return this;
            }
            /**
             * <code>bool is_force = 10;</code>
             *
             * @return This builder for chaining.
             */
            public Builder clearIsForce() {

                isForce_ = false;
                onChanged();
                return this;
            }

            private float duration_;
            /**
             * <code>float duration = 2;</code>
             *
             * @return The duration.
             */
            @java.lang.Override
            public float getDuration() {
                return duration_;
            }
            /**
             * <code>float duration = 2;</code>
             *
             * @param value The duration to set.
             * @return This builder for chaining.
             */
            public Builder setDuration(float value) {

                duration_ = value;
                onChanged();
                return this;
            }
            /**
             * <code>float duration = 2;</code>
             *
             * @return This builder for chaining.
             */
            public Builder clearDuration() {

                duration_ = 0F;
                onChanged();
                return this;
            }

            private float blendDuration_;
            /**
             * <code>float blend_duration = 377;</code>
             *
             * @return The blendDuration.
             */
            @java.lang.Override
            public float getBlendDuration() {
                return blendDuration_;
            }
            /**
             * <code>float blend_duration = 377;</code>
             *
             * @param value The blendDuration to set.
             * @return This builder for chaining.
             */
            public Builder setBlendDuration(float value) {

                blendDuration_ = value;
                onChanged();
                return this;
            }
            /**
             * <code>float blend_duration = 377;</code>
             *
             * @return This builder for chaining.
             */
            public Builder clearBlendDuration() {

                blendDuration_ = 0F;
                onChanged();
                return this;
            }

            private int disableProtect_;
            /**
             * <code>uint32 disable_protect = 1905;</code>
             *
             * @return The disableProtect.
             */
            @java.lang.Override
            public int getDisableProtect() {
                return disableProtect_;
            }
            /**
             * <code>uint32 disable_protect = 1905;</code>
             *
             * @param value The disableProtect to set.
             * @return This builder for chaining.
             */
            public Builder setDisableProtect(int value) {

                disableProtect_ = value;
                onChanged();
                return this;
            }
            /**
             * <code>uint32 disable_protect = 1905;</code>
             *
             * @return This builder for chaining.
             */
            public Builder clearDisableProtect() {

                disableProtect_ = 0;
                onChanged();
                return this;
            }

            private int keepRotType_ = 0;
            /**
             * <code>.BeginCameraSceneLookNotify.KeepRotType keep_rot_type = 11;</code>
             *
             * @return The enum numeric value on the wire for keepRotType.
             */
            @java.lang.Override
            public int getKeepRotTypeValue() {
                return keepRotType_;
            }
            /**
             * <code>.BeginCameraSceneLookNotify.KeepRotType keep_rot_type = 11;</code>
             *
             * @param value The enum numeric value on the wire for keepRotType to set.
             * @return This builder for chaining.
             */
            public Builder setKeepRotTypeValue(int value) {

                keepRotType_ = value;
                onChanged();
                return this;
            }
            /**
             * <code>.BeginCameraSceneLookNotify.KeepRotType keep_rot_type = 11;</code>
             *
             * @return The keepRotType.
             */
            @java.lang.Override
            public emu.grasscutter.net.proto.BeginCameraSceneLookNotifyOuterClass
                            .BeginCameraSceneLookNotify.KeepRotType
                    getKeepRotType() {
                @SuppressWarnings("deprecation")
                emu.grasscutter.net.proto.BeginCameraSceneLookNotifyOuterClass.BeginCameraSceneLookNotify
                                .KeepRotType
                        result =
                                emu.grasscutter.net.proto.BeginCameraSceneLookNotifyOuterClass
                                        .BeginCameraSceneLookNotify.KeepRotType.valueOf(keepRotType_);
                return result == null
                        ? emu.grasscutter.net.proto.BeginCameraSceneLookNotifyOuterClass
                                .BeginCameraSceneLookNotify.KeepRotType.UNRECOGNIZED
                        : result;
            }
            /**
             * <code>.BeginCameraSceneLookNotify.KeepRotType keep_rot_type = 11;</code>
             *
             * @param value The keepRotType to set.
             * @return This builder for chaining.
             */
            public Builder setKeepRotType(
                    emu.grasscutter.net.proto.BeginCameraSceneLookNotifyOuterClass.BeginCameraSceneLookNotify
                                    .KeepRotType
                            value) {
                if (value == null) {
                    throw new NullPointerException();
                }

                keepRotType_ = value.getNumber();
                onChanged();
                return this;
            }
            /**
             * <code>.BeginCameraSceneLookNotify.KeepRotType keep_rot_type = 11;</code>
             *
             * @return This builder for chaining.
             */
            public Builder clearKeepRotType() {

                keepRotType_ = 0;
                onChanged();
                return this;
            }

            private int entityId_;
            /**
             * <code>uint32 entity_id = 434;</code>
             *
             * @return The entityId.
             */
            @java.lang.Override
            public int getEntityId() {
                return entityId_;
            }
            /**
             * <code>uint32 entity_id = 434;</code>
             *
             * @param value The entityId to set.
             * @return This builder for chaining.
             */
            public Builder setEntityId(int value) {

                entityId_ = value;
                onChanged();
                return this;
            }
            /**
             * <code>uint32 entity_id = 434;</code>
             *
             * @return This builder for chaining.
             */
            public Builder clearEntityId() {

                entityId_ = 0;
                onChanged();
                return this;
            }

            private boolean isForceWalk_;
            /**
             * <code>bool is_force_walk = 1;</code>
             *
             * @return The isForceWalk.
             */
            @java.lang.Override
            public boolean getIsForceWalk() {
                return isForceWalk_;
            }
            /**
             * <code>bool is_force_walk = 1;</code>
             *
             * @param value The isForceWalk to set.
             * @return This builder for chaining.
             */
            public Builder setIsForceWalk(boolean value) {

                isForceWalk_ = value;
                onChanged();
                return this;
            }
            /**
             * <code>bool is_force_walk = 1;</code>
             *
             * @return This builder for chaining.
             */
            public Builder clearIsForceWalk() {

                isForceWalk_ = false;
                onChanged();
                return this;
            }

            private boolean isAllowInput_;
            /**
             * <code>bool is_allow_input = 3;</code>
             *
             * @return The isAllowInput.
             */
            @java.lang.Override
            public boolean getIsAllowInput() {
                return isAllowInput_;
            }
            /**
             * <code>bool is_allow_input = 3;</code>
             *
             * @param value The isAllowInput to set.
             * @return This builder for chaining.
             */
            public Builder setIsAllowInput(boolean value) {

                isAllowInput_ = value;
                onChanged();
                return this;
            }
            /**
             * <code>bool is_allow_input = 3;</code>
             *
             * @return This builder for chaining.
             */
            public Builder clearIsAllowInput() {

                isAllowInput_ = false;
                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:BeginCameraSceneLookNotify)
        }

        // @@protoc_insertion_point(class_scope:BeginCameraSceneLookNotify)
        private static final emu.grasscutter.net.proto.BeginCameraSceneLookNotifyOuterClass
                        .BeginCameraSceneLookNotify
                DEFAULT_INSTANCE;

        static {
            DEFAULT_INSTANCE =
                    new emu.grasscutter.net.proto.BeginCameraSceneLookNotifyOuterClass
                            .BeginCameraSceneLookNotify();
        }

        public static emu.grasscutter.net.proto.BeginCameraSceneLookNotifyOuterClass
                        .BeginCameraSceneLookNotify
                getDefaultInstance() {
            return DEFAULT_INSTANCE;
        }

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

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

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

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

    private static final com.google.protobuf.Descriptors.Descriptor
            internal_static_BeginCameraSceneLookNotify_descriptor;
    private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
            internal_static_BeginCameraSceneLookNotify_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 BeginCameraSceneLookNotify.proto\032\014Vect"
                    + "or.proto\"\335\004\n\032BeginCameraSceneLookNotify\022"
                    + "\020\n\010screen_x\030\r \001(\002\022\030\n\020is_set_screen_xy\030\t "
                    + "\001(\010\022\037\n\027is_recover_keep_current\030\016 \001(\010\022\024\n\014"
                    + "other_params\030\005 \003(\t\022\031\n\010look_pos\030\004 \001(\0132\007.V"
                    + "ector\022\032\n\021is_abs_follow_pos\030\273\017 \001(\010\022\033\n\023is_"
                    + "change_play_mode\030\007 \001(\010\022\020\n\010screen_y\030\014 \001(\002"
                    + "\022\031\n\021is_set_follow_pos\030\010 \001(\010\022\033\n\nfollow_po"
                    + "s\030\017 \001(\0132\007.Vector\022\025\n\rcustom_radius\030\006 \001(\002\022"
                    + "\023\n\nblend_type\030\260\t \001(\r\022\020\n\010is_force\030\n \001(\010\022\020"
                    + "\n\010duration\030\002 \001(\002\022\027\n\016blend_duration\030\371\002 \001("
                    + "\002\022\030\n\017disable_protect\030\361\016 \001(\r\022>\n\rkeep_rot_"
                    + "type\030\013 \001(\0162\'.BeginCameraSceneLookNotify."
                    + "KeepRotType\022\022\n\tentity_id\030\262\003 \001(\r\022\025\n\ris_fo"
                    + "rce_walk\030\001 \001(\010\022\026\n\016is_allow_input\030\003 \001(\010\"8"
                    + "\n\013KeepRotType\022\023\n\017KEEP_ROT_TYPE_X\020\000\022\024\n\020KE"
                    + "EP_ROT_TYPE_XY\020\001B!\n\031emu.grasscutter.net."
                    + "protoZ\004/genb\006proto3"
        };
        descriptor =
                com.google.protobuf.Descriptors.FileDescriptor.internalBuildGeneratedFileFrom(
                        descriptorData,
                        new com.google.protobuf.Descriptors.FileDescriptor[] {
                            emu.grasscutter.net.proto.VectorOuterClass.getDescriptor(),
                        });
        internal_static_BeginCameraSceneLookNotify_descriptor =
                getDescriptor().getMessageTypes().get(0);
        internal_static_BeginCameraSceneLookNotify_fieldAccessorTable =
                new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
                        internal_static_BeginCameraSceneLookNotify_descriptor,
                        new java.lang.String[] {
                            "ScreenX",
                            "IsSetScreenXy",
                            "IsRecoverKeepCurrent",
                            "OtherParams",
                            "LookPos",
                            "IsAbsFollowPos",
                            "IsChangePlayMode",
                            "ScreenY",
                            "IsSetFollowPos",
                            "FollowPos",
                            "CustomRadius",
                            "BlendType",
                            "IsForce",
                            "Duration",
                            "BlendDuration",
                            "DisableProtect",
                            "KeepRotType",
                            "EntityId",
                            "IsForceWalk",
                            "IsAllowInput",
                        });
        emu.grasscutter.net.proto.VectorOuterClass.getDescriptor();
    }

    // @@protoc_insertion_point(outer_class_scope)
}
