diff --git a/src/main/java/emu/grasscutter/net/packet/PacketOpcodes.java b/src/main/java/emu/grasscutter/net/packet/PacketOpcodes.java
index 418f16a4b..365055e26 100644
--- a/src/main/java/emu/grasscutter/net/packet/PacketOpcodes.java
+++ b/src/main/java/emu/grasscutter/net/packet/PacketOpcodes.java
@@ -1034,6 +1034,8 @@ public class PacketOpcodes {
public static final int ShowTemplateReminderNotify = 3164;
public static final int SignInInfoReq = 2510;
public static final int SignInInfoRsp = 2515;
+ public static final int SitReq = 354;
+ public static final int SitRsp = 335;
public static final int SocialDataNotify = 4063;
public static final int SpringUseReq = 1720;
public static final int SpringUseRsp = 1727;
@@ -1208,5 +1210,4 @@ public class PacketOpcodes {
public static final int WorldRoutineChangeNotify = 3548;
public static final int WorldRoutineTypeCloseNotify = 3513;
public static final int WorldRoutineTypeRefreshNotify = 3545;
-
}
\ No newline at end of file
diff --git a/src/main/java/emu/grasscutter/net/proto/EvtAvatarSitDownNotifyOuterClass.java b/src/main/java/emu/grasscutter/net/proto/EvtAvatarSitDownNotifyOuterClass.java
new file mode 100644
index 000000000..2bc0317b2
--- /dev/null
+++ b/src/main/java/emu/grasscutter/net/proto/EvtAvatarSitDownNotifyOuterClass.java
@@ -0,0 +1,816 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: EvtAvatarSitDownNotify.proto
+
+package emu.grasscutter.net.proto;
+
+public final class EvtAvatarSitDownNotifyOuterClass {
+ private EvtAvatarSitDownNotifyOuterClass() {}
+ 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 EvtAvatarSitDownNotifyOrBuilder extends
+ // @@protoc_insertion_point(interface_extends:EvtAvatarSitDownNotify)
+ com.google.protobuf.MessageOrBuilder {
+
+ /**
+ * uint32 entity_id = 1;
+ * @return The entityId.
+ */
+ int getEntityId();
+
+ /**
+ * .Vector position = 2;
+ * @return Whether the position field is set.
+ */
+ boolean hasPosition();
+ /**
+ * .Vector position = 2;
+ * @return The position.
+ */
+ emu.grasscutter.net.proto.VectorOuterClass.Vector getPosition();
+ /**
+ * .Vector position = 2;
+ */
+ emu.grasscutter.net.proto.VectorOuterClass.VectorOrBuilder getPositionOrBuilder();
+
+ /**
+ * uint64 chair_id = 3;
+ * @return The chairId.
+ */
+ long getChairId();
+ }
+ /**
+ * Protobuf type {@code EvtAvatarSitDownNotify}
+ */
+ public static final class EvtAvatarSitDownNotify extends
+ com.google.protobuf.GeneratedMessageV3 implements
+ // @@protoc_insertion_point(message_implements:EvtAvatarSitDownNotify)
+ EvtAvatarSitDownNotifyOrBuilder {
+ private static final long serialVersionUID = 0L;
+ // Use EvtAvatarSitDownNotify.newBuilder() to construct.
+ private EvtAvatarSitDownNotify(com.google.protobuf.GeneratedMessageV3.Builder> builder) {
+ super(builder);
+ }
+ private EvtAvatarSitDownNotify() {
+ }
+
+ @java.lang.Override
+ @SuppressWarnings({"unused"})
+ protected java.lang.Object newInstance(
+ UnusedPrivateParameter unused) {
+ return new EvtAvatarSitDownNotify();
+ }
+
+ @java.lang.Override
+ public final com.google.protobuf.UnknownFieldSet
+ getUnknownFields() {
+ return this.unknownFields;
+ }
+ private EvtAvatarSitDownNotify(
+ 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 8: {
+
+ entityId_ = input.readUInt32();
+ break;
+ }
+ case 18: {
+ emu.grasscutter.net.proto.VectorOuterClass.Vector.Builder subBuilder = null;
+ if (position_ != null) {
+ subBuilder = position_.toBuilder();
+ }
+ position_ = input.readMessage(emu.grasscutter.net.proto.VectorOuterClass.Vector.parser(), extensionRegistry);
+ if (subBuilder != null) {
+ subBuilder.mergeFrom(position_);
+ position_ = subBuilder.buildPartial();
+ }
+
+ break;
+ }
+ case 24: {
+
+ chairId_ = input.readUInt64();
+ break;
+ }
+ default: {
+ if (!parseUnknownField(
+ input, unknownFields, extensionRegistry, tag)) {
+ done = true;
+ }
+ break;
+ }
+ }
+ }
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ throw e.setUnfinishedMessage(this);
+ } catch (com.google.protobuf.UninitializedMessageException e) {
+ throw e.asInvalidProtocolBufferException().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.EvtAvatarSitDownNotifyOuterClass.internal_static_EvtAvatarSitDownNotify_descriptor;
+ }
+
+ @java.lang.Override
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return emu.grasscutter.net.proto.EvtAvatarSitDownNotifyOuterClass.internal_static_EvtAvatarSitDownNotify_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ emu.grasscutter.net.proto.EvtAvatarSitDownNotifyOuterClass.EvtAvatarSitDownNotify.class, emu.grasscutter.net.proto.EvtAvatarSitDownNotifyOuterClass.EvtAvatarSitDownNotify.Builder.class);
+ }
+
+ public static final int ENTITY_ID_FIELD_NUMBER = 1;
+ private int entityId_;
+ /**
+ * uint32 entity_id = 1;
+ * @return The entityId.
+ */
+ @java.lang.Override
+ public int getEntityId() {
+ return entityId_;
+ }
+
+ public static final int POSITION_FIELD_NUMBER = 2;
+ private emu.grasscutter.net.proto.VectorOuterClass.Vector position_;
+ /**
+ * .Vector position = 2;
+ * @return Whether the position field is set.
+ */
+ @java.lang.Override
+ public boolean hasPosition() {
+ return position_ != null;
+ }
+ /**
+ * .Vector position = 2;
+ * @return The position.
+ */
+ @java.lang.Override
+ public emu.grasscutter.net.proto.VectorOuterClass.Vector getPosition() {
+ return position_ == null ? emu.grasscutter.net.proto.VectorOuterClass.Vector.getDefaultInstance() : position_;
+ }
+ /**
+ * .Vector position = 2;
+ */
+ @java.lang.Override
+ public emu.grasscutter.net.proto.VectorOuterClass.VectorOrBuilder getPositionOrBuilder() {
+ return getPosition();
+ }
+
+ public static final int CHAIR_ID_FIELD_NUMBER = 3;
+ private long chairId_;
+ /**
+ * uint64 chair_id = 3;
+ * @return The chairId.
+ */
+ @java.lang.Override
+ public long getChairId() {
+ return chairId_;
+ }
+
+ 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(1, entityId_);
+ }
+ if (position_ != null) {
+ output.writeMessage(2, getPosition());
+ }
+ if (chairId_ != 0L) {
+ output.writeUInt64(3, chairId_);
+ }
+ 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(1, entityId_);
+ }
+ if (position_ != null) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(2, getPosition());
+ }
+ if (chairId_ != 0L) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeUInt64Size(3, chairId_);
+ }
+ 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.EvtAvatarSitDownNotifyOuterClass.EvtAvatarSitDownNotify)) {
+ return super.equals(obj);
+ }
+ emu.grasscutter.net.proto.EvtAvatarSitDownNotifyOuterClass.EvtAvatarSitDownNotify other = (emu.grasscutter.net.proto.EvtAvatarSitDownNotifyOuterClass.EvtAvatarSitDownNotify) obj;
+
+ if (getEntityId()
+ != other.getEntityId()) return false;
+ if (hasPosition() != other.hasPosition()) return false;
+ if (hasPosition()) {
+ if (!getPosition()
+ .equals(other.getPosition())) return false;
+ }
+ if (getChairId()
+ != other.getChairId()) 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();
+ if (hasPosition()) {
+ hash = (37 * hash) + POSITION_FIELD_NUMBER;
+ hash = (53 * hash) + getPosition().hashCode();
+ }
+ hash = (37 * hash) + CHAIR_ID_FIELD_NUMBER;
+ hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
+ getChairId());
+ hash = (29 * hash) + unknownFields.hashCode();
+ memoizedHashCode = hash;
+ return hash;
+ }
+
+ public static emu.grasscutter.net.proto.EvtAvatarSitDownNotifyOuterClass.EvtAvatarSitDownNotify parseFrom(
+ java.nio.ByteBuffer data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static emu.grasscutter.net.proto.EvtAvatarSitDownNotifyOuterClass.EvtAvatarSitDownNotify 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.EvtAvatarSitDownNotifyOuterClass.EvtAvatarSitDownNotify parseFrom(
+ com.google.protobuf.ByteString data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static emu.grasscutter.net.proto.EvtAvatarSitDownNotifyOuterClass.EvtAvatarSitDownNotify 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.EvtAvatarSitDownNotifyOuterClass.EvtAvatarSitDownNotify parseFrom(byte[] data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static emu.grasscutter.net.proto.EvtAvatarSitDownNotifyOuterClass.EvtAvatarSitDownNotify parseFrom(
+ byte[] data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static emu.grasscutter.net.proto.EvtAvatarSitDownNotifyOuterClass.EvtAvatarSitDownNotify parseFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static emu.grasscutter.net.proto.EvtAvatarSitDownNotifyOuterClass.EvtAvatarSitDownNotify 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.EvtAvatarSitDownNotifyOuterClass.EvtAvatarSitDownNotify parseDelimitedFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input);
+ }
+ public static emu.grasscutter.net.proto.EvtAvatarSitDownNotifyOuterClass.EvtAvatarSitDownNotify 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.EvtAvatarSitDownNotifyOuterClass.EvtAvatarSitDownNotify parseFrom(
+ com.google.protobuf.CodedInputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static emu.grasscutter.net.proto.EvtAvatarSitDownNotifyOuterClass.EvtAvatarSitDownNotify 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.EvtAvatarSitDownNotifyOuterClass.EvtAvatarSitDownNotify prototype) {
+ return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
+ }
+ @java.lang.Override
+ public Builder toBuilder() {
+ return this == DEFAULT_INSTANCE
+ ? new Builder() : new Builder().mergeFrom(this);
+ }
+
+ @java.lang.Override
+ protected Builder newBuilderForType(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ Builder builder = new Builder(parent);
+ return builder;
+ }
+ /**
+ * Protobuf type {@code EvtAvatarSitDownNotify}
+ */
+ public static final class Builder extends
+ com.google.protobuf.GeneratedMessageV3.Builder implements
+ // @@protoc_insertion_point(builder_implements:EvtAvatarSitDownNotify)
+ emu.grasscutter.net.proto.EvtAvatarSitDownNotifyOuterClass.EvtAvatarSitDownNotifyOrBuilder {
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return emu.grasscutter.net.proto.EvtAvatarSitDownNotifyOuterClass.internal_static_EvtAvatarSitDownNotify_descriptor;
+ }
+
+ @java.lang.Override
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return emu.grasscutter.net.proto.EvtAvatarSitDownNotifyOuterClass.internal_static_EvtAvatarSitDownNotify_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ emu.grasscutter.net.proto.EvtAvatarSitDownNotifyOuterClass.EvtAvatarSitDownNotify.class, emu.grasscutter.net.proto.EvtAvatarSitDownNotifyOuterClass.EvtAvatarSitDownNotify.Builder.class);
+ }
+
+ // Construct using emu.grasscutter.net.proto.EvtAvatarSitDownNotifyOuterClass.EvtAvatarSitDownNotify.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;
+
+ if (positionBuilder_ == null) {
+ position_ = null;
+ } else {
+ position_ = null;
+ positionBuilder_ = null;
+ }
+ chairId_ = 0L;
+
+ return this;
+ }
+
+ @java.lang.Override
+ public com.google.protobuf.Descriptors.Descriptor
+ getDescriptorForType() {
+ return emu.grasscutter.net.proto.EvtAvatarSitDownNotifyOuterClass.internal_static_EvtAvatarSitDownNotify_descriptor;
+ }
+
+ @java.lang.Override
+ public emu.grasscutter.net.proto.EvtAvatarSitDownNotifyOuterClass.EvtAvatarSitDownNotify getDefaultInstanceForType() {
+ return emu.grasscutter.net.proto.EvtAvatarSitDownNotifyOuterClass.EvtAvatarSitDownNotify.getDefaultInstance();
+ }
+
+ @java.lang.Override
+ public emu.grasscutter.net.proto.EvtAvatarSitDownNotifyOuterClass.EvtAvatarSitDownNotify build() {
+ emu.grasscutter.net.proto.EvtAvatarSitDownNotifyOuterClass.EvtAvatarSitDownNotify result = buildPartial();
+ if (!result.isInitialized()) {
+ throw newUninitializedMessageException(result);
+ }
+ return result;
+ }
+
+ @java.lang.Override
+ public emu.grasscutter.net.proto.EvtAvatarSitDownNotifyOuterClass.EvtAvatarSitDownNotify buildPartial() {
+ emu.grasscutter.net.proto.EvtAvatarSitDownNotifyOuterClass.EvtAvatarSitDownNotify result = new emu.grasscutter.net.proto.EvtAvatarSitDownNotifyOuterClass.EvtAvatarSitDownNotify(this);
+ result.entityId_ = entityId_;
+ if (positionBuilder_ == null) {
+ result.position_ = position_;
+ } else {
+ result.position_ = positionBuilder_.build();
+ }
+ result.chairId_ = chairId_;
+ 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.EvtAvatarSitDownNotifyOuterClass.EvtAvatarSitDownNotify) {
+ return mergeFrom((emu.grasscutter.net.proto.EvtAvatarSitDownNotifyOuterClass.EvtAvatarSitDownNotify)other);
+ } else {
+ super.mergeFrom(other);
+ return this;
+ }
+ }
+
+ public Builder mergeFrom(emu.grasscutter.net.proto.EvtAvatarSitDownNotifyOuterClass.EvtAvatarSitDownNotify other) {
+ if (other == emu.grasscutter.net.proto.EvtAvatarSitDownNotifyOuterClass.EvtAvatarSitDownNotify.getDefaultInstance()) return this;
+ if (other.getEntityId() != 0) {
+ setEntityId(other.getEntityId());
+ }
+ if (other.hasPosition()) {
+ mergePosition(other.getPosition());
+ }
+ if (other.getChairId() != 0L) {
+ setChairId(other.getChairId());
+ }
+ 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.EvtAvatarSitDownNotifyOuterClass.EvtAvatarSitDownNotify parsedMessage = null;
+ try {
+ parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ parsedMessage = (emu.grasscutter.net.proto.EvtAvatarSitDownNotifyOuterClass.EvtAvatarSitDownNotify) e.getUnfinishedMessage();
+ throw e.unwrapIOException();
+ } finally {
+ if (parsedMessage != null) {
+ mergeFrom(parsedMessage);
+ }
+ }
+ return this;
+ }
+
+ private int entityId_ ;
+ /**
+ * uint32 entity_id = 1;
+ * @return The entityId.
+ */
+ @java.lang.Override
+ public int getEntityId() {
+ return entityId_;
+ }
+ /**
+ * uint32 entity_id = 1;
+ * @param value The entityId to set.
+ * @return This builder for chaining.
+ */
+ public Builder setEntityId(int value) {
+
+ entityId_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * uint32 entity_id = 1;
+ * @return This builder for chaining.
+ */
+ public Builder clearEntityId() {
+
+ entityId_ = 0;
+ onChanged();
+ return this;
+ }
+
+ private emu.grasscutter.net.proto.VectorOuterClass.Vector position_;
+ private com.google.protobuf.SingleFieldBuilderV3<
+ emu.grasscutter.net.proto.VectorOuterClass.Vector, emu.grasscutter.net.proto.VectorOuterClass.Vector.Builder, emu.grasscutter.net.proto.VectorOuterClass.VectorOrBuilder> positionBuilder_;
+ /**
+ * .Vector position = 2;
+ * @return Whether the position field is set.
+ */
+ public boolean hasPosition() {
+ return positionBuilder_ != null || position_ != null;
+ }
+ /**
+ * .Vector position = 2;
+ * @return The position.
+ */
+ public emu.grasscutter.net.proto.VectorOuterClass.Vector getPosition() {
+ if (positionBuilder_ == null) {
+ return position_ == null ? emu.grasscutter.net.proto.VectorOuterClass.Vector.getDefaultInstance() : position_;
+ } else {
+ return positionBuilder_.getMessage();
+ }
+ }
+ /**
+ * .Vector position = 2;
+ */
+ public Builder setPosition(emu.grasscutter.net.proto.VectorOuterClass.Vector value) {
+ if (positionBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ position_ = value;
+ onChanged();
+ } else {
+ positionBuilder_.setMessage(value);
+ }
+
+ return this;
+ }
+ /**
+ * .Vector position = 2;
+ */
+ public Builder setPosition(
+ emu.grasscutter.net.proto.VectorOuterClass.Vector.Builder builderForValue) {
+ if (positionBuilder_ == null) {
+ position_ = builderForValue.build();
+ onChanged();
+ } else {
+ positionBuilder_.setMessage(builderForValue.build());
+ }
+
+ return this;
+ }
+ /**
+ * .Vector position = 2;
+ */
+ public Builder mergePosition(emu.grasscutter.net.proto.VectorOuterClass.Vector value) {
+ if (positionBuilder_ == null) {
+ if (position_ != null) {
+ position_ =
+ emu.grasscutter.net.proto.VectorOuterClass.Vector.newBuilder(position_).mergeFrom(value).buildPartial();
+ } else {
+ position_ = value;
+ }
+ onChanged();
+ } else {
+ positionBuilder_.mergeFrom(value);
+ }
+
+ return this;
+ }
+ /**
+ * .Vector position = 2;
+ */
+ public Builder clearPosition() {
+ if (positionBuilder_ == null) {
+ position_ = null;
+ onChanged();
+ } else {
+ position_ = null;
+ positionBuilder_ = null;
+ }
+
+ return this;
+ }
+ /**
+ * .Vector position = 2;
+ */
+ public emu.grasscutter.net.proto.VectorOuterClass.Vector.Builder getPositionBuilder() {
+
+ onChanged();
+ return getPositionFieldBuilder().getBuilder();
+ }
+ /**
+ * .Vector position = 2;
+ */
+ public emu.grasscutter.net.proto.VectorOuterClass.VectorOrBuilder getPositionOrBuilder() {
+ if (positionBuilder_ != null) {
+ return positionBuilder_.getMessageOrBuilder();
+ } else {
+ return position_ == null ?
+ emu.grasscutter.net.proto.VectorOuterClass.Vector.getDefaultInstance() : position_;
+ }
+ }
+ /**
+ * .Vector position = 2;
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ emu.grasscutter.net.proto.VectorOuterClass.Vector, emu.grasscutter.net.proto.VectorOuterClass.Vector.Builder, emu.grasscutter.net.proto.VectorOuterClass.VectorOrBuilder>
+ getPositionFieldBuilder() {
+ if (positionBuilder_ == null) {
+ positionBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+ emu.grasscutter.net.proto.VectorOuterClass.Vector, emu.grasscutter.net.proto.VectorOuterClass.Vector.Builder, emu.grasscutter.net.proto.VectorOuterClass.VectorOrBuilder>(
+ getPosition(),
+ getParentForChildren(),
+ isClean());
+ position_ = null;
+ }
+ return positionBuilder_;
+ }
+
+ private long chairId_ ;
+ /**
+ * uint64 chair_id = 3;
+ * @return The chairId.
+ */
+ @java.lang.Override
+ public long getChairId() {
+ return chairId_;
+ }
+ /**
+ * uint64 chair_id = 3;
+ * @param value The chairId to set.
+ * @return This builder for chaining.
+ */
+ public Builder setChairId(long value) {
+
+ chairId_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * uint64 chair_id = 3;
+ * @return This builder for chaining.
+ */
+ public Builder clearChairId() {
+
+ chairId_ = 0L;
+ 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:EvtAvatarSitDownNotify)
+ }
+
+ // @@protoc_insertion_point(class_scope:EvtAvatarSitDownNotify)
+ private static final emu.grasscutter.net.proto.EvtAvatarSitDownNotifyOuterClass.EvtAvatarSitDownNotify DEFAULT_INSTANCE;
+ static {
+ DEFAULT_INSTANCE = new emu.grasscutter.net.proto.EvtAvatarSitDownNotifyOuterClass.EvtAvatarSitDownNotify();
+ }
+
+ public static emu.grasscutter.net.proto.EvtAvatarSitDownNotifyOuterClass.EvtAvatarSitDownNotify getDefaultInstance() {
+ return DEFAULT_INSTANCE;
+ }
+
+ private static final com.google.protobuf.Parser
+ PARSER = new com.google.protobuf.AbstractParser() {
+ @java.lang.Override
+ public EvtAvatarSitDownNotify parsePartialFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return new EvtAvatarSitDownNotify(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.EvtAvatarSitDownNotifyOuterClass.EvtAvatarSitDownNotify getDefaultInstanceForType() {
+ return DEFAULT_INSTANCE;
+ }
+
+ }
+
+ private static final com.google.protobuf.Descriptors.Descriptor
+ internal_static_EvtAvatarSitDownNotify_descriptor;
+ private static final
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internal_static_EvtAvatarSitDownNotify_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\034EvtAvatarSitDownNotify.proto\032\014Vector.p" +
+ "roto\"X\n\026EvtAvatarSitDownNotify\022\021\n\tentity" +
+ "_id\030\001 \001(\r\022\031\n\010position\030\002 \001(\0132\007.Vector\022\020\n\010" +
+ "chair_id\030\003 \001(\004B\033\n\031emu.grasscutter.net.pr" +
+ "otob\006proto3"
+ };
+ descriptor = com.google.protobuf.Descriptors.FileDescriptor
+ .internalBuildGeneratedFileFrom(descriptorData,
+ new com.google.protobuf.Descriptors.FileDescriptor[] {
+ emu.grasscutter.net.proto.VectorOuterClass.getDescriptor(),
+ });
+ internal_static_EvtAvatarSitDownNotify_descriptor =
+ getDescriptor().getMessageTypes().get(0);
+ internal_static_EvtAvatarSitDownNotify_fieldAccessorTable = new
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
+ internal_static_EvtAvatarSitDownNotify_descriptor,
+ new java.lang.String[] { "EntityId", "Position", "ChairId", });
+ emu.grasscutter.net.proto.VectorOuterClass.getDescriptor();
+ }
+
+ // @@protoc_insertion_point(outer_class_scope)
+}
diff --git a/src/main/java/emu/grasscutter/net/proto/SitReqOuterClass.java b/src/main/java/emu/grasscutter/net/proto/SitReqOuterClass.java
new file mode 100644
index 000000000..bf6d6f0d1
--- /dev/null
+++ b/src/main/java/emu/grasscutter/net/proto/SitReqOuterClass.java
@@ -0,0 +1,744 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: SitReq.proto
+
+package emu.grasscutter.net.proto;
+
+public final class SitReqOuterClass {
+ private SitReqOuterClass() {}
+ 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 SitReqOrBuilder extends
+ // @@protoc_insertion_point(interface_extends:SitReq)
+ com.google.protobuf.MessageOrBuilder {
+
+ /**
+ * uint64 chair_id = 1;
+ * @return The chairId.
+ */
+ long getChairId();
+
+ /**
+ * .Vector position = 2;
+ * @return Whether the position field is set.
+ */
+ boolean hasPosition();
+ /**
+ * .Vector position = 2;
+ * @return The position.
+ */
+ emu.grasscutter.net.proto.VectorOuterClass.Vector getPosition();
+ /**
+ * .Vector position = 2;
+ */
+ emu.grasscutter.net.proto.VectorOuterClass.VectorOrBuilder getPositionOrBuilder();
+ }
+ /**
+ * Protobuf type {@code SitReq}
+ */
+ public static final class SitReq extends
+ com.google.protobuf.GeneratedMessageV3 implements
+ // @@protoc_insertion_point(message_implements:SitReq)
+ SitReqOrBuilder {
+ private static final long serialVersionUID = 0L;
+ // Use SitReq.newBuilder() to construct.
+ private SitReq(com.google.protobuf.GeneratedMessageV3.Builder> builder) {
+ super(builder);
+ }
+ private SitReq() {
+ }
+
+ @java.lang.Override
+ @SuppressWarnings({"unused"})
+ protected java.lang.Object newInstance(
+ UnusedPrivateParameter unused) {
+ return new SitReq();
+ }
+
+ @java.lang.Override
+ public final com.google.protobuf.UnknownFieldSet
+ getUnknownFields() {
+ return this.unknownFields;
+ }
+ private SitReq(
+ 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 8: {
+
+ chairId_ = input.readUInt64();
+ break;
+ }
+ case 18: {
+ emu.grasscutter.net.proto.VectorOuterClass.Vector.Builder subBuilder = null;
+ if (position_ != null) {
+ subBuilder = position_.toBuilder();
+ }
+ position_ = input.readMessage(emu.grasscutter.net.proto.VectorOuterClass.Vector.parser(), extensionRegistry);
+ if (subBuilder != null) {
+ subBuilder.mergeFrom(position_);
+ position_ = subBuilder.buildPartial();
+ }
+
+ break;
+ }
+ default: {
+ if (!parseUnknownField(
+ input, unknownFields, extensionRegistry, tag)) {
+ done = true;
+ }
+ break;
+ }
+ }
+ }
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ throw e.setUnfinishedMessage(this);
+ } catch (com.google.protobuf.UninitializedMessageException e) {
+ throw e.asInvalidProtocolBufferException().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.SitReqOuterClass.internal_static_SitReq_descriptor;
+ }
+
+ @java.lang.Override
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return emu.grasscutter.net.proto.SitReqOuterClass.internal_static_SitReq_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ emu.grasscutter.net.proto.SitReqOuterClass.SitReq.class, emu.grasscutter.net.proto.SitReqOuterClass.SitReq.Builder.class);
+ }
+
+ public static final int CHAIR_ID_FIELD_NUMBER = 1;
+ private long chairId_;
+ /**
+ * uint64 chair_id = 1;
+ * @return The chairId.
+ */
+ @java.lang.Override
+ public long getChairId() {
+ return chairId_;
+ }
+
+ public static final int POSITION_FIELD_NUMBER = 2;
+ private emu.grasscutter.net.proto.VectorOuterClass.Vector position_;
+ /**
+ * .Vector position = 2;
+ * @return Whether the position field is set.
+ */
+ @java.lang.Override
+ public boolean hasPosition() {
+ return position_ != null;
+ }
+ /**
+ * .Vector position = 2;
+ * @return The position.
+ */
+ @java.lang.Override
+ public emu.grasscutter.net.proto.VectorOuterClass.Vector getPosition() {
+ return position_ == null ? emu.grasscutter.net.proto.VectorOuterClass.Vector.getDefaultInstance() : position_;
+ }
+ /**
+ * .Vector position = 2;
+ */
+ @java.lang.Override
+ public emu.grasscutter.net.proto.VectorOuterClass.VectorOrBuilder getPositionOrBuilder() {
+ return getPosition();
+ }
+
+ 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 (chairId_ != 0L) {
+ output.writeUInt64(1, chairId_);
+ }
+ if (position_ != null) {
+ output.writeMessage(2, getPosition());
+ }
+ unknownFields.writeTo(output);
+ }
+
+ @java.lang.Override
+ public int getSerializedSize() {
+ int size = memoizedSize;
+ if (size != -1) return size;
+
+ size = 0;
+ if (chairId_ != 0L) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeUInt64Size(1, chairId_);
+ }
+ if (position_ != null) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(2, getPosition());
+ }
+ 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.SitReqOuterClass.SitReq)) {
+ return super.equals(obj);
+ }
+ emu.grasscutter.net.proto.SitReqOuterClass.SitReq other = (emu.grasscutter.net.proto.SitReqOuterClass.SitReq) obj;
+
+ if (getChairId()
+ != other.getChairId()) return false;
+ if (hasPosition() != other.hasPosition()) return false;
+ if (hasPosition()) {
+ if (!getPosition()
+ .equals(other.getPosition())) 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) + CHAIR_ID_FIELD_NUMBER;
+ hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
+ getChairId());
+ if (hasPosition()) {
+ hash = (37 * hash) + POSITION_FIELD_NUMBER;
+ hash = (53 * hash) + getPosition().hashCode();
+ }
+ hash = (29 * hash) + unknownFields.hashCode();
+ memoizedHashCode = hash;
+ return hash;
+ }
+
+ public static emu.grasscutter.net.proto.SitReqOuterClass.SitReq parseFrom(
+ java.nio.ByteBuffer data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static emu.grasscutter.net.proto.SitReqOuterClass.SitReq 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.SitReqOuterClass.SitReq parseFrom(
+ com.google.protobuf.ByteString data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static emu.grasscutter.net.proto.SitReqOuterClass.SitReq 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.SitReqOuterClass.SitReq parseFrom(byte[] data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static emu.grasscutter.net.proto.SitReqOuterClass.SitReq parseFrom(
+ byte[] data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static emu.grasscutter.net.proto.SitReqOuterClass.SitReq parseFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static emu.grasscutter.net.proto.SitReqOuterClass.SitReq 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.SitReqOuterClass.SitReq parseDelimitedFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input);
+ }
+ public static emu.grasscutter.net.proto.SitReqOuterClass.SitReq 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.SitReqOuterClass.SitReq parseFrom(
+ com.google.protobuf.CodedInputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static emu.grasscutter.net.proto.SitReqOuterClass.SitReq 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.SitReqOuterClass.SitReq prototype) {
+ return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
+ }
+ @java.lang.Override
+ public Builder toBuilder() {
+ return this == DEFAULT_INSTANCE
+ ? new Builder() : new Builder().mergeFrom(this);
+ }
+
+ @java.lang.Override
+ protected Builder newBuilderForType(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ Builder builder = new Builder(parent);
+ return builder;
+ }
+ /**
+ * Protobuf type {@code SitReq}
+ */
+ public static final class Builder extends
+ com.google.protobuf.GeneratedMessageV3.Builder implements
+ // @@protoc_insertion_point(builder_implements:SitReq)
+ emu.grasscutter.net.proto.SitReqOuterClass.SitReqOrBuilder {
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return emu.grasscutter.net.proto.SitReqOuterClass.internal_static_SitReq_descriptor;
+ }
+
+ @java.lang.Override
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return emu.grasscutter.net.proto.SitReqOuterClass.internal_static_SitReq_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ emu.grasscutter.net.proto.SitReqOuterClass.SitReq.class, emu.grasscutter.net.proto.SitReqOuterClass.SitReq.Builder.class);
+ }
+
+ // Construct using emu.grasscutter.net.proto.SitReqOuterClass.SitReq.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();
+ chairId_ = 0L;
+
+ if (positionBuilder_ == null) {
+ position_ = null;
+ } else {
+ position_ = null;
+ positionBuilder_ = null;
+ }
+ return this;
+ }
+
+ @java.lang.Override
+ public com.google.protobuf.Descriptors.Descriptor
+ getDescriptorForType() {
+ return emu.grasscutter.net.proto.SitReqOuterClass.internal_static_SitReq_descriptor;
+ }
+
+ @java.lang.Override
+ public emu.grasscutter.net.proto.SitReqOuterClass.SitReq getDefaultInstanceForType() {
+ return emu.grasscutter.net.proto.SitReqOuterClass.SitReq.getDefaultInstance();
+ }
+
+ @java.lang.Override
+ public emu.grasscutter.net.proto.SitReqOuterClass.SitReq build() {
+ emu.grasscutter.net.proto.SitReqOuterClass.SitReq result = buildPartial();
+ if (!result.isInitialized()) {
+ throw newUninitializedMessageException(result);
+ }
+ return result;
+ }
+
+ @java.lang.Override
+ public emu.grasscutter.net.proto.SitReqOuterClass.SitReq buildPartial() {
+ emu.grasscutter.net.proto.SitReqOuterClass.SitReq result = new emu.grasscutter.net.proto.SitReqOuterClass.SitReq(this);
+ result.chairId_ = chairId_;
+ if (positionBuilder_ == null) {
+ result.position_ = position_;
+ } else {
+ result.position_ = positionBuilder_.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.SitReqOuterClass.SitReq) {
+ return mergeFrom((emu.grasscutter.net.proto.SitReqOuterClass.SitReq)other);
+ } else {
+ super.mergeFrom(other);
+ return this;
+ }
+ }
+
+ public Builder mergeFrom(emu.grasscutter.net.proto.SitReqOuterClass.SitReq other) {
+ if (other == emu.grasscutter.net.proto.SitReqOuterClass.SitReq.getDefaultInstance()) return this;
+ if (other.getChairId() != 0L) {
+ setChairId(other.getChairId());
+ }
+ if (other.hasPosition()) {
+ mergePosition(other.getPosition());
+ }
+ 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.SitReqOuterClass.SitReq parsedMessage = null;
+ try {
+ parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ parsedMessage = (emu.grasscutter.net.proto.SitReqOuterClass.SitReq) e.getUnfinishedMessage();
+ throw e.unwrapIOException();
+ } finally {
+ if (parsedMessage != null) {
+ mergeFrom(parsedMessage);
+ }
+ }
+ return this;
+ }
+
+ private long chairId_ ;
+ /**
+ * uint64 chair_id = 1;
+ * @return The chairId.
+ */
+ @java.lang.Override
+ public long getChairId() {
+ return chairId_;
+ }
+ /**
+ * uint64 chair_id = 1;
+ * @param value The chairId to set.
+ * @return This builder for chaining.
+ */
+ public Builder setChairId(long value) {
+
+ chairId_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * uint64 chair_id = 1;
+ * @return This builder for chaining.
+ */
+ public Builder clearChairId() {
+
+ chairId_ = 0L;
+ onChanged();
+ return this;
+ }
+
+ private emu.grasscutter.net.proto.VectorOuterClass.Vector position_;
+ private com.google.protobuf.SingleFieldBuilderV3<
+ emu.grasscutter.net.proto.VectorOuterClass.Vector, emu.grasscutter.net.proto.VectorOuterClass.Vector.Builder, emu.grasscutter.net.proto.VectorOuterClass.VectorOrBuilder> positionBuilder_;
+ /**
+ * .Vector position = 2;
+ * @return Whether the position field is set.
+ */
+ public boolean hasPosition() {
+ return positionBuilder_ != null || position_ != null;
+ }
+ /**
+ * .Vector position = 2;
+ * @return The position.
+ */
+ public emu.grasscutter.net.proto.VectorOuterClass.Vector getPosition() {
+ if (positionBuilder_ == null) {
+ return position_ == null ? emu.grasscutter.net.proto.VectorOuterClass.Vector.getDefaultInstance() : position_;
+ } else {
+ return positionBuilder_.getMessage();
+ }
+ }
+ /**
+ * .Vector position = 2;
+ */
+ public Builder setPosition(emu.grasscutter.net.proto.VectorOuterClass.Vector value) {
+ if (positionBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ position_ = value;
+ onChanged();
+ } else {
+ positionBuilder_.setMessage(value);
+ }
+
+ return this;
+ }
+ /**
+ * .Vector position = 2;
+ */
+ public Builder setPosition(
+ emu.grasscutter.net.proto.VectorOuterClass.Vector.Builder builderForValue) {
+ if (positionBuilder_ == null) {
+ position_ = builderForValue.build();
+ onChanged();
+ } else {
+ positionBuilder_.setMessage(builderForValue.build());
+ }
+
+ return this;
+ }
+ /**
+ * .Vector position = 2;
+ */
+ public Builder mergePosition(emu.grasscutter.net.proto.VectorOuterClass.Vector value) {
+ if (positionBuilder_ == null) {
+ if (position_ != null) {
+ position_ =
+ emu.grasscutter.net.proto.VectorOuterClass.Vector.newBuilder(position_).mergeFrom(value).buildPartial();
+ } else {
+ position_ = value;
+ }
+ onChanged();
+ } else {
+ positionBuilder_.mergeFrom(value);
+ }
+
+ return this;
+ }
+ /**
+ * .Vector position = 2;
+ */
+ public Builder clearPosition() {
+ if (positionBuilder_ == null) {
+ position_ = null;
+ onChanged();
+ } else {
+ position_ = null;
+ positionBuilder_ = null;
+ }
+
+ return this;
+ }
+ /**
+ * .Vector position = 2;
+ */
+ public emu.grasscutter.net.proto.VectorOuterClass.Vector.Builder getPositionBuilder() {
+
+ onChanged();
+ return getPositionFieldBuilder().getBuilder();
+ }
+ /**
+ * .Vector position = 2;
+ */
+ public emu.grasscutter.net.proto.VectorOuterClass.VectorOrBuilder getPositionOrBuilder() {
+ if (positionBuilder_ != null) {
+ return positionBuilder_.getMessageOrBuilder();
+ } else {
+ return position_ == null ?
+ emu.grasscutter.net.proto.VectorOuterClass.Vector.getDefaultInstance() : position_;
+ }
+ }
+ /**
+ * .Vector position = 2;
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ emu.grasscutter.net.proto.VectorOuterClass.Vector, emu.grasscutter.net.proto.VectorOuterClass.Vector.Builder, emu.grasscutter.net.proto.VectorOuterClass.VectorOrBuilder>
+ getPositionFieldBuilder() {
+ if (positionBuilder_ == null) {
+ positionBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+ emu.grasscutter.net.proto.VectorOuterClass.Vector, emu.grasscutter.net.proto.VectorOuterClass.Vector.Builder, emu.grasscutter.net.proto.VectorOuterClass.VectorOrBuilder>(
+ getPosition(),
+ getParentForChildren(),
+ isClean());
+ position_ = null;
+ }
+ return positionBuilder_;
+ }
+ @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:SitReq)
+ }
+
+ // @@protoc_insertion_point(class_scope:SitReq)
+ private static final emu.grasscutter.net.proto.SitReqOuterClass.SitReq DEFAULT_INSTANCE;
+ static {
+ DEFAULT_INSTANCE = new emu.grasscutter.net.proto.SitReqOuterClass.SitReq();
+ }
+
+ public static emu.grasscutter.net.proto.SitReqOuterClass.SitReq getDefaultInstance() {
+ return DEFAULT_INSTANCE;
+ }
+
+ private static final com.google.protobuf.Parser
+ PARSER = new com.google.protobuf.AbstractParser() {
+ @java.lang.Override
+ public SitReq parsePartialFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return new SitReq(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.SitReqOuterClass.SitReq getDefaultInstanceForType() {
+ return DEFAULT_INSTANCE;
+ }
+
+ }
+
+ private static final com.google.protobuf.Descriptors.Descriptor
+ internal_static_SitReq_descriptor;
+ private static final
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internal_static_SitReq_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\014SitReq.proto\032\014Vector.proto\"5\n\006SitReq\022\020" +
+ "\n\010chair_id\030\001 \001(\004\022\031\n\010position\030\002 \001(\0132\007.Vec" +
+ "torB\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.VectorOuterClass.getDescriptor(),
+ });
+ internal_static_SitReq_descriptor =
+ getDescriptor().getMessageTypes().get(0);
+ internal_static_SitReq_fieldAccessorTable = new
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
+ internal_static_SitReq_descriptor,
+ new java.lang.String[] { "ChairId", "Position", });
+ emu.grasscutter.net.proto.VectorOuterClass.getDescriptor();
+ }
+
+ // @@protoc_insertion_point(outer_class_scope)
+}
diff --git a/src/main/java/emu/grasscutter/net/proto/SitRspOuterClass.java b/src/main/java/emu/grasscutter/net/proto/SitRspOuterClass.java
new file mode 100644
index 000000000..eeed03216
--- /dev/null
+++ b/src/main/java/emu/grasscutter/net/proto/SitRspOuterClass.java
@@ -0,0 +1,815 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: SitRsp.proto
+
+package emu.grasscutter.net.proto;
+
+public final class SitRspOuterClass {
+ private SitRspOuterClass() {}
+ 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 SitRspOrBuilder extends
+ // @@protoc_insertion_point(interface_extends:SitRsp)
+ com.google.protobuf.MessageOrBuilder {
+
+ /**
+ * uint32 entity_id = 2;
+ * @return The entityId.
+ */
+ int getEntityId();
+
+ /**
+ * .Vector position = 3;
+ * @return Whether the position field is set.
+ */
+ boolean hasPosition();
+ /**
+ * .Vector position = 3;
+ * @return The position.
+ */
+ emu.grasscutter.net.proto.VectorOuterClass.Vector getPosition();
+ /**
+ * .Vector position = 3;
+ */
+ emu.grasscutter.net.proto.VectorOuterClass.VectorOrBuilder getPositionOrBuilder();
+
+ /**
+ * uint64 chair_id = 4;
+ * @return The chairId.
+ */
+ long getChairId();
+ }
+ /**
+ * Protobuf type {@code SitRsp}
+ */
+ public static final class SitRsp extends
+ com.google.protobuf.GeneratedMessageV3 implements
+ // @@protoc_insertion_point(message_implements:SitRsp)
+ SitRspOrBuilder {
+ private static final long serialVersionUID = 0L;
+ // Use SitRsp.newBuilder() to construct.
+ private SitRsp(com.google.protobuf.GeneratedMessageV3.Builder> builder) {
+ super(builder);
+ }
+ private SitRsp() {
+ }
+
+ @java.lang.Override
+ @SuppressWarnings({"unused"})
+ protected java.lang.Object newInstance(
+ UnusedPrivateParameter unused) {
+ return new SitRsp();
+ }
+
+ @java.lang.Override
+ public final com.google.protobuf.UnknownFieldSet
+ getUnknownFields() {
+ return this.unknownFields;
+ }
+ private SitRsp(
+ 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 16: {
+
+ entityId_ = input.readUInt32();
+ break;
+ }
+ case 26: {
+ emu.grasscutter.net.proto.VectorOuterClass.Vector.Builder subBuilder = null;
+ if (position_ != null) {
+ subBuilder = position_.toBuilder();
+ }
+ position_ = input.readMessage(emu.grasscutter.net.proto.VectorOuterClass.Vector.parser(), extensionRegistry);
+ if (subBuilder != null) {
+ subBuilder.mergeFrom(position_);
+ position_ = subBuilder.buildPartial();
+ }
+
+ break;
+ }
+ case 32: {
+
+ chairId_ = input.readUInt64();
+ break;
+ }
+ default: {
+ if (!parseUnknownField(
+ input, unknownFields, extensionRegistry, tag)) {
+ done = true;
+ }
+ break;
+ }
+ }
+ }
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ throw e.setUnfinishedMessage(this);
+ } catch (com.google.protobuf.UninitializedMessageException e) {
+ throw e.asInvalidProtocolBufferException().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.SitRspOuterClass.internal_static_SitRsp_descriptor;
+ }
+
+ @java.lang.Override
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return emu.grasscutter.net.proto.SitRspOuterClass.internal_static_SitRsp_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ emu.grasscutter.net.proto.SitRspOuterClass.SitRsp.class, emu.grasscutter.net.proto.SitRspOuterClass.SitRsp.Builder.class);
+ }
+
+ public static final int ENTITY_ID_FIELD_NUMBER = 2;
+ private int entityId_;
+ /**
+ * uint32 entity_id = 2;
+ * @return The entityId.
+ */
+ @java.lang.Override
+ public int getEntityId() {
+ return entityId_;
+ }
+
+ public static final int POSITION_FIELD_NUMBER = 3;
+ private emu.grasscutter.net.proto.VectorOuterClass.Vector position_;
+ /**
+ * .Vector position = 3;
+ * @return Whether the position field is set.
+ */
+ @java.lang.Override
+ public boolean hasPosition() {
+ return position_ != null;
+ }
+ /**
+ * .Vector position = 3;
+ * @return The position.
+ */
+ @java.lang.Override
+ public emu.grasscutter.net.proto.VectorOuterClass.Vector getPosition() {
+ return position_ == null ? emu.grasscutter.net.proto.VectorOuterClass.Vector.getDefaultInstance() : position_;
+ }
+ /**
+ * .Vector position = 3;
+ */
+ @java.lang.Override
+ public emu.grasscutter.net.proto.VectorOuterClass.VectorOrBuilder getPositionOrBuilder() {
+ return getPosition();
+ }
+
+ public static final int CHAIR_ID_FIELD_NUMBER = 4;
+ private long chairId_;
+ /**
+ * uint64 chair_id = 4;
+ * @return The chairId.
+ */
+ @java.lang.Override
+ public long getChairId() {
+ return chairId_;
+ }
+
+ 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(2, entityId_);
+ }
+ if (position_ != null) {
+ output.writeMessage(3, getPosition());
+ }
+ if (chairId_ != 0L) {
+ output.writeUInt64(4, chairId_);
+ }
+ 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(2, entityId_);
+ }
+ if (position_ != null) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(3, getPosition());
+ }
+ if (chairId_ != 0L) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeUInt64Size(4, chairId_);
+ }
+ 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.SitRspOuterClass.SitRsp)) {
+ return super.equals(obj);
+ }
+ emu.grasscutter.net.proto.SitRspOuterClass.SitRsp other = (emu.grasscutter.net.proto.SitRspOuterClass.SitRsp) obj;
+
+ if (getEntityId()
+ != other.getEntityId()) return false;
+ if (hasPosition() != other.hasPosition()) return false;
+ if (hasPosition()) {
+ if (!getPosition()
+ .equals(other.getPosition())) return false;
+ }
+ if (getChairId()
+ != other.getChairId()) 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();
+ if (hasPosition()) {
+ hash = (37 * hash) + POSITION_FIELD_NUMBER;
+ hash = (53 * hash) + getPosition().hashCode();
+ }
+ hash = (37 * hash) + CHAIR_ID_FIELD_NUMBER;
+ hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
+ getChairId());
+ hash = (29 * hash) + unknownFields.hashCode();
+ memoizedHashCode = hash;
+ return hash;
+ }
+
+ public static emu.grasscutter.net.proto.SitRspOuterClass.SitRsp parseFrom(
+ java.nio.ByteBuffer data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static emu.grasscutter.net.proto.SitRspOuterClass.SitRsp 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.SitRspOuterClass.SitRsp parseFrom(
+ com.google.protobuf.ByteString data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static emu.grasscutter.net.proto.SitRspOuterClass.SitRsp 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.SitRspOuterClass.SitRsp parseFrom(byte[] data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static emu.grasscutter.net.proto.SitRspOuterClass.SitRsp parseFrom(
+ byte[] data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static emu.grasscutter.net.proto.SitRspOuterClass.SitRsp parseFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static emu.grasscutter.net.proto.SitRspOuterClass.SitRsp 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.SitRspOuterClass.SitRsp parseDelimitedFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input);
+ }
+ public static emu.grasscutter.net.proto.SitRspOuterClass.SitRsp 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.SitRspOuterClass.SitRsp parseFrom(
+ com.google.protobuf.CodedInputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static emu.grasscutter.net.proto.SitRspOuterClass.SitRsp 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.SitRspOuterClass.SitRsp prototype) {
+ return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
+ }
+ @java.lang.Override
+ public Builder toBuilder() {
+ return this == DEFAULT_INSTANCE
+ ? new Builder() : new Builder().mergeFrom(this);
+ }
+
+ @java.lang.Override
+ protected Builder newBuilderForType(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ Builder builder = new Builder(parent);
+ return builder;
+ }
+ /**
+ * Protobuf type {@code SitRsp}
+ */
+ public static final class Builder extends
+ com.google.protobuf.GeneratedMessageV3.Builder implements
+ // @@protoc_insertion_point(builder_implements:SitRsp)
+ emu.grasscutter.net.proto.SitRspOuterClass.SitRspOrBuilder {
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return emu.grasscutter.net.proto.SitRspOuterClass.internal_static_SitRsp_descriptor;
+ }
+
+ @java.lang.Override
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return emu.grasscutter.net.proto.SitRspOuterClass.internal_static_SitRsp_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ emu.grasscutter.net.proto.SitRspOuterClass.SitRsp.class, emu.grasscutter.net.proto.SitRspOuterClass.SitRsp.Builder.class);
+ }
+
+ // Construct using emu.grasscutter.net.proto.SitRspOuterClass.SitRsp.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;
+
+ if (positionBuilder_ == null) {
+ position_ = null;
+ } else {
+ position_ = null;
+ positionBuilder_ = null;
+ }
+ chairId_ = 0L;
+
+ return this;
+ }
+
+ @java.lang.Override
+ public com.google.protobuf.Descriptors.Descriptor
+ getDescriptorForType() {
+ return emu.grasscutter.net.proto.SitRspOuterClass.internal_static_SitRsp_descriptor;
+ }
+
+ @java.lang.Override
+ public emu.grasscutter.net.proto.SitRspOuterClass.SitRsp getDefaultInstanceForType() {
+ return emu.grasscutter.net.proto.SitRspOuterClass.SitRsp.getDefaultInstance();
+ }
+
+ @java.lang.Override
+ public emu.grasscutter.net.proto.SitRspOuterClass.SitRsp build() {
+ emu.grasscutter.net.proto.SitRspOuterClass.SitRsp result = buildPartial();
+ if (!result.isInitialized()) {
+ throw newUninitializedMessageException(result);
+ }
+ return result;
+ }
+
+ @java.lang.Override
+ public emu.grasscutter.net.proto.SitRspOuterClass.SitRsp buildPartial() {
+ emu.grasscutter.net.proto.SitRspOuterClass.SitRsp result = new emu.grasscutter.net.proto.SitRspOuterClass.SitRsp(this);
+ result.entityId_ = entityId_;
+ if (positionBuilder_ == null) {
+ result.position_ = position_;
+ } else {
+ result.position_ = positionBuilder_.build();
+ }
+ result.chairId_ = chairId_;
+ 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.SitRspOuterClass.SitRsp) {
+ return mergeFrom((emu.grasscutter.net.proto.SitRspOuterClass.SitRsp)other);
+ } else {
+ super.mergeFrom(other);
+ return this;
+ }
+ }
+
+ public Builder mergeFrom(emu.grasscutter.net.proto.SitRspOuterClass.SitRsp other) {
+ if (other == emu.grasscutter.net.proto.SitRspOuterClass.SitRsp.getDefaultInstance()) return this;
+ if (other.getEntityId() != 0) {
+ setEntityId(other.getEntityId());
+ }
+ if (other.hasPosition()) {
+ mergePosition(other.getPosition());
+ }
+ if (other.getChairId() != 0L) {
+ setChairId(other.getChairId());
+ }
+ 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.SitRspOuterClass.SitRsp parsedMessage = null;
+ try {
+ parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ parsedMessage = (emu.grasscutter.net.proto.SitRspOuterClass.SitRsp) e.getUnfinishedMessage();
+ throw e.unwrapIOException();
+ } finally {
+ if (parsedMessage != null) {
+ mergeFrom(parsedMessage);
+ }
+ }
+ return this;
+ }
+
+ private int entityId_ ;
+ /**
+ * uint32 entity_id = 2;
+ * @return The entityId.
+ */
+ @java.lang.Override
+ public int getEntityId() {
+ return entityId_;
+ }
+ /**
+ * uint32 entity_id = 2;
+ * @param value The entityId to set.
+ * @return This builder for chaining.
+ */
+ public Builder setEntityId(int value) {
+
+ entityId_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * uint32 entity_id = 2;
+ * @return This builder for chaining.
+ */
+ public Builder clearEntityId() {
+
+ entityId_ = 0;
+ onChanged();
+ return this;
+ }
+
+ private emu.grasscutter.net.proto.VectorOuterClass.Vector position_;
+ private com.google.protobuf.SingleFieldBuilderV3<
+ emu.grasscutter.net.proto.VectorOuterClass.Vector, emu.grasscutter.net.proto.VectorOuterClass.Vector.Builder, emu.grasscutter.net.proto.VectorOuterClass.VectorOrBuilder> positionBuilder_;
+ /**
+ * .Vector position = 3;
+ * @return Whether the position field is set.
+ */
+ public boolean hasPosition() {
+ return positionBuilder_ != null || position_ != null;
+ }
+ /**
+ * .Vector position = 3;
+ * @return The position.
+ */
+ public emu.grasscutter.net.proto.VectorOuterClass.Vector getPosition() {
+ if (positionBuilder_ == null) {
+ return position_ == null ? emu.grasscutter.net.proto.VectorOuterClass.Vector.getDefaultInstance() : position_;
+ } else {
+ return positionBuilder_.getMessage();
+ }
+ }
+ /**
+ * .Vector position = 3;
+ */
+ public Builder setPosition(emu.grasscutter.net.proto.VectorOuterClass.Vector value) {
+ if (positionBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ position_ = value;
+ onChanged();
+ } else {
+ positionBuilder_.setMessage(value);
+ }
+
+ return this;
+ }
+ /**
+ * .Vector position = 3;
+ */
+ public Builder setPosition(
+ emu.grasscutter.net.proto.VectorOuterClass.Vector.Builder builderForValue) {
+ if (positionBuilder_ == null) {
+ position_ = builderForValue.build();
+ onChanged();
+ } else {
+ positionBuilder_.setMessage(builderForValue.build());
+ }
+
+ return this;
+ }
+ /**
+ * .Vector position = 3;
+ */
+ public Builder mergePosition(emu.grasscutter.net.proto.VectorOuterClass.Vector value) {
+ if (positionBuilder_ == null) {
+ if (position_ != null) {
+ position_ =
+ emu.grasscutter.net.proto.VectorOuterClass.Vector.newBuilder(position_).mergeFrom(value).buildPartial();
+ } else {
+ position_ = value;
+ }
+ onChanged();
+ } else {
+ positionBuilder_.mergeFrom(value);
+ }
+
+ return this;
+ }
+ /**
+ * .Vector position = 3;
+ */
+ public Builder clearPosition() {
+ if (positionBuilder_ == null) {
+ position_ = null;
+ onChanged();
+ } else {
+ position_ = null;
+ positionBuilder_ = null;
+ }
+
+ return this;
+ }
+ /**
+ * .Vector position = 3;
+ */
+ public emu.grasscutter.net.proto.VectorOuterClass.Vector.Builder getPositionBuilder() {
+
+ onChanged();
+ return getPositionFieldBuilder().getBuilder();
+ }
+ /**
+ * .Vector position = 3;
+ */
+ public emu.grasscutter.net.proto.VectorOuterClass.VectorOrBuilder getPositionOrBuilder() {
+ if (positionBuilder_ != null) {
+ return positionBuilder_.getMessageOrBuilder();
+ } else {
+ return position_ == null ?
+ emu.grasscutter.net.proto.VectorOuterClass.Vector.getDefaultInstance() : position_;
+ }
+ }
+ /**
+ * .Vector position = 3;
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ emu.grasscutter.net.proto.VectorOuterClass.Vector, emu.grasscutter.net.proto.VectorOuterClass.Vector.Builder, emu.grasscutter.net.proto.VectorOuterClass.VectorOrBuilder>
+ getPositionFieldBuilder() {
+ if (positionBuilder_ == null) {
+ positionBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+ emu.grasscutter.net.proto.VectorOuterClass.Vector, emu.grasscutter.net.proto.VectorOuterClass.Vector.Builder, emu.grasscutter.net.proto.VectorOuterClass.VectorOrBuilder>(
+ getPosition(),
+ getParentForChildren(),
+ isClean());
+ position_ = null;
+ }
+ return positionBuilder_;
+ }
+
+ private long chairId_ ;
+ /**
+ * uint64 chair_id = 4;
+ * @return The chairId.
+ */
+ @java.lang.Override
+ public long getChairId() {
+ return chairId_;
+ }
+ /**
+ * uint64 chair_id = 4;
+ * @param value The chairId to set.
+ * @return This builder for chaining.
+ */
+ public Builder setChairId(long value) {
+
+ chairId_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * uint64 chair_id = 4;
+ * @return This builder for chaining.
+ */
+ public Builder clearChairId() {
+
+ chairId_ = 0L;
+ 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:SitRsp)
+ }
+
+ // @@protoc_insertion_point(class_scope:SitRsp)
+ private static final emu.grasscutter.net.proto.SitRspOuterClass.SitRsp DEFAULT_INSTANCE;
+ static {
+ DEFAULT_INSTANCE = new emu.grasscutter.net.proto.SitRspOuterClass.SitRsp();
+ }
+
+ public static emu.grasscutter.net.proto.SitRspOuterClass.SitRsp getDefaultInstance() {
+ return DEFAULT_INSTANCE;
+ }
+
+ private static final com.google.protobuf.Parser
+ PARSER = new com.google.protobuf.AbstractParser() {
+ @java.lang.Override
+ public SitRsp parsePartialFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return new SitRsp(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.SitRspOuterClass.SitRsp getDefaultInstanceForType() {
+ return DEFAULT_INSTANCE;
+ }
+
+ }
+
+ private static final com.google.protobuf.Descriptors.Descriptor
+ internal_static_SitRsp_descriptor;
+ private static final
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internal_static_SitRsp_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\014SitRsp.proto\032\014Vector.proto\"H\n\006SitRsp\022\021" +
+ "\n\tentity_id\030\002 \001(\r\022\031\n\010position\030\003 \001(\0132\007.Ve" +
+ "ctor\022\020\n\010chair_id\030\004 \001(\004B\033\n\031emu.grasscutte" +
+ "r.net.protob\006proto3"
+ };
+ descriptor = com.google.protobuf.Descriptors.FileDescriptor
+ .internalBuildGeneratedFileFrom(descriptorData,
+ new com.google.protobuf.Descriptors.FileDescriptor[] {
+ emu.grasscutter.net.proto.VectorOuterClass.getDescriptor(),
+ });
+ internal_static_SitRsp_descriptor =
+ getDescriptor().getMessageTypes().get(0);
+ internal_static_SitRsp_fieldAccessorTable = new
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
+ internal_static_SitRsp_descriptor,
+ new java.lang.String[] { "EntityId", "Position", "ChairId", });
+ emu.grasscutter.net.proto.VectorOuterClass.getDescriptor();
+ }
+
+ // @@protoc_insertion_point(outer_class_scope)
+}
diff --git a/src/main/java/emu/grasscutter/server/packet/recv/HandleEvtAvatarSitDownNotify.java b/src/main/java/emu/grasscutter/server/packet/recv/HandleEvtAvatarSitDownNotify.java
new file mode 100644
index 000000000..8f653dde9
--- /dev/null
+++ b/src/main/java/emu/grasscutter/server/packet/recv/HandleEvtAvatarSitDownNotify.java
@@ -0,0 +1,21 @@
+package emu.grasscutter.server.packet.recv;
+
+import emu.grasscutter.net.packet.Opcodes;
+import emu.grasscutter.net.packet.PacketOpcodes;
+import emu.grasscutter.net.proto.EvtAvatarSitDownNotifyOuterClass.EvtAvatarSitDownNotify;
+import emu.grasscutter.net.packet.PacketHandler;
+import emu.grasscutter.server.game.GameSession;
+import emu.grasscutter.server.packet.send.PacketEvtAvatarSitDownNotify;
+
+@Opcodes(PacketOpcodes.EvtAvatarSitDownNotify)
+public class HandleEvtAvatarSitDownNotify extends PacketHandler {
+
+ @Override
+ public void handle(GameSession session, byte[] header, byte[] payload) throws Exception {
+ EvtAvatarSitDownNotify notify = EvtAvatarSitDownNotify.parseFrom(payload);
+
+ session.send(new PacketEvtAvatarSitDownNotify(notify));
+ }
+
+}
+
diff --git a/src/main/java/emu/grasscutter/server/packet/recv/HandleSitReq.java b/src/main/java/emu/grasscutter/server/packet/recv/HandleSitReq.java
new file mode 100644
index 000000000..418d99eef
--- /dev/null
+++ b/src/main/java/emu/grasscutter/server/packet/recv/HandleSitReq.java
@@ -0,0 +1,24 @@
+package emu.grasscutter.server.packet.recv;
+
+import emu.grasscutter.net.packet.Opcodes;
+import emu.grasscutter.net.packet.PacketHandler;
+import emu.grasscutter.net.packet.PacketOpcodes;
+import emu.grasscutter.net.proto.SitReqOuterClass;
+import emu.grasscutter.server.game.GameSession;
+import emu.grasscutter.server.packet.send.PacketSitRsp;
+import emu.grasscutter.utils.Position;
+
+@Opcodes(PacketOpcodes.SitReq)
+public class HandleSitReq extends PacketHandler {
+ @Override
+ public void handle(GameSession session, byte[] header, byte[] payload) throws Exception {
+ SitReqOuterClass.SitReq req = SitReqOuterClass.SitReq.parseFrom(payload);
+
+ float x = req.getPosition().getX();
+ float y = req.getPosition().getY();
+ float z = req.getPosition().getZ();
+
+ session.send(new PacketSitRsp(req.getChairId(), new Position(x, y, z), session.getPlayer().getTeamManager().getCurrentAvatarEntity().getId()));
+ }
+
+}
\ No newline at end of file
diff --git a/src/main/java/emu/grasscutter/server/packet/send/PacketEvtAvatarSitDownNotify.java b/src/main/java/emu/grasscutter/server/packet/send/PacketEvtAvatarSitDownNotify.java
new file mode 100644
index 000000000..6a051024a
--- /dev/null
+++ b/src/main/java/emu/grasscutter/server/packet/send/PacketEvtAvatarSitDownNotify.java
@@ -0,0 +1,20 @@
+package emu.grasscutter.server.packet.send;
+
+import emu.grasscutter.net.packet.GenshinPacket;
+import emu.grasscutter.net.packet.PacketOpcodes;
+import emu.grasscutter.net.proto.EvtAvatarSitDownNotifyOuterClass.EvtAvatarSitDownNotify;
+
+public class PacketEvtAvatarSitDownNotify extends GenshinPacket {
+
+ public PacketEvtAvatarSitDownNotify(EvtAvatarSitDownNotify notify) {
+ super(PacketOpcodes.EvtAvatarSitDownNotify);
+
+ EvtAvatarSitDownNotify proto = EvtAvatarSitDownNotify.newBuilder()
+ .setEntityId(notify.getEntityId())
+ .setPosition(notify.getPosition())
+ .setChairId(notify.getChairId())
+ .build();
+
+ this.setData(proto);
+ }
+}
diff --git a/src/main/java/emu/grasscutter/server/packet/send/PacketSitRsp.java b/src/main/java/emu/grasscutter/server/packet/send/PacketSitRsp.java
new file mode 100644
index 000000000..70893965b
--- /dev/null
+++ b/src/main/java/emu/grasscutter/server/packet/send/PacketSitRsp.java
@@ -0,0 +1,21 @@
+package emu.grasscutter.server.packet.send;
+
+import emu.grasscutter.net.packet.GenshinPacket;
+import emu.grasscutter.net.packet.PacketOpcodes;
+import emu.grasscutter.net.proto.SitRspOuterClass.SitRsp;
+import emu.grasscutter.utils.Position;
+
+public class PacketSitRsp extends GenshinPacket {
+
+ public PacketSitRsp(long chairId, Position pos, int EntityId) {
+ super(PacketOpcodes.SitRsp);
+
+ SitRsp proto = SitRsp.newBuilder()
+ .setEntityId(EntityId)
+ .setPosition(pos.toProto())
+ .setChairId(chairId)
+ .build();
+
+ this.setData(proto);
+ }
+}