mirror of
https://github.com/Grasscutters/Grasscutter.git
synced 2025-12-22 03:45:10 +01:00
feat:cooking food ingredient(aka:compound) implementation (#1858)
* feat:cooking food ingredient(aka:compound) implementation Implement food ingredient(compound) feature.Need a thorough test and still has some work to do. * small bug fix;implement fish processing * Update src/main/java/emu/grasscutter/server/packet/send/PacketItemAddHintNotify.java Co-authored-by: Luke H-W <Birdulon@users.noreply.github.com> * Update Inventory.java * Update Inventory.java Co-authored-by: Luke H-W <Birdulon@users.noreply.github.com>
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.GetCompoundDataReqOuterClass;
|
||||
import emu.grasscutter.server.game.GameSession;
|
||||
|
||||
@Opcodes(PacketOpcodes.GetCompoundDataReq)
|
||||
public class HandlerGetCompoundDataReq extends PacketHandler {
|
||||
@Override
|
||||
public void handle(GameSession session, byte[] header, byte[] payload) throws Exception {
|
||||
var req = GetCompoundDataReqOuterClass.GetCompoundDataReq.parseFrom(payload);
|
||||
session.getPlayer().getCookingCompoundManager().handleGetCompoundDataReq(req);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
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.PlayerCompoundMaterialReqOuterClass;
|
||||
import emu.grasscutter.server.game.GameSession;
|
||||
|
||||
@Opcodes(PacketOpcodes.PlayerCompoundMaterialReq)
|
||||
public class HandlerPlayerCompoundMaterialReq extends PacketHandler {
|
||||
@Override
|
||||
public void handle(GameSession session, byte[] header, byte[] payload) throws Exception {
|
||||
var req = PlayerCompoundMaterialReqOuterClass.PlayerCompoundMaterialReq.parseFrom(payload);
|
||||
session.getPlayer().getCookingCompoundManager().handlePlayerCompoundMaterialReq(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.TakeCompoundOutputReqOuterClass;
|
||||
import emu.grasscutter.server.game.GameSession;
|
||||
|
||||
@Opcodes(PacketOpcodes.TakeCompoundOutputReq)
|
||||
public class HandlerTakeCompoundOutputReq extends PacketHandler {
|
||||
@Override
|
||||
public void handle(GameSession session, byte[] header, byte[] payload) throws Exception {
|
||||
var req = TakeCompoundOutputReqOuterClass.TakeCompoundOutputReq.parseFrom(payload);
|
||||
session.getPlayer().getCookingCompoundManager().handleTakeCompoundOutputReq(req);
|
||||
}
|
||||
}
|
||||
@@ -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.ItemParamOuterClass.ItemParam;
|
||||
import emu.grasscutter.net.proto.TakeCompoundOutputRspOuterClass.TakeCompoundOutputRsp;
|
||||
|
||||
public class PackageTakeCompoundOutputRsp extends BasePacket {
|
||||
|
||||
public PackageTakeCompoundOutputRsp(Iterable<ItemParam> itemList, int retcode) {
|
||||
super(PacketOpcodes.TakeCompoundOutputRsp);
|
||||
var builder = TakeCompoundOutputRsp.newBuilder()
|
||||
.addAllItemList(itemList)
|
||||
.setRetcode(retcode);
|
||||
setData(builder.build());
|
||||
}
|
||||
}
|
||||
@@ -1,14 +1,10 @@
|
||||
package emu.grasscutter.server.packet.send;
|
||||
|
||||
import emu.grasscutter.game.player.Player;
|
||||
import emu.grasscutter.net.packet.BasePacket;
|
||||
import emu.grasscutter.net.packet.PacketOpcodes;
|
||||
import emu.grasscutter.net.proto.ForgeStartRspOuterClass.ForgeStartRsp;
|
||||
import emu.grasscutter.net.proto.RetcodeOuterClass.Retcode;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
public class PacketForgeStartRsp extends BasePacket {
|
||||
|
||||
public PacketForgeStartRsp(Retcode retcode) {
|
||||
@@ -17,7 +13,7 @@ public class PacketForgeStartRsp extends BasePacket {
|
||||
ForgeStartRsp proto = ForgeStartRsp.newBuilder()
|
||||
.setRetcode(retcode.getNumber())
|
||||
.build();
|
||||
|
||||
|
||||
this.setData(proto);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,22 @@
|
||||
package emu.grasscutter.server.packet.send;
|
||||
|
||||
import emu.grasscutter.net.packet.BasePacket;
|
||||
import emu.grasscutter.net.packet.PacketOpcodes;
|
||||
import emu.grasscutter.net.proto.CompoundQueueDataOuterClass.CompoundQueueData;
|
||||
import emu.grasscutter.net.proto.GetCompoundDataRspOuterClass.GetCompoundDataRsp;
|
||||
import emu.grasscutter.net.proto.RetcodeOuterClass.Retcode;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
|
||||
public class PacketGetCompoundDataRsp extends BasePacket {
|
||||
public PacketGetCompoundDataRsp(Set<Integer> unlockedCompounds, List<CompoundQueueData> compundQueueData) {
|
||||
super(PacketOpcodes.GetCompoundDataRsp);
|
||||
var proto = GetCompoundDataRsp.newBuilder()
|
||||
.addAllUnlockCompoundList(unlockedCompounds)
|
||||
.addAllCompoundQueDataList(compundQueueData)
|
||||
.setRetcode(Retcode.RET_SUCC_VALUE)
|
||||
.build();
|
||||
setData(proto);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,36 @@
|
||||
package emu.grasscutter.server.packet.send;
|
||||
|
||||
import emu.grasscutter.net.packet.BasePacket;
|
||||
import emu.grasscutter.net.packet.PacketOpcodes;
|
||||
import emu.grasscutter.net.proto.CompoundQueueDataOuterClass.CompoundQueueData;
|
||||
import emu.grasscutter.net.proto.PlayerCompoundMaterialRspOuterClass.PlayerCompoundMaterialRsp;
|
||||
import emu.grasscutter.net.proto.RetcodeOuterClass.Retcode;
|
||||
|
||||
public class PacketPlayerCompoundMaterialRsp extends BasePacket {
|
||||
/**
|
||||
* Builder for successful message.
|
||||
*
|
||||
* @param compoundQueueData new compound queue
|
||||
*/
|
||||
public PacketPlayerCompoundMaterialRsp(CompoundQueueData compoundQueueData) {
|
||||
super(PacketOpcodes.PlayerCompoundMaterialRsp);
|
||||
PlayerCompoundMaterialRsp proto = PlayerCompoundMaterialRsp.newBuilder()
|
||||
.setCompoundQueData(compoundQueueData)
|
||||
.setRetcode(Retcode.RET_SUCC_VALUE)
|
||||
.build();
|
||||
setData(proto);
|
||||
}
|
||||
|
||||
/**
|
||||
* Builder for failed message.
|
||||
* @param retcode error code
|
||||
*/
|
||||
public PacketPlayerCompoundMaterialRsp(int retcode) {
|
||||
super(PacketOpcodes.PlayerCompoundMaterialRsp);
|
||||
PlayerCompoundMaterialRsp proto = PlayerCompoundMaterialRsp.newBuilder()
|
||||
.setRetcode(retcode)
|
||||
.build();
|
||||
setData(proto);
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user