Хостинг серверов Minecraft playvds.com
  1. Вы находитесь в русском сообществе Bukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на русский язык плагины наших собратьев из других стран.
    Скрыть объявление

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

Тема в разделе "Разработка плагинов для новичков", создана пользователем xDark, 5 июл 2016.

  1. Автор темы
    xDark

    xDark Активный участник Пользователь

    Баллы:
    96
    Skype:
    ailyashevich
    Имя в Minecraft:
    xDark
    Здравствуйте тру девелоперы, не удается проверить, есть ли файл .dat (с UUID) игрока.
    Вот код (не говорить что д*****)
    Заранее спасибо.
    Строка 79:
    Код:
    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;
        }
    }
     
  2. Хостинг MineCraft
    <
  3. _MediaNik_

    _MediaNik_ Активный участник Пользователь

    Баллы:
    46
    Skype:
    Medianik5
    Имя в Minecraft:
    _MediaNik_
    Код:
    //Здесь ты не проверил UUID, ты создаешь файл с названием UUID того 
    //игрока, и естественно он там уже есть,
    
    прости дальше код не увидел[DOUBLEPOST=1467712641,1467711771][/DOUBLEPOST]А плюс(+) тебя не пробовал ставить? Между "/world/playerdata/" и concat(p.getUniqueId()..concat(".dat")
     
    Последнее редактирование: 5 июл 2016
  4. Reality_SC

    Reality_SC Старожил Пользователь

    Баллы:
    123
    Имя в Minecraft:
    Reality_SC
    Чем плох метод player.hasPlayedBefore() ?
     

Поделиться этой страницей