122 lines
3.4 KiB
Java
122 lines
3.4 KiB
Java
package cn.citycraft.LuckLottery.command;
|
|
|
|
import org.bukkit.ChatColor;
|
|
import org.bukkit.command.Command;
|
|
import org.bukkit.command.CommandExecutor;
|
|
import org.bukkit.command.CommandSender;
|
|
import org.bukkit.entity.Player;
|
|
import org.bukkit.plugin.PluginManager;
|
|
|
|
import cn.citycraft.LuckLottery.LuckLottery;
|
|
import cn.citycraft.LuckLottery.utils.ChatUtils;
|
|
import cn.citycraft.LuckLottery.utils.InvUtils;
|
|
import cn.citycraft.LuckLottery.utils.LotteryUtils;
|
|
import cn.citycraft.LuckLottery.utils.PermissionUtils;
|
|
|
|
public class LuckLotteryCommand implements CommandExecutor {
|
|
|
|
LuckLottery plugin;
|
|
|
|
public LuckLotteryCommand(LuckLottery main) {
|
|
plugin = main;
|
|
}
|
|
|
|
@Override
|
|
public boolean onCommand(CommandSender sender, Command cmd, String string,
|
|
String[] args) {
|
|
switch (args.length) {
|
|
case 0:
|
|
if (isPlayer(sender)) {
|
|
final Player p = (Player) sender;
|
|
int price = LotteryUtils.getPrice();
|
|
if (LuckLottery.economy.hasAccount(p)
|
|
&& LuckLottery.economy.has(p, price)) {
|
|
InvUtils.openGui(p);
|
|
} else {
|
|
ChatUtils.sendMessage(p, ChatColor.GOLD
|
|
+ "你没有足够的金钱购买彩票,每张彩票" + ChatColor.RED + price
|
|
+ ChatColor.GOLD + "元!");
|
|
}
|
|
}
|
|
return true;
|
|
case 1:
|
|
switch (args[0]) {
|
|
case "load":
|
|
if (isPlayer(sender)) {
|
|
Player p = (Player) sender;
|
|
LotteryUtils.loadPlayerLottery(p);
|
|
ChatUtils.sendMessage(p, ChatColor.BLUE + "已加载您的彩票数据...");
|
|
}
|
|
return true;
|
|
case "show":
|
|
if (isPlayer(sender)) {
|
|
Player p = (Player) sender;
|
|
LotteryUtils.showPlayerLottery(p);
|
|
}
|
|
return true;
|
|
case "clear":
|
|
if (PermissionUtils.Check(sender, PermissionUtils.Clear)) {
|
|
ChatUtils.sendMessage(sender, ChatColor.LIGHT_PURPLE
|
|
+ "警告: 即将清理所有彩票数据,此操作将无法取消!");
|
|
ChatUtils.sendMessage(sender, ChatColor.RED
|
|
+ "命令: 请使用/ll clear confirm 确定清理!");
|
|
}
|
|
return true;
|
|
case "showall":
|
|
if (PermissionUtils.Check(sender, PermissionUtils.ShowAll)) {
|
|
LotteryUtils.showAllPlayerLottery(sender);
|
|
}
|
|
return true;
|
|
case "random":
|
|
if (PermissionUtils.Check(sender, PermissionUtils.Random)) {
|
|
LotteryUtils.updateSystemLottery(sender);
|
|
}
|
|
return true;
|
|
case "reward":
|
|
if (PermissionUtils.Check(sender, PermissionUtils.Reward)) {
|
|
LotteryUtils.rewardLastLottery();
|
|
ChatUtils
|
|
.sendMessage(sender, ChatColor.GREEN + "已结算上一轮彩票!");
|
|
}
|
|
return true;
|
|
case "look":
|
|
if (PermissionUtils.Check(sender, PermissionUtils.Reward)) {
|
|
LotteryUtils.showSystemLottery(sender);
|
|
}
|
|
return true;
|
|
case "reload":
|
|
if (PermissionUtils.Check(sender, PermissionUtils.Reload)) {
|
|
PluginManager pm = plugin.getServer().getPluginManager();
|
|
ChatUtils.sendMessage(sender, ChatColor.GREEN + "配置文件已重载!");
|
|
pm.disablePlugin(plugin);
|
|
pm.enablePlugin(plugin);
|
|
}
|
|
return true;
|
|
case "help":
|
|
ChatUtils.sendHelp(sender);
|
|
return true;
|
|
}
|
|
break;
|
|
case 2:
|
|
switch (args[0]) {
|
|
case "clear":
|
|
if (PermissionUtils.Check(sender, PermissionUtils.Clear)) {
|
|
ChatUtils.sendMessage(sender, ChatColor.DARK_RED
|
|
+ "警告: 已经清理所有彩票数据,此操作无法撤销!");
|
|
LotteryUtils.clearPlayerLottery(sender);
|
|
}
|
|
return true;
|
|
}
|
|
default:
|
|
}
|
|
return false;
|
|
}
|
|
|
|
public boolean isPlayer(CommandSender p) {
|
|
if (p instanceof Player)
|
|
return true;
|
|
return false;
|
|
}
|
|
|
|
}
|