From b2f916807660ebe658775531fb066d2c8c18627a Mon Sep 17 00:00:00 2001 From: Melledy <121644117+Melledy@users.noreply.github.com> Date: Tue, 5 Dec 2023 06:19:38 -0800 Subject: [PATCH] Limit some types of items that the player can get --- src/main/java/emu/lunarcore/game/enums/ItemMainType.java | 8 ++++---- src/main/java/emu/lunarcore/game/inventory/Inventory.java | 7 ++++++- .../lunarcore/game/inventory/tabs/InventoryTabType.java | 7 ++++--- src/main/java/emu/lunarcore/server/packet/CmdIdUtils.java | 2 -- 4 files changed, 14 insertions(+), 10 deletions(-) diff --git a/src/main/java/emu/lunarcore/game/enums/ItemMainType.java b/src/main/java/emu/lunarcore/game/enums/ItemMainType.java index f87cc39..f5bf0da 100644 --- a/src/main/java/emu/lunarcore/game/enums/ItemMainType.java +++ b/src/main/java/emu/lunarcore/game/enums/ItemMainType.java @@ -10,13 +10,13 @@ public enum ItemMainType { AvatarCard (2), Equipment (3, InventoryTabType.EQUIPMENT), Relic (4, InventoryTabType.RELIC), - Usable (5), - Material (6), - Mission (7), + Usable (5, InventoryTabType.MATERIAL), + Material (6, InventoryTabType.MATERIAL), + Mission (7, InventoryTabType.MATERIAL), Display (8); private int val; - private InventoryTabType tabType = InventoryTabType.MATERIAL; + private InventoryTabType tabType; private ItemMainType(int value) { this.val = value; diff --git a/src/main/java/emu/lunarcore/game/inventory/Inventory.java b/src/main/java/emu/lunarcore/game/inventory/Inventory.java index 7a95804..98923bf 100644 --- a/src/main/java/emu/lunarcore/game/inventory/Inventory.java +++ b/src/main/java/emu/lunarcore/game/inventory/Inventory.java @@ -58,11 +58,11 @@ public class Inventory extends BasePlayerManager { // Inventory tabs public InventoryTab getTabByItemType(ItemMainType type) { - if (type == null) return null; return getTab(type.getTabType()); } public InventoryTab getTab(InventoryTabType type) { + if (type == null) return null; return this.inventoryTypes.get(type.getVal()); } @@ -207,6 +207,11 @@ public class Inventory extends BasePlayerManager { getPlayer().addHeadIcon(item.getItemId()); return item; } + + // Skip if not food item + if (subType != ItemSubType.Food) { + return null; + } default: if (tab == null) { return null; diff --git a/src/main/java/emu/lunarcore/game/inventory/tabs/InventoryTabType.java b/src/main/java/emu/lunarcore/game/inventory/tabs/InventoryTabType.java index 56c294a..43b4169 100644 --- a/src/main/java/emu/lunarcore/game/inventory/tabs/InventoryTabType.java +++ b/src/main/java/emu/lunarcore/game/inventory/tabs/InventoryTabType.java @@ -4,9 +4,10 @@ import lombok.Getter; @Getter public enum InventoryTabType { - MATERIAL (0), - EQUIPMENT (1), - RELIC (2); + NONE (0), + MATERIAL (1), + EQUIPMENT (2), + RELIC (3); private int val; diff --git a/src/main/java/emu/lunarcore/server/packet/CmdIdUtils.java b/src/main/java/emu/lunarcore/server/packet/CmdIdUtils.java index a902037..a02d085 100644 --- a/src/main/java/emu/lunarcore/server/packet/CmdIdUtils.java +++ b/src/main/java/emu/lunarcore/server/packet/CmdIdUtils.java @@ -31,8 +31,6 @@ public class CmdIdUtils { * Packet ids that will NOT be caught by the spam filter */ public static final IntSet ALLOWED_FILTER_PACKETS = IntOpenHashSet.of( - CmdId.PlayerGetTokenCsReq, - CmdId.PlayerLoginCsReq, CmdId.PlayerHeartBeatCsReq, CmdId.GetMissionStatusCsReq, CmdId.GetMissionStatusCsReq,