diff --git a/src/generated/main/java/emu/grasscutter/net/proto/PlatformStartRouteNotifyOuterClass.java b/src/generated/main/java/emu/grasscutter/net/proto/PlatformStartRouteNotifyOuterClass.java new file mode 100644 index 000000000..62305dffc --- /dev/null +++ b/src/generated/main/java/emu/grasscutter/net/proto/PlatformStartRouteNotifyOuterClass.java @@ -0,0 +1,825 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: PlatformStartRouteNotify.proto + +package emu.grasscutter.net.proto; + +public final class PlatformStartRouteNotifyOuterClass { + private PlatformStartRouteNotifyOuterClass() {} + 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 PlatformStartRouteNotifyOrBuilder extends + // @@protoc_insertion_point(interface_extends:PlatformStartRouteNotify) + com.google.protobuf.MessageOrBuilder { + + /** + * .PlatformInfo platform = 15; + * @return Whether the platform field is set. + */ + boolean hasPlatform(); + /** + * .PlatformInfo platform = 15; + * @return The platform. + */ + emu.grasscutter.net.proto.PlatformInfoOuterClass.PlatformInfo getPlatform(); + /** + * .PlatformInfo platform = 15; + */ + emu.grasscutter.net.proto.PlatformInfoOuterClass.PlatformInfoOrBuilder getPlatformOrBuilder(); + + /** + * uint32 scene_time = 12; + * @return The sceneTime. + */ + int getSceneTime(); + + /** + * uint32 entity_id = 8; + * @return The entityId. + */ + int getEntityId(); + } + /** + *
+   * CmdId: 218
+   * EnetChannelId: 0
+   * EnetIsReliable: true
+   * 
+ * + * Protobuf type {@code PlatformStartRouteNotify} + */ + public static final class PlatformStartRouteNotify extends + com.google.protobuf.GeneratedMessageV3 implements + // @@protoc_insertion_point(message_implements:PlatformStartRouteNotify) + PlatformStartRouteNotifyOrBuilder { + private static final long serialVersionUID = 0L; + // Use PlatformStartRouteNotify.newBuilder() to construct. + private PlatformStartRouteNotify(com.google.protobuf.GeneratedMessageV3.Builder builder) { + super(builder); + } + private PlatformStartRouteNotify() { + } + + @java.lang.Override + @SuppressWarnings({"unused"}) + protected java.lang.Object newInstance( + UnusedPrivateParameter unused) { + return new PlatformStartRouteNotify(); + } + + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + private PlatformStartRouteNotify( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + this(); + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + 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 64: { + + entityId_ = input.readUInt32(); + break; + } + case 96: { + + sceneTime_ = input.readUInt32(); + break; + } + case 122: { + emu.grasscutter.net.proto.PlatformInfoOuterClass.PlatformInfo.Builder subBuilder = null; + if (platform_ != null) { + subBuilder = platform_.toBuilder(); + } + platform_ = input.readMessage(emu.grasscutter.net.proto.PlatformInfoOuterClass.PlatformInfo.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(platform_); + platform_ = subBuilder.buildPartial(); + } + + break; + } + 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 { + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return emu.grasscutter.net.proto.PlatformStartRouteNotifyOuterClass.internal_static_PlatformStartRouteNotify_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return emu.grasscutter.net.proto.PlatformStartRouteNotifyOuterClass.internal_static_PlatformStartRouteNotify_fieldAccessorTable + .ensureFieldAccessorsInitialized( + emu.grasscutter.net.proto.PlatformStartRouteNotifyOuterClass.PlatformStartRouteNotify.class, emu.grasscutter.net.proto.PlatformStartRouteNotifyOuterClass.PlatformStartRouteNotify.Builder.class); + } + + public static final int PLATFORM_FIELD_NUMBER = 15; + private emu.grasscutter.net.proto.PlatformInfoOuterClass.PlatformInfo platform_; + /** + * .PlatformInfo platform = 15; + * @return Whether the platform field is set. + */ + @java.lang.Override + public boolean hasPlatform() { + return platform_ != null; + } + /** + * .PlatformInfo platform = 15; + * @return The platform. + */ + @java.lang.Override + public emu.grasscutter.net.proto.PlatformInfoOuterClass.PlatformInfo getPlatform() { + return platform_ == null ? emu.grasscutter.net.proto.PlatformInfoOuterClass.PlatformInfo.getDefaultInstance() : platform_; + } + /** + * .PlatformInfo platform = 15; + */ + @java.lang.Override + public emu.grasscutter.net.proto.PlatformInfoOuterClass.PlatformInfoOrBuilder getPlatformOrBuilder() { + return getPlatform(); + } + + public static final int SCENE_TIME_FIELD_NUMBER = 12; + private int sceneTime_; + /** + * uint32 scene_time = 12; + * @return The sceneTime. + */ + @java.lang.Override + public int getSceneTime() { + return sceneTime_; + } + + public static final int ENTITY_ID_FIELD_NUMBER = 8; + private int entityId_; + /** + * uint32 entity_id = 8; + * @return The entityId. + */ + @java.lang.Override + public int getEntityId() { + return entityId_; + } + + 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 (entityId_ != 0) { + output.writeUInt32(8, entityId_); + } + if (sceneTime_ != 0) { + output.writeUInt32(12, sceneTime_); + } + if (platform_ != null) { + output.writeMessage(15, getPlatform()); + } + unknownFields.writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (entityId_ != 0) { + size += com.google.protobuf.CodedOutputStream + .computeUInt32Size(8, entityId_); + } + if (sceneTime_ != 0) { + size += com.google.protobuf.CodedOutputStream + .computeUInt32Size(12, sceneTime_); + } + if (platform_ != null) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(15, getPlatform()); + } + 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.PlatformStartRouteNotifyOuterClass.PlatformStartRouteNotify)) { + return super.equals(obj); + } + emu.grasscutter.net.proto.PlatformStartRouteNotifyOuterClass.PlatformStartRouteNotify other = (emu.grasscutter.net.proto.PlatformStartRouteNotifyOuterClass.PlatformStartRouteNotify) obj; + + if (hasPlatform() != other.hasPlatform()) return false; + if (hasPlatform()) { + if (!getPlatform() + .equals(other.getPlatform())) return false; + } + if (getSceneTime() + != other.getSceneTime()) return false; + if (getEntityId() + != other.getEntityId()) return false; + if (!unknownFields.equals(other.unknownFields)) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + if (hasPlatform()) { + hash = (37 * hash) + PLATFORM_FIELD_NUMBER; + hash = (53 * hash) + getPlatform().hashCode(); + } + hash = (37 * hash) + SCENE_TIME_FIELD_NUMBER; + hash = (53 * hash) + getSceneTime(); + hash = (37 * hash) + ENTITY_ID_FIELD_NUMBER; + hash = (53 * hash) + getEntityId(); + hash = (29 * hash) + unknownFields.hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static emu.grasscutter.net.proto.PlatformStartRouteNotifyOuterClass.PlatformStartRouteNotify parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static emu.grasscutter.net.proto.PlatformStartRouteNotifyOuterClass.PlatformStartRouteNotify 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.PlatformStartRouteNotifyOuterClass.PlatformStartRouteNotify parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static emu.grasscutter.net.proto.PlatformStartRouteNotifyOuterClass.PlatformStartRouteNotify 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.PlatformStartRouteNotifyOuterClass.PlatformStartRouteNotify parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static emu.grasscutter.net.proto.PlatformStartRouteNotifyOuterClass.PlatformStartRouteNotify parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static emu.grasscutter.net.proto.PlatformStartRouteNotifyOuterClass.PlatformStartRouteNotify parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static emu.grasscutter.net.proto.PlatformStartRouteNotifyOuterClass.PlatformStartRouteNotify 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.PlatformStartRouteNotifyOuterClass.PlatformStartRouteNotify parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input); + } + public static emu.grasscutter.net.proto.PlatformStartRouteNotifyOuterClass.PlatformStartRouteNotify 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.PlatformStartRouteNotifyOuterClass.PlatformStartRouteNotify parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static emu.grasscutter.net.proto.PlatformStartRouteNotifyOuterClass.PlatformStartRouteNotify 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.PlatformStartRouteNotifyOuterClass.PlatformStartRouteNotify 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; + } + /** + *
+     * CmdId: 218
+     * EnetChannelId: 0
+     * EnetIsReliable: true
+     * 
+ * + * Protobuf type {@code PlatformStartRouteNotify} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessageV3.Builder implements + // @@protoc_insertion_point(builder_implements:PlatformStartRouteNotify) + emu.grasscutter.net.proto.PlatformStartRouteNotifyOuterClass.PlatformStartRouteNotifyOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return emu.grasscutter.net.proto.PlatformStartRouteNotifyOuterClass.internal_static_PlatformStartRouteNotify_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return emu.grasscutter.net.proto.PlatformStartRouteNotifyOuterClass.internal_static_PlatformStartRouteNotify_fieldAccessorTable + .ensureFieldAccessorsInitialized( + emu.grasscutter.net.proto.PlatformStartRouteNotifyOuterClass.PlatformStartRouteNotify.class, emu.grasscutter.net.proto.PlatformStartRouteNotifyOuterClass.PlatformStartRouteNotify.Builder.class); + } + + // Construct using emu.grasscutter.net.proto.PlatformStartRouteNotifyOuterClass.PlatformStartRouteNotify.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessageV3 + .alwaysUseFieldBuilders) { + } + } + @java.lang.Override + public Builder clear() { + super.clear(); + if (platformBuilder_ == null) { + platform_ = null; + } else { + platform_ = null; + platformBuilder_ = null; + } + sceneTime_ = 0; + + entityId_ = 0; + + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return emu.grasscutter.net.proto.PlatformStartRouteNotifyOuterClass.internal_static_PlatformStartRouteNotify_descriptor; + } + + @java.lang.Override + public emu.grasscutter.net.proto.PlatformStartRouteNotifyOuterClass.PlatformStartRouteNotify getDefaultInstanceForType() { + return emu.grasscutter.net.proto.PlatformStartRouteNotifyOuterClass.PlatformStartRouteNotify.getDefaultInstance(); + } + + @java.lang.Override + public emu.grasscutter.net.proto.PlatformStartRouteNotifyOuterClass.PlatformStartRouteNotify build() { + emu.grasscutter.net.proto.PlatformStartRouteNotifyOuterClass.PlatformStartRouteNotify result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public emu.grasscutter.net.proto.PlatformStartRouteNotifyOuterClass.PlatformStartRouteNotify buildPartial() { + emu.grasscutter.net.proto.PlatformStartRouteNotifyOuterClass.PlatformStartRouteNotify result = new emu.grasscutter.net.proto.PlatformStartRouteNotifyOuterClass.PlatformStartRouteNotify(this); + if (platformBuilder_ == null) { + result.platform_ = platform_; + } else { + result.platform_ = platformBuilder_.build(); + } + result.sceneTime_ = sceneTime_; + result.entityId_ = entityId_; + 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.PlatformStartRouteNotifyOuterClass.PlatformStartRouteNotify) { + return mergeFrom((emu.grasscutter.net.proto.PlatformStartRouteNotifyOuterClass.PlatformStartRouteNotify)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(emu.grasscutter.net.proto.PlatformStartRouteNotifyOuterClass.PlatformStartRouteNotify other) { + if (other == emu.grasscutter.net.proto.PlatformStartRouteNotifyOuterClass.PlatformStartRouteNotify.getDefaultInstance()) return this; + if (other.hasPlatform()) { + mergePlatform(other.getPlatform()); + } + if (other.getSceneTime() != 0) { + setSceneTime(other.getSceneTime()); + } + if (other.getEntityId() != 0) { + setEntityId(other.getEntityId()); + } + 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.PlatformStartRouteNotifyOuterClass.PlatformStartRouteNotify parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (emu.grasscutter.net.proto.PlatformStartRouteNotifyOuterClass.PlatformStartRouteNotify) e.getUnfinishedMessage(); + throw e.unwrapIOException(); + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + + private emu.grasscutter.net.proto.PlatformInfoOuterClass.PlatformInfo platform_; + private com.google.protobuf.SingleFieldBuilderV3< + emu.grasscutter.net.proto.PlatformInfoOuterClass.PlatformInfo, emu.grasscutter.net.proto.PlatformInfoOuterClass.PlatformInfo.Builder, emu.grasscutter.net.proto.PlatformInfoOuterClass.PlatformInfoOrBuilder> platformBuilder_; + /** + * .PlatformInfo platform = 15; + * @return Whether the platform field is set. + */ + public boolean hasPlatform() { + return platformBuilder_ != null || platform_ != null; + } + /** + * .PlatformInfo platform = 15; + * @return The platform. + */ + public emu.grasscutter.net.proto.PlatformInfoOuterClass.PlatformInfo getPlatform() { + if (platformBuilder_ == null) { + return platform_ == null ? emu.grasscutter.net.proto.PlatformInfoOuterClass.PlatformInfo.getDefaultInstance() : platform_; + } else { + return platformBuilder_.getMessage(); + } + } + /** + * .PlatformInfo platform = 15; + */ + public Builder setPlatform(emu.grasscutter.net.proto.PlatformInfoOuterClass.PlatformInfo value) { + if (platformBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + platform_ = value; + onChanged(); + } else { + platformBuilder_.setMessage(value); + } + + return this; + } + /** + * .PlatformInfo platform = 15; + */ + public Builder setPlatform( + emu.grasscutter.net.proto.PlatformInfoOuterClass.PlatformInfo.Builder builderForValue) { + if (platformBuilder_ == null) { + platform_ = builderForValue.build(); + onChanged(); + } else { + platformBuilder_.setMessage(builderForValue.build()); + } + + return this; + } + /** + * .PlatformInfo platform = 15; + */ + public Builder mergePlatform(emu.grasscutter.net.proto.PlatformInfoOuterClass.PlatformInfo value) { + if (platformBuilder_ == null) { + if (platform_ != null) { + platform_ = + emu.grasscutter.net.proto.PlatformInfoOuterClass.PlatformInfo.newBuilder(platform_).mergeFrom(value).buildPartial(); + } else { + platform_ = value; + } + onChanged(); + } else { + platformBuilder_.mergeFrom(value); + } + + return this; + } + /** + * .PlatformInfo platform = 15; + */ + public Builder clearPlatform() { + if (platformBuilder_ == null) { + platform_ = null; + onChanged(); + } else { + platform_ = null; + platformBuilder_ = null; + } + + return this; + } + /** + * .PlatformInfo platform = 15; + */ + public emu.grasscutter.net.proto.PlatformInfoOuterClass.PlatformInfo.Builder getPlatformBuilder() { + + onChanged(); + return getPlatformFieldBuilder().getBuilder(); + } + /** + * .PlatformInfo platform = 15; + */ + public emu.grasscutter.net.proto.PlatformInfoOuterClass.PlatformInfoOrBuilder getPlatformOrBuilder() { + if (platformBuilder_ != null) { + return platformBuilder_.getMessageOrBuilder(); + } else { + return platform_ == null ? + emu.grasscutter.net.proto.PlatformInfoOuterClass.PlatformInfo.getDefaultInstance() : platform_; + } + } + /** + * .PlatformInfo platform = 15; + */ + private com.google.protobuf.SingleFieldBuilderV3< + emu.grasscutter.net.proto.PlatformInfoOuterClass.PlatformInfo, emu.grasscutter.net.proto.PlatformInfoOuterClass.PlatformInfo.Builder, emu.grasscutter.net.proto.PlatformInfoOuterClass.PlatformInfoOrBuilder> + getPlatformFieldBuilder() { + if (platformBuilder_ == null) { + platformBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + emu.grasscutter.net.proto.PlatformInfoOuterClass.PlatformInfo, emu.grasscutter.net.proto.PlatformInfoOuterClass.PlatformInfo.Builder, emu.grasscutter.net.proto.PlatformInfoOuterClass.PlatformInfoOrBuilder>( + getPlatform(), + getParentForChildren(), + isClean()); + platform_ = null; + } + return platformBuilder_; + } + + private int sceneTime_ ; + /** + * uint32 scene_time = 12; + * @return The sceneTime. + */ + @java.lang.Override + public int getSceneTime() { + return sceneTime_; + } + /** + * uint32 scene_time = 12; + * @param value The sceneTime to set. + * @return This builder for chaining. + */ + public Builder setSceneTime(int value) { + + sceneTime_ = value; + onChanged(); + return this; + } + /** + * uint32 scene_time = 12; + * @return This builder for chaining. + */ + public Builder clearSceneTime() { + + sceneTime_ = 0; + onChanged(); + return this; + } + + private int entityId_ ; + /** + * uint32 entity_id = 8; + * @return The entityId. + */ + @java.lang.Override + public int getEntityId() { + return entityId_; + } + /** + * uint32 entity_id = 8; + * @param value The entityId to set. + * @return This builder for chaining. + */ + public Builder setEntityId(int value) { + + entityId_ = value; + onChanged(); + return this; + } + /** + * uint32 entity_id = 8; + * @return This builder for chaining. + */ + public Builder clearEntityId() { + + entityId_ = 0; + onChanged(); + return this; + } + @java.lang.Override + public final Builder setUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + + + // @@protoc_insertion_point(builder_scope:PlatformStartRouteNotify) + } + + // @@protoc_insertion_point(class_scope:PlatformStartRouteNotify) + private static final emu.grasscutter.net.proto.PlatformStartRouteNotifyOuterClass.PlatformStartRouteNotify DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new emu.grasscutter.net.proto.PlatformStartRouteNotifyOuterClass.PlatformStartRouteNotify(); + } + + public static emu.grasscutter.net.proto.PlatformStartRouteNotifyOuterClass.PlatformStartRouteNotify getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { + @java.lang.Override + public PlatformStartRouteNotify parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new PlatformStartRouteNotify(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.PlatformStartRouteNotifyOuterClass.PlatformStartRouteNotify getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + + } + + private static final com.google.protobuf.Descriptors.Descriptor + internal_static_PlatformStartRouteNotify_descriptor; + private static final + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_PlatformStartRouteNotify_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\036PlatformStartRouteNotify.proto\032\022Platfo" + + "rmInfo.proto\"b\n\030PlatformStartRouteNotify" + + "\022\037\n\010platform\030\017 \001(\0132\r.PlatformInfo\022\022\n\nsce" + + "ne_time\030\014 \001(\r\022\021\n\tentity_id\030\010 \001(\rB\033\n\031emu." + + "grasscutter.net.protob\006proto3" + }; + descriptor = com.google.protobuf.Descriptors.FileDescriptor + .internalBuildGeneratedFileFrom(descriptorData, + new com.google.protobuf.Descriptors.FileDescriptor[] { + emu.grasscutter.net.proto.PlatformInfoOuterClass.getDescriptor(), + }); + internal_static_PlatformStartRouteNotify_descriptor = + getDescriptor().getMessageTypes().get(0); + internal_static_PlatformStartRouteNotify_fieldAccessorTable = new + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_PlatformStartRouteNotify_descriptor, + new java.lang.String[] { "Platform", "SceneTime", "EntityId", }); + emu.grasscutter.net.proto.PlatformInfoOuterClass.getDescriptor(); + } + + // @@protoc_insertion_point(outer_class_scope) +} diff --git a/src/generated/main/java/emu/grasscutter/net/proto/PlatformStopRouteNotifyOuterClass.java b/src/generated/main/java/emu/grasscutter/net/proto/PlatformStopRouteNotifyOuterClass.java new file mode 100644 index 000000000..fddc5d87c --- /dev/null +++ b/src/generated/main/java/emu/grasscutter/net/proto/PlatformStopRouteNotifyOuterClass.java @@ -0,0 +1,825 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: PlatformStopRouteNotify.proto + +package emu.grasscutter.net.proto; + +public final class PlatformStopRouteNotifyOuterClass { + private PlatformStopRouteNotifyOuterClass() {} + 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 PlatformStopRouteNotifyOrBuilder extends + // @@protoc_insertion_point(interface_extends:PlatformStopRouteNotify) + com.google.protobuf.MessageOrBuilder { + + /** + * uint32 scene_time = 9; + * @return The sceneTime. + */ + int getSceneTime(); + + /** + * uint32 entity_id = 12; + * @return The entityId. + */ + int getEntityId(); + + /** + * .PlatformInfo platform = 8; + * @return Whether the platform field is set. + */ + boolean hasPlatform(); + /** + * .PlatformInfo platform = 8; + * @return The platform. + */ + emu.grasscutter.net.proto.PlatformInfoOuterClass.PlatformInfo getPlatform(); + /** + * .PlatformInfo platform = 8; + */ + emu.grasscutter.net.proto.PlatformInfoOuterClass.PlatformInfoOrBuilder getPlatformOrBuilder(); + } + /** + *
+   * CmdId: 266
+   * EnetChannelId: 0
+   * EnetIsReliable: true
+   * 
+ * + * Protobuf type {@code PlatformStopRouteNotify} + */ + public static final class PlatformStopRouteNotify extends + com.google.protobuf.GeneratedMessageV3 implements + // @@protoc_insertion_point(message_implements:PlatformStopRouteNotify) + PlatformStopRouteNotifyOrBuilder { + private static final long serialVersionUID = 0L; + // Use PlatformStopRouteNotify.newBuilder() to construct. + private PlatformStopRouteNotify(com.google.protobuf.GeneratedMessageV3.Builder builder) { + super(builder); + } + private PlatformStopRouteNotify() { + } + + @java.lang.Override + @SuppressWarnings({"unused"}) + protected java.lang.Object newInstance( + UnusedPrivateParameter unused) { + return new PlatformStopRouteNotify(); + } + + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + private PlatformStopRouteNotify( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + this(); + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + 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 66: { + emu.grasscutter.net.proto.PlatformInfoOuterClass.PlatformInfo.Builder subBuilder = null; + if (platform_ != null) { + subBuilder = platform_.toBuilder(); + } + platform_ = input.readMessage(emu.grasscutter.net.proto.PlatformInfoOuterClass.PlatformInfo.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(platform_); + platform_ = subBuilder.buildPartial(); + } + + break; + } + case 72: { + + sceneTime_ = input.readUInt32(); + break; + } + case 96: { + + entityId_ = input.readUInt32(); + 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 { + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return emu.grasscutter.net.proto.PlatformStopRouteNotifyOuterClass.internal_static_PlatformStopRouteNotify_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return emu.grasscutter.net.proto.PlatformStopRouteNotifyOuterClass.internal_static_PlatformStopRouteNotify_fieldAccessorTable + .ensureFieldAccessorsInitialized( + emu.grasscutter.net.proto.PlatformStopRouteNotifyOuterClass.PlatformStopRouteNotify.class, emu.grasscutter.net.proto.PlatformStopRouteNotifyOuterClass.PlatformStopRouteNotify.Builder.class); + } + + public static final int SCENE_TIME_FIELD_NUMBER = 9; + private int sceneTime_; + /** + * uint32 scene_time = 9; + * @return The sceneTime. + */ + @java.lang.Override + public int getSceneTime() { + return sceneTime_; + } + + public static final int ENTITY_ID_FIELD_NUMBER = 12; + private int entityId_; + /** + * uint32 entity_id = 12; + * @return The entityId. + */ + @java.lang.Override + public int getEntityId() { + return entityId_; + } + + public static final int PLATFORM_FIELD_NUMBER = 8; + private emu.grasscutter.net.proto.PlatformInfoOuterClass.PlatformInfo platform_; + /** + * .PlatformInfo platform = 8; + * @return Whether the platform field is set. + */ + @java.lang.Override + public boolean hasPlatform() { + return platform_ != null; + } + /** + * .PlatformInfo platform = 8; + * @return The platform. + */ + @java.lang.Override + public emu.grasscutter.net.proto.PlatformInfoOuterClass.PlatformInfo getPlatform() { + return platform_ == null ? emu.grasscutter.net.proto.PlatformInfoOuterClass.PlatformInfo.getDefaultInstance() : platform_; + } + /** + * .PlatformInfo platform = 8; + */ + @java.lang.Override + public emu.grasscutter.net.proto.PlatformInfoOuterClass.PlatformInfoOrBuilder getPlatformOrBuilder() { + return getPlatform(); + } + + 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 (platform_ != null) { + output.writeMessage(8, getPlatform()); + } + if (sceneTime_ != 0) { + output.writeUInt32(9, sceneTime_); + } + if (entityId_ != 0) { + output.writeUInt32(12, entityId_); + } + unknownFields.writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (platform_ != null) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(8, getPlatform()); + } + if (sceneTime_ != 0) { + size += com.google.protobuf.CodedOutputStream + .computeUInt32Size(9, sceneTime_); + } + if (entityId_ != 0) { + size += com.google.protobuf.CodedOutputStream + .computeUInt32Size(12, entityId_); + } + 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.PlatformStopRouteNotifyOuterClass.PlatformStopRouteNotify)) { + return super.equals(obj); + } + emu.grasscutter.net.proto.PlatformStopRouteNotifyOuterClass.PlatformStopRouteNotify other = (emu.grasscutter.net.proto.PlatformStopRouteNotifyOuterClass.PlatformStopRouteNotify) obj; + + if (getSceneTime() + != other.getSceneTime()) return false; + if (getEntityId() + != other.getEntityId()) return false; + if (hasPlatform() != other.hasPlatform()) return false; + if (hasPlatform()) { + if (!getPlatform() + .equals(other.getPlatform())) 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) + SCENE_TIME_FIELD_NUMBER; + hash = (53 * hash) + getSceneTime(); + hash = (37 * hash) + ENTITY_ID_FIELD_NUMBER; + hash = (53 * hash) + getEntityId(); + if (hasPlatform()) { + hash = (37 * hash) + PLATFORM_FIELD_NUMBER; + hash = (53 * hash) + getPlatform().hashCode(); + } + hash = (29 * hash) + unknownFields.hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static emu.grasscutter.net.proto.PlatformStopRouteNotifyOuterClass.PlatformStopRouteNotify parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static emu.grasscutter.net.proto.PlatformStopRouteNotifyOuterClass.PlatformStopRouteNotify 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.PlatformStopRouteNotifyOuterClass.PlatformStopRouteNotify parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static emu.grasscutter.net.proto.PlatformStopRouteNotifyOuterClass.PlatformStopRouteNotify 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.PlatformStopRouteNotifyOuterClass.PlatformStopRouteNotify parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static emu.grasscutter.net.proto.PlatformStopRouteNotifyOuterClass.PlatformStopRouteNotify parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static emu.grasscutter.net.proto.PlatformStopRouteNotifyOuterClass.PlatformStopRouteNotify parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static emu.grasscutter.net.proto.PlatformStopRouteNotifyOuterClass.PlatformStopRouteNotify 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.PlatformStopRouteNotifyOuterClass.PlatformStopRouteNotify parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input); + } + public static emu.grasscutter.net.proto.PlatformStopRouteNotifyOuterClass.PlatformStopRouteNotify 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.PlatformStopRouteNotifyOuterClass.PlatformStopRouteNotify parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static emu.grasscutter.net.proto.PlatformStopRouteNotifyOuterClass.PlatformStopRouteNotify 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.PlatformStopRouteNotifyOuterClass.PlatformStopRouteNotify 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; + } + /** + *
+     * CmdId: 266
+     * EnetChannelId: 0
+     * EnetIsReliable: true
+     * 
+ * + * Protobuf type {@code PlatformStopRouteNotify} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessageV3.Builder implements + // @@protoc_insertion_point(builder_implements:PlatformStopRouteNotify) + emu.grasscutter.net.proto.PlatformStopRouteNotifyOuterClass.PlatformStopRouteNotifyOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return emu.grasscutter.net.proto.PlatformStopRouteNotifyOuterClass.internal_static_PlatformStopRouteNotify_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return emu.grasscutter.net.proto.PlatformStopRouteNotifyOuterClass.internal_static_PlatformStopRouteNotify_fieldAccessorTable + .ensureFieldAccessorsInitialized( + emu.grasscutter.net.proto.PlatformStopRouteNotifyOuterClass.PlatformStopRouteNotify.class, emu.grasscutter.net.proto.PlatformStopRouteNotifyOuterClass.PlatformStopRouteNotify.Builder.class); + } + + // Construct using emu.grasscutter.net.proto.PlatformStopRouteNotifyOuterClass.PlatformStopRouteNotify.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(); + sceneTime_ = 0; + + entityId_ = 0; + + if (platformBuilder_ == null) { + platform_ = null; + } else { + platform_ = null; + platformBuilder_ = null; + } + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return emu.grasscutter.net.proto.PlatformStopRouteNotifyOuterClass.internal_static_PlatformStopRouteNotify_descriptor; + } + + @java.lang.Override + public emu.grasscutter.net.proto.PlatformStopRouteNotifyOuterClass.PlatformStopRouteNotify getDefaultInstanceForType() { + return emu.grasscutter.net.proto.PlatformStopRouteNotifyOuterClass.PlatformStopRouteNotify.getDefaultInstance(); + } + + @java.lang.Override + public emu.grasscutter.net.proto.PlatformStopRouteNotifyOuterClass.PlatformStopRouteNotify build() { + emu.grasscutter.net.proto.PlatformStopRouteNotifyOuterClass.PlatformStopRouteNotify result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public emu.grasscutter.net.proto.PlatformStopRouteNotifyOuterClass.PlatformStopRouteNotify buildPartial() { + emu.grasscutter.net.proto.PlatformStopRouteNotifyOuterClass.PlatformStopRouteNotify result = new emu.grasscutter.net.proto.PlatformStopRouteNotifyOuterClass.PlatformStopRouteNotify(this); + result.sceneTime_ = sceneTime_; + result.entityId_ = entityId_; + if (platformBuilder_ == null) { + result.platform_ = platform_; + } else { + result.platform_ = platformBuilder_.build(); + } + 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.PlatformStopRouteNotifyOuterClass.PlatformStopRouteNotify) { + return mergeFrom((emu.grasscutter.net.proto.PlatformStopRouteNotifyOuterClass.PlatformStopRouteNotify)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(emu.grasscutter.net.proto.PlatformStopRouteNotifyOuterClass.PlatformStopRouteNotify other) { + if (other == emu.grasscutter.net.proto.PlatformStopRouteNotifyOuterClass.PlatformStopRouteNotify.getDefaultInstance()) return this; + if (other.getSceneTime() != 0) { + setSceneTime(other.getSceneTime()); + } + if (other.getEntityId() != 0) { + setEntityId(other.getEntityId()); + } + if (other.hasPlatform()) { + mergePlatform(other.getPlatform()); + } + 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.PlatformStopRouteNotifyOuterClass.PlatformStopRouteNotify parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (emu.grasscutter.net.proto.PlatformStopRouteNotifyOuterClass.PlatformStopRouteNotify) e.getUnfinishedMessage(); + throw e.unwrapIOException(); + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + + private int sceneTime_ ; + /** + * uint32 scene_time = 9; + * @return The sceneTime. + */ + @java.lang.Override + public int getSceneTime() { + return sceneTime_; + } + /** + * uint32 scene_time = 9; + * @param value The sceneTime to set. + * @return This builder for chaining. + */ + public Builder setSceneTime(int value) { + + sceneTime_ = value; + onChanged(); + return this; + } + /** + * uint32 scene_time = 9; + * @return This builder for chaining. + */ + public Builder clearSceneTime() { + + sceneTime_ = 0; + onChanged(); + return this; + } + + private int entityId_ ; + /** + * uint32 entity_id = 12; + * @return The entityId. + */ + @java.lang.Override + public int getEntityId() { + return entityId_; + } + /** + * uint32 entity_id = 12; + * @param value The entityId to set. + * @return This builder for chaining. + */ + public Builder setEntityId(int value) { + + entityId_ = value; + onChanged(); + return this; + } + /** + * uint32 entity_id = 12; + * @return This builder for chaining. + */ + public Builder clearEntityId() { + + entityId_ = 0; + onChanged(); + return this; + } + + private emu.grasscutter.net.proto.PlatformInfoOuterClass.PlatformInfo platform_; + private com.google.protobuf.SingleFieldBuilderV3< + emu.grasscutter.net.proto.PlatformInfoOuterClass.PlatformInfo, emu.grasscutter.net.proto.PlatformInfoOuterClass.PlatformInfo.Builder, emu.grasscutter.net.proto.PlatformInfoOuterClass.PlatformInfoOrBuilder> platformBuilder_; + /** + * .PlatformInfo platform = 8; + * @return Whether the platform field is set. + */ + public boolean hasPlatform() { + return platformBuilder_ != null || platform_ != null; + } + /** + * .PlatformInfo platform = 8; + * @return The platform. + */ + public emu.grasscutter.net.proto.PlatformInfoOuterClass.PlatformInfo getPlatform() { + if (platformBuilder_ == null) { + return platform_ == null ? emu.grasscutter.net.proto.PlatformInfoOuterClass.PlatformInfo.getDefaultInstance() : platform_; + } else { + return platformBuilder_.getMessage(); + } + } + /** + * .PlatformInfo platform = 8; + */ + public Builder setPlatform(emu.grasscutter.net.proto.PlatformInfoOuterClass.PlatformInfo value) { + if (platformBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + platform_ = value; + onChanged(); + } else { + platformBuilder_.setMessage(value); + } + + return this; + } + /** + * .PlatformInfo platform = 8; + */ + public Builder setPlatform( + emu.grasscutter.net.proto.PlatformInfoOuterClass.PlatformInfo.Builder builderForValue) { + if (platformBuilder_ == null) { + platform_ = builderForValue.build(); + onChanged(); + } else { + platformBuilder_.setMessage(builderForValue.build()); + } + + return this; + } + /** + * .PlatformInfo platform = 8; + */ + public Builder mergePlatform(emu.grasscutter.net.proto.PlatformInfoOuterClass.PlatformInfo value) { + if (platformBuilder_ == null) { + if (platform_ != null) { + platform_ = + emu.grasscutter.net.proto.PlatformInfoOuterClass.PlatformInfo.newBuilder(platform_).mergeFrom(value).buildPartial(); + } else { + platform_ = value; + } + onChanged(); + } else { + platformBuilder_.mergeFrom(value); + } + + return this; + } + /** + * .PlatformInfo platform = 8; + */ + public Builder clearPlatform() { + if (platformBuilder_ == null) { + platform_ = null; + onChanged(); + } else { + platform_ = null; + platformBuilder_ = null; + } + + return this; + } + /** + * .PlatformInfo platform = 8; + */ + public emu.grasscutter.net.proto.PlatformInfoOuterClass.PlatformInfo.Builder getPlatformBuilder() { + + onChanged(); + return getPlatformFieldBuilder().getBuilder(); + } + /** + * .PlatformInfo platform = 8; + */ + public emu.grasscutter.net.proto.PlatformInfoOuterClass.PlatformInfoOrBuilder getPlatformOrBuilder() { + if (platformBuilder_ != null) { + return platformBuilder_.getMessageOrBuilder(); + } else { + return platform_ == null ? + emu.grasscutter.net.proto.PlatformInfoOuterClass.PlatformInfo.getDefaultInstance() : platform_; + } + } + /** + * .PlatformInfo platform = 8; + */ + private com.google.protobuf.SingleFieldBuilderV3< + emu.grasscutter.net.proto.PlatformInfoOuterClass.PlatformInfo, emu.grasscutter.net.proto.PlatformInfoOuterClass.PlatformInfo.Builder, emu.grasscutter.net.proto.PlatformInfoOuterClass.PlatformInfoOrBuilder> + getPlatformFieldBuilder() { + if (platformBuilder_ == null) { + platformBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + emu.grasscutter.net.proto.PlatformInfoOuterClass.PlatformInfo, emu.grasscutter.net.proto.PlatformInfoOuterClass.PlatformInfo.Builder, emu.grasscutter.net.proto.PlatformInfoOuterClass.PlatformInfoOrBuilder>( + getPlatform(), + getParentForChildren(), + isClean()); + platform_ = null; + } + return platformBuilder_; + } + @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:PlatformStopRouteNotify) + } + + // @@protoc_insertion_point(class_scope:PlatformStopRouteNotify) + private static final emu.grasscutter.net.proto.PlatformStopRouteNotifyOuterClass.PlatformStopRouteNotify DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new emu.grasscutter.net.proto.PlatformStopRouteNotifyOuterClass.PlatformStopRouteNotify(); + } + + public static emu.grasscutter.net.proto.PlatformStopRouteNotifyOuterClass.PlatformStopRouteNotify getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { + @java.lang.Override + public PlatformStopRouteNotify parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new PlatformStopRouteNotify(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.PlatformStopRouteNotifyOuterClass.PlatformStopRouteNotify getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + + } + + private static final com.google.protobuf.Descriptors.Descriptor + internal_static_PlatformStopRouteNotify_descriptor; + private static final + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_PlatformStopRouteNotify_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\035PlatformStopRouteNotify.proto\032\022Platfor" + + "mInfo.proto\"a\n\027PlatformStopRouteNotify\022\022" + + "\n\nscene_time\030\t \001(\r\022\021\n\tentity_id\030\014 \001(\r\022\037\n" + + "\010platform\030\010 \001(\0132\r.PlatformInfoB\033\n\031emu.gr" + + "asscutter.net.protob\006proto3" + }; + descriptor = com.google.protobuf.Descriptors.FileDescriptor + .internalBuildGeneratedFileFrom(descriptorData, + new com.google.protobuf.Descriptors.FileDescriptor[] { + emu.grasscutter.net.proto.PlatformInfoOuterClass.getDescriptor(), + }); + internal_static_PlatformStopRouteNotify_descriptor = + getDescriptor().getMessageTypes().get(0); + internal_static_PlatformStopRouteNotify_fieldAccessorTable = new + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_PlatformStopRouteNotify_descriptor, + new java.lang.String[] { "SceneTime", "EntityId", "Platform", }); + emu.grasscutter.net.proto.PlatformInfoOuterClass.getDescriptor(); + } + + // @@protoc_insertion_point(outer_class_scope) +} diff --git a/src/generated/main/java/emu/grasscutter/net/proto/UpdateAbilityCreatedMovingPlatformNotifyOuterClass.java b/src/generated/main/java/emu/grasscutter/net/proto/UpdateAbilityCreatedMovingPlatformNotifyOuterClass.java new file mode 100644 index 000000000..ed69a71e9 --- /dev/null +++ b/src/generated/main/java/emu/grasscutter/net/proto/UpdateAbilityCreatedMovingPlatformNotifyOuterClass.java @@ -0,0 +1,779 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: UpdateAbilityCreatedMovingPlatformNotify.proto + +package emu.grasscutter.net.proto; + +public final class UpdateAbilityCreatedMovingPlatformNotifyOuterClass { + private UpdateAbilityCreatedMovingPlatformNotifyOuterClass() {} + 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 UpdateAbilityCreatedMovingPlatformNotifyOrBuilder extends + // @@protoc_insertion_point(interface_extends:UpdateAbilityCreatedMovingPlatformNotify) + com.google.protobuf.MessageOrBuilder { + + /** + * uint32 entity_id = 4; + * @return The entityId. + */ + int getEntityId(); + + /** + * .UpdateAbilityCreatedMovingPlatformNotify.OpType op_type = 3; + * @return The enum numeric value on the wire for opType. + */ + int getOpTypeValue(); + /** + * .UpdateAbilityCreatedMovingPlatformNotify.OpType op_type = 3; + * @return The opType. + */ + emu.grasscutter.net.proto.UpdateAbilityCreatedMovingPlatformNotifyOuterClass.UpdateAbilityCreatedMovingPlatformNotify.OpType getOpType(); + } + /** + *
+   * CmdId: 881
+   * EnetChannelId: 0
+   * EnetIsReliable: true
+   * IsAllowClient: true
+   * 
+ * + * Protobuf type {@code UpdateAbilityCreatedMovingPlatformNotify} + */ + public static final class UpdateAbilityCreatedMovingPlatformNotify extends + com.google.protobuf.GeneratedMessageV3 implements + // @@protoc_insertion_point(message_implements:UpdateAbilityCreatedMovingPlatformNotify) + UpdateAbilityCreatedMovingPlatformNotifyOrBuilder { + private static final long serialVersionUID = 0L; + // Use UpdateAbilityCreatedMovingPlatformNotify.newBuilder() to construct. + private UpdateAbilityCreatedMovingPlatformNotify(com.google.protobuf.GeneratedMessageV3.Builder builder) { + super(builder); + } + private UpdateAbilityCreatedMovingPlatformNotify() { + opType_ = 0; + } + + @java.lang.Override + @SuppressWarnings({"unused"}) + protected java.lang.Object newInstance( + UnusedPrivateParameter unused) { + return new UpdateAbilityCreatedMovingPlatformNotify(); + } + + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + private UpdateAbilityCreatedMovingPlatformNotify( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + this(); + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + 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 24: { + int rawValue = input.readEnum(); + + opType_ = rawValue; + break; + } + case 32: { + + entityId_ = input.readUInt32(); + 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 { + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return emu.grasscutter.net.proto.UpdateAbilityCreatedMovingPlatformNotifyOuterClass.internal_static_UpdateAbilityCreatedMovingPlatformNotify_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return emu.grasscutter.net.proto.UpdateAbilityCreatedMovingPlatformNotifyOuterClass.internal_static_UpdateAbilityCreatedMovingPlatformNotify_fieldAccessorTable + .ensureFieldAccessorsInitialized( + emu.grasscutter.net.proto.UpdateAbilityCreatedMovingPlatformNotifyOuterClass.UpdateAbilityCreatedMovingPlatformNotify.class, emu.grasscutter.net.proto.UpdateAbilityCreatedMovingPlatformNotifyOuterClass.UpdateAbilityCreatedMovingPlatformNotify.Builder.class); + } + + /** + * Protobuf enum {@code UpdateAbilityCreatedMovingPlatformNotify.OpType} + */ + public enum OpType + implements com.google.protobuf.ProtocolMessageEnum { + /** + * OP_TYPE_NONE = 0; + */ + OP_TYPE_NONE(0), + /** + * OP_TYPE_ACTIVATE = 1; + */ + OP_TYPE_ACTIVATE(1), + /** + * OP_TYPE_DEACTIVATE = 2; + */ + OP_TYPE_DEACTIVATE(2), + UNRECOGNIZED(-1), + ; + + /** + * OP_TYPE_NONE = 0; + */ + public static final int OP_TYPE_NONE_VALUE = 0; + /** + * OP_TYPE_ACTIVATE = 1; + */ + public static final int OP_TYPE_ACTIVATE_VALUE = 1; + /** + * OP_TYPE_DEACTIVATE = 2; + */ + public static final int OP_TYPE_DEACTIVATE_VALUE = 2; + + + 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 OpType 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 OpType forNumber(int value) { + switch (value) { + case 0: return OP_TYPE_NONE; + case 1: return OP_TYPE_ACTIVATE; + case 2: return OP_TYPE_DEACTIVATE; + default: return null; + } + } + + public static com.google.protobuf.Internal.EnumLiteMap + internalGetValueMap() { + return internalValueMap; + } + private static final com.google.protobuf.Internal.EnumLiteMap< + OpType> internalValueMap = + new com.google.protobuf.Internal.EnumLiteMap() { + public OpType findValueByNumber(int number) { + return OpType.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.UpdateAbilityCreatedMovingPlatformNotifyOuterClass.UpdateAbilityCreatedMovingPlatformNotify.getDescriptor().getEnumTypes().get(0); + } + + private static final OpType[] VALUES = values(); + + public static OpType 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 OpType(int value) { + this.value = value; + } + + // @@protoc_insertion_point(enum_scope:UpdateAbilityCreatedMovingPlatformNotify.OpType) + } + + public static final int ENTITY_ID_FIELD_NUMBER = 4; + private int entityId_; + /** + * uint32 entity_id = 4; + * @return The entityId. + */ + @java.lang.Override + public int getEntityId() { + return entityId_; + } + + public static final int OP_TYPE_FIELD_NUMBER = 3; + private int opType_; + /** + * .UpdateAbilityCreatedMovingPlatformNotify.OpType op_type = 3; + * @return The enum numeric value on the wire for opType. + */ + @java.lang.Override public int getOpTypeValue() { + return opType_; + } + /** + * .UpdateAbilityCreatedMovingPlatformNotify.OpType op_type = 3; + * @return The opType. + */ + @java.lang.Override public emu.grasscutter.net.proto.UpdateAbilityCreatedMovingPlatformNotifyOuterClass.UpdateAbilityCreatedMovingPlatformNotify.OpType getOpType() { + @SuppressWarnings("deprecation") + emu.grasscutter.net.proto.UpdateAbilityCreatedMovingPlatformNotifyOuterClass.UpdateAbilityCreatedMovingPlatformNotify.OpType result = emu.grasscutter.net.proto.UpdateAbilityCreatedMovingPlatformNotifyOuterClass.UpdateAbilityCreatedMovingPlatformNotify.OpType.valueOf(opType_); + return result == null ? emu.grasscutter.net.proto.UpdateAbilityCreatedMovingPlatformNotifyOuterClass.UpdateAbilityCreatedMovingPlatformNotify.OpType.UNRECOGNIZED : result; + } + + 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 (opType_ != emu.grasscutter.net.proto.UpdateAbilityCreatedMovingPlatformNotifyOuterClass.UpdateAbilityCreatedMovingPlatformNotify.OpType.OP_TYPE_NONE.getNumber()) { + output.writeEnum(3, opType_); + } + if (entityId_ != 0) { + output.writeUInt32(4, entityId_); + } + unknownFields.writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (opType_ != emu.grasscutter.net.proto.UpdateAbilityCreatedMovingPlatformNotifyOuterClass.UpdateAbilityCreatedMovingPlatformNotify.OpType.OP_TYPE_NONE.getNumber()) { + size += com.google.protobuf.CodedOutputStream + .computeEnumSize(3, opType_); + } + if (entityId_ != 0) { + size += com.google.protobuf.CodedOutputStream + .computeUInt32Size(4, entityId_); + } + 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.UpdateAbilityCreatedMovingPlatformNotifyOuterClass.UpdateAbilityCreatedMovingPlatformNotify)) { + return super.equals(obj); + } + emu.grasscutter.net.proto.UpdateAbilityCreatedMovingPlatformNotifyOuterClass.UpdateAbilityCreatedMovingPlatformNotify other = (emu.grasscutter.net.proto.UpdateAbilityCreatedMovingPlatformNotifyOuterClass.UpdateAbilityCreatedMovingPlatformNotify) obj; + + if (getEntityId() + != other.getEntityId()) return false; + if (opType_ != other.opType_) 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) + ENTITY_ID_FIELD_NUMBER; + hash = (53 * hash) + getEntityId(); + hash = (37 * hash) + OP_TYPE_FIELD_NUMBER; + hash = (53 * hash) + opType_; + hash = (29 * hash) + unknownFields.hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static emu.grasscutter.net.proto.UpdateAbilityCreatedMovingPlatformNotifyOuterClass.UpdateAbilityCreatedMovingPlatformNotify parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static emu.grasscutter.net.proto.UpdateAbilityCreatedMovingPlatformNotifyOuterClass.UpdateAbilityCreatedMovingPlatformNotify 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.UpdateAbilityCreatedMovingPlatformNotifyOuterClass.UpdateAbilityCreatedMovingPlatformNotify parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static emu.grasscutter.net.proto.UpdateAbilityCreatedMovingPlatformNotifyOuterClass.UpdateAbilityCreatedMovingPlatformNotify 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.UpdateAbilityCreatedMovingPlatformNotifyOuterClass.UpdateAbilityCreatedMovingPlatformNotify parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static emu.grasscutter.net.proto.UpdateAbilityCreatedMovingPlatformNotifyOuterClass.UpdateAbilityCreatedMovingPlatformNotify parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static emu.grasscutter.net.proto.UpdateAbilityCreatedMovingPlatformNotifyOuterClass.UpdateAbilityCreatedMovingPlatformNotify parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static emu.grasscutter.net.proto.UpdateAbilityCreatedMovingPlatformNotifyOuterClass.UpdateAbilityCreatedMovingPlatformNotify 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.UpdateAbilityCreatedMovingPlatformNotifyOuterClass.UpdateAbilityCreatedMovingPlatformNotify parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input); + } + public static emu.grasscutter.net.proto.UpdateAbilityCreatedMovingPlatformNotifyOuterClass.UpdateAbilityCreatedMovingPlatformNotify 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.UpdateAbilityCreatedMovingPlatformNotifyOuterClass.UpdateAbilityCreatedMovingPlatformNotify parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static emu.grasscutter.net.proto.UpdateAbilityCreatedMovingPlatformNotifyOuterClass.UpdateAbilityCreatedMovingPlatformNotify 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.UpdateAbilityCreatedMovingPlatformNotifyOuterClass.UpdateAbilityCreatedMovingPlatformNotify 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; + } + /** + *
+     * CmdId: 881
+     * EnetChannelId: 0
+     * EnetIsReliable: true
+     * IsAllowClient: true
+     * 
+ * + * Protobuf type {@code UpdateAbilityCreatedMovingPlatformNotify} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessageV3.Builder implements + // @@protoc_insertion_point(builder_implements:UpdateAbilityCreatedMovingPlatformNotify) + emu.grasscutter.net.proto.UpdateAbilityCreatedMovingPlatformNotifyOuterClass.UpdateAbilityCreatedMovingPlatformNotifyOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return emu.grasscutter.net.proto.UpdateAbilityCreatedMovingPlatformNotifyOuterClass.internal_static_UpdateAbilityCreatedMovingPlatformNotify_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return emu.grasscutter.net.proto.UpdateAbilityCreatedMovingPlatformNotifyOuterClass.internal_static_UpdateAbilityCreatedMovingPlatformNotify_fieldAccessorTable + .ensureFieldAccessorsInitialized( + emu.grasscutter.net.proto.UpdateAbilityCreatedMovingPlatformNotifyOuterClass.UpdateAbilityCreatedMovingPlatformNotify.class, emu.grasscutter.net.proto.UpdateAbilityCreatedMovingPlatformNotifyOuterClass.UpdateAbilityCreatedMovingPlatformNotify.Builder.class); + } + + // Construct using emu.grasscutter.net.proto.UpdateAbilityCreatedMovingPlatformNotifyOuterClass.UpdateAbilityCreatedMovingPlatformNotify.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(); + entityId_ = 0; + + opType_ = 0; + + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return emu.grasscutter.net.proto.UpdateAbilityCreatedMovingPlatformNotifyOuterClass.internal_static_UpdateAbilityCreatedMovingPlatformNotify_descriptor; + } + + @java.lang.Override + public emu.grasscutter.net.proto.UpdateAbilityCreatedMovingPlatformNotifyOuterClass.UpdateAbilityCreatedMovingPlatformNotify getDefaultInstanceForType() { + return emu.grasscutter.net.proto.UpdateAbilityCreatedMovingPlatformNotifyOuterClass.UpdateAbilityCreatedMovingPlatformNotify.getDefaultInstance(); + } + + @java.lang.Override + public emu.grasscutter.net.proto.UpdateAbilityCreatedMovingPlatformNotifyOuterClass.UpdateAbilityCreatedMovingPlatformNotify build() { + emu.grasscutter.net.proto.UpdateAbilityCreatedMovingPlatformNotifyOuterClass.UpdateAbilityCreatedMovingPlatformNotify result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public emu.grasscutter.net.proto.UpdateAbilityCreatedMovingPlatformNotifyOuterClass.UpdateAbilityCreatedMovingPlatformNotify buildPartial() { + emu.grasscutter.net.proto.UpdateAbilityCreatedMovingPlatformNotifyOuterClass.UpdateAbilityCreatedMovingPlatformNotify result = new emu.grasscutter.net.proto.UpdateAbilityCreatedMovingPlatformNotifyOuterClass.UpdateAbilityCreatedMovingPlatformNotify(this); + result.entityId_ = entityId_; + result.opType_ = opType_; + 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.UpdateAbilityCreatedMovingPlatformNotifyOuterClass.UpdateAbilityCreatedMovingPlatformNotify) { + return mergeFrom((emu.grasscutter.net.proto.UpdateAbilityCreatedMovingPlatformNotifyOuterClass.UpdateAbilityCreatedMovingPlatformNotify)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(emu.grasscutter.net.proto.UpdateAbilityCreatedMovingPlatformNotifyOuterClass.UpdateAbilityCreatedMovingPlatformNotify other) { + if (other == emu.grasscutter.net.proto.UpdateAbilityCreatedMovingPlatformNotifyOuterClass.UpdateAbilityCreatedMovingPlatformNotify.getDefaultInstance()) return this; + if (other.getEntityId() != 0) { + setEntityId(other.getEntityId()); + } + if (other.opType_ != 0) { + setOpTypeValue(other.getOpTypeValue()); + } + 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.UpdateAbilityCreatedMovingPlatformNotifyOuterClass.UpdateAbilityCreatedMovingPlatformNotify parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (emu.grasscutter.net.proto.UpdateAbilityCreatedMovingPlatformNotifyOuterClass.UpdateAbilityCreatedMovingPlatformNotify) e.getUnfinishedMessage(); + throw e.unwrapIOException(); + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + + private int entityId_ ; + /** + * uint32 entity_id = 4; + * @return The entityId. + */ + @java.lang.Override + public int getEntityId() { + return entityId_; + } + /** + * uint32 entity_id = 4; + * @param value The entityId to set. + * @return This builder for chaining. + */ + public Builder setEntityId(int value) { + + entityId_ = value; + onChanged(); + return this; + } + /** + * uint32 entity_id = 4; + * @return This builder for chaining. + */ + public Builder clearEntityId() { + + entityId_ = 0; + onChanged(); + return this; + } + + private int opType_ = 0; + /** + * .UpdateAbilityCreatedMovingPlatformNotify.OpType op_type = 3; + * @return The enum numeric value on the wire for opType. + */ + @java.lang.Override public int getOpTypeValue() { + return opType_; + } + /** + * .UpdateAbilityCreatedMovingPlatformNotify.OpType op_type = 3; + * @param value The enum numeric value on the wire for opType to set. + * @return This builder for chaining. + */ + public Builder setOpTypeValue(int value) { + + opType_ = value; + onChanged(); + return this; + } + /** + * .UpdateAbilityCreatedMovingPlatformNotify.OpType op_type = 3; + * @return The opType. + */ + @java.lang.Override + public emu.grasscutter.net.proto.UpdateAbilityCreatedMovingPlatformNotifyOuterClass.UpdateAbilityCreatedMovingPlatformNotify.OpType getOpType() { + @SuppressWarnings("deprecation") + emu.grasscutter.net.proto.UpdateAbilityCreatedMovingPlatformNotifyOuterClass.UpdateAbilityCreatedMovingPlatformNotify.OpType result = emu.grasscutter.net.proto.UpdateAbilityCreatedMovingPlatformNotifyOuterClass.UpdateAbilityCreatedMovingPlatformNotify.OpType.valueOf(opType_); + return result == null ? emu.grasscutter.net.proto.UpdateAbilityCreatedMovingPlatformNotifyOuterClass.UpdateAbilityCreatedMovingPlatformNotify.OpType.UNRECOGNIZED : result; + } + /** + * .UpdateAbilityCreatedMovingPlatformNotify.OpType op_type = 3; + * @param value The opType to set. + * @return This builder for chaining. + */ + public Builder setOpType(emu.grasscutter.net.proto.UpdateAbilityCreatedMovingPlatformNotifyOuterClass.UpdateAbilityCreatedMovingPlatformNotify.OpType value) { + if (value == null) { + throw new NullPointerException(); + } + + opType_ = value.getNumber(); + onChanged(); + return this; + } + /** + * .UpdateAbilityCreatedMovingPlatformNotify.OpType op_type = 3; + * @return This builder for chaining. + */ + public Builder clearOpType() { + + opType_ = 0; + onChanged(); + return this; + } + @java.lang.Override + public final Builder setUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + + + // @@protoc_insertion_point(builder_scope:UpdateAbilityCreatedMovingPlatformNotify) + } + + // @@protoc_insertion_point(class_scope:UpdateAbilityCreatedMovingPlatformNotify) + private static final emu.grasscutter.net.proto.UpdateAbilityCreatedMovingPlatformNotifyOuterClass.UpdateAbilityCreatedMovingPlatformNotify DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new emu.grasscutter.net.proto.UpdateAbilityCreatedMovingPlatformNotifyOuterClass.UpdateAbilityCreatedMovingPlatformNotify(); + } + + public static emu.grasscutter.net.proto.UpdateAbilityCreatedMovingPlatformNotifyOuterClass.UpdateAbilityCreatedMovingPlatformNotify getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { + @java.lang.Override + public UpdateAbilityCreatedMovingPlatformNotify parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new UpdateAbilityCreatedMovingPlatformNotify(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.UpdateAbilityCreatedMovingPlatformNotifyOuterClass.UpdateAbilityCreatedMovingPlatformNotify getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + + } + + private static final com.google.protobuf.Descriptors.Descriptor + internal_static_UpdateAbilityCreatedMovingPlatformNotify_descriptor; + private static final + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_UpdateAbilityCreatedMovingPlatformNotify_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.UpdateAbilityCreatedMovingPlatformNoti" + + "fy.proto\"\312\001\n(UpdateAbilityCreatedMovingP" + + "latformNotify\022\021\n\tentity_id\030\004 \001(\r\022A\n\007op_t" + + "ype\030\003 \001(\01620.UpdateAbilityCreatedMovingPl" + + "atformNotify.OpType\"H\n\006OpType\022\020\n\014OP_TYPE" + + "_NONE\020\000\022\024\n\020OP_TYPE_ACTIVATE\020\001\022\026\n\022OP_TYPE" + + "_DEACTIVATE\020\002B\033\n\031emu.grasscutter.net.pro" + + "tob\006proto3" + }; + descriptor = com.google.protobuf.Descriptors.FileDescriptor + .internalBuildGeneratedFileFrom(descriptorData, + new com.google.protobuf.Descriptors.FileDescriptor[] { + }); + internal_static_UpdateAbilityCreatedMovingPlatformNotify_descriptor = + getDescriptor().getMessageTypes().get(0); + internal_static_UpdateAbilityCreatedMovingPlatformNotify_fieldAccessorTable = new + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_UpdateAbilityCreatedMovingPlatformNotify_descriptor, + new java.lang.String[] { "EntityId", "OpType", }); + } + + // @@protoc_insertion_point(outer_class_scope) +} diff --git a/src/main/java/emu/grasscutter/game/entity/EntitySolarIsotomaClientGadget.java b/src/main/java/emu/grasscutter/game/entity/EntitySolarIsotomaClientGadget.java new file mode 100644 index 000000000..d2561c6d5 --- /dev/null +++ b/src/main/java/emu/grasscutter/game/entity/EntitySolarIsotomaClientGadget.java @@ -0,0 +1,33 @@ +package emu.grasscutter.game.entity; + +import emu.grasscutter.game.entity.platform.EntitySolarIsotomaElevatorPlatform; +import emu.grasscutter.game.entity.platform.EntityPlatform; +import emu.grasscutter.game.player.Player; +import emu.grasscutter.game.world.Scene; +import emu.grasscutter.net.proto.EvtCreateGadgetNotifyOuterClass; +import lombok.Getter; + +public class EntitySolarIsotomaClientGadget extends EntityClientGadget { + public static final int GADGET_ID = 41038001; + public static final int ELEVATOR_GADGET_ID = 41038002; + @Getter private EntityPlatform platformGadget; + + public EntitySolarIsotomaClientGadget(Scene scene, Player player, EvtCreateGadgetNotifyOuterClass.EvtCreateGadgetNotify notify) { + super(scene, player, notify); + } + + @Override + public void onCreate() { + //Create solar isotoma elevator and send to all. + this.platformGadget = new EntitySolarIsotomaElevatorPlatform(this, getScene(), getOwner(), ELEVATOR_GADGET_ID, getPosition(), getRotation()); + getScene().addEntity(this.platformGadget); + getOwner().getTeamManager().getGadgets().add(this.platformGadget); + } + + @Override + public void onRemoved() { + //Remove solar isotoma elevator entity. + getScene().removeEntity(this.platformGadget); + getOwner().getTeamManager().getGadgets().remove(this.platformGadget); + } +} diff --git a/src/main/java/emu/grasscutter/game/entity/GameEntity.java b/src/main/java/emu/grasscutter/game/entity/GameEntity.java index 27c85218b..91bb3230e 100644 --- a/src/main/java/emu/grasscutter/game/entity/GameEntity.java +++ b/src/main/java/emu/grasscutter/game/entity/GameEntity.java @@ -219,6 +219,10 @@ public abstract class GameEntity { } + public void onRemoved() { + + } + /** * Called when this entity dies * @param killerId Entity id of the entity that killed this entity diff --git a/src/main/java/emu/grasscutter/game/entity/platform/EntityPlatform.java b/src/main/java/emu/grasscutter/game/entity/platform/EntityPlatform.java new file mode 100644 index 000000000..afee26cd6 --- /dev/null +++ b/src/main/java/emu/grasscutter/game/entity/platform/EntityPlatform.java @@ -0,0 +1,126 @@ +package emu.grasscutter.game.entity.platform; + +import emu.grasscutter.data.GameData; +import emu.grasscutter.data.binout.ConfigGadget; +import emu.grasscutter.data.excels.GadgetData; +import emu.grasscutter.game.entity.EntityBaseGadget; +import emu.grasscutter.game.entity.EntityClientGadget; +import emu.grasscutter.game.player.Player; +import emu.grasscutter.game.props.EntityIdType; +import emu.grasscutter.game.world.Scene; +import emu.grasscutter.net.proto.*; +import emu.grasscutter.utils.Position; +import it.unimi.dsi.fastutil.ints.Int2FloatMap; +import it.unimi.dsi.fastutil.ints.Int2FloatOpenHashMap; +import lombok.Getter; +import lombok.Setter; + +import javax.annotation.Nullable; + +public class EntityPlatform extends EntityBaseGadget { + @Getter + private final Player owner; + private final int gadgetId; + @Getter + private final EntityClientGadget gadget; + private final Int2FloatMap fightProp; + private final Position pos; + private final Position rot; + @Nullable + @Getter + private ConfigGadget configGadget; + @Getter + private final MovingPlatformTypeOuterClass.MovingPlatformType movingPlatformType; + @Getter + @Setter + private boolean isStarted; + @Getter + @Setter + private boolean isActive; + + public EntityPlatform(EntityClientGadget gadget, Scene scene, Player player, int gadgetId, Position pos, Position rot, MovingPlatformTypeOuterClass.MovingPlatformType movingPlatformType) { + super(scene); + this.gadget = gadget; + this.owner = player; + this.id = getScene().getWorld().getNextEntityId(EntityIdType.GADGET); + this.fightProp = new Int2FloatOpenHashMap(); + this.pos = new Position(pos); + this.rot = new Position(rot); + this.movingPlatformType = movingPlatformType; + this.gadgetId = gadgetId; + GadgetData data = GameData.getGadgetDataMap().get(gadgetId); + if (data != null && data.getJsonName() != null) { + this.configGadget = GameData.getGadgetConfigData().get(data.getJsonName()); + } + + fillFightProps(configGadget); + } + + @Override + public int getGadgetId() { + return gadgetId; + } + + @Override + public Int2FloatMap getFightProperties() { + return fightProp; + } + + @Override + public Position getPosition() { + return pos; + } + + @Override + public Position getRotation() { + return rot; + } + + @Override + public SceneEntityInfoOuterClass.SceneEntityInfo toProto() { + var platform = PlatformInfoOuterClass.PlatformInfo.newBuilder() + .setMovingPlatformType(movingPlatformType) + .build(); + + var gadgetInfo = SceneGadgetInfoOuterClass.SceneGadgetInfo.newBuilder() + .setGadgetId(getGadgetId()) + .setAuthorityPeerId(getOwner().getPeerId()) + .setPlatform(platform); + + var entityInfo = SceneEntityInfoOuterClass.SceneEntityInfo.newBuilder() + .setEntityId(getId()) + .setEntityType(ProtEntityTypeOuterClass.ProtEntityType.PROT_ENTITY_TYPE_GADGET) + .setGadget(gadgetInfo) + .setLifeState(1); + + for (Int2FloatMap.Entry entry : getFightProperties().int2FloatEntrySet()) { + if (entry.getIntKey() == 0) { + continue; + } + FightPropPairOuterClass.FightPropPair fightProp = FightPropPairOuterClass.FightPropPair.newBuilder().setPropType(entry.getIntKey()).setPropValue(entry.getFloatValue()).build(); + entityInfo.addFightPropList(fightProp); + } + + return entityInfo.build(); + } + + public PlatformInfoOuterClass.PlatformInfo onStartRoute() { + return PlatformInfoOuterClass.PlatformInfo.newBuilder() + .setStartSceneTime(getScene().getSceneTime()) + .setIsStarted(true) + .setPosOffset(getPosition().toProto()) + .setMovingPlatformType(getMovingPlatformType()) + .setIsActive(true) + .build(); + } + + public PlatformInfoOuterClass.PlatformInfo onStopRoute() { + var sceneTime = getScene().getSceneTime(); + return PlatformInfoOuterClass.PlatformInfo.newBuilder() + .setStartSceneTime(sceneTime) + .setStopSceneTime(sceneTime) + .setPosOffset(getPosition().toProto()) + .setMovingPlatformType(getMovingPlatformType()) + .build(); + } +} diff --git a/src/main/java/emu/grasscutter/game/entity/platform/EntitySolarIsotomaElevatorPlatform.java b/src/main/java/emu/grasscutter/game/entity/platform/EntitySolarIsotomaElevatorPlatform.java new file mode 100644 index 000000000..9801f4ca5 --- /dev/null +++ b/src/main/java/emu/grasscutter/game/entity/platform/EntitySolarIsotomaElevatorPlatform.java @@ -0,0 +1,145 @@ +package emu.grasscutter.game.entity.platform; + +import emu.grasscutter.Grasscutter; +import emu.grasscutter.data.binout.ConfigGadget; +import emu.grasscutter.game.entity.EntitySolarIsotomaClientGadget; +import emu.grasscutter.game.entity.EntityAvatar; +import emu.grasscutter.game.entity.GameEntity; +import emu.grasscutter.game.player.Player; +import emu.grasscutter.game.props.PlayerProperty; +import emu.grasscutter.game.world.Scene; +import emu.grasscutter.net.proto.*; +import emu.grasscutter.server.packet.send.PacketSceneTimeNotify; +import emu.grasscutter.utils.Position; +import emu.grasscutter.utils.ProtoHelper; + +public class EntitySolarIsotomaElevatorPlatform extends EntityPlatform { + public EntitySolarIsotomaElevatorPlatform(EntitySolarIsotomaClientGadget isotoma, Scene scene, Player player, int gadgetId, Position pos, Position rot) { + super(isotoma, scene, player, gadgetId, pos, rot, MovingPlatformTypeOuterClass.MovingPlatformType.MOVING_PLATFORM_TYPE_ABILITY); + } + + @Override + protected void fillFightProps(ConfigGadget configGadget) { + if (configGadget == null || configGadget.getCombat() == null) { + return; + } + var combatData = configGadget.getCombat(); + var combatProperties = combatData.getProperty(); + + if (combatProperties.isUseCreatorProperty()) { + //If useCreatorProperty == true, use owner's property; + GameEntity ownerAvatar = getScene().getEntityById(getGadget().getOwnerEntityId()); + if (ownerAvatar != null) { + getFightProperties().putAll(ownerAvatar.getFightProperties()); + return; + } else { + Grasscutter.getLogger().warn("Why gadget owner is null?"); + } + } + + super.fillFightProps(configGadget); + } + + @Override + public SceneEntityInfoOuterClass.SceneEntityInfo toProto() { + var gadget = SceneGadgetInfoOuterClass.SceneGadgetInfo.newBuilder() + .setGadgetId(getGadgetId()) + .setOwnerEntityId(getGadget().getId()) + .setAuthorityPeerId(getOwner().getPeerId()) + .setIsEnableInteract(true) + .setAbilityGadget(AbilityGadgetInfoOuterClass.AbilityGadgetInfo.newBuilder() + .setCampId(getGadget().getCampId()) + .setCampTargetType(getGadget().getCampType()) + .setTargetEntityId(getGadget().getId()) + .build()) + .setPlatform(PlatformInfoOuterClass.PlatformInfo.newBuilder() + .setStartRot(MathQuaternionOuterClass.MathQuaternion.newBuilder() + .setW(1.0F) + .build()) + .setPosOffset(getGadget().getPosition().toProto()) + .setRotOffset(MathQuaternionOuterClass.MathQuaternion.newBuilder() + .setW(1.0F) + .build()) + .setMovingPlatformType(MovingPlatformTypeOuterClass.MovingPlatformType.MOVING_PLATFORM_TYPE_ABILITY) + .build()) + .build(); + + var authority = EntityAuthorityInfoOuterClass.EntityAuthorityInfo.newBuilder() + .setAiInfo(SceneEntityAiInfoOuterClass.SceneEntityAiInfo.newBuilder() + .setIsAiOpen(true) + .setBornPos(getGadget().getPosition().toProto())) + .setBornPos(getGadget().getPosition().toProto()) + .build(); + + var info = SceneEntityInfoOuterClass.SceneEntityInfo.newBuilder() + .setEntityType(ProtEntityTypeOuterClass.ProtEntityType.PROT_ENTITY_TYPE_GADGET) + .setEntityId(getId()) + .setMotionInfo(MotionInfoOuterClass.MotionInfo.newBuilder() + .setPos(getGadget().getPosition().toProto()) + .setRot(getGadget().getRotation().toProto()) + .build()); + + GameEntity entity = getScene().getEntityById(getGadget().getOwnerEntityId()); + if (entity instanceof EntityAvatar avatar) { + info.addPropList(PropPairOuterClass.PropPair.newBuilder() + .setType(PlayerProperty.PROP_LEVEL.getId()) + .setPropValue(ProtoHelper.newPropValue(PlayerProperty.PROP_LEVEL, avatar.getAvatar().getLevel())) + .build()); + } else { + Grasscutter.getLogger().warn("Why gadget owner doesn't exist?"); + } + + for (var entry : getFightProperties().int2FloatEntrySet()) { + if (entry.getIntKey() == 0) { + continue; + } + var fightProp = FightPropPairOuterClass.FightPropPair.newBuilder() + .setPropType(entry.getIntKey()) + .setPropValue(entry.getFloatValue()) + .build(); + info.addFightPropList(fightProp); + } + + info.setLifeState(1) + .setGadget(gadget) + .setEntityAuthorityInfo(authority); + + return info.build(); + } + + @Override + public PlatformInfoOuterClass.PlatformInfo onStartRoute() { + setStarted(true); + setActive(true); + + var sceneTime = getScene().getSceneTime(); + getOwner().sendPacket(new PacketSceneTimeNotify(getOwner())); + + return PlatformInfoOuterClass.PlatformInfo.newBuilder() + .setStartSceneTime(sceneTime + 300) + .setIsStarted(true) + .setPosOffset(getPosition().toProto()) + .setRotOffset(MathQuaternionOuterClass.MathQuaternion.newBuilder() + .setW(1.0F) + .build()) + .setMovingPlatformType(getMovingPlatformType()) + .setIsActive(true) + .build(); + } + + @Override + public PlatformInfoOuterClass.PlatformInfo onStopRoute() { + setStarted(false); + setActive(false); + + return PlatformInfoOuterClass.PlatformInfo.newBuilder() + .setStartSceneTime(getScene().getSceneTime()) + .setStopSceneTime(getScene().getSceneTime()) + .setPosOffset(getPosition().toProto()) + .setRotOffset(MathQuaternionOuterClass.MathQuaternion.newBuilder() + .setW(1.0F) + .build()) + .setMovingPlatformType(getMovingPlatformType()) + .build(); + } +} diff --git a/src/main/java/emu/grasscutter/game/world/Scene.java b/src/main/java/emu/grasscutter/game/world/Scene.java index 32fbec846..03da948e6 100644 --- a/src/main/java/emu/grasscutter/game/world/Scene.java +++ b/src/main/java/emu/grasscutter/game/world/Scene.java @@ -50,6 +50,7 @@ public class Scene { @Getter @Setter private int autoCloseTime; @Getter private int time; + private long startTime; @Getter private SceneScriptManager scriptManager; @Getter @Setter private WorldChallenge challenge; @@ -65,6 +66,7 @@ public class Scene { this.entities = new ConcurrentHashMap<>(); this.time = 8 * 60; + this.startTime = System.currentTimeMillis(); this.prevScene = 3; this.spawnedEntities = ConcurrentHashMap.newKeySet(); @@ -103,6 +105,10 @@ public class Scene { this.time = time % 1440; } + public int getSceneTime() { + return (int) (System.currentTimeMillis() - this.startTime); + } + public void setDungeonData(DungeonData dungeonData) { if (dungeonData == null || this.dungeonData != null || this.getSceneType() != SceneType.SCENE_DUNGEON || dungeonData.getSceneId() != this.getId()) { return; @@ -235,7 +241,11 @@ public class Scene { } private GameEntity removeEntityDirectly(GameEntity entity) { - return getEntities().remove(entity.getId()); + var removed = getEntities().remove(entity.getId()); + if (removed != null) { + removed.onRemoved();//Call entity remove event + } + return removed; } public void removeEntity(GameEntity entity) { diff --git a/src/main/java/emu/grasscutter/server/packet/recv/HandlerEvtCreateGadgetNotify.java b/src/main/java/emu/grasscutter/server/packet/recv/HandlerEvtCreateGadgetNotify.java index 92229d400..1c3c82323 100644 --- a/src/main/java/emu/grasscutter/server/packet/recv/HandlerEvtCreateGadgetNotify.java +++ b/src/main/java/emu/grasscutter/server/packet/recv/HandlerEvtCreateGadgetNotify.java @@ -1,5 +1,6 @@ package emu.grasscutter.server.packet.recv; +import emu.grasscutter.game.entity.EntitySolarIsotomaClientGadget; import emu.grasscutter.game.entity.EntityClientGadget; import emu.grasscutter.net.packet.Opcodes; import emu.grasscutter.net.packet.PacketOpcodes; @@ -9,19 +10,29 @@ import emu.grasscutter.server.game.GameSession; @Opcodes(PacketOpcodes.EvtCreateGadgetNotify) public class HandlerEvtCreateGadgetNotify extends PacketHandler { - + @Override public void handle(GameSession session, byte[] header, byte[] payload) throws Exception { EvtCreateGadgetNotify notify = EvtCreateGadgetNotify.parseFrom(payload); - + // Sanity check - dont add duplicate entities if (session.getPlayer().getScene().getEntityById(notify.getEntityId()) != null) { return; } - + // Create entity and summon in world - EntityClientGadget gadget = new EntityClientGadget(session.getPlayer().getScene(), session.getPlayer(), notify); - session.getPlayer().getScene().onPlayerCreateGadget(gadget); + var gadgetId = notify.getConfigId(); + EntityClientGadget gadget = switch (gadgetId) { + //Solar Isotoma. + case EntitySolarIsotomaClientGadget.GADGET_ID -> + new EntitySolarIsotomaClientGadget(session.getPlayer().getScene(), session.getPlayer(), notify); + + //Default. + default -> + new EntityClientGadget(session.getPlayer().getScene(), session.getPlayer(), notify); + }; + + session.getPlayer().getScene().onPlayerCreateGadget(gadget); } } diff --git a/src/main/java/emu/grasscutter/server/packet/recv/HandlerUpdateAbilityCreatedMovingPlatformNotify.java b/src/main/java/emu/grasscutter/server/packet/recv/HandlerUpdateAbilityCreatedMovingPlatformNotify.java new file mode 100644 index 000000000..ba8a9771d --- /dev/null +++ b/src/main/java/emu/grasscutter/server/packet/recv/HandlerUpdateAbilityCreatedMovingPlatformNotify.java @@ -0,0 +1,30 @@ +package emu.grasscutter.server.packet.recv; + +import emu.grasscutter.game.entity.platform.EntityPlatform; +import emu.grasscutter.net.packet.Opcodes; +import emu.grasscutter.net.packet.PacketHandler; +import emu.grasscutter.net.packet.PacketOpcodes; +import emu.grasscutter.net.proto.PacketHeadOuterClass; +import emu.grasscutter.net.proto.UpdateAbilityCreatedMovingPlatformNotifyOuterClass; +import emu.grasscutter.server.game.GameSession; +import emu.grasscutter.server.packet.send.PacketPlatformStartRouteNotify; +import emu.grasscutter.server.packet.send.PacketPlatformStopRouteNotify; + +@Opcodes(PacketOpcodes.UpdateAbilityCreatedMovingPlatformNotify) +public class HandlerUpdateAbilityCreatedMovingPlatformNotify extends PacketHandler { + @Override + public void handle(GameSession session, byte[] header, byte[] payload) throws Exception { + var sequence = PacketHeadOuterClass.PacketHead.parseFrom(header).getClientSequenceId(); + var notify = UpdateAbilityCreatedMovingPlatformNotifyOuterClass.UpdateAbilityCreatedMovingPlatformNotify.parseFrom(payload); + var entity = session.getPlayer().getScene().getEntityById(notify.getEntityId()); + + if (!(entity instanceof EntityPlatform)) { + return; + } + + switch (notify.getOpType()) { + case OP_TYPE_ACTIVATE -> session.send(new PacketPlatformStartRouteNotify(sequence, (EntityPlatform) entity, session.getPlayer().getScene())); + case OP_TYPE_DEACTIVATE -> session.send(new PacketPlatformStopRouteNotify(sequence, (EntityPlatform) entity, session.getPlayer().getScene())); + } + } +} diff --git a/src/main/java/emu/grasscutter/server/packet/send/PacketPlatformStartRouteNotify.java b/src/main/java/emu/grasscutter/server/packet/send/PacketPlatformStartRouteNotify.java new file mode 100644 index 000000000..3aad31f4d --- /dev/null +++ b/src/main/java/emu/grasscutter/server/packet/send/PacketPlatformStartRouteNotify.java @@ -0,0 +1,21 @@ +package emu.grasscutter.server.packet.send; + +import emu.grasscutter.game.entity.platform.EntityPlatform; +import emu.grasscutter.game.world.Scene; +import emu.grasscutter.net.packet.BasePacket; +import emu.grasscutter.net.packet.PacketOpcodes; +import emu.grasscutter.net.proto.PlatformStartRouteNotifyOuterClass; + +public class PacketPlatformStartRouteNotify extends BasePacket { + public PacketPlatformStartRouteNotify(int clientSequence, EntityPlatform entity, Scene scene) { + super(PacketOpcodes.PlatformStartRouteNotify, clientSequence); + + var notify = PlatformStartRouteNotifyOuterClass.PlatformStartRouteNotify.newBuilder() + .setEntityId(entity.getId()) + .setSceneTime(scene.getSceneTime()) + .setPlatform(entity.onStartRoute()) + .build(); + + this.setData(notify); + } +} diff --git a/src/main/java/emu/grasscutter/server/packet/send/PacketPlatformStopRouteNotify.java b/src/main/java/emu/grasscutter/server/packet/send/PacketPlatformStopRouteNotify.java new file mode 100644 index 000000000..baa50f201 --- /dev/null +++ b/src/main/java/emu/grasscutter/server/packet/send/PacketPlatformStopRouteNotify.java @@ -0,0 +1,21 @@ +package emu.grasscutter.server.packet.send; + +import emu.grasscutter.game.entity.platform.EntityPlatform; +import emu.grasscutter.game.world.Scene; +import emu.grasscutter.net.packet.BasePacket; +import emu.grasscutter.net.packet.PacketOpcodes; +import emu.grasscutter.net.proto.PlatformStopRouteNotifyOuterClass; + +public class PacketPlatformStopRouteNotify extends BasePacket { + public PacketPlatformStopRouteNotify(int clientSequence, EntityPlatform entity, Scene scene) { + super(PacketOpcodes.PlatformStopRouteNotify, clientSequence); + + var notify = PlatformStopRouteNotifyOuterClass.PlatformStopRouteNotify.newBuilder() + .setPlatform(entity.onStopRoute()) + .setSceneTime(scene.getSceneTime()) + .setEntityId(entity.getId()) + .build(); + + this.setData(notify); + } +} diff --git a/src/main/java/emu/grasscutter/server/packet/send/PacketSceneTimeNotify.java b/src/main/java/emu/grasscutter/server/packet/send/PacketSceneTimeNotify.java index 874efcc4b..6b2e413e8 100644 --- a/src/main/java/emu/grasscutter/server/packet/send/PacketSceneTimeNotify.java +++ b/src/main/java/emu/grasscutter/server/packet/send/PacketSceneTimeNotify.java @@ -6,15 +6,15 @@ import emu.grasscutter.net.packet.PacketOpcodes; import emu.grasscutter.net.proto.SceneTimeNotifyOuterClass.SceneTimeNotify; public class PacketSceneTimeNotify extends BasePacket { - + public PacketSceneTimeNotify(Player player) { super(PacketOpcodes.SceneTimeNotify); SceneTimeNotify proto = SceneTimeNotify.newBuilder() .setSceneId(player.getSceneId()) - .setSceneTime(0) + .setSceneTime(player.getScene().getSceneTime()) .build(); - + this.setData(proto); } }