- package com.ayou.surface;
- import org.bukkit.ChatColor;
- import org.bukkit.Location;
- import org.bukkit.command.Command;
- import org.bukkit.command.CommandExecutor;
- import org.bukkit.command.CommandSender;
- import org.bukkit.entity.Player;
- import java.util.HashMap;
- /**
- * @Author Ayou
- * @Description ...
- * @date 2021/6/28 17:00
- */
- public class SurfaceCommand implements CommandExecutor {
- private HashMap<Player,Long> cooldown;
- public SurfaceCommand() {
- this.cooldown = new HashMap<>();
- }
- @Override
- public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
- if (args.length == 0){
- if (sender instanceof Player){
- Player player = (Player) sender;
- if (this.cooldown.containsKey(player)){
- int timeLeft =
- (int) (this.cooldown.get(player) / 1000L + Surface.getInstance().getConfig().getInt("cooldown") - System.currentTimeMillis() / 1000);
- if (timeLeft > 0){
- String msg = Surface.getInstance().getConfig().getString("cooldownMsg").replace("%cooldown",
- String.valueOf(timeLeft));
- player.sendMessage(msg);
- return true;
- }
- }
- if (Surface.getInstance().getEconomy() != null){
- double bal = Surface.getInstance().getEconomy().getBalance(player);
- double money = Surface.getInstance().getConfig().getDouble("money");
- if (bal < money){
- player.sendMessage(ChatColor.translateAlternateColorCodes('&',Surface.getInstance().getConfig().getString("nomoney")));
- return true;
- }
- Surface.getInstance().getEconomy().depositPlayer(player,money);
- }
- Location location = player.getLocation();
- int highy = location.getWorld().getHighestBlockYAt(location);
- location.setY(highy);
- player.teleport(location);
- player.sendMessage(ChatColor.translateAlternateColorCodes('&',Surface.getInstance().getConfig().getString("done")));
- this.cooldown.put(player, System.currentTimeMillis());
- return true;
- }
- }
- if (args.length > 0){
- if (args[0].equalsIgnoreCase("reload")){
- if (sender.isOp()){
- Surface.getInstance().saveConfig();
- Surface.getInstance().reloadConfig();
- sender.sendMessage("[Surface] 成功重载配置文件.");
- }
- return true;
- }
- }
- return true;
- }
- }
复制代码
|