Помогите Проверить есть ли player.getUniqueId().dat

  • Автор темы Автор темы xDark
  • Дата начала Дата начала

xDark

Активный участник
Пользователь
Баллы
96
Здравствуйте тру девелоперы, не удается проверить, есть ли файл .dat (с UUID) игрока.
Вот код (не говорить что д*****)
Заранее спасибо.
Строка 79:
CSS:
package me.xDark.plugin;

import java.io.File;
import java.io.IOException;
import java.util.HashMap;

import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.configuration.file.YamlConfiguration;
import org.bukkit.event.Listener;
import org.bukkit.plugin.PluginManager;
import org.bukkit.plugin.java.JavaPlugin;
import org.bukkit.entity.Player;;

public class Main extends JavaPlugin implements Listener {
    // Cooldown HashMap
    public HashMap<String, Long> cooldowns = new HashMap<String, Long>();
    // Getting new file
    File Report = new File(this.getDataFolder().toString().concat(File.separator).concat("reports".concat(".yml")));
    // Adding loader
    YamlConfiguration ReportLoader = YamlConfiguration.loadConfiguration(Report);
    @Override
    public void onEnable() {
        // Plugin enabled
        System.out.println("plugin enabled!");
        // Register events
        PluginManager pm = Bukkit.getServer().getPluginManager();
        pm.registerEvents(this, this);
        // Create report.yml
        if (!Report.exists()) {
        try {
            Report.createNewFile();
            System.out.println("[] Reports.yml not found! Creating one...");
        } catch (IOException e) {
            e.printStackTrace();
        }
        }
    }
    @Override
    public void onDisable() {
        // Plugin disabled
        System.out.println("plugin disabled!");
        // Save report file on disable
        try {
            ReportLoader.save(Report);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
    @SuppressWarnings("deprecation")
    public boolean onCommand(CommandSender sender, Command cmd, String commandLabel, String[] args){
        Player p = (Player)sender;
        // Set cooldown to 60 seconds
        int cooldownTime = 60;
        // Check if sender already executed command
        if(cooldowns.containsKey(sender.getName())) {
            long Left = ((cooldowns.get(sender.getName())/1000)+cooldownTime) - (System.currentTimeMillis()/1000);
            // Check if seconds left is more than 0
            if (Left  > 0) {
                // Send error message
                sender.sendMessage(ChatColor.RED + "You can not use this command for another " + Left + " seconds!");
                return true;
            }
        }
        cooldowns.put(sender.getName(), System.currentTimeMillis());
          // Check if command is /report
          if (commandLabel.equalsIgnoreCase("report"))
              // Check if sender has enough permissions
              if (sender.hasPermission("tutorial.report"))
                  // Check if args length =/ 2
                  if (args.length != 2) {
                      // Send error message
                      sender.sendMessage(ChatColor.RED + "Too few/much arguments!");
                      sender.sendMessage(ChatColor.GOLD + "Use /report [player] [reason]");
              }else{
                  // Call target .dat file
                    File ReportChecker = new File("/world/playerdata/".concat(p.getUniqueId()..concat(".dat")));
                  // Get player args[0]
                  Player target = Bukkit.getServer().getPlayer(args[0]);
                  // Check if sender has enough permissions
                  if (sender.hasPermission("tutorial.report"))
                      // Check if args is 2
                      if (args.length == 2)
                          // Check if .dat file exists
                          if (args[0].equals(ReportChecker.exists()))
                              // Check if args[1] has a reason
                              if (!args[1].isEmpty()) {
                                  // Send message
                                  cooldowns.put(sender.getName(), System.currentTimeMillis());
                                  sender.sendMessage(ChatColor.GOLD + "Report information:");
                                  sender.sendMessage(ChatColor.GOLD + "Reported player: " + args[0]);
                                  sender.sendMessage(ChatColor.GOLD + "Reason: " + args[1]);
                                  // Set report
                                  ReportLoader.set(target.getName().toString(), args[1] + ". Reported by " + sender.getName().toString());
                                  try {
                                      // Save report
                                        ReportLoader.save(Report);
                                    } catch (IOException e) {
                                        e.printStackTrace();
                                    }
                              }
              }
        return true;
    }
}
 
Код:
//Здесь ты не проверил UUID, ты создаешь файл с названием UUID того 
//игрока, и естественно он там уже есть,
прости дальше код не увидел
А плюс(+) тебя не пробовал ставить? Между "/world/playerdata/" и concat(p.getUniqueId()..concat(".dat")
 
Последнее редактирование:
Чем плох метод player.hasPlayedBefore() ?
 
Назад
Верх