- Баллы
- 96
Здравствуйте тру девелоперы, не удается проверить, есть ли файл .dat (с UUID) игрока.
Вот код (не говорить что д*****)
Заранее спасибо.
Строка 79:
Вот код (не говорить что д*****)
Заранее спасибо.
Строка 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;
}
}