From 28e7c22d38041278fcb8f2d7d9ff6f420ef1389a Mon Sep 17 00:00:00 2001 From: Melledy <121644117+Melledy@users.noreply.github.com> Date: Thu, 9 Nov 2023 14:53:21 -0800 Subject: [PATCH] Refactor some protos --- .../proto/SendMsgCsReqOuterClass.java | 83 +++--- .../SyncRogueFinishScNotifyOuterClass.java | 282 ++++++++++++++++++ .../packet/recv/HandlerSendMsgCsReq.java | 2 +- 3 files changed, 325 insertions(+), 42 deletions(-) create mode 100644 src/generated/main/emu/lunarcore/proto/SyncRogueFinishScNotifyOuterClass.java diff --git a/src/generated/main/emu/lunarcore/proto/SendMsgCsReqOuterClass.java b/src/generated/main/emu/lunarcore/proto/SendMsgCsReqOuterClass.java index 296d15e..56d6fc7 100644 --- a/src/generated/main/emu/lunarcore/proto/SendMsgCsReqOuterClass.java +++ b/src/generated/main/emu/lunarcore/proto/SendMsgCsReqOuterClass.java @@ -41,9 +41,9 @@ public final class SendMsgCsReqOuterClass { private final Utf8String text = Utf8String.newEmptyInstance(); /** - * repeated uint32 toUid = 12; + * repeated uint32 to_uid_list = 12; */ - private final RepeatedInt toUid = RepeatedInt.newEmptyInstance(); + private final RepeatedInt toUidList = RepeatedInt.newEmptyInstance(); private SendMsgCsReq() { } @@ -282,39 +282,39 @@ public final class SendMsgCsReqOuterClass { } /** - * repeated uint32 toUid = 12; - * @return whether the toUid field is set + * repeated uint32 to_uid_list = 12; + * @return whether the toUidList field is set */ - public boolean hasToUid() { + public boolean hasToUidList() { return (bitField0_ & 0x00000010) != 0; } /** - * repeated uint32 toUid = 12; + * repeated uint32 to_uid_list = 12; * @return this */ - public SendMsgCsReq clearToUid() { + public SendMsgCsReq clearToUidList() { bitField0_ &= ~0x00000010; - toUid.clear(); + toUidList.clear(); return this; } /** - * repeated uint32 toUid = 12; + * repeated uint32 to_uid_list = 12; * * This method returns the internal storage object without modifying any has state. * The returned object should not be modified and be treated as read-only. * - * Use {@link #getMutableToUid()} if you want to modify it. + * Use {@link #getMutableToUidList()} if you want to modify it. * * @return internal storage object for reading */ - public RepeatedInt getToUid() { - return toUid; + public RepeatedInt getToUidList() { + return toUidList; } /** - * repeated uint32 toUid = 12; + * repeated uint32 to_uid_list = 12; * * This method returns the internal storage object and sets the corresponding * has state. The returned object will become part of this message and its @@ -322,30 +322,30 @@ public final class SendMsgCsReqOuterClass { * * @return internal storage object for modifications */ - public RepeatedInt getMutableToUid() { + public RepeatedInt getMutableToUidList() { bitField0_ |= 0x00000010; - return toUid; + return toUidList; } /** - * repeated uint32 toUid = 12; - * @param value the toUid to add + * repeated uint32 to_uid_list = 12; + * @param value the toUidList to add * @return this */ - public SendMsgCsReq addToUid(final int value) { + public SendMsgCsReq addToUidList(final int value) { bitField0_ |= 0x00000010; - toUid.add(value); + toUidList.add(value); return this; } /** - * repeated uint32 toUid = 12; - * @param values the toUid to add + * repeated uint32 to_uid_list = 12; + * @param values the toUidList to add * @return this */ - public SendMsgCsReq addAllToUid(final int... values) { + public SendMsgCsReq addAllToUidList(final int... values) { bitField0_ |= 0x00000010; - toUid.addAll(values); + toUidList.addAll(values); return this; } @@ -358,7 +358,7 @@ public final class SendMsgCsReqOuterClass { msgType = other.msgType; chatType = other.chatType; text.copyFrom(other.text); - toUid.copyFrom(other.toUid); + toUidList.copyFrom(other.toUidList); } return this; } @@ -381,8 +381,8 @@ public final class SendMsgCsReqOuterClass { if (other.hasText()) { getMutableTextBytes().copyFrom(other.text); } - if (other.hasToUid()) { - getMutableToUid().addAll(other.toUid); + if (other.hasToUidList()) { + getMutableToUidList().addAll(other.toUidList); } return this; } @@ -398,7 +398,7 @@ public final class SendMsgCsReqOuterClass { msgType = 0; chatType = 0; text.clear(); - toUid.clear(); + toUidList.clear(); return this; } @@ -410,7 +410,7 @@ public final class SendMsgCsReqOuterClass { cachedSize = -1; bitField0_ = 0; text.clear(); - toUid.clear(); + toUidList.clear(); return this; } @@ -428,7 +428,7 @@ public final class SendMsgCsReqOuterClass { && (!hasMsgType() || msgType == other.msgType) && (!hasChatType() || chatType == other.chatType) && (!hasText() || text.equals(other.text)) - && (!hasToUid() || toUid.equals(other.toUid)); + && (!hasToUidList() || toUidList.equals(other.toUidList)); } @Override @@ -450,9 +450,9 @@ public final class SendMsgCsReqOuterClass { output.writeStringNoTag(text); } if ((bitField0_ & 0x00000010) != 0) { - for (int i = 0; i < toUid.length(); i++) { + for (int i = 0; i < toUidList.length(); i++) { output.writeRawByte((byte) 96); - output.writeUInt32NoTag(toUid.array()[i]); + output.writeUInt32NoTag(toUidList.array()[i]); } } } @@ -473,7 +473,7 @@ public final class SendMsgCsReqOuterClass { size += 1 + ProtoSink.computeStringSizeNoTag(text); } if ((bitField0_ & 0x00000010) != 0) { - size += (1 * toUid.length()) + ProtoSink.computeRepeatedUInt32SizeNoTag(toUid); + size += (1 * toUidList.length()) + ProtoSink.computeRepeatedUInt32SizeNoTag(toUidList); } return size; } @@ -528,8 +528,8 @@ public final class SendMsgCsReqOuterClass { } } case 98: { - // toUid [packed=true] - input.readPackedUInt32(toUid, tag); + // toUidList [packed=true] + input.readPackedUInt32(toUidList, tag); bitField0_ |= 0x00000010; tag = input.readTag(); if (tag != 0) { @@ -547,8 +547,8 @@ public final class SendMsgCsReqOuterClass { break; } case 96: { - // toUid [packed=false] - tag = input.readRepeatedUInt32(toUid, tag); + // toUidList [packed=false] + tag = input.readRepeatedUInt32(toUidList, tag); bitField0_ |= 0x00000010; break; } @@ -572,7 +572,7 @@ public final class SendMsgCsReqOuterClass { output.writeString(FieldNames.text, text); } if ((bitField0_ & 0x00000010) != 0) { - output.writeRepeatedUInt32(FieldNames.toUid, toUid); + output.writeRepeatedUInt32(FieldNames.toUidList, toUidList); } output.endObject(); } @@ -640,10 +640,11 @@ public final class SendMsgCsReqOuterClass { } break; } - case 110520277: { - if (input.isAtField(FieldNames.toUid)) { + case -2098685421: + case 1162351729: { + if (input.isAtField(FieldNames.toUidList)) { if (!input.trySkipNullValue()) { - input.readRepeatedUInt32(toUid); + input.readRepeatedUInt32(toUidList); bitField0_ |= 0x00000010; } } else { @@ -711,7 +712,7 @@ public final class SendMsgCsReqOuterClass { static final FieldName text = FieldName.forField("text"); - static final FieldName toUid = FieldName.forField("toUid"); + static final FieldName toUidList = FieldName.forField("toUidList", "to_uid_list"); } } } diff --git a/src/generated/main/emu/lunarcore/proto/SyncRogueFinishScNotifyOuterClass.java b/src/generated/main/emu/lunarcore/proto/SyncRogueFinishScNotifyOuterClass.java new file mode 100644 index 0000000..e351360 --- /dev/null +++ b/src/generated/main/emu/lunarcore/proto/SyncRogueFinishScNotifyOuterClass.java @@ -0,0 +1,282 @@ +// Code generated by protocol buffer compiler. Do not edit! +package emu.lunarcore.proto; + +import java.io.IOException; +import us.hebi.quickbuf.FieldName; +import us.hebi.quickbuf.InvalidProtocolBufferException; +import us.hebi.quickbuf.JsonSink; +import us.hebi.quickbuf.JsonSource; +import us.hebi.quickbuf.MessageFactory; +import us.hebi.quickbuf.ProtoMessage; +import us.hebi.quickbuf.ProtoSink; +import us.hebi.quickbuf.ProtoSource; + +public final class SyncRogueFinishScNotifyOuterClass { + /** + * Protobuf type {@code SyncRogueFinishScNotify} + */ + public static final class SyncRogueFinishScNotify extends ProtoMessage implements Cloneable { + private static final long serialVersionUID = 0L; + + /** + * optional .RogueFinishInfo finish_info = 3; + */ + private final RogueFinishInfoOuterClass.RogueFinishInfo finishInfo = RogueFinishInfoOuterClass.RogueFinishInfo.newInstance(); + + private SyncRogueFinishScNotify() { + } + + /** + * @return a new empty instance of {@code SyncRogueFinishScNotify} + */ + public static SyncRogueFinishScNotify newInstance() { + return new SyncRogueFinishScNotify(); + } + + /** + * optional .RogueFinishInfo finish_info = 3; + * @return whether the finishInfo field is set + */ + public boolean hasFinishInfo() { + return (bitField0_ & 0x00000001) != 0; + } + + /** + * optional .RogueFinishInfo finish_info = 3; + * @return this + */ + public SyncRogueFinishScNotify clearFinishInfo() { + bitField0_ &= ~0x00000001; + finishInfo.clear(); + return this; + } + + /** + * optional .RogueFinishInfo finish_info = 3; + * + * This method returns the internal storage object without modifying any has state. + * The returned object should not be modified and be treated as read-only. + * + * Use {@link #getMutableFinishInfo()} if you want to modify it. + * + * @return internal storage object for reading + */ + public RogueFinishInfoOuterClass.RogueFinishInfo getFinishInfo() { + return finishInfo; + } + + /** + * optional .RogueFinishInfo finish_info = 3; + * + * This method returns the internal storage object and sets the corresponding + * has state. The returned object will become part of this message and its + * contents may be modified as long as the has state is not cleared. + * + * @return internal storage object for modifications + */ + public RogueFinishInfoOuterClass.RogueFinishInfo getMutableFinishInfo() { + bitField0_ |= 0x00000001; + return finishInfo; + } + + /** + * optional .RogueFinishInfo finish_info = 3; + * @param value the finishInfo to set + * @return this + */ + public SyncRogueFinishScNotify setFinishInfo( + final RogueFinishInfoOuterClass.RogueFinishInfo value) { + bitField0_ |= 0x00000001; + finishInfo.copyFrom(value); + return this; + } + + @Override + public SyncRogueFinishScNotify copyFrom(final SyncRogueFinishScNotify other) { + cachedSize = other.cachedSize; + if ((bitField0_ | other.bitField0_) != 0) { + bitField0_ = other.bitField0_; + finishInfo.copyFrom(other.finishInfo); + } + return this; + } + + @Override + public SyncRogueFinishScNotify mergeFrom(final SyncRogueFinishScNotify other) { + if (other.isEmpty()) { + return this; + } + cachedSize = -1; + if (other.hasFinishInfo()) { + getMutableFinishInfo().mergeFrom(other.finishInfo); + } + return this; + } + + @Override + public SyncRogueFinishScNotify clear() { + if (isEmpty()) { + return this; + } + cachedSize = -1; + bitField0_ = 0; + finishInfo.clear(); + return this; + } + + @Override + public SyncRogueFinishScNotify clearQuick() { + if (isEmpty()) { + return this; + } + cachedSize = -1; + bitField0_ = 0; + finishInfo.clearQuick(); + return this; + } + + @Override + public boolean equals(Object o) { + if (o == this) { + return true; + } + if (!(o instanceof SyncRogueFinishScNotify)) { + return false; + } + SyncRogueFinishScNotify other = (SyncRogueFinishScNotify) o; + return bitField0_ == other.bitField0_ + && (!hasFinishInfo() || finishInfo.equals(other.finishInfo)); + } + + @Override + public void writeTo(final ProtoSink output) throws IOException { + if ((bitField0_ & 0x00000001) != 0) { + output.writeRawByte((byte) 26); + output.writeMessageNoTag(finishInfo); + } + } + + @Override + protected int computeSerializedSize() { + int size = 0; + if ((bitField0_ & 0x00000001) != 0) { + size += 1 + ProtoSink.computeMessageSizeNoTag(finishInfo); + } + return size; + } + + @Override + @SuppressWarnings("fallthrough") + public SyncRogueFinishScNotify mergeFrom(final ProtoSource input) throws IOException { + // Enabled Fall-Through Optimization (QuickBuffers) + int tag = input.readTag(); + while (true) { + switch (tag) { + case 26: { + // finishInfo + input.readMessage(finishInfo); + bitField0_ |= 0x00000001; + tag = input.readTag(); + if (tag != 0) { + break; + } + } + case 0: { + return this; + } + default: { + if (!input.skipField(tag)) { + return this; + } + tag = input.readTag(); + break; + } + } + } + } + + @Override + public void writeTo(final JsonSink output) throws IOException { + output.beginObject(); + if ((bitField0_ & 0x00000001) != 0) { + output.writeMessage(FieldNames.finishInfo, finishInfo); + } + output.endObject(); + } + + @Override + public SyncRogueFinishScNotify mergeFrom(final JsonSource input) throws IOException { + if (!input.beginObject()) { + return this; + } + while (!input.isAtEnd()) { + switch (input.readFieldHash()) { + case 1151198177: + case 1347581146: { + if (input.isAtField(FieldNames.finishInfo)) { + if (!input.trySkipNullValue()) { + input.readMessage(finishInfo); + bitField0_ |= 0x00000001; + } + } else { + input.skipUnknownField(); + } + break; + } + default: { + input.skipUnknownField(); + break; + } + } + } + input.endObject(); + return this; + } + + @Override + public SyncRogueFinishScNotify clone() { + return new SyncRogueFinishScNotify().copyFrom(this); + } + + @Override + public boolean isEmpty() { + return ((bitField0_) == 0); + } + + public static SyncRogueFinishScNotify parseFrom(final byte[] data) throws + InvalidProtocolBufferException { + return ProtoMessage.mergeFrom(new SyncRogueFinishScNotify(), data).checkInitialized(); + } + + public static SyncRogueFinishScNotify parseFrom(final ProtoSource input) throws IOException { + return ProtoMessage.mergeFrom(new SyncRogueFinishScNotify(), input).checkInitialized(); + } + + public static SyncRogueFinishScNotify parseFrom(final JsonSource input) throws IOException { + return ProtoMessage.mergeFrom(new SyncRogueFinishScNotify(), input).checkInitialized(); + } + + /** + * @return factory for creating SyncRogueFinishScNotify messages + */ + public static MessageFactory getFactory() { + return SyncRogueFinishScNotifyFactory.INSTANCE; + } + + private enum SyncRogueFinishScNotifyFactory implements MessageFactory { + INSTANCE; + + @Override + public SyncRogueFinishScNotify create() { + return SyncRogueFinishScNotify.newInstance(); + } + } + + /** + * Contains name constants used for serializing JSON + */ + static class FieldNames { + static final FieldName finishInfo = FieldName.forField("finishInfo", "finish_info"); + } + } +} diff --git a/src/main/java/emu/lunarcore/server/packet/recv/HandlerSendMsgCsReq.java b/src/main/java/emu/lunarcore/server/packet/recv/HandlerSendMsgCsReq.java index f4dae18..630a3b7 100644 --- a/src/main/java/emu/lunarcore/server/packet/recv/HandlerSendMsgCsReq.java +++ b/src/main/java/emu/lunarcore/server/packet/recv/HandlerSendMsgCsReq.java @@ -15,7 +15,7 @@ public class HandlerSendMsgCsReq extends PacketHandler { public void handle(GameSession session, byte[] header, byte[] data) throws Exception { var req = SendMsgCsReq.parseFrom(data); - for (int targetUid : req.getToUid()) { + for (int targetUid : req.getToUidList()) { if (req.getMsgType() == MsgType.MSG_TYPE_CUSTOM_TEXT) { session.getPlayer().getChatManager().sendChat(targetUid, req.getText()); } else if (req.getMsgType() == MsgType.MSG_TYPE_EMOJI) {