Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package fr.hyrpik.duel;
- import java.io.File;
- import java.io.IOException;
- import java.util.HashMap;
- import java.util.Map;
- import java.util.Random;
- import org.bukkit.Bukkit;
- import org.bukkit.Location;
- import org.bukkit.command.Command;
- import org.bukkit.command.CommandSender;
- import org.bukkit.configuration.ConfigurationSection;
- import org.bukkit.configuration.file.YamlConfiguration;
- import org.bukkit.entity.Player;
- import org.bukkit.plugin.java.JavaPlugin;
- import fr.hyrpik.duel.Arenas.Arena;
- import fr.hyrpik.duel.Arenas.ArenaListeners;
- import fr.hyrpik.duel.Arenas.ArenaManager;
- public class Duel extends JavaPlugin {
- private Map<Player, Player> players = new HashMap<>();
- private ArenaManager arenamanager = new ArenaManager();
- private File arenaFile;
- private YamlConfiguration arenaConfig;
- @Override
- public void onEnable() {
- System.out.println("Le plugin Duel vient de s'allumer !");
- getCommand("duel").setExecutor(this);
- getServer().getPluginManager().registerEvents(new ArenaListeners(this), this);
- loadArenaConfig();
- ConfigurationSection arenaSection = arenaConfig.getConfigurationSection("arenas");
- for(String string : arenaSection.getKeys(false))
- {
- String loc1 = arenaSection.getString(string + "loc1");
- String loc2 = arenaSection.getString(string + "loc2");
- Arena arena = new Arena(parseStringToLoc(loc1), parseStringToLoc(loc2));
- arenamanager.addArena(arena);
- }
- }
- private void loadArenaConfig() {
- if(!getDataFolder().exists())
- {
- getDataFolder().mkdir();
- }
- arenaFile = new File(getDataFolder() + File.separator + "arenas.yml");
- if(!arenaFile.exists())
- {
- try {
- arenaFile.createNewFile();
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
- arenaConfig = YamlConfiguration.loadConfiguration(arenaFile);
- }
- @Override
- public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
- Player player = (Player) sender;
- if(label.equalsIgnoreCase("duel") && sender instanceof Player)
- {
- if(args.length == 0)
- {
- player.sendMessage("§4/duel <player>");
- player.sendMessage("§4/duel <accept/deny>");
- return true;
- }
- if(args.length >= 1)
- {
- String targetName = args[0];
- if(args[0].equalsIgnoreCase("accept")) {
- if(players.containsKey(player))
- {
- player.sendMessage("Ok, le duel se lance !");
- Player firstPlayerTarget = players.get(player);
- firstPlayerTarget.sendMessage("Ok, le duel se lance !");
- arenamanager.joinArena(player, firstPlayerTarget);
- players.remove(player);
- }
- }
- else if(args[0].equalsIgnoreCase("deny")) {
- if(players.containsKey(player))
- {
- player.sendMessage("Vous avez refusé le duel !");
- Player firstPlayerTarget = players.get(player);
- firstPlayerTarget.sendMessage("Le joueur §e" + player.getName() + "§r a refusé le duel !");
- players.remove(player);
- }
- }
- else if(args[0].equalsIgnoreCase("createarena")) {
- if(args.length < 3)
- {
- player.sendMessage("Taper la commande /duel createarena <loc1> <loc2>");
- return true;
- }
- Location loc1 = parseStringToLoc(args[1]);
- Location loc2 = parseStringToLoc(args[2]);
- Arena arena = new Arena(loc1 , loc2);
- String arenaName = "arena-" + new Random().nextInt(9999);
- arenaConfig.set("arenas." + arenaName+".loc1", args[1]);
- arenaConfig.set("arenas." + arenaName+".loc2", args[2]);
- saveArenaConfig();
- arenamanager.addArena(arena);
- player.sendMessage("Vous venez de créer l'arène §a" + arenaName + "!");
- }
- else if(Bukkit.getPlayer(targetName) != null)
- {
- Player target = Bukkit.getPlayer(targetName);
- if(players.containsKey(target))
- {
- player.sendMessage("§cAttention ce joueur à deja une demande de duel en cours...");
- return true;
- }
- players.put(target, player);
- player.sendMessage("Vous venez de demander un duel à §e" + targetName);
- target.sendMessage("§9Vous venez de recevoir une demande de duel de §r" + player.getName());
- }
- else
- {
- player.sendMessage("Le joueur §c" + targetName+"§r n'existe ou n'est pas ligne.");
- }
- return true;
- }
- }
- return false;
- }
- private void saveArenaConfig() {
- try {
- arenaConfig.save(arenaFile);
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
- public ArenaManager getArenamanager() {
- return arenamanager;
- }
- public void setArenamanager(ArenaManager arenamanager) {
- this.arenamanager = arenamanager;
- }
- public Location parseStringToLoc(String string) {
- String[] parsedLoc = string.split(",");
- double x = Double.valueOf(parsedLoc[0]);
- double y = Double.valueOf(parsedLoc[1]);
- double z = Double.valueOf(parsedLoc[2]);
- return new Location(Bukkit.getWorld("wolrd"), x,y,z);
- }
- public String unparseLoString(Location loc) {
- return loc.getX() + "," + loc.getY() + "," + loc.getZ();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement