From e6f65f47f53901bca27f5ce8d4de247e9c086cb0 Mon Sep 17 00:00:00 2001 From: Melledy <121644117+Melledy@users.noreply.github.com> Date: Thu, 7 Dec 2023 03:00:57 -0800 Subject: [PATCH] Optimize handler for `GetMainMissionCustomValueCsReq` --- .../java/emu/lunarcore/server/packet/CmdIdUtils.java | 3 +-- .../packet/recv/HandlerEntityBindPropCsReq.java | 3 +-- .../recv/HandlerGetMainMissionCustomValueCsReq.java | 2 +- .../send/PacketGetMainMissionCustomValueScRsp.java | 11 +++++++---- 4 files changed, 10 insertions(+), 9 deletions(-) diff --git a/src/main/java/emu/lunarcore/server/packet/CmdIdUtils.java b/src/main/java/emu/lunarcore/server/packet/CmdIdUtils.java index a751240..d903154 100644 --- a/src/main/java/emu/lunarcore/server/packet/CmdIdUtils.java +++ b/src/main/java/emu/lunarcore/server/packet/CmdIdUtils.java @@ -33,8 +33,7 @@ public class CmdIdUtils { public static final IntSet ALLOWED_FILTER_PACKETS = IntOpenHashSet.of( CmdId.PlayerHeartBeatCsReq, CmdId.GetMissionStatusCsReq, - CmdId.GetMissionDataCsReq, - CmdId.GetMissionEventDataCsReq + CmdId.GetMainMissionCustomValueCsReq ); private static Int2ObjectMap cmdIdMap; diff --git a/src/main/java/emu/lunarcore/server/packet/recv/HandlerEntityBindPropCsReq.java b/src/main/java/emu/lunarcore/server/packet/recv/HandlerEntityBindPropCsReq.java index 3102297..55b3876 100644 --- a/src/main/java/emu/lunarcore/server/packet/recv/HandlerEntityBindPropCsReq.java +++ b/src/main/java/emu/lunarcore/server/packet/recv/HandlerEntityBindPropCsReq.java @@ -1,7 +1,6 @@ package emu.lunarcore.server.packet.recv; import emu.lunarcore.server.game.GameSession; -import emu.lunarcore.server.packet.BasePacket; import emu.lunarcore.server.packet.CmdId; import emu.lunarcore.server.packet.Opcodes; import emu.lunarcore.server.packet.PacketHandler; @@ -11,7 +10,7 @@ public class HandlerEntityBindPropCsReq extends PacketHandler { @Override public void handle(GameSession session, byte[] data) throws Exception { - session.send(new BasePacket(CmdId.EntityBindPropScRsp)); + session.send(CmdId.EntityBindPropScRsp); } } diff --git a/src/main/java/emu/lunarcore/server/packet/recv/HandlerGetMainMissionCustomValueCsReq.java b/src/main/java/emu/lunarcore/server/packet/recv/HandlerGetMainMissionCustomValueCsReq.java index 33106f3..96367ad 100644 --- a/src/main/java/emu/lunarcore/server/packet/recv/HandlerGetMainMissionCustomValueCsReq.java +++ b/src/main/java/emu/lunarcore/server/packet/recv/HandlerGetMainMissionCustomValueCsReq.java @@ -13,6 +13,6 @@ public class HandlerGetMainMissionCustomValueCsReq extends PacketHandler { @Override public void handle(GameSession session, byte[] data) throws Exception { var req = GetMainMissionCustomValueCsReq.parseFrom(data); - session.send(new PacketGetMainMissionCustomValueScRsp(req.getMainMissionIdList().toArray())); + session.send(new PacketGetMainMissionCustomValueScRsp(req.getMainMissionIdList())); } } diff --git a/src/main/java/emu/lunarcore/server/packet/send/PacketGetMainMissionCustomValueScRsp.java b/src/main/java/emu/lunarcore/server/packet/send/PacketGetMainMissionCustomValueScRsp.java index e61a20d..96d226d 100644 --- a/src/main/java/emu/lunarcore/server/packet/send/PacketGetMainMissionCustomValueScRsp.java +++ b/src/main/java/emu/lunarcore/server/packet/send/PacketGetMainMissionCustomValueScRsp.java @@ -2,20 +2,23 @@ package emu.lunarcore.server.packet.send; import emu.lunarcore.proto.GetMainMissionCustomValueScRspOuterClass.GetMainMissionCustomValueScRsp; import emu.lunarcore.proto.MainMissionOuterClass.MainMission; +import emu.lunarcore.proto.MissionStatusOuterClass.MissionStatus; import emu.lunarcore.server.packet.BasePacket; import emu.lunarcore.server.packet.CmdId; +import us.hebi.quickbuf.RepeatedInt; public class PacketGetMainMissionCustomValueScRsp extends BasePacket { - // TODO cache packet - public PacketGetMainMissionCustomValueScRsp(int[] mainMissionIdList) { + public PacketGetMainMissionCustomValueScRsp(RepeatedInt list) { super(CmdId.GetMainMissionCustomValueScRsp); var data = GetMainMissionCustomValueScRsp.newInstance(); - for (int mainMissionId : mainMissionIdList) { + for (int mainMissionId : list) { MainMission mainMission = MainMission.newInstance() - .setId(mainMissionId); + .setId(mainMissionId) + .setStatus(MissionStatus.MISSION_FINISH); + data.addMainMissionList(mainMission); }