Bonjour mon plugin de duel a différentes arènes mets le dossier arenas.yml ne veut pas se créer quand je lance le serveur il est censé se créer aidez-moi s'il vous plaît merci cordialement
code de plugin duel.java
code de Arena.java
code de ArenaManager.java
code de plugin duel.java
Code:
package fr.lemineurfou.duel;
import java.io.File;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
import org.apache.logging.log4j.core.config.yaml.YamlConfiguration;
import org.bukkit.Bukkit;
import org.bukkit.Location;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import org.bukkit.plugin.java.JavaPlugin;
import org.yaml.snakeyaml.Yaml;
import fr.lemineurfou.duel.arenas.ArenaManager;
import fr.lemineurfou.duel.commands.alert.alert;
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("Duel is on");
getCommand("alert").setExecutor(new alert());
getCommand("duel").setExecutor(this);
if(!getDataFolder().exists())
{
getDataFolder().mkdir();
}
arenaFile = new File(getDataFolder() + File.separator + "arenas.yml");
if(!arenaFile.exists())
{
try {
arenaFile.createNewFile();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
arenaConfig = YamlConfiguration.loadConfiguration(arenaFile);
}
@SuppressWarnings({ "null", "unlikely-arg-type" })
@Override
public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
if(label.equalsIgnoreCase("duel") && sender instanceof Player)
{
Player player = (Player) sender;
if(args.length == 0)
{
player.sendMessage("§4/duel <player>");
player.sendMessage("§4/duel <yes/no>");
return true;
}
if(args.length == 1)
{
String targetName = args[0];
if(args[0].equalsIgnoreCase("yes"))
{
if(players.containsKey(player))
{
player.sendMessage("Ok la duel ce lance !");
Player firstPlayerTarget = players.get(player);
firstPlayerTarget.sendMessage("Ok le duel ce lance !");
player.teleport(new Location(Bukkit.getWorld("world"), 0, 5, 10));
firstPlayerTarget.teleport(new Location(Bukkit.getWorld("world"), 10, 5, 10));
players.remove(player);
}
}
else if(args[0].equalsIgnoreCase("no"))
{
if(players.containsKey(player))
{
player.sendMessage("Vous avez refusé le duel !");
Player firstPlayersTarget = players.get(player);
firstPlayersTarget.sendMessage("Le joueur §e" + player.getName()+"§r a refusé le duel !");
players.remove(player);
}
}
else if(Bukkit.getPlayer(targetName) != null)
{
Player target = Bukkit.getPlayer(targetName);
if(players.containsKey(targetName))
{
player.sendMessage("§
cAttention ce joueur à deja une demande 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 jouer §c" + targetName+"§r n'existe pas ou n'est pas en ligne");
}
return true;
}
}
return super.onCommand(sender, command, label, args);
}
@Override
public void onDisable() {
System.out.println("Duel is off");
code de Arena.java
Code:
package fr.lemineurfou.duel.arenas;
import java.util.ArrayList;
import java.util.List;
import org.bukkit.Location;
import org.bukkit.entity.Player;
public class Arena {
private Location loc1;
private Location loc2;
private List<Player> players;
private boolean isStarted;
public Arena(Location loc1, Location loc2) {
this.loc1 = loc1;
this.loc2 = loc2;
this.players = new ArrayList<>();
this.isStarted = false;
}
public Location getFirstLoc() {
return loc1;
}
public Location getSecondLoc() {
return loc2;
}
public List<Player> getplayers() {
return players;
}
public boolean isStarted() {
return isStarted;
}
}
code de ArenaManager.java
Code:
package fr.lemineurfou.duel.arenas;
import java.util.ArrayList;
import java.util.List;
import org.bukkit.entity.Player;
public class ArenaManager {
private List<Arena> arenas = new ArrayList<>();
public void addArena(Arena arena) {
this.arenas.add(arena);
}
public void joinArena(Player firstPlayer, Player secondPlayer) {
Arena nextArena = getNextArena();
if(nextArena != null)
{
nextArena.getplayers().add(firstPlayer);
nextArena.getplayers().add(secondPlayer);
}
else {
firstPlayer.sendMessage("§cIl n'y a aucune arène disponible pour fair un duel");
} secondPlayer.sendMessage("§cIl n'y a aucune arène disponible pour fair un duel");
}
private Arena getNextArena() {
for(Arena arena : arenas)
{
if(!arena.isStarted())
{
return arena;
}
}
return null;
}
public List<Arena> getArenas(){
return arenas;
}
}