107 lines
3.9 KiB
Java
107 lines
3.9 KiB
Java
package pw.yumc.LuckLottery.command;
|
|
|
|
import org.bukkit.ChatColor;
|
|
import org.bukkit.command.CommandSender;
|
|
import org.bukkit.entity.Player;
|
|
import org.bukkit.plugin.PluginManager;
|
|
|
|
import pw.yumc.LuckLottery.LuckLottery;
|
|
import pw.yumc.LuckLottery.config.PlayerData;
|
|
import pw.yumc.LuckLottery.utils.ChatUtils;
|
|
import pw.yumc.LuckLottery.utils.InvUtils;
|
|
import pw.yumc.LuckLottery.utils.LotteryUtils;
|
|
import pw.yumc.LuckLottery.utils.Perm;
|
|
import pw.yumc.YumCore.commands.CommandArgument;
|
|
import pw.yumc.YumCore.commands.CommandExecutor;
|
|
import pw.yumc.YumCore.commands.CommandManager;
|
|
import pw.yumc.YumCore.commands.annotation.Async;
|
|
import pw.yumc.YumCore.commands.annotation.Cmd;
|
|
import pw.yumc.YumCore.commands.annotation.Help;
|
|
import pw.yumc.YumCore.commands.annotation.Sort;
|
|
|
|
public class LuckLotteryCommand implements CommandExecutor {
|
|
|
|
LuckLottery plugin;
|
|
|
|
public LuckLotteryCommand() {
|
|
new CommandManager("ll").register(this);
|
|
}
|
|
|
|
@Cmd(permission = Perm.Clear)
|
|
@Help("清除所有已购买彩票§4(管理员命令)")
|
|
@Sort(6)
|
|
public void clear(final CommandArgument e) {
|
|
final CommandSender sender = e.getSender();
|
|
if (e.getArgs().length > 0) {
|
|
ChatUtils.sendMessage(sender, ChatColor.DARK_RED + "警告: 已经清理所有彩票数据,此操作无法撤销!");
|
|
LotteryUtils.clearPlayerLottery(sender);
|
|
} else {
|
|
ChatUtils.sendMessage(sender, ChatColor.LIGHT_PURPLE + "警告: 即将清理所有彩票数据,此操作将无法取消!");
|
|
ChatUtils.sendMessage(sender, ChatColor.RED + "命令: 请使用/ll clear confirm 确定清理!");
|
|
}
|
|
}
|
|
|
|
@Cmd(onlyPlayer = true)
|
|
@Help("打开彩票购买界面")
|
|
public boolean ll(final CommandArgument e) {
|
|
final Player p = (Player) e.getSender();
|
|
final 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;
|
|
}
|
|
|
|
@Async
|
|
@Cmd(permission = Perm.Look)
|
|
@Help("查看彩票系统状态§4(管理员命令)")
|
|
@Sort(3)
|
|
public void look(final CommandArgument e) {
|
|
final CommandSender sender = e.getSender();
|
|
LotteryUtils.showSystemLottery(sender);
|
|
PlayerData.printStatus(sender);
|
|
}
|
|
|
|
@Cmd(permission = Perm.Random)
|
|
@Help("重新生成彩票号码§4(管理员命令)")
|
|
@Sort(4)
|
|
public void random(final CommandArgument e) {
|
|
LotteryUtils.updateSystemLottery(e.getSender());
|
|
}
|
|
|
|
@Cmd(permission = Perm.Reload)
|
|
@Help("重载彩票插件§4(管理员命令)")
|
|
@Sort(7)
|
|
public void reload(final CommandArgument e) {
|
|
final CommandSender sender = e.getSender();
|
|
final PluginManager pm = plugin.getServer().getPluginManager();
|
|
ChatUtils.sendMessage(sender, ChatColor.GREEN + "配置文件已重载!");
|
|
pm.disablePlugin(plugin);
|
|
pm.enablePlugin(plugin);
|
|
}
|
|
|
|
@Cmd(permission = Perm.Reward)
|
|
@Help("结算上一轮彩票§4(管理员命令)")
|
|
@Sort(5)
|
|
public void reward(final CommandArgument e) {
|
|
LotteryUtils.rewardLastLottery();
|
|
ChatUtils.sendMessage(e.getSender(), ChatColor.GREEN + "已结算上一轮彩票!");
|
|
}
|
|
|
|
@Cmd(onlyPlayer = true)
|
|
@Help("查看已购买彩票")
|
|
@Sort(1)
|
|
public void show(final CommandArgument e) {
|
|
PlayerData.showPlayerLottery((Player) e.getSender());
|
|
}
|
|
|
|
@Cmd(permission = Perm.ShowAll)
|
|
@Help("查看所以玩家已购买彩票§4(管理员命令)")
|
|
@Sort(2)
|
|
public void showall(final CommandArgument e) {
|
|
PlayerData.showAllPlayerLottery(e.getSender());
|
|
}
|
|
}
|