From fee75facb4aa94f594e968fa82e16c280bbe1770 Mon Sep 17 00:00:00 2001 From: XiaoMoMi <972454774@qq.com> Date: Sat, 24 Feb 2024 01:39:55 +0800 Subject: [PATCH] silence option --- .../command/CommandManagerImpl.java | 21 +++++++++++++------ .../command/sub/ItemCommand.java | 4 +++- 2 files changed, 18 insertions(+), 7 deletions(-) diff --git a/plugin/src/main/java/net/momirealms/customfishing/command/CommandManagerImpl.java b/plugin/src/main/java/net/momirealms/customfishing/command/CommandManagerImpl.java index 86e23515..a3da89ef 100644 --- a/plugin/src/main/java/net/momirealms/customfishing/command/CommandManagerImpl.java +++ b/plugin/src/main/java/net/momirealms/customfishing/command/CommandManagerImpl.java @@ -21,6 +21,7 @@ import dev.jorel.commandapi.CommandAPI; import dev.jorel.commandapi.CommandAPIBukkitConfig; import dev.jorel.commandapi.CommandAPICommand; import dev.jorel.commandapi.arguments.EntitySelectorArgument; +import dev.jorel.commandapi.arguments.StringArgument; import dev.jorel.commandapi.arguments.UUIDArgument; import net.momirealms.customfishing.CustomFishingPluginImpl; import net.momirealms.customfishing.adventure.AdventureManagerImpl; @@ -54,7 +55,7 @@ public class CommandManagerImpl implements CommandManager { .withPermission("customfishing.admin") .withSubcommands( getReloadCommand(), - getMarketCommand(), + getOpenCommand(), getAboutCommand(), GUIEditorCommand.INSTANCE.getEditorCommand(), DataCommand.INSTANCE.getDataCommand(), @@ -93,28 +94,32 @@ public class CommandManagerImpl implements CommandManager { } @SuppressWarnings("unchecked") - private CommandAPICommand getMarketCommand() { + private CommandAPICommand getOpenCommand() { CommandAPICommand command = new CommandAPICommand("open"); if (plugin.getMarketManager().isEnable()) { command.withSubcommands( new CommandAPICommand("market") .withArguments(new EntitySelectorArgument.ManyPlayers("player")) + .withOptionalArguments(new StringArgument("-s")) .executes((sender, args) -> { Collection players = (Collection) args.get("player"); assert players != null; + boolean silence = args.getOrDefault("-s","").equals("-s"); for (Player player : players) { plugin.getMarketManager().openMarketGUI(player); - AdventureManagerImpl.getInstance().sendMessageWithPrefix(sender, CFLocale.MSG_Market_GUI_Open.replace("{player}", player.getName())); + if (!silence) AdventureManagerImpl.getInstance().sendMessageWithPrefix(sender, CFLocale.MSG_Market_GUI_Open.replace("{player}", player.getName())); } }), new CommandAPICommand("market-uuid") .withArguments(new UUIDArgument("uuid")) + .withOptionalArguments(new StringArgument("-s")) .executes((sender, args) -> { UUID uuid = (UUID) args.get("uuid"); Player player = Bukkit.getPlayer(uuid); + boolean silence = args.getOrDefault("-s","").equals("-s"); if (player == null) return; plugin.getMarketManager().openMarketGUI(player); - AdventureManagerImpl.getInstance().sendMessageWithPrefix(sender, CFLocale.MSG_Market_GUI_Open.replace("{player}", player.getName())); + if (!silence) AdventureManagerImpl.getInstance().sendMessageWithPrefix(sender, CFLocale.MSG_Market_GUI_Open.replace("{player}", player.getName())); }) ); } @@ -122,14 +127,16 @@ public class CommandManagerImpl implements CommandManager { command.withSubcommands( new CommandAPICommand("bag") .withArguments(new EntitySelectorArgument.ManyPlayers("player")) + .withOptionalArguments(new StringArgument("-s")) .executes((sender, args) -> { Collection players = (Collection) args.get("player"); assert players != null; + boolean silence = args.getOrDefault("-s","").equals("-s"); for (Player player : players) { Inventory inventory = plugin.getBagManager().getOnlineBagInventory(player.getUniqueId()); if (inventory != null) { player.openInventory(inventory); - AdventureManagerImpl.getInstance().sendMessageWithPrefix(sender, CFLocale.MSG_Fishing_Bag_Open.replace("{player}", player.getName())); + if (!silence) AdventureManagerImpl.getInstance().sendMessageWithPrefix(sender, CFLocale.MSG_Fishing_Bag_Open.replace("{player}", player.getName())); } else { LogUtils.warn("Player " + player.getName() + "'s bag data has not been loaded."); } @@ -137,14 +144,16 @@ public class CommandManagerImpl implements CommandManager { }), new CommandAPICommand("bag-uuid") .withArguments(new UUIDArgument("uuid")) + .withOptionalArguments(new StringArgument("-s")) .executes((sender, args) -> { UUID uuid = (UUID) args.get("uuid"); Player player = Bukkit.getPlayer(uuid); + boolean silence = args.getOrDefault("-s","").equals("-s"); if (player == null) return; Inventory inventory = plugin.getBagManager().getOnlineBagInventory(uuid); if (inventory != null) { player.openInventory(inventory); - AdventureManagerImpl.getInstance().sendMessageWithPrefix(sender, CFLocale.MSG_Fishing_Bag_Open.replace("{player}", player.getName())); + if (!silence) AdventureManagerImpl.getInstance().sendMessageWithPrefix(sender, CFLocale.MSG_Fishing_Bag_Open.replace("{player}", player.getName())); } else { LogUtils.warn("Player " + player.getName() + "'s bag data has not been loaded."); } diff --git a/plugin/src/main/java/net/momirealms/customfishing/command/sub/ItemCommand.java b/plugin/src/main/java/net/momirealms/customfishing/command/sub/ItemCommand.java index 284228db..917a4d2b 100644 --- a/plugin/src/main/java/net/momirealms/customfishing/command/sub/ItemCommand.java +++ b/plugin/src/main/java/net/momirealms/customfishing/command/sub/ItemCommand.java @@ -142,9 +142,11 @@ public class ItemCommand { info -> completionMap.get(namespace) ))) .withOptionalArguments(new IntegerArgument("amount", 1)) + .withOptionalArguments(new StringArgument("-s")) .executes((sender, args) -> { Collection players = (Collection) args.get("player"); String id = (String) args.get("id"); + boolean silence = args.getOrDefault("-s", "").equals("-s"); int amount = (int) args.getOrDefault("amount", 1); BuildableItem buildableItem = CustomFishingPlugin.get().getItemManager().getBuildableItem(namespace, id); if (buildableItem != null) { @@ -152,7 +154,7 @@ public class ItemCommand { for (Player player : players) { ItemStack item = CustomFishingPlugin.get().getItemManager().build(player, namespace, id, new Condition(player).getArgs()); int actual = ItemUtils.giveItem(player, item, amount); - AdventureManagerImpl.getInstance().sendMessageWithPrefix(sender, CFLocale.MSG_Give_Item.replace("{item}", id).replace("{amount}", String.valueOf(actual)).replace("{player}", player.getName())); + if (!silence) AdventureManagerImpl.getInstance().sendMessageWithPrefix(sender, CFLocale.MSG_Give_Item.replace("{item}", id).replace("{amount}", String.valueOf(actual)).replace("{player}", player.getName())); } } else { AdventureManagerImpl.getInstance().sendMessageWithPrefix(sender, CFLocale.MSG_Item_Not_Exists);