From b5f356ce4f79d36ef888d07557396feb727ba7bf Mon Sep 17 00:00:00 2001 From: dragon <52032586+eternalcomet@users.noreply.github.com> Date: Mon, 17 Oct 2022 18:14:06 +0800 Subject: [PATCH] send CompoundDataNotify on Login;fix spelling mistakes. (#1869) --- .../cooking/CookingCompoundManager.java | 5 +++++ .../game/managers/cooking/CookingManager.java | 11 +++++----- .../emu/grasscutter/game/player/Player.java | 3 ++- .../packet/send/PacketCompoundDataNotify.java | 21 +++++++++++++++++++ .../packet/send/PacketCookDataNotify.java | 8 +++---- .../packet/send/PacketGetCompoundDataRsp.java | 4 ++-- 6 files changed, 39 insertions(+), 13 deletions(-) create mode 100644 src/main/java/emu/grasscutter/server/packet/send/PacketCompoundDataNotify.java diff --git a/src/main/java/emu/grasscutter/game/managers/cooking/CookingCompoundManager.java b/src/main/java/emu/grasscutter/game/managers/cooking/CookingCompoundManager.java index 03045c819..9f528f357 100644 --- a/src/main/java/emu/grasscutter/game/managers/cooking/CookingCompoundManager.java +++ b/src/main/java/emu/grasscutter/game/managers/cooking/CookingCompoundManager.java @@ -14,6 +14,7 @@ import emu.grasscutter.net.proto.PlayerCompoundMaterialReqOuterClass.PlayerCompo import emu.grasscutter.net.proto.RetcodeOuterClass.Retcode; import emu.grasscutter.net.proto.TakeCompoundOutputReqOuterClass.TakeCompoundOutputReq; import emu.grasscutter.server.packet.send.PackageTakeCompoundOutputRsp; +import emu.grasscutter.server.packet.send.PacketCompoundDataNotify; import emu.grasscutter.server.packet.send.PacketGetCompoundDataRsp; import emu.grasscutter.server.packet.send.PacketPlayerCompoundMaterialRsp; import emu.grasscutter.utils.Utils; @@ -129,4 +130,8 @@ public class CookingCompoundManager extends BasePlayerManager { player.sendPacket(new PackageTakeCompoundOutputRsp(null, Retcode.RET_COMPOUND_NOT_FINISH_VALUE)); } } + + public void onPlayerLogin() { + player.sendPacket(new PacketCompoundDataNotify(unlocked,getCompoundQueueData())); + } } diff --git a/src/main/java/emu/grasscutter/game/managers/cooking/CookingManager.java b/src/main/java/emu/grasscutter/game/managers/cooking/CookingManager.java index e827507f2..09d4874c9 100644 --- a/src/main/java/emu/grasscutter/game/managers/cooking/CookingManager.java +++ b/src/main/java/emu/grasscutter/game/managers/cooking/CookingManager.java @@ -12,7 +12,6 @@ import emu.grasscutter.game.inventory.GameItem; import emu.grasscutter.game.player.BasePlayerManager; import emu.grasscutter.game.player.Player; import emu.grasscutter.game.props.ActionReason; -import emu.grasscutter.game.props.ItemUseOp; import emu.grasscutter.net.proto.CookRecipeDataOuterClass; import emu.grasscutter.net.proto.PlayerCookArgsReqOuterClass.PlayerCookArgsReq; import emu.grasscutter.net.proto.PlayerCookReqOuterClass.PlayerCookReq; @@ -164,16 +163,16 @@ public class CookingManager extends BasePlayerManager { } } - public void sendCookDataNofity() { - // Default unlocked recipies to player if they don't have them yet. + public void sendCookDataNotify() { + // Default unlocked recipes to player if they don't have them yet. this.addDefaultUnlocked(); - // Get unlocked recipies. - var unlockedRecipies = this.player.getUnlockedRecipies(); + // Get unlocked recipes. + var unlockedRecipes = this.player.getUnlockedRecipies(); // Construct CookRecipeData protos. List data = new ArrayList<>(); - for (var recipe : unlockedRecipies.entrySet()) { + for (var recipe : unlockedRecipes.entrySet()) { int recipeId = recipe.getKey(); int proficiency = recipe.getValue(); diff --git a/src/main/java/emu/grasscutter/game/player/Player.java b/src/main/java/emu/grasscutter/game/player/Player.java index a6aed4e65..c8c347e2d 100644 --- a/src/main/java/emu/grasscutter/game/player/Player.java +++ b/src/main/java/emu/grasscutter/game/player/Player.java @@ -1199,7 +1199,8 @@ public class Player { session.send(new PacketGetChatEmojiCollectionRsp(this.getChatEmojiIdList())); this.forgingManager.sendForgeDataNotify(); this.resinManager.onPlayerLogin(); - this.cookingManager.sendCookDataNofity(); + this.cookingManager.sendCookDataNotify(); + this.cookingCompoundManager.onPlayerLogin(); this.teamManager.onPlayerLogin(); getTodayMoonCard(); // The timer works at 0:0, some users log in after that, use this method to check if they have received a reward today or not. If not, send the reward. diff --git a/src/main/java/emu/grasscutter/server/packet/send/PacketCompoundDataNotify.java b/src/main/java/emu/grasscutter/server/packet/send/PacketCompoundDataNotify.java new file mode 100644 index 000000000..950fddac9 --- /dev/null +++ b/src/main/java/emu/grasscutter/server/packet/send/PacketCompoundDataNotify.java @@ -0,0 +1,21 @@ +package emu.grasscutter.server.packet.send; + +import emu.grasscutter.net.packet.BasePacket; +import emu.grasscutter.net.packet.PacketOpcodes; +import emu.grasscutter.net.proto.CompoundDataNotifyOuterClass.CompoundDataNotify; +import emu.grasscutter.net.proto.CompoundQueueDataOuterClass.CompoundQueueData; + +import java.util.List; +import java.util.Set; + +public class PacketCompoundDataNotify extends BasePacket { + + public PacketCompoundDataNotify(Set unlockedCompounds, List compoundQueueData) { + super(PacketOpcodes.CompoundDataNotify); + var proto= CompoundDataNotify.newBuilder() + .addAllUnlockCompoundList(unlockedCompounds) + .addAllCompoundQueDataList(compoundQueueData) + .build(); + this.setData(proto); + } +} diff --git a/src/main/java/emu/grasscutter/server/packet/send/PacketCookDataNotify.java b/src/main/java/emu/grasscutter/server/packet/send/PacketCookDataNotify.java index 569a63380..7d0b1f1c7 100644 --- a/src/main/java/emu/grasscutter/server/packet/send/PacketCookDataNotify.java +++ b/src/main/java/emu/grasscutter/server/packet/send/PacketCookDataNotify.java @@ -8,14 +8,14 @@ import emu.grasscutter.net.proto.CookDataNotifyOuterClass.CookDataNotify; import emu.grasscutter.net.proto.CookRecipeDataOuterClass.CookRecipeData; public class PacketCookDataNotify extends BasePacket { - - public PacketCookDataNotify(List recipies) { + + public PacketCookDataNotify(List recipes) { super(PacketOpcodes.CookDataNotify); CookDataNotify proto = CookDataNotify.newBuilder() - .addAllRecipeDataList(recipies) + .addAllRecipeDataList(recipes) .build(); - + this.setData(proto); } } diff --git a/src/main/java/emu/grasscutter/server/packet/send/PacketGetCompoundDataRsp.java b/src/main/java/emu/grasscutter/server/packet/send/PacketGetCompoundDataRsp.java index 44f990f43..58b95cafd 100644 --- a/src/main/java/emu/grasscutter/server/packet/send/PacketGetCompoundDataRsp.java +++ b/src/main/java/emu/grasscutter/server/packet/send/PacketGetCompoundDataRsp.java @@ -10,11 +10,11 @@ import java.util.List; import java.util.Set; public class PacketGetCompoundDataRsp extends BasePacket { - public PacketGetCompoundDataRsp(Set unlockedCompounds, List compundQueueData) { + public PacketGetCompoundDataRsp(Set unlockedCompounds, List compoundQueueData) { super(PacketOpcodes.GetCompoundDataRsp); var proto = GetCompoundDataRsp.newBuilder() .addAllUnlockCompoundList(unlockedCompounds) - .addAllCompoundQueDataList(compundQueueData) + .addAllCompoundQueDataList(compoundQueueData) .setRetcode(Retcode.RET_SUCC_VALUE) .build(); setData(proto);