diff --git a/src/generated/main/emu/lunarcore/proto/DiscardRelicCsReqOuterClass.java b/src/generated/main/emu/lunarcore/proto/DiscardRelicCsReqOuterClass.java index b8fb227..b2fa3b3 100644 --- a/src/generated/main/emu/lunarcore/proto/DiscardRelicCsReqOuterClass.java +++ b/src/generated/main/emu/lunarcore/proto/DiscardRelicCsReqOuterClass.java @@ -10,6 +10,7 @@ import us.hebi.quickbuf.MessageFactory; import us.hebi.quickbuf.ProtoMessage; import us.hebi.quickbuf.ProtoSink; import us.hebi.quickbuf.ProtoSource; +import us.hebi.quickbuf.RepeatedInt; public final class DiscardRelicCsReqOuterClass { /** @@ -19,15 +20,15 @@ public final class DiscardRelicCsReqOuterClass { private static final long serialVersionUID = 0L; /** - * optional uint32 relic_unique_id = 3; - */ - private int relicUniqueId; - - /** - * optional bool is_discard = 5; + * optional bool is_discard = 9; */ private boolean isDiscard; + /** + * repeated uint32 relic_id_list = 15; + */ + private final RepeatedInt relicIdList = RepeatedInt.newEmptyInstance(); + private DiscardRelicCsReq() { } @@ -39,62 +40,25 @@ public final class DiscardRelicCsReqOuterClass { } /** - * optional uint32 relic_unique_id = 3; - * @return whether the relicUniqueId field is set + * optional bool is_discard = 9; + * @return whether the isDiscard field is set */ - public boolean hasRelicUniqueId() { + public boolean hasIsDiscard() { return (bitField0_ & 0x00000001) != 0; } /** - * optional uint32 relic_unique_id = 3; - * @return this - */ - public DiscardRelicCsReq clearRelicUniqueId() { - bitField0_ &= ~0x00000001; - relicUniqueId = 0; - return this; - } - - /** - * optional uint32 relic_unique_id = 3; - * @return the relicUniqueId - */ - public int getRelicUniqueId() { - return relicUniqueId; - } - - /** - * optional uint32 relic_unique_id = 3; - * @param value the relicUniqueId to set - * @return this - */ - public DiscardRelicCsReq setRelicUniqueId(final int value) { - bitField0_ |= 0x00000001; - relicUniqueId = value; - return this; - } - - /** - * optional bool is_discard = 5; - * @return whether the isDiscard field is set - */ - public boolean hasIsDiscard() { - return (bitField0_ & 0x00000002) != 0; - } - - /** - * optional bool is_discard = 5; + * optional bool is_discard = 9; * @return this */ public DiscardRelicCsReq clearIsDiscard() { - bitField0_ &= ~0x00000002; + bitField0_ &= ~0x00000001; isDiscard = false; return this; } /** - * optional bool is_discard = 5; + * optional bool is_discard = 9; * @return the isDiscard */ public boolean getIsDiscard() { @@ -102,23 +66,91 @@ public final class DiscardRelicCsReqOuterClass { } /** - * optional bool is_discard = 5; + * optional bool is_discard = 9; * @param value the isDiscard to set * @return this */ public DiscardRelicCsReq setIsDiscard(final boolean value) { - bitField0_ |= 0x00000002; + bitField0_ |= 0x00000001; isDiscard = value; return this; } + /** + * repeated uint32 relic_id_list = 15; + * @return whether the relicIdList field is set + */ + public boolean hasRelicIdList() { + return (bitField0_ & 0x00000002) != 0; + } + + /** + * repeated uint32 relic_id_list = 15; + * @return this + */ + public DiscardRelicCsReq clearRelicIdList() { + bitField0_ &= ~0x00000002; + relicIdList.clear(); + return this; + } + + /** + * repeated uint32 relic_id_list = 15; + * + * 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 #getMutableRelicIdList()} if you want to modify it. + * + * @return internal storage object for reading + */ + public RepeatedInt getRelicIdList() { + return relicIdList; + } + + /** + * repeated uint32 relic_id_list = 15; + * + * 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 RepeatedInt getMutableRelicIdList() { + bitField0_ |= 0x00000002; + return relicIdList; + } + + /** + * repeated uint32 relic_id_list = 15; + * @param value the relicIdList to add + * @return this + */ + public DiscardRelicCsReq addRelicIdList(final int value) { + bitField0_ |= 0x00000002; + relicIdList.add(value); + return this; + } + + /** + * repeated uint32 relic_id_list = 15; + * @param values the relicIdList to add + * @return this + */ + public DiscardRelicCsReq addAllRelicIdList(final int... values) { + bitField0_ |= 0x00000002; + relicIdList.addAll(values); + return this; + } + @Override public DiscardRelicCsReq copyFrom(final DiscardRelicCsReq other) { cachedSize = other.cachedSize; if ((bitField0_ | other.bitField0_) != 0) { bitField0_ = other.bitField0_; - relicUniqueId = other.relicUniqueId; isDiscard = other.isDiscard; + relicIdList.copyFrom(other.relicIdList); } return this; } @@ -129,12 +161,12 @@ public final class DiscardRelicCsReqOuterClass { return this; } cachedSize = -1; - if (other.hasRelicUniqueId()) { - setRelicUniqueId(other.relicUniqueId); - } if (other.hasIsDiscard()) { setIsDiscard(other.isDiscard); } + if (other.hasRelicIdList()) { + getMutableRelicIdList().addAll(other.relicIdList); + } return this; } @@ -145,8 +177,8 @@ public final class DiscardRelicCsReqOuterClass { } cachedSize = -1; bitField0_ = 0; - relicUniqueId = 0; isDiscard = false; + relicIdList.clear(); return this; } @@ -157,6 +189,7 @@ public final class DiscardRelicCsReqOuterClass { } cachedSize = -1; bitField0_ = 0; + relicIdList.clear(); return this; } @@ -170,19 +203,21 @@ public final class DiscardRelicCsReqOuterClass { } DiscardRelicCsReq other = (DiscardRelicCsReq) o; return bitField0_ == other.bitField0_ - && (!hasRelicUniqueId() || relicUniqueId == other.relicUniqueId) - && (!hasIsDiscard() || isDiscard == other.isDiscard); + && (!hasIsDiscard() || isDiscard == other.isDiscard) + && (!hasRelicIdList() || relicIdList.equals(other.relicIdList)); } @Override public void writeTo(final ProtoSink output) throws IOException { if ((bitField0_ & 0x00000001) != 0) { - output.writeRawByte((byte) 24); - output.writeUInt32NoTag(relicUniqueId); + output.writeRawByte((byte) 72); + output.writeBoolNoTag(isDiscard); } if ((bitField0_ & 0x00000002) != 0) { - output.writeRawByte((byte) 40); - output.writeBoolNoTag(isDiscard); + for (int i = 0; i < relicIdList.length(); i++) { + output.writeRawByte((byte) 120); + output.writeUInt32NoTag(relicIdList.array()[i]); + } } } @@ -190,10 +225,10 @@ public final class DiscardRelicCsReqOuterClass { protected int computeSerializedSize() { int size = 0; if ((bitField0_ & 0x00000001) != 0) { - size += 1 + ProtoSink.computeUInt32SizeNoTag(relicUniqueId); + size += 2; } if ((bitField0_ & 0x00000002) != 0) { - size += 2; + size += (1 * relicIdList.length()) + ProtoSink.computeRepeatedUInt32SizeNoTag(relicIdList); } return size; } @@ -205,18 +240,18 @@ public final class DiscardRelicCsReqOuterClass { int tag = input.readTag(); while (true) { switch (tag) { - case 24: { - // relicUniqueId - relicUniqueId = input.readUInt32(); + case 72: { + // isDiscard + isDiscard = input.readBool(); bitField0_ |= 0x00000001; tag = input.readTag(); - if (tag != 40) { + if (tag != 122) { break; } } - case 40: { - // isDiscard - isDiscard = input.readBool(); + case 122: { + // relicIdList [packed=true] + input.readPackedUInt32(relicIdList, tag); bitField0_ |= 0x00000002; tag = input.readTag(); if (tag != 0) { @@ -233,6 +268,12 @@ public final class DiscardRelicCsReqOuterClass { tag = input.readTag(); break; } + case 120: { + // relicIdList [packed=false] + tag = input.readRepeatedUInt32(relicIdList, tag); + bitField0_ |= 0x00000002; + break; + } } } } @@ -241,10 +282,10 @@ public final class DiscardRelicCsReqOuterClass { public void writeTo(final JsonSink output) throws IOException { output.beginObject(); if ((bitField0_ & 0x00000001) != 0) { - output.writeUInt32(FieldNames.relicUniqueId, relicUniqueId); + output.writeBool(FieldNames.isDiscard, isDiscard); } if ((bitField0_ & 0x00000002) != 0) { - output.writeBool(FieldNames.isDiscard, isDiscard); + output.writeRepeatedUInt32(FieldNames.relicIdList, relicIdList); } output.endObject(); } @@ -256,11 +297,11 @@ public final class DiscardRelicCsReqOuterClass { } while (!input.isAtEnd()) { switch (input.readFieldHash()) { - case -1966200481: - case 49648253: { - if (input.isAtField(FieldNames.relicUniqueId)) { + case 1091588116: + case -1123290487: { + if (input.isAtField(FieldNames.isDiscard)) { if (!input.trySkipNullValue()) { - relicUniqueId = input.readUInt32(); + isDiscard = input.readBool(); bitField0_ |= 0x00000001; } } else { @@ -268,11 +309,11 @@ public final class DiscardRelicCsReqOuterClass { } break; } - case 1091588116: - case -1123290487: { - if (input.isAtField(FieldNames.isDiscard)) { + case -833914452: + case -2020549514: { + if (input.isAtField(FieldNames.relicIdList)) { if (!input.trySkipNullValue()) { - isDiscard = input.readBool(); + input.readRepeatedUInt32(relicIdList); bitField0_ |= 0x00000002; } } else { @@ -333,9 +374,9 @@ public final class DiscardRelicCsReqOuterClass { * Contains name constants used for serializing JSON */ static class FieldNames { - static final FieldName relicUniqueId = FieldName.forField("relicUniqueId", "relic_unique_id"); - static final FieldName isDiscard = FieldName.forField("isDiscard", "is_discard"); + + static final FieldName relicIdList = FieldName.forField("relicIdList", "relic_id_list"); } } } diff --git a/src/generated/main/emu/lunarcore/proto/LockRelicCsReqOuterClass.java b/src/generated/main/emu/lunarcore/proto/LockRelicCsReqOuterClass.java index 9f52de2..33fb5ec 100644 --- a/src/generated/main/emu/lunarcore/proto/LockRelicCsReqOuterClass.java +++ b/src/generated/main/emu/lunarcore/proto/LockRelicCsReqOuterClass.java @@ -10,6 +10,7 @@ import us.hebi.quickbuf.MessageFactory; import us.hebi.quickbuf.ProtoMessage; import us.hebi.quickbuf.ProtoSink; import us.hebi.quickbuf.ProtoSource; +import us.hebi.quickbuf.RepeatedInt; public final class LockRelicCsReqOuterClass { /** @@ -18,16 +19,16 @@ public final class LockRelicCsReqOuterClass { public static final class LockRelicCsReq extends ProtoMessage implements Cloneable { private static final long serialVersionUID = 0L; - /** - * optional uint32 relic_unique_id = 6; - */ - private int relicUniqueId; - /** * optional bool is_protected = 4; */ private boolean isProtected; + /** + * repeated uint32 relic_id_list = 12; + */ + private final RepeatedInt relicIdList = RepeatedInt.newEmptyInstance(); + private LockRelicCsReq() { } @@ -38,49 +39,12 @@ public final class LockRelicCsReqOuterClass { return new LockRelicCsReq(); } - /** - * optional uint32 relic_unique_id = 6; - * @return whether the relicUniqueId field is set - */ - public boolean hasRelicUniqueId() { - return (bitField0_ & 0x00000001) != 0; - } - - /** - * optional uint32 relic_unique_id = 6; - * @return this - */ - public LockRelicCsReq clearRelicUniqueId() { - bitField0_ &= ~0x00000001; - relicUniqueId = 0; - return this; - } - - /** - * optional uint32 relic_unique_id = 6; - * @return the relicUniqueId - */ - public int getRelicUniqueId() { - return relicUniqueId; - } - - /** - * optional uint32 relic_unique_id = 6; - * @param value the relicUniqueId to set - * @return this - */ - public LockRelicCsReq setRelicUniqueId(final int value) { - bitField0_ |= 0x00000001; - relicUniqueId = value; - return this; - } - /** * optional bool is_protected = 4; * @return whether the isProtected field is set */ public boolean hasIsProtected() { - return (bitField0_ & 0x00000002) != 0; + return (bitField0_ & 0x00000001) != 0; } /** @@ -88,7 +52,7 @@ public final class LockRelicCsReqOuterClass { * @return this */ public LockRelicCsReq clearIsProtected() { - bitField0_ &= ~0x00000002; + bitField0_ &= ~0x00000001; isProtected = false; return this; } @@ -107,18 +71,86 @@ public final class LockRelicCsReqOuterClass { * @return this */ public LockRelicCsReq setIsProtected(final boolean value) { - bitField0_ |= 0x00000002; + bitField0_ |= 0x00000001; isProtected = value; return this; } + /** + * repeated uint32 relic_id_list = 12; + * @return whether the relicIdList field is set + */ + public boolean hasRelicIdList() { + return (bitField0_ & 0x00000002) != 0; + } + + /** + * repeated uint32 relic_id_list = 12; + * @return this + */ + public LockRelicCsReq clearRelicIdList() { + bitField0_ &= ~0x00000002; + relicIdList.clear(); + return this; + } + + /** + * repeated uint32 relic_id_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 #getMutableRelicIdList()} if you want to modify it. + * + * @return internal storage object for reading + */ + public RepeatedInt getRelicIdList() { + return relicIdList; + } + + /** + * repeated uint32 relic_id_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 + * contents may be modified as long as the has state is not cleared. + * + * @return internal storage object for modifications + */ + public RepeatedInt getMutableRelicIdList() { + bitField0_ |= 0x00000002; + return relicIdList; + } + + /** + * repeated uint32 relic_id_list = 12; + * @param value the relicIdList to add + * @return this + */ + public LockRelicCsReq addRelicIdList(final int value) { + bitField0_ |= 0x00000002; + relicIdList.add(value); + return this; + } + + /** + * repeated uint32 relic_id_list = 12; + * @param values the relicIdList to add + * @return this + */ + public LockRelicCsReq addAllRelicIdList(final int... values) { + bitField0_ |= 0x00000002; + relicIdList.addAll(values); + return this; + } + @Override public LockRelicCsReq copyFrom(final LockRelicCsReq other) { cachedSize = other.cachedSize; if ((bitField0_ | other.bitField0_) != 0) { bitField0_ = other.bitField0_; - relicUniqueId = other.relicUniqueId; isProtected = other.isProtected; + relicIdList.copyFrom(other.relicIdList); } return this; } @@ -129,12 +161,12 @@ public final class LockRelicCsReqOuterClass { return this; } cachedSize = -1; - if (other.hasRelicUniqueId()) { - setRelicUniqueId(other.relicUniqueId); - } if (other.hasIsProtected()) { setIsProtected(other.isProtected); } + if (other.hasRelicIdList()) { + getMutableRelicIdList().addAll(other.relicIdList); + } return this; } @@ -145,8 +177,8 @@ public final class LockRelicCsReqOuterClass { } cachedSize = -1; bitField0_ = 0; - relicUniqueId = 0; isProtected = false; + relicIdList.clear(); return this; } @@ -157,6 +189,7 @@ public final class LockRelicCsReqOuterClass { } cachedSize = -1; bitField0_ = 0; + relicIdList.clear(); return this; } @@ -170,30 +203,32 @@ public final class LockRelicCsReqOuterClass { } LockRelicCsReq other = (LockRelicCsReq) o; return bitField0_ == other.bitField0_ - && (!hasRelicUniqueId() || relicUniqueId == other.relicUniqueId) - && (!hasIsProtected() || isProtected == other.isProtected); + && (!hasIsProtected() || isProtected == other.isProtected) + && (!hasRelicIdList() || relicIdList.equals(other.relicIdList)); } @Override public void writeTo(final ProtoSink output) throws IOException { if ((bitField0_ & 0x00000001) != 0) { - output.writeRawByte((byte) 48); - output.writeUInt32NoTag(relicUniqueId); - } - if ((bitField0_ & 0x00000002) != 0) { output.writeRawByte((byte) 32); output.writeBoolNoTag(isProtected); } + if ((bitField0_ & 0x00000002) != 0) { + for (int i = 0; i < relicIdList.length(); i++) { + output.writeRawByte((byte) 96); + output.writeUInt32NoTag(relicIdList.array()[i]); + } + } } @Override protected int computeSerializedSize() { int size = 0; if ((bitField0_ & 0x00000001) != 0) { - size += 1 + ProtoSink.computeUInt32SizeNoTag(relicUniqueId); + size += 2; } if ((bitField0_ & 0x00000002) != 0) { - size += 2; + size += (1 * relicIdList.length()) + ProtoSink.computeRepeatedUInt32SizeNoTag(relicIdList); } return size; } @@ -205,18 +240,18 @@ public final class LockRelicCsReqOuterClass { int tag = input.readTag(); while (true) { switch (tag) { - case 48: { - // relicUniqueId - relicUniqueId = input.readUInt32(); - bitField0_ |= 0x00000001; - tag = input.readTag(); - if (tag != 32) { - break; - } - } case 32: { // isProtected isProtected = input.readBool(); + bitField0_ |= 0x00000001; + tag = input.readTag(); + if (tag != 98) { + break; + } + } + case 98: { + // relicIdList [packed=true] + input.readPackedUInt32(relicIdList, tag); bitField0_ |= 0x00000002; tag = input.readTag(); if (tag != 0) { @@ -233,6 +268,12 @@ public final class LockRelicCsReqOuterClass { tag = input.readTag(); break; } + case 96: { + // relicIdList [packed=false] + tag = input.readRepeatedUInt32(relicIdList, tag); + bitField0_ |= 0x00000002; + break; + } } } } @@ -241,10 +282,10 @@ public final class LockRelicCsReqOuterClass { public void writeTo(final JsonSink output) throws IOException { output.beginObject(); if ((bitField0_ & 0x00000001) != 0) { - output.writeUInt32(FieldNames.relicUniqueId, relicUniqueId); + output.writeBool(FieldNames.isProtected, isProtected); } if ((bitField0_ & 0x00000002) != 0) { - output.writeBool(FieldNames.isProtected, isProtected); + output.writeRepeatedUInt32(FieldNames.relicIdList, relicIdList); } output.endObject(); } @@ -256,11 +297,11 @@ public final class LockRelicCsReqOuterClass { } while (!input.isAtEnd()) { switch (input.readFieldHash()) { - case -1966200481: - case 49648253: { - if (input.isAtField(FieldNames.relicUniqueId)) { + case 569879972: + case -1919645991: { + if (input.isAtField(FieldNames.isProtected)) { if (!input.trySkipNullValue()) { - relicUniqueId = input.readUInt32(); + isProtected = input.readBool(); bitField0_ |= 0x00000001; } } else { @@ -268,11 +309,11 @@ public final class LockRelicCsReqOuterClass { } break; } - case 569879972: - case -1919645991: { - if (input.isAtField(FieldNames.isProtected)) { + case -833914452: + case -2020549514: { + if (input.isAtField(FieldNames.relicIdList)) { if (!input.trySkipNullValue()) { - isProtected = input.readBool(); + input.readRepeatedUInt32(relicIdList); bitField0_ |= 0x00000002; } } else { @@ -333,9 +374,9 @@ public final class LockRelicCsReqOuterClass { * Contains name constants used for serializing JSON */ static class FieldNames { - static final FieldName relicUniqueId = FieldName.forField("relicUniqueId", "relic_unique_id"); - static final FieldName isProtected = FieldName.forField("isProtected", "is_protected"); + + static final FieldName relicIdList = FieldName.forField("relicIdList", "relic_id_list"); } } } diff --git a/src/generated/main/emu/lunarcore/proto/LockRelicScRspOuterClass.java b/src/generated/main/emu/lunarcore/proto/LockRelicScRspOuterClass.java index 095cb28..c87f7ef 100644 --- a/src/generated/main/emu/lunarcore/proto/LockRelicScRspOuterClass.java +++ b/src/generated/main/emu/lunarcore/proto/LockRelicScRspOuterClass.java @@ -19,15 +19,10 @@ public final class LockRelicScRspOuterClass { private static final long serialVersionUID = 0L; /** - * optional uint32 retcode = 13; + * optional uint32 retcode = 7; */ private int retcode; - /** - * optional uint32 relic_unique_id = 15; - */ - private int relicUniqueId; - private LockRelicScRsp() { } @@ -39,7 +34,7 @@ public final class LockRelicScRspOuterClass { } /** - * optional uint32 retcode = 13; + * optional uint32 retcode = 7; * @return whether the retcode field is set */ public boolean hasRetcode() { @@ -47,7 +42,7 @@ public final class LockRelicScRspOuterClass { } /** - * optional uint32 retcode = 13; + * optional uint32 retcode = 7; * @return this */ public LockRelicScRsp clearRetcode() { @@ -57,7 +52,7 @@ public final class LockRelicScRspOuterClass { } /** - * optional uint32 retcode = 13; + * optional uint32 retcode = 7; * @return the retcode */ public int getRetcode() { @@ -65,7 +60,7 @@ public final class LockRelicScRspOuterClass { } /** - * optional uint32 retcode = 13; + * optional uint32 retcode = 7; * @param value the retcode to set * @return this */ @@ -75,50 +70,12 @@ public final class LockRelicScRspOuterClass { return this; } - /** - * optional uint32 relic_unique_id = 15; - * @return whether the relicUniqueId field is set - */ - public boolean hasRelicUniqueId() { - return (bitField0_ & 0x00000002) != 0; - } - - /** - * optional uint32 relic_unique_id = 15; - * @return this - */ - public LockRelicScRsp clearRelicUniqueId() { - bitField0_ &= ~0x00000002; - relicUniqueId = 0; - return this; - } - - /** - * optional uint32 relic_unique_id = 15; - * @return the relicUniqueId - */ - public int getRelicUniqueId() { - return relicUniqueId; - } - - /** - * optional uint32 relic_unique_id = 15; - * @param value the relicUniqueId to set - * @return this - */ - public LockRelicScRsp setRelicUniqueId(final int value) { - bitField0_ |= 0x00000002; - relicUniqueId = value; - return this; - } - @Override public LockRelicScRsp copyFrom(final LockRelicScRsp other) { cachedSize = other.cachedSize; if ((bitField0_ | other.bitField0_) != 0) { bitField0_ = other.bitField0_; retcode = other.retcode; - relicUniqueId = other.relicUniqueId; } return this; } @@ -132,9 +89,6 @@ public final class LockRelicScRspOuterClass { if (other.hasRetcode()) { setRetcode(other.retcode); } - if (other.hasRelicUniqueId()) { - setRelicUniqueId(other.relicUniqueId); - } return this; } @@ -146,7 +100,6 @@ public final class LockRelicScRspOuterClass { cachedSize = -1; bitField0_ = 0; retcode = 0; - relicUniqueId = 0; return this; } @@ -170,20 +123,15 @@ public final class LockRelicScRspOuterClass { } LockRelicScRsp other = (LockRelicScRsp) o; return bitField0_ == other.bitField0_ - && (!hasRetcode() || retcode == other.retcode) - && (!hasRelicUniqueId() || relicUniqueId == other.relicUniqueId); + && (!hasRetcode() || retcode == other.retcode); } @Override public void writeTo(final ProtoSink output) throws IOException { if ((bitField0_ & 0x00000001) != 0) { - output.writeRawByte((byte) 104); + output.writeRawByte((byte) 56); output.writeUInt32NoTag(retcode); } - if ((bitField0_ & 0x00000002) != 0) { - output.writeRawByte((byte) 120); - output.writeUInt32NoTag(relicUniqueId); - } } @Override @@ -192,9 +140,6 @@ public final class LockRelicScRspOuterClass { if ((bitField0_ & 0x00000001) != 0) { size += 1 + ProtoSink.computeUInt32SizeNoTag(retcode); } - if ((bitField0_ & 0x00000002) != 0) { - size += 1 + ProtoSink.computeUInt32SizeNoTag(relicUniqueId); - } return size; } @@ -205,20 +150,11 @@ public final class LockRelicScRspOuterClass { int tag = input.readTag(); while (true) { switch (tag) { - case 104: { + case 56: { // retcode retcode = input.readUInt32(); bitField0_ |= 0x00000001; tag = input.readTag(); - if (tag != 120) { - break; - } - } - case 120: { - // relicUniqueId - relicUniqueId = input.readUInt32(); - bitField0_ |= 0x00000002; - tag = input.readTag(); if (tag != 0) { break; } @@ -243,9 +179,6 @@ public final class LockRelicScRspOuterClass { if ((bitField0_ & 0x00000001) != 0) { output.writeUInt32(FieldNames.retcode, retcode); } - if ((bitField0_ & 0x00000002) != 0) { - output.writeUInt32(FieldNames.relicUniqueId, relicUniqueId); - } output.endObject(); } @@ -267,18 +200,6 @@ public final class LockRelicScRspOuterClass { } break; } - case -1966200481: - case 49648253: { - if (input.isAtField(FieldNames.relicUniqueId)) { - if (!input.trySkipNullValue()) { - relicUniqueId = input.readUInt32(); - bitField0_ |= 0x00000002; - } - } else { - input.skipUnknownField(); - } - break; - } default: { input.skipUnknownField(); break; @@ -333,8 +254,6 @@ public final class LockRelicScRspOuterClass { */ static class FieldNames { static final FieldName retcode = FieldName.forField("retcode"); - - static final FieldName relicUniqueId = FieldName.forField("relicUniqueId", "relic_unique_id"); } } } diff --git a/src/main/java/emu/lunarcore/game/inventory/InventoryService.java b/src/main/java/emu/lunarcore/game/inventory/InventoryService.java index a55925f..89ee9da 100644 --- a/src/main/java/emu/lunarcore/game/inventory/InventoryService.java +++ b/src/main/java/emu/lunarcore/game/inventory/InventoryService.java @@ -16,6 +16,7 @@ import emu.lunarcore.game.player.Player; import emu.lunarcore.server.game.BaseGameService; import emu.lunarcore.server.game.GameServer; import emu.lunarcore.server.packet.send.*; +import us.hebi.quickbuf.RepeatedInt; public class InventoryService extends BaseGameService { @@ -524,30 +525,46 @@ public class InventoryService extends BaseGameService { // === Etc === - public void lockItem(Player player, int equipId, boolean locked) { - GameItem item = player.getInventory().getItemByUid(equipId); - if (item == null || !item.getExcel().isEquippable()) { - return; + public void lockItems(Player player, RepeatedInt list, boolean locked) { + // List of items to update on the client + List items = new ArrayList<>(); + + // Lock items + for (int equipId : list) { + GameItem item = player.getInventory().getItemByUid(equipId); + if (item == null || !item.getExcel().isEquippable()) { + continue; + } + + item.setLocked(locked); + item.save(); + } + + // Send packet + if (items.size() > 0) { + player.sendPacket(new PacketPlayerSyncScNotify(items)); } - - item.setLocked(locked); - item.save(); - - // Send packet - player.sendPacket(new PacketPlayerSyncScNotify(item)); } - public void discardRelic(Player player, int equipId, boolean discarded) { - GameItem relic = player.getInventory().getItemByUid(equipId); - if (relic == null || !relic.getExcel().isRelic()) { - return; + public void discardRelics(Player player, RepeatedInt list, boolean discarded) { + // List of items to update on the client + List items = new ArrayList<>(); + + // Lock items + for (int equipId : list) { + GameItem item = player.getInventory().getItemByUid(equipId); + if (item == null || !item.getExcel().isEquippable()) { + continue; + } + + item.setDiscarded(discarded); + item.save(); + } + + // Send packet + if (items.size() > 0) { + player.sendPacket(new PacketPlayerSyncScNotify(items)); } - - relic.setDiscarded(discarded); - relic.save(); - - // Send packet - player.sendPacket(new PacketPlayerSyncScNotify(relic)); } public List sellItems(Player player, boolean toMaterials, List items) { diff --git a/src/main/java/emu/lunarcore/server/packet/recv/HandlerDiscardRelicCsReq.java b/src/main/java/emu/lunarcore/server/packet/recv/HandlerDiscardRelicCsReq.java index 96e9424..6c83086 100644 --- a/src/main/java/emu/lunarcore/server/packet/recv/HandlerDiscardRelicCsReq.java +++ b/src/main/java/emu/lunarcore/server/packet/recv/HandlerDiscardRelicCsReq.java @@ -13,7 +13,7 @@ public class HandlerDiscardRelicCsReq extends PacketHandler { public void handle(GameSession session, byte[] data) throws Exception { var req = DiscardRelicCsReq.parseFrom(data); - session.getServer().getInventoryService().discardRelic(session.getPlayer(), req.getRelicUniqueId(), req.getIsDiscard()); + session.getServer().getInventoryService().discardRelics(session.getPlayer(), req.getRelicIdList(), req.getIsDiscard()); session.send(CmdId.DiscardRelicScRsp); } diff --git a/src/main/java/emu/lunarcore/server/packet/recv/HandlerLockEquipmentCsReq.java b/src/main/java/emu/lunarcore/server/packet/recv/HandlerLockEquipmentCsReq.java index 9656d03..ee1f1f1 100644 --- a/src/main/java/emu/lunarcore/server/packet/recv/HandlerLockEquipmentCsReq.java +++ b/src/main/java/emu/lunarcore/server/packet/recv/HandlerLockEquipmentCsReq.java @@ -13,10 +13,7 @@ public class HandlerLockEquipmentCsReq extends PacketHandler { public void handle(GameSession session, byte[] data) throws Exception { var req = LockEquipmentCsReq.parseFrom(data); - for (int id : req.getEquipmentIdList()) { - session.getServer().getInventoryService().lockItem(session.getPlayer(), id, req.getIsProtected()); - } - + session.getServer().getInventoryService().lockItems(session.getPlayer(), req.getEquipmentIdList(), req.getIsProtected()); session.send(CmdId.LockEquipmentScRsp); } diff --git a/src/main/java/emu/lunarcore/server/packet/recv/HandlerLockRelicCsReq.java b/src/main/java/emu/lunarcore/server/packet/recv/HandlerLockRelicCsReq.java index a886ed5..84746d6 100644 --- a/src/main/java/emu/lunarcore/server/packet/recv/HandlerLockRelicCsReq.java +++ b/src/main/java/emu/lunarcore/server/packet/recv/HandlerLockRelicCsReq.java @@ -13,7 +13,7 @@ public class HandlerLockRelicCsReq extends PacketHandler { public void handle(GameSession session, byte[] data) throws Exception { var req = LockRelicCsReq.parseFrom(data); - session.getServer().getInventoryService().lockItem(session.getPlayer(), req.getRelicUniqueId(), req.getIsProtected()); + session.getServer().getInventoryService().lockItems(session.getPlayer(), req.getRelicIdList(), req.getIsProtected()); session.send(CmdId.LockRelicScRsp); }