diff --git a/src/main/java/cn/lunadeer/miniplayertitle/Commands.java b/src/main/java/cn/lunadeer/miniplayertitle/Commands.java
index c135298..7e7ad5e 100644
--- a/src/main/java/cn/lunadeer/miniplayertitle/Commands.java
+++ b/src/main/java/cn/lunadeer/miniplayertitle/Commands.java
@@ -1,280 +1,60 @@
package cn.lunadeer.miniplayertitle;
-import cn.lunadeer.minecraftpluginutils.stui.View;
-import cn.lunadeer.minecraftpluginutils.stui.ViewStyles;
-import cn.lunadeer.minecraftpluginutils.stui.components.Button;
-import cn.lunadeer.minecraftpluginutils.stui.components.Line;
-import cn.lunadeer.miniplayertitle.commands.AdminCommands;
-import net.kyori.adventure.text.Component;
-import net.kyori.adventure.text.event.ClickEvent;
+import cn.lunadeer.miniplayertitle.commands.TitleShopSale;
+import cn.lunadeer.miniplayertitle.tuis.*;
+import cn.lunadeer.miniplayertitle.tuis.Shop;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.command.TabExecutor;
-import org.bukkit.entity.Player;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collections;
import java.util.List;
-import static cn.lunadeer.miniplayertitle.commands.PlayerCommands.*;
-
public class Commands implements TabExecutor {
- /**
- * Executes the given command, returning its success.
- *
- * If false is returned, then the "usage" plugin.yml entry for this command
- * (if defined) will be sent to the player.
- *
- * @param sender Source of the command
- * @param command Command which was executed
- * @param label Alias of the command which was used
- * @param args Passed command arguments
- * @return true if a valid command, otherwise false
- */
+
@Override
public boolean onCommand(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, @NotNull String[] args) {
- switch (label) {
- case "mplt":
- if (args.length == 0) {
- home_view(sender);
- return true;
- }
- switch (args[0]) {
- case "use":
- use(sender, args);
- return true;
- case "list":
- list(sender, args);
- return true;
- case "shop":
- shop(sender, args);
- return true;
- case "buy":
- buy(sender, args);
- return true;
- case "custom":
- custom(sender, args);
- return true;
- case "custominfo":
- custom_info(sender);
- return true;
- case "create":
- AdminCommands.createTitle(sender, args);
- return true;
- case "delete":
- AdminCommands.deleteTitle(sender, args);
- return true;
- case "setdesc":
- AdminCommands.setTitleDescription(sender, args);
- return true;
- case "setname":
- AdminCommands.setTitleName(sender, args);
- return true;
- case "addshop":
- AdminCommands.addShop(sender, args);
- return true;
- case "removeshop":
- AdminCommands.removeShop(sender, args);
- return true;
- case "setprice":
- AdminCommands.setPrice(sender, args);
- return true;
- case "setamount":
- AdminCommands.setAmount(sender, args);
- return true;
- case "setendat":
- AdminCommands.setSaleEndAt(sender, args);
- return true;
- case "listall":
- AdminCommands.listAllTitle(sender, args);
- return true;
- case "addcoin":
- AdminCommands.addCoin(sender, args);
- return true;
- case "setcoin":
- AdminCommands.setCoin(sender, args);
- return true;
- default:
- printHelp(sender);
- return true;
- }
+ if (args.length == 0) {
+ Menu.show(sender, args);
+ return true;
+ }
+ switch (args[0]) {
+ case "menu":
+ Menu.show(sender, args);
+ break;
+ case "all_titles":
+ AllTitles.show(sender, args);
+ break;
+ case "my_titles":
+ MyTitles.show(sender, args);
+ break;
+ case "shop":
+ Shop.show(sender, args);
+ break;
+ case "custom_info":
+ CustomInfo.show(sender, args);
+ break;
+ case "sale_info":
+ SaleInfo.show(sender, args);
+ break;
+ case "create_sale":
+ TitleShopSale.createSale(sender, args);
+ break;
+ case "set_sale":
+ TitleShopSale.setSale(sender, args);
+ break;
+ case "delete_sale":
+ TitleShopSale.deleteSale(sender, args);
+ break;
default:
return false;
}
+ return true;
}
- private static void printHelp(@NotNull CommandSender sender) {
- if (sender instanceof Player) {
- Player player = (Player) sender;
- MiniPlayerTitle.notification.warn(player, "用法: /mplt