getParam1List();
+ /**
+ * repeated uint32 param1 = 7;
+ * @return The count of param1.
+ */
+ int getParam1Count();
+ /**
+ * repeated uint32 param1 = 7;
+ * @param index The index of the element to return.
+ * @return The param1 at the given index.
+ */
+ int getParam1(int index);
+ }
+ /**
+ *
+ * Name: BHHLLDGJLGK
+ * CmdId: 3412
+ *
+ *
+ * Protobuf type {@code SceneAudioNotify}
+ */
+ public static final class SceneAudioNotify extends
+ com.google.protobuf.GeneratedMessageV3 implements
+ // @@protoc_insertion_point(message_implements:SceneAudioNotify)
+ SceneAudioNotifyOrBuilder {
+ private static final long serialVersionUID = 0L;
+ // Use SceneAudioNotify.newBuilder() to construct.
+ private SceneAudioNotify(com.google.protobuf.GeneratedMessageV3.Builder> builder) {
+ super(builder);
+ }
+ private SceneAudioNotify() {
+ param2_ = emptyFloatList();
+ param3_ = com.google.protobuf.LazyStringArrayList.EMPTY;
+ param1_ = emptyIntList();
+ }
+
+ @java.lang.Override
+ @SuppressWarnings({"unused"})
+ protected java.lang.Object newInstance(
+ UnusedPrivateParameter unused) {
+ return new SceneAudioNotify();
+ }
+
+ @java.lang.Override
+ public final com.google.protobuf.UnknownFieldSet
+ getUnknownFields() {
+ return this.unknownFields;
+ }
+ private SceneAudioNotify(
+ 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 48: {
+
+ sourceUid_ = input.readUInt32();
+ break;
+ }
+ case 56: {
+ if (!((mutable_bitField0_ & 0x00000004) != 0)) {
+ param1_ = newIntList();
+ mutable_bitField0_ |= 0x00000004;
+ }
+ param1_.addInt(input.readUInt32());
+ break;
+ }
+ case 58: {
+ int length = input.readRawVarint32();
+ int limit = input.pushLimit(length);
+ if (!((mutable_bitField0_ & 0x00000004) != 0) && input.getBytesUntilLimit() > 0) {
+ param1_ = newIntList();
+ mutable_bitField0_ |= 0x00000004;
+ }
+ while (input.getBytesUntilLimit() > 0) {
+ param1_.addInt(input.readUInt32());
+ }
+ input.popLimit(limit);
+ break;
+ }
+ case 66: {
+ java.lang.String s = input.readStringRequireUtf8();
+ if (!((mutable_bitField0_ & 0x00000002) != 0)) {
+ param3_ = new com.google.protobuf.LazyStringArrayList();
+ mutable_bitField0_ |= 0x00000002;
+ }
+ param3_.add(s);
+ break;
+ }
+ case 77: {
+ if (!((mutable_bitField0_ & 0x00000001) != 0)) {
+ param2_ = newFloatList();
+ mutable_bitField0_ |= 0x00000001;
+ }
+ param2_.addFloat(input.readFloat());
+ break;
+ }
+ case 74: {
+ int length = input.readRawVarint32();
+ int limit = input.pushLimit(length);
+ if (!((mutable_bitField0_ & 0x00000001) != 0) && input.getBytesUntilLimit() > 0) {
+ param2_ = newFloatList();
+ mutable_bitField0_ |= 0x00000001;
+ }
+ while (input.getBytesUntilLimit() > 0) {
+ param2_.addFloat(input.readFloat());
+ }
+ input.popLimit(limit);
+ break;
+ }
+ case 96: {
+
+ type_ = input.readInt32();
+ break;
+ }
+ default: {
+ if (!parseUnknownField(
+ input, unknownFields, extensionRegistry, tag)) {
+ done = true;
+ }
+ break;
+ }
+ }
+ }
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ throw e.setUnfinishedMessage(this);
+ } catch (java.io.IOException e) {
+ throw new com.google.protobuf.InvalidProtocolBufferException(
+ e).setUnfinishedMessage(this);
+ } finally {
+ if (((mutable_bitField0_ & 0x00000004) != 0)) {
+ param1_.makeImmutable(); // C
+ }
+ if (((mutable_bitField0_ & 0x00000002) != 0)) {
+ param3_ = param3_.getUnmodifiableView();
+ }
+ if (((mutable_bitField0_ & 0x00000001) != 0)) {
+ param2_.makeImmutable(); // C
+ }
+ this.unknownFields = unknownFields.build();
+ makeExtensionsImmutable();
+ }
+ }
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return emu.grasscutter.net.proto.SceneAudioNotifyOuterClass.internal_static_SceneAudioNotify_descriptor;
+ }
+
+ @java.lang.Override
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return emu.grasscutter.net.proto.SceneAudioNotifyOuterClass.internal_static_SceneAudioNotify_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ emu.grasscutter.net.proto.SceneAudioNotifyOuterClass.SceneAudioNotify.class, emu.grasscutter.net.proto.SceneAudioNotifyOuterClass.SceneAudioNotify.Builder.class);
+ }
+
+ public static final int TYPE_FIELD_NUMBER = 12;
+ private int type_;
+ /**
+ * int32 type = 12;
+ * @return The type.
+ */
+ @java.lang.Override
+ public int getType() {
+ return type_;
+ }
+
+ public static final int PARAM2_FIELD_NUMBER = 9;
+ private com.google.protobuf.Internal.FloatList param2_;
+ /**
+ * repeated float param2 = 9;
+ * @return A list containing the param2.
+ */
+ @java.lang.Override
+ public java.util.List
+ getParam2List() {
+ return param2_;
+ }
+ /**
+ * repeated float param2 = 9;
+ * @return The count of param2.
+ */
+ public int getParam2Count() {
+ return param2_.size();
+ }
+ /**
+ * repeated float param2 = 9;
+ * @param index The index of the element to return.
+ * @return The param2 at the given index.
+ */
+ public float getParam2(int index) {
+ return param2_.getFloat(index);
+ }
+ private int param2MemoizedSerializedSize = -1;
+
+ public static final int SOURCE_UID_FIELD_NUMBER = 6;
+ private int sourceUid_;
+ /**
+ * uint32 source_uid = 6;
+ * @return The sourceUid.
+ */
+ @java.lang.Override
+ public int getSourceUid() {
+ return sourceUid_;
+ }
+
+ public static final int PARAM3_FIELD_NUMBER = 8;
+ private com.google.protobuf.LazyStringList param3_;
+ /**
+ * repeated string param3 = 8;
+ * @return A list containing the param3.
+ */
+ public com.google.protobuf.ProtocolStringList
+ getParam3List() {
+ return param3_;
+ }
+ /**
+ * repeated string param3 = 8;
+ * @return The count of param3.
+ */
+ public int getParam3Count() {
+ return param3_.size();
+ }
+ /**
+ * repeated string param3 = 8;
+ * @param index The index of the element to return.
+ * @return The param3 at the given index.
+ */
+ public java.lang.String getParam3(int index) {
+ return param3_.get(index);
+ }
+ /**
+ * repeated string param3 = 8;
+ * @param index The index of the value to return.
+ * @return The bytes of the param3 at the given index.
+ */
+ public com.google.protobuf.ByteString
+ getParam3Bytes(int index) {
+ return param3_.getByteString(index);
+ }
+
+ public static final int PARAM1_FIELD_NUMBER = 7;
+ private com.google.protobuf.Internal.IntList param1_;
+ /**
+ * repeated uint32 param1 = 7;
+ * @return A list containing the param1.
+ */
+ @java.lang.Override
+ public java.util.List
+ getParam1List() {
+ return param1_;
+ }
+ /**
+ * repeated uint32 param1 = 7;
+ * @return The count of param1.
+ */
+ public int getParam1Count() {
+ return param1_.size();
+ }
+ /**
+ * repeated uint32 param1 = 7;
+ * @param index The index of the element to return.
+ * @return The param1 at the given index.
+ */
+ public int getParam1(int index) {
+ return param1_.getInt(index);
+ }
+ private int param1MemoizedSerializedSize = -1;
+
+ private byte memoizedIsInitialized = -1;
+ @java.lang.Override
+ public final boolean isInitialized() {
+ byte isInitialized = memoizedIsInitialized;
+ if (isInitialized == 1) return true;
+ if (isInitialized == 0) return false;
+
+ memoizedIsInitialized = 1;
+ return true;
+ }
+
+ @java.lang.Override
+ public void writeTo(com.google.protobuf.CodedOutputStream output)
+ throws java.io.IOException {
+ getSerializedSize();
+ if (sourceUid_ != 0) {
+ output.writeUInt32(6, sourceUid_);
+ }
+ if (getParam1List().size() > 0) {
+ output.writeUInt32NoTag(58);
+ output.writeUInt32NoTag(param1MemoizedSerializedSize);
+ }
+ for (int i = 0; i < param1_.size(); i++) {
+ output.writeUInt32NoTag(param1_.getInt(i));
+ }
+ for (int i = 0; i < param3_.size(); i++) {
+ com.google.protobuf.GeneratedMessageV3.writeString(output, 8, param3_.getRaw(i));
+ }
+ if (getParam2List().size() > 0) {
+ output.writeUInt32NoTag(74);
+ output.writeUInt32NoTag(param2MemoizedSerializedSize);
+ }
+ for (int i = 0; i < param2_.size(); i++) {
+ output.writeFloatNoTag(param2_.getFloat(i));
+ }
+ if (type_ != 0) {
+ output.writeInt32(12, type_);
+ }
+ unknownFields.writeTo(output);
+ }
+
+ @java.lang.Override
+ public int getSerializedSize() {
+ int size = memoizedSize;
+ if (size != -1) return size;
+
+ size = 0;
+ if (sourceUid_ != 0) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeUInt32Size(6, sourceUid_);
+ }
+ {
+ int dataSize = 0;
+ for (int i = 0; i < param1_.size(); i++) {
+ dataSize += com.google.protobuf.CodedOutputStream
+ .computeUInt32SizeNoTag(param1_.getInt(i));
+ }
+ size += dataSize;
+ if (!getParam1List().isEmpty()) {
+ size += 1;
+ size += com.google.protobuf.CodedOutputStream
+ .computeInt32SizeNoTag(dataSize);
+ }
+ param1MemoizedSerializedSize = dataSize;
+ }
+ {
+ int dataSize = 0;
+ for (int i = 0; i < param3_.size(); i++) {
+ dataSize += computeStringSizeNoTag(param3_.getRaw(i));
+ }
+ size += dataSize;
+ size += 1 * getParam3List().size();
+ }
+ {
+ int dataSize = 0;
+ dataSize = 4 * getParam2List().size();
+ size += dataSize;
+ if (!getParam2List().isEmpty()) {
+ size += 1;
+ size += com.google.protobuf.CodedOutputStream
+ .computeInt32SizeNoTag(dataSize);
+ }
+ param2MemoizedSerializedSize = dataSize;
+ }
+ if (type_ != 0) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeInt32Size(12, type_);
+ }
+ 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.SceneAudioNotifyOuterClass.SceneAudioNotify)) {
+ return super.equals(obj);
+ }
+ emu.grasscutter.net.proto.SceneAudioNotifyOuterClass.SceneAudioNotify other = (emu.grasscutter.net.proto.SceneAudioNotifyOuterClass.SceneAudioNotify) obj;
+
+ if (getType()
+ != other.getType()) return false;
+ if (!getParam2List()
+ .equals(other.getParam2List())) return false;
+ if (getSourceUid()
+ != other.getSourceUid()) return false;
+ if (!getParam3List()
+ .equals(other.getParam3List())) return false;
+ if (!getParam1List()
+ .equals(other.getParam1List())) 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) + TYPE_FIELD_NUMBER;
+ hash = (53 * hash) + getType();
+ if (getParam2Count() > 0) {
+ hash = (37 * hash) + PARAM2_FIELD_NUMBER;
+ hash = (53 * hash) + getParam2List().hashCode();
+ }
+ hash = (37 * hash) + SOURCE_UID_FIELD_NUMBER;
+ hash = (53 * hash) + getSourceUid();
+ if (getParam3Count() > 0) {
+ hash = (37 * hash) + PARAM3_FIELD_NUMBER;
+ hash = (53 * hash) + getParam3List().hashCode();
+ }
+ if (getParam1Count() > 0) {
+ hash = (37 * hash) + PARAM1_FIELD_NUMBER;
+ hash = (53 * hash) + getParam1List().hashCode();
+ }
+ hash = (29 * hash) + unknownFields.hashCode();
+ memoizedHashCode = hash;
+ return hash;
+ }
+
+ public static emu.grasscutter.net.proto.SceneAudioNotifyOuterClass.SceneAudioNotify parseFrom(
+ java.nio.ByteBuffer data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static emu.grasscutter.net.proto.SceneAudioNotifyOuterClass.SceneAudioNotify 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.SceneAudioNotifyOuterClass.SceneAudioNotify parseFrom(
+ com.google.protobuf.ByteString data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static emu.grasscutter.net.proto.SceneAudioNotifyOuterClass.SceneAudioNotify 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.SceneAudioNotifyOuterClass.SceneAudioNotify parseFrom(byte[] data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static emu.grasscutter.net.proto.SceneAudioNotifyOuterClass.SceneAudioNotify parseFrom(
+ byte[] data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static emu.grasscutter.net.proto.SceneAudioNotifyOuterClass.SceneAudioNotify parseFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static emu.grasscutter.net.proto.SceneAudioNotifyOuterClass.SceneAudioNotify 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.SceneAudioNotifyOuterClass.SceneAudioNotify parseDelimitedFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input);
+ }
+ public static emu.grasscutter.net.proto.SceneAudioNotifyOuterClass.SceneAudioNotify 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.SceneAudioNotifyOuterClass.SceneAudioNotify parseFrom(
+ com.google.protobuf.CodedInputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static emu.grasscutter.net.proto.SceneAudioNotifyOuterClass.SceneAudioNotify 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.SceneAudioNotifyOuterClass.SceneAudioNotify 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;
+ }
+ /**
+ *
+ * Name: BHHLLDGJLGK
+ * CmdId: 3412
+ *
+ *
+ * Protobuf type {@code SceneAudioNotify}
+ */
+ public static final class Builder extends
+ com.google.protobuf.GeneratedMessageV3.Builder implements
+ // @@protoc_insertion_point(builder_implements:SceneAudioNotify)
+ emu.grasscutter.net.proto.SceneAudioNotifyOuterClass.SceneAudioNotifyOrBuilder {
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return emu.grasscutter.net.proto.SceneAudioNotifyOuterClass.internal_static_SceneAudioNotify_descriptor;
+ }
+
+ @java.lang.Override
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return emu.grasscutter.net.proto.SceneAudioNotifyOuterClass.internal_static_SceneAudioNotify_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ emu.grasscutter.net.proto.SceneAudioNotifyOuterClass.SceneAudioNotify.class, emu.grasscutter.net.proto.SceneAudioNotifyOuterClass.SceneAudioNotify.Builder.class);
+ }
+
+ // Construct using emu.grasscutter.net.proto.SceneAudioNotifyOuterClass.SceneAudioNotify.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();
+ type_ = 0;
+
+ param2_ = emptyFloatList();
+ bitField0_ = (bitField0_ & ~0x00000001);
+ sourceUid_ = 0;
+
+ param3_ = com.google.protobuf.LazyStringArrayList.EMPTY;
+ bitField0_ = (bitField0_ & ~0x00000002);
+ param1_ = emptyIntList();
+ bitField0_ = (bitField0_ & ~0x00000004);
+ return this;
+ }
+
+ @java.lang.Override
+ public com.google.protobuf.Descriptors.Descriptor
+ getDescriptorForType() {
+ return emu.grasscutter.net.proto.SceneAudioNotifyOuterClass.internal_static_SceneAudioNotify_descriptor;
+ }
+
+ @java.lang.Override
+ public emu.grasscutter.net.proto.SceneAudioNotifyOuterClass.SceneAudioNotify getDefaultInstanceForType() {
+ return emu.grasscutter.net.proto.SceneAudioNotifyOuterClass.SceneAudioNotify.getDefaultInstance();
+ }
+
+ @java.lang.Override
+ public emu.grasscutter.net.proto.SceneAudioNotifyOuterClass.SceneAudioNotify build() {
+ emu.grasscutter.net.proto.SceneAudioNotifyOuterClass.SceneAudioNotify result = buildPartial();
+ if (!result.isInitialized()) {
+ throw newUninitializedMessageException(result);
+ }
+ return result;
+ }
+
+ @java.lang.Override
+ public emu.grasscutter.net.proto.SceneAudioNotifyOuterClass.SceneAudioNotify buildPartial() {
+ emu.grasscutter.net.proto.SceneAudioNotifyOuterClass.SceneAudioNotify result = new emu.grasscutter.net.proto.SceneAudioNotifyOuterClass.SceneAudioNotify(this);
+ int from_bitField0_ = bitField0_;
+ result.type_ = type_;
+ if (((bitField0_ & 0x00000001) != 0)) {
+ param2_.makeImmutable();
+ bitField0_ = (bitField0_ & ~0x00000001);
+ }
+ result.param2_ = param2_;
+ result.sourceUid_ = sourceUid_;
+ if (((bitField0_ & 0x00000002) != 0)) {
+ param3_ = param3_.getUnmodifiableView();
+ bitField0_ = (bitField0_ & ~0x00000002);
+ }
+ result.param3_ = param3_;
+ if (((bitField0_ & 0x00000004) != 0)) {
+ param1_.makeImmutable();
+ bitField0_ = (bitField0_ & ~0x00000004);
+ }
+ result.param1_ = param1_;
+ 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.SceneAudioNotifyOuterClass.SceneAudioNotify) {
+ return mergeFrom((emu.grasscutter.net.proto.SceneAudioNotifyOuterClass.SceneAudioNotify)other);
+ } else {
+ super.mergeFrom(other);
+ return this;
+ }
+ }
+
+ public Builder mergeFrom(emu.grasscutter.net.proto.SceneAudioNotifyOuterClass.SceneAudioNotify other) {
+ if (other == emu.grasscutter.net.proto.SceneAudioNotifyOuterClass.SceneAudioNotify.getDefaultInstance()) return this;
+ if (other.getType() != 0) {
+ setType(other.getType());
+ }
+ if (!other.param2_.isEmpty()) {
+ if (param2_.isEmpty()) {
+ param2_ = other.param2_;
+ bitField0_ = (bitField0_ & ~0x00000001);
+ } else {
+ ensureParam2IsMutable();
+ param2_.addAll(other.param2_);
+ }
+ onChanged();
+ }
+ if (other.getSourceUid() != 0) {
+ setSourceUid(other.getSourceUid());
+ }
+ if (!other.param3_.isEmpty()) {
+ if (param3_.isEmpty()) {
+ param3_ = other.param3_;
+ bitField0_ = (bitField0_ & ~0x00000002);
+ } else {
+ ensureParam3IsMutable();
+ param3_.addAll(other.param3_);
+ }
+ onChanged();
+ }
+ if (!other.param1_.isEmpty()) {
+ if (param1_.isEmpty()) {
+ param1_ = other.param1_;
+ bitField0_ = (bitField0_ & ~0x00000004);
+ } else {
+ ensureParam1IsMutable();
+ param1_.addAll(other.param1_);
+ }
+ onChanged();
+ }
+ 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.SceneAudioNotifyOuterClass.SceneAudioNotify parsedMessage = null;
+ try {
+ parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ parsedMessage = (emu.grasscutter.net.proto.SceneAudioNotifyOuterClass.SceneAudioNotify) e.getUnfinishedMessage();
+ throw e.unwrapIOException();
+ } finally {
+ if (parsedMessage != null) {
+ mergeFrom(parsedMessage);
+ }
+ }
+ return this;
+ }
+ private int bitField0_;
+
+ private int type_ ;
+ /**
+ * int32 type = 12;
+ * @return The type.
+ */
+ @java.lang.Override
+ public int getType() {
+ return type_;
+ }
+ /**
+ * int32 type = 12;
+ * @param value The type to set.
+ * @return This builder for chaining.
+ */
+ public Builder setType(int value) {
+
+ type_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * int32 type = 12;
+ * @return This builder for chaining.
+ */
+ public Builder clearType() {
+
+ type_ = 0;
+ onChanged();
+ return this;
+ }
+
+ private com.google.protobuf.Internal.FloatList param2_ = emptyFloatList();
+ private void ensureParam2IsMutable() {
+ if (!((bitField0_ & 0x00000001) != 0)) {
+ param2_ = mutableCopy(param2_);
+ bitField0_ |= 0x00000001;
+ }
+ }
+ /**
+ * repeated float param2 = 9;
+ * @return A list containing the param2.
+ */
+ public java.util.List
+ getParam2List() {
+ return ((bitField0_ & 0x00000001) != 0) ?
+ java.util.Collections.unmodifiableList(param2_) : param2_;
+ }
+ /**
+ * repeated float param2 = 9;
+ * @return The count of param2.
+ */
+ public int getParam2Count() {
+ return param2_.size();
+ }
+ /**
+ * repeated float param2 = 9;
+ * @param index The index of the element to return.
+ * @return The param2 at the given index.
+ */
+ public float getParam2(int index) {
+ return param2_.getFloat(index);
+ }
+ /**
+ * repeated float param2 = 9;
+ * @param index The index to set the value at.
+ * @param value The param2 to set.
+ * @return This builder for chaining.
+ */
+ public Builder setParam2(
+ int index, float value) {
+ ensureParam2IsMutable();
+ param2_.setFloat(index, value);
+ onChanged();
+ return this;
+ }
+ /**
+ * repeated float param2 = 9;
+ * @param value The param2 to add.
+ * @return This builder for chaining.
+ */
+ public Builder addParam2(float value) {
+ ensureParam2IsMutable();
+ param2_.addFloat(value);
+ onChanged();
+ return this;
+ }
+ /**
+ * repeated float param2 = 9;
+ * @param values The param2 to add.
+ * @return This builder for chaining.
+ */
+ public Builder addAllParam2(
+ java.lang.Iterable extends java.lang.Float> values) {
+ ensureParam2IsMutable();
+ com.google.protobuf.AbstractMessageLite.Builder.addAll(
+ values, param2_);
+ onChanged();
+ return this;
+ }
+ /**
+ * repeated float param2 = 9;
+ * @return This builder for chaining.
+ */
+ public Builder clearParam2() {
+ param2_ = emptyFloatList();
+ bitField0_ = (bitField0_ & ~0x00000001);
+ onChanged();
+ return this;
+ }
+
+ private int sourceUid_ ;
+ /**
+ * uint32 source_uid = 6;
+ * @return The sourceUid.
+ */
+ @java.lang.Override
+ public int getSourceUid() {
+ return sourceUid_;
+ }
+ /**
+ * uint32 source_uid = 6;
+ * @param value The sourceUid to set.
+ * @return This builder for chaining.
+ */
+ public Builder setSourceUid(int value) {
+
+ sourceUid_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * uint32 source_uid = 6;
+ * @return This builder for chaining.
+ */
+ public Builder clearSourceUid() {
+
+ sourceUid_ = 0;
+ onChanged();
+ return this;
+ }
+
+ private com.google.protobuf.LazyStringList param3_ = com.google.protobuf.LazyStringArrayList.EMPTY;
+ private void ensureParam3IsMutable() {
+ if (!((bitField0_ & 0x00000002) != 0)) {
+ param3_ = new com.google.protobuf.LazyStringArrayList(param3_);
+ bitField0_ |= 0x00000002;
+ }
+ }
+ /**
+ * repeated string param3 = 8;
+ * @return A list containing the param3.
+ */
+ public com.google.protobuf.ProtocolStringList
+ getParam3List() {
+ return param3_.getUnmodifiableView();
+ }
+ /**
+ * repeated string param3 = 8;
+ * @return The count of param3.
+ */
+ public int getParam3Count() {
+ return param3_.size();
+ }
+ /**
+ * repeated string param3 = 8;
+ * @param index The index of the element to return.
+ * @return The param3 at the given index.
+ */
+ public java.lang.String getParam3(int index) {
+ return param3_.get(index);
+ }
+ /**
+ * repeated string param3 = 8;
+ * @param index The index of the value to return.
+ * @return The bytes of the param3 at the given index.
+ */
+ public com.google.protobuf.ByteString
+ getParam3Bytes(int index) {
+ return param3_.getByteString(index);
+ }
+ /**
+ * repeated string param3 = 8;
+ * @param index The index to set the value at.
+ * @param value The param3 to set.
+ * @return This builder for chaining.
+ */
+ public Builder setParam3(
+ int index, java.lang.String value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ ensureParam3IsMutable();
+ param3_.set(index, value);
+ onChanged();
+ return this;
+ }
+ /**
+ * repeated string param3 = 8;
+ * @param value The param3 to add.
+ * @return This builder for chaining.
+ */
+ public Builder addParam3(
+ java.lang.String value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ ensureParam3IsMutable();
+ param3_.add(value);
+ onChanged();
+ return this;
+ }
+ /**
+ * repeated string param3 = 8;
+ * @param values The param3 to add.
+ * @return This builder for chaining.
+ */
+ public Builder addAllParam3(
+ java.lang.Iterable values) {
+ ensureParam3IsMutable();
+ com.google.protobuf.AbstractMessageLite.Builder.addAll(
+ values, param3_);
+ onChanged();
+ return this;
+ }
+ /**
+ * repeated string param3 = 8;
+ * @return This builder for chaining.
+ */
+ public Builder clearParam3() {
+ param3_ = com.google.protobuf.LazyStringArrayList.EMPTY;
+ bitField0_ = (bitField0_ & ~0x00000002);
+ onChanged();
+ return this;
+ }
+ /**
+ * repeated string param3 = 8;
+ * @param value The bytes of the param3 to add.
+ * @return This builder for chaining.
+ */
+ public Builder addParam3Bytes(
+ com.google.protobuf.ByteString value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ checkByteStringIsUtf8(value);
+ ensureParam3IsMutable();
+ param3_.add(value);
+ onChanged();
+ return this;
+ }
+
+ private com.google.protobuf.Internal.IntList param1_ = emptyIntList();
+ private void ensureParam1IsMutable() {
+ if (!((bitField0_ & 0x00000004) != 0)) {
+ param1_ = mutableCopy(param1_);
+ bitField0_ |= 0x00000004;
+ }
+ }
+ /**
+ * repeated uint32 param1 = 7;
+ * @return A list containing the param1.
+ */
+ public java.util.List
+ getParam1List() {
+ return ((bitField0_ & 0x00000004) != 0) ?
+ java.util.Collections.unmodifiableList(param1_) : param1_;
+ }
+ /**
+ * repeated uint32 param1 = 7;
+ * @return The count of param1.
+ */
+ public int getParam1Count() {
+ return param1_.size();
+ }
+ /**
+ * repeated uint32 param1 = 7;
+ * @param index The index of the element to return.
+ * @return The param1 at the given index.
+ */
+ public int getParam1(int index) {
+ return param1_.getInt(index);
+ }
+ /**
+ * repeated uint32 param1 = 7;
+ * @param index The index to set the value at.
+ * @param value The param1 to set.
+ * @return This builder for chaining.
+ */
+ public Builder setParam1(
+ int index, int value) {
+ ensureParam1IsMutable();
+ param1_.setInt(index, value);
+ onChanged();
+ return this;
+ }
+ /**
+ * repeated uint32 param1 = 7;
+ * @param value The param1 to add.
+ * @return This builder for chaining.
+ */
+ public Builder addParam1(int value) {
+ ensureParam1IsMutable();
+ param1_.addInt(value);
+ onChanged();
+ return this;
+ }
+ /**
+ * repeated uint32 param1 = 7;
+ * @param values The param1 to add.
+ * @return This builder for chaining.
+ */
+ public Builder addAllParam1(
+ java.lang.Iterable extends java.lang.Integer> values) {
+ ensureParam1IsMutable();
+ com.google.protobuf.AbstractMessageLite.Builder.addAll(
+ values, param1_);
+ onChanged();
+ return this;
+ }
+ /**
+ * repeated uint32 param1 = 7;
+ * @return This builder for chaining.
+ */
+ public Builder clearParam1() {
+ param1_ = emptyIntList();
+ bitField0_ = (bitField0_ & ~0x00000004);
+ 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:SceneAudioNotify)
+ }
+
+ // @@protoc_insertion_point(class_scope:SceneAudioNotify)
+ private static final emu.grasscutter.net.proto.SceneAudioNotifyOuterClass.SceneAudioNotify DEFAULT_INSTANCE;
+ static {
+ DEFAULT_INSTANCE = new emu.grasscutter.net.proto.SceneAudioNotifyOuterClass.SceneAudioNotify();
+ }
+
+ public static emu.grasscutter.net.proto.SceneAudioNotifyOuterClass.SceneAudioNotify getDefaultInstance() {
+ return DEFAULT_INSTANCE;
+ }
+
+ private static final com.google.protobuf.Parser
+ PARSER = new com.google.protobuf.AbstractParser() {
+ @java.lang.Override
+ public SceneAudioNotify parsePartialFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return new SceneAudioNotify(input, extensionRegistry);
+ }
+ };
+
+ public static com.google.protobuf.Parser parser() {
+ return PARSER;
+ }
+
+ @java.lang.Override
+ public com.google.protobuf.Parser getParserForType() {
+ return PARSER;
+ }
+
+ @java.lang.Override
+ public emu.grasscutter.net.proto.SceneAudioNotifyOuterClass.SceneAudioNotify getDefaultInstanceForType() {
+ return DEFAULT_INSTANCE;
+ }
+
+ }
+
+ private static final com.google.protobuf.Descriptors.Descriptor
+ internal_static_SceneAudioNotify_descriptor;
+ private static final
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internal_static_SceneAudioNotify_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\026SceneAudioNotify.proto\"d\n\020SceneAudioNo" +
+ "tify\022\014\n\004type\030\014 \001(\005\022\016\n\006param2\030\t \003(\002\022\022\n\nso" +
+ "urce_uid\030\006 \001(\r\022\016\n\006param3\030\010 \003(\t\022\016\n\006param1" +
+ "\030\007 \003(\rB\033\n\031emu.grasscutter.net.protob\006pro" +
+ "to3"
+ };
+ descriptor = com.google.protobuf.Descriptors.FileDescriptor
+ .internalBuildGeneratedFileFrom(descriptorData,
+ new com.google.protobuf.Descriptors.FileDescriptor[] {
+ });
+ internal_static_SceneAudioNotify_descriptor =
+ getDescriptor().getMessageTypes().get(0);
+ internal_static_SceneAudioNotify_fieldAccessorTable = new
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
+ internal_static_SceneAudioNotify_descriptor,
+ new java.lang.String[] { "Type", "Param2", "SourceUid", "Param3", "Param1", });
+ }
+
+ // @@protoc_insertion_point(outer_class_scope)
+}
diff --git a/src/main/java/emu/grasscutter/server/packet/recv/HandlerSceneAudioNotify.java b/src/main/java/emu/grasscutter/server/packet/recv/HandlerSceneAudioNotify.java
new file mode 100644
index 000000000..0bfeddc16
--- /dev/null
+++ b/src/main/java/emu/grasscutter/server/packet/recv/HandlerSceneAudioNotify.java
@@ -0,0 +1,31 @@
+
+package emu.grasscutter.server.packet.recv;
+
+import javax.lang.model.type.TypeMirror;
+
+import emu.grasscutter.net.packet.Opcodes;
+import emu.grasscutter.net.packet.PacketHandler;
+import emu.grasscutter.net.packet.PacketOpcodes;
+import emu.grasscutter.net.proto.SceneAudioNotifyOuterClass.SceneAudioNotify;
+import emu.grasscutter.server.game.GameSession;
+import emu.grasscutter.server.packet.send.PacketSceneAudioNotify;
+import java.util.List;
+
+@Opcodes(PacketOpcodes.SceneAudioNotify)
+public class HandlerSceneAudioNotify extends PacketHandler {
+
+ @Override
+ public void handle(GameSession session, byte[] header, byte[] payload) throws Exception {
+ SceneAudioNotify notify = SceneAudioNotify.parseFrom(payload);
+
+ int sourceUid = notify.getSourceUid();
+ List param2 = notify.getParam2List();
+ List param3 = notify.getParam3List();
+ int type = notify.getType();
+ List param1 = notify.getParam1List();
+
+ session.getPlayer().getScene().broadcastPacket(new PacketSceneAudioNotify(sourceUid, param2, param3, type, param1));
+ }
+
+}
+
diff --git a/src/main/java/emu/grasscutter/server/packet/send/PacketSceneAudioNotify.java b/src/main/java/emu/grasscutter/server/packet/send/PacketSceneAudioNotify.java
new file mode 100644
index 000000000..227e2d2b1
--- /dev/null
+++ b/src/main/java/emu/grasscutter/server/packet/send/PacketSceneAudioNotify.java
@@ -0,0 +1,23 @@
+package emu.grasscutter.server.packet.send;
+
+import emu.grasscutter.net.packet.BasePacket;
+import emu.grasscutter.net.packet.PacketOpcodes;
+import emu.grasscutter.net.proto.SceneAudioNotifyOuterClass;
+import java.util.List;
+
+public class PacketSceneAudioNotify extends BasePacket {
+
+ public PacketSceneAudioNotify(int sourceUid, List param2, List param3, int type, List param1) {
+ super(PacketOpcodes.SceneAudioNotify);
+
+ SceneAudioNotifyOuterClass.SceneAudioNotify proto = SceneAudioNotifyOuterClass.SceneAudioNotify.newBuilder()
+ .setSourceUid(sourceUid)
+ .addAllParam2(param2)
+ .addAllParam3(param3)
+ .setType(type)
+ .addAllParam1(param1)
+ .build();
+
+ this.setData(proto);
+ }
+}
\ No newline at end of file