mirror of
https://github.com/Grasscutters/Grasscutter.git
synced 2025-12-21 19:34:42 +01:00
Cooking and unlocking recipies.
This commit is contained in:
@@ -0,0 +1,16 @@
|
||||
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.PlayerCookArgsReqOuterClass;
|
||||
import emu.grasscutter.server.game.GameSession;
|
||||
|
||||
@Opcodes(PacketOpcodes.PlayerCookArgsReq)
|
||||
public class HandlerPlayerCookArgsReq extends PacketHandler {
|
||||
@Override
|
||||
public void handle(GameSession session, byte[] header, byte[] payload) throws Exception {
|
||||
PlayerCookArgsReqOuterClass.PlayerCookArgsReq req = PlayerCookArgsReqOuterClass.PlayerCookArgsReq.parseFrom(payload);
|
||||
session.getPlayer().getCookingManager().handleCookArgsReq(req);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
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.PlayerCookReqOuterClass;
|
||||
import emu.grasscutter.server.game.GameSession;
|
||||
|
||||
@Opcodes(PacketOpcodes.PlayerCookReq)
|
||||
public class HandlerPlayerCookReq extends PacketHandler {
|
||||
@Override
|
||||
public void handle(GameSession session, byte[] header, byte[] payload) throws Exception {
|
||||
PlayerCookReqOuterClass.PlayerCookReq req = PlayerCookReqOuterClass.PlayerCookReq.parseFrom(payload);
|
||||
session.getPlayer().getCookingManager().handlePlayerCookReq(req);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,28 @@
|
||||
package emu.grasscutter.server.packet.send;
|
||||
|
||||
import emu.grasscutter.net.packet.BasePacket;
|
||||
import emu.grasscutter.net.packet.PacketOpcodes;
|
||||
import emu.grasscutter.net.proto.CookRecipeDataNotifyOuterClass.CookRecipeDataNotify;
|
||||
import emu.grasscutter.net.proto.CookRecipeDataOuterClass.CookRecipeData;
|
||||
|
||||
public class PacketCookRecipeDataNotify extends BasePacket {
|
||||
public PacketCookRecipeDataNotify(CookRecipeData recipe) {
|
||||
super(PacketOpcodes.CookRecipeDataNotify);
|
||||
|
||||
CookRecipeDataNotify proto = CookRecipeDataNotify.newBuilder()
|
||||
.setRecipeData(recipe)
|
||||
.build();
|
||||
|
||||
this.setData(proto);
|
||||
}
|
||||
|
||||
public PacketCookRecipeDataNotify(int recipeId) {
|
||||
super(PacketOpcodes.CookRecipeDataNotify);
|
||||
|
||||
CookRecipeDataNotify proto = CookRecipeDataNotify.newBuilder()
|
||||
.setRecipeData(CookRecipeData.newBuilder().setRecipeId(recipeId))
|
||||
.build();
|
||||
|
||||
this.setData(proto);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
package emu.grasscutter.server.packet.send;
|
||||
|
||||
import emu.grasscutter.net.packet.BasePacket;
|
||||
import emu.grasscutter.net.packet.PacketOpcodes;
|
||||
import emu.grasscutter.net.proto.PlayerCookArgsRspOuterClass.PlayerCookArgsRsp;
|
||||
|
||||
public class PacketPlayerCookArgsRsp extends BasePacket {
|
||||
|
||||
public PacketPlayerCookArgsRsp() {
|
||||
super(PacketOpcodes.PlayerCookArgsRsp);
|
||||
|
||||
PlayerCookArgsRsp proto = PlayerCookArgsRsp.newBuilder()
|
||||
.build();
|
||||
|
||||
this.setData(proto);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,42 @@
|
||||
package emu.grasscutter.server.packet.send;
|
||||
|
||||
import emu.grasscutter.game.inventory.GameItem;
|
||||
import emu.grasscutter.net.packet.BasePacket;
|
||||
import emu.grasscutter.net.packet.PacketOpcodes;
|
||||
import emu.grasscutter.net.proto.CookRecipeDataOuterClass.CookRecipeData;
|
||||
import emu.grasscutter.net.proto.ItemParamOuterClass.ItemParam;
|
||||
import emu.grasscutter.net.proto.PlayerCookRspOuterClass.PlayerCookRsp;
|
||||
import emu.grasscutter.net.proto.RetcodeOuterClass.Retcode;
|
||||
|
||||
public class PacketPlayerCookRsp extends BasePacket {
|
||||
public PacketPlayerCookRsp(Retcode retcode) {
|
||||
super(PacketOpcodes.PlayerCookRsp);
|
||||
|
||||
PlayerCookRsp proto = PlayerCookRsp.newBuilder()
|
||||
.setRetcode(retcode.getNumber())
|
||||
.build();
|
||||
|
||||
this.setData(proto);
|
||||
}
|
||||
|
||||
public PacketPlayerCookRsp(GameItem output, int quality, int count, int recipeId, int proficiency) {
|
||||
super(PacketOpcodes.PlayerCookRsp);
|
||||
|
||||
PlayerCookRsp proto = PlayerCookRsp.newBuilder()
|
||||
.setRecipeData(
|
||||
CookRecipeData.newBuilder()
|
||||
.setRecipeId(recipeId)
|
||||
.setProficiency(proficiency)
|
||||
)
|
||||
.setQteQuality(quality)
|
||||
.addItemList(
|
||||
ItemParam.newBuilder()
|
||||
.setItemId(output.getItemId())
|
||||
.setCount(output.getCount())
|
||||
)
|
||||
.setCookCount(count)
|
||||
.build();
|
||||
|
||||
this.setData(proto);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user