mirror of
https://github.com/Grasscutters/Grasscutter.git
synced 2025-12-18 01:46:44 +01:00
Obtain forging results (UI is broken though).
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.PacketOpcodes;
|
||||
import emu.grasscutter.net.proto.ForgeQueueManipulateReqOuterClass.ForgeQueueManipulateReq;
|
||||
import emu.grasscutter.net.packet.PacketHandler;
|
||||
import emu.grasscutter.server.game.GameSession;
|
||||
|
||||
@Opcodes(PacketOpcodes.ForgeQueueManipulateReq)
|
||||
public class HandlerForgeQueueManipulateReq extends PacketHandler {
|
||||
@Override
|
||||
public void handle(GameSession session, byte[] header, byte[] payload) throws Exception {
|
||||
ForgeQueueManipulateReq req = ForgeQueueManipulateReq.parseFrom(payload);
|
||||
session.getPlayer().getForgingManager().handleForgeQueueManipulateReq(req);
|
||||
}
|
||||
}
|
||||
@@ -17,7 +17,7 @@ public class HandlerForgeStartReq extends PacketHandler {
|
||||
@Override
|
||||
public void handle(GameSession session, byte[] header, byte[] payload) throws Exception {
|
||||
ForgeStartReqOuterClass.ForgeStartReq req = ForgeStartReqOuterClass.ForgeStartReq.parseFrom(payload);
|
||||
session.getPlayer().getForgingManager().startForging(req);
|
||||
session.getPlayer().getForgingManager().handleForgeStartReq(req);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -0,0 +1,43 @@
|
||||
package emu.grasscutter.server.packet.send;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import emu.grasscutter.game.inventory.GameItem;
|
||||
import emu.grasscutter.net.packet.BasePacket;
|
||||
import emu.grasscutter.net.packet.PacketOpcodes;
|
||||
import emu.grasscutter.net.proto.ForgeQueueManipulateRspOuterClass.ForgeQueueManipulateRsp;
|
||||
import emu.grasscutter.net.proto.ForgeQueueManipulateTypeOuterClass.ForgeQueueManipulateType;
|
||||
import emu.grasscutter.net.proto.ItemParamOuterClass.ItemParam;
|
||||
import emu.grasscutter.net.proto.RetcodeOuterClass.Retcode;
|
||||
|
||||
public class PacketForgeQueueManipulateRsp extends BasePacket {
|
||||
|
||||
public PacketForgeQueueManipulateRsp(Retcode retcode, ForgeQueueManipulateType type, List<GameItem> output, List<GameItem> refund, List<GameItem> extra) {
|
||||
super(PacketOpcodes.ForgeQueueManipulateRsp);
|
||||
|
||||
ForgeQueueManipulateRsp.Builder builder = ForgeQueueManipulateRsp.newBuilder()
|
||||
.setRetcode(retcode.getNumber());
|
||||
|
||||
for (GameItem item : output) {
|
||||
ItemParam toAdd = ItemParam.newBuilder()
|
||||
.setItemId(item.getItemId())
|
||||
.setCount(item.getCount())
|
||||
.build();
|
||||
|
||||
builder.addOutputItemList(toAdd);
|
||||
}
|
||||
|
||||
for (GameItem item : refund) {
|
||||
ItemParam toAdd = ItemParam.newBuilder()
|
||||
.setItemId(item.getItemId())
|
||||
.setCount(item.getCount())
|
||||
.build();
|
||||
|
||||
builder.addReturnItemList(toAdd);
|
||||
}
|
||||
|
||||
// ToDo: Add extra items when once we have handling for it.
|
||||
|
||||
this.setData(builder.build());
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user