From fa1b1b28bb51a15b48c2919ea1cf594cbf3a95a7 Mon Sep 17 00:00:00 2001 From: Melledy <121644117+Melledy@users.noreply.github.com> Date: Sat, 25 Nov 2023 03:02:07 -0800 Subject: [PATCH] Expand `/giveall` command to also be able to give all lightcones and relics --- .../command/commands/GiveAllCommand.java | 43 ++++++++++++++++--- 1 file changed, 38 insertions(+), 5 deletions(-) diff --git a/src/main/java/emu/lunarcore/command/commands/GiveAllCommand.java b/src/main/java/emu/lunarcore/command/commands/GiveAllCommand.java index 7c70fc8..48acf21 100644 --- a/src/main/java/emu/lunarcore/command/commands/GiveAllCommand.java +++ b/src/main/java/emu/lunarcore/command/commands/GiveAllCommand.java @@ -9,11 +9,12 @@ import emu.lunarcore.command.CommandHandler; import emu.lunarcore.data.GameData; import emu.lunarcore.data.excel.ItemExcel; import emu.lunarcore.game.enums.ItemMainType; +import emu.lunarcore.game.enums.ItemRarity; import emu.lunarcore.game.enums.ItemSubType; import emu.lunarcore.game.inventory.GameItem; import emu.lunarcore.game.player.Player; -@Command(label = "giveall", aliases = {"ga"}, permission = "player.give", desc = "/giveall {materials | avatars}. Gives the targeted player items.") +@Command(label = "giveall", aliases = {"ga"}, permission = "player.give", desc = "/giveall {materials | avatars | lightcones | relics}. Gives the targeted player items.") public class GiveAllCommand implements CommandHandler { @Override @@ -27,9 +28,9 @@ public class GiveAllCommand implements CommandHandler { String type = args.get(0).toLowerCase(); switch (type) { - case "materials", "mats" -> { - // + case "m", "materials", "mats" -> { List items = new ArrayList<>(); + // Character/Relic/Lightcone upgrade materials for (ItemExcel excel : GameData.getItemExcelMap().values()) { int purpose = excel.getPurposeType(); @@ -37,14 +38,45 @@ public class GiveAllCommand implements CommandHandler { items.add(new GameItem(excel, 1000)); } } + // Credits items.add(new GameItem(2, 50_000_000)); - // Add + + // Add to target's inventory args.getTarget().getInventory().addItems(items, true); + // Send message this.sendMessage(sender, "Giving " + args.getTarget().getName() + " " + items.size() + " items"); } - case "avatars" -> { + case "lc", "lightcones" -> { + // Get lightcones + List items = GameData.getItemExcelMap().values() + .stream() + .filter(ItemExcel::isEquipment) + .map(excel -> new GameItem(excel, 1)) + .toList(); + + // Add to target's inventory + args.getTarget().getInventory().addItems(items, true); + + // Send message + this.sendMessage(sender, "Giving " + args.getTarget().getName() + " " + items.size() + " light cones"); + } + case "r", "relics" -> { + // Get relics + List items = GameData.getItemExcelMap().values() + .stream() + .filter(excel -> excel.isRelic() && excel.getRarity() == ItemRarity.SuperRare) + .map(excel -> new GameItem(excel, 1)) + .toList(); + + // Add to target's inventory + args.getTarget().getInventory().addItems(items, true); + + // Send message + this.sendMessage(sender, "Giving " + args.getTarget().getName() + " " + items.size() + " relics"); + } + case "a", "characters", "avatars" -> { // All avatars and their eidolons for (ItemExcel excel : GameData.getItemExcelMap().values()) { if (excel.getItemMainType() == ItemMainType.AvatarCard) { @@ -53,6 +85,7 @@ public class GiveAllCommand implements CommandHandler { args.getTarget().getInventory().addItem(excel, 6); } } + // Send message this.sendMessage(sender, "Giving " + args.getTarget().getName() + " all avatars"); }