mirror of
https://github.com/Melledy/LunarCore.git
synced 2025-12-23 02:34:54 +01:00
Implement destroying materials from the inventory menu
This commit is contained in:
@@ -580,6 +580,18 @@ public class InventoryService extends BaseGameService {
|
||||
return player.getInventory().addItems(returnItems);
|
||||
}
|
||||
|
||||
public boolean destroyItem(Player player, int itemId, int count) {
|
||||
// Sanity check
|
||||
if (count <= 0) return true;
|
||||
|
||||
// Remove items from inventory
|
||||
if (player.getInventory().removePileItem(itemId, count)) {
|
||||
return true;
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
public List<GameItem> composeItem(Player player, int composeId, int count, List<ItemParam> costItems) {
|
||||
// Sanity check
|
||||
if (count <= 0) return null;
|
||||
|
||||
@@ -0,0 +1,20 @@
|
||||
package emu.lunarcore.server.packet.recv;
|
||||
|
||||
import emu.lunarcore.proto.DestroyItemCsReqOuterClass.DestroyItemCsReq;
|
||||
import emu.lunarcore.server.game.GameSession;
|
||||
import emu.lunarcore.server.packet.CmdId;
|
||||
import emu.lunarcore.server.packet.Opcodes;
|
||||
import emu.lunarcore.server.packet.PacketHandler;
|
||||
|
||||
@Opcodes(CmdId.DestroyItemCsReq)
|
||||
public class HandlerDestroyItemCsReq extends PacketHandler {
|
||||
|
||||
@Override
|
||||
public void handle(GameSession session, byte[] data) throws Exception {
|
||||
var req = DestroyItemCsReq.parseFrom(data);
|
||||
|
||||
session.getServer().getInventoryService().destroyItem(session.getPlayer(), req.getItemId(), req.getItemCount());
|
||||
session.send(CmdId.DestroyItemScRsp);
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user