plugin.yml bug help svp

4 Décembre 2021
14
0
1
23
boujour,
pourquoi sa marche pas svp l erreur est la suivante
Could not load 'plugins\duel.jar' in folder 'plugins'
org.bukkit.plugin.InvalidDescriptionException: Invalid plugin.yml
at org.bukkit.plugin.java.JavaPluginLoader.getPluginDescription(JavaPluginLoader.java:180) ~[spigot.jar:3284-Spigot-3892929-0ebef35]
at org.bukkit.plugin.SimplePluginManager.loadPlugins(SimplePluginManager.java:144) ~[spigot.jar:3284-Spigot-3892929-0ebef35]
at org.bukkit.craftbukkit.v1_17_R1.CraftServer.loadPlugins(CraftServer.java:409) ~[spigot.jar:3284-Spigot-3892929-0ebef35]
at org.bukkit.craftbukkit.v1_17_R1.CraftServer.reload(CraftServer.java:908) ~[spigot.jar:3284-Spigot-3892929-0ebef35]
at org.bukkit.Bukkit.reload(Bukkit.java:697) ~[spigot.jar:3284-Spigot-3892929-0ebef35]
at org.bukkit.command.defaults.ReloadCommand.execute(ReloadCommand.java:27) ~[spigot.jar:3284-Spigot-3892929-0ebef35]
at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:149) ~[spigot.jar:3284-Spigot-3892929-0ebef35]
at org.bukkit.craftbukkit.v1_17_R1.CraftServer.dispatchCommand(CraftServer.java:790) ~[spigot.jar:3284-Spigot-3892929-0ebef35]
at org.bukkit.craftbukkit.v1_17_R1.CraftServer.dispatchServerCommand(CraftServer.java:775) ~[spigot.jar:3284-Spigot-3892929-0ebef35]
at net.minecraft.server.dedicated.DedicatedServer.handleCommandQueue(DedicatedServer.java:475) ~[spigot.jar:3284-Spigot-3892929-0ebef35]
at net.minecraft.server.dedicated.DedicatedServer.b(DedicatedServer.java:439) ~[spigot.jar:3284-Spigot-3892929-0ebef35]
at net.minecraft.server.MinecraftServer.a(MinecraftServer.java:1217) ~[spigot.jar:3284-Spigot-3892929-0ebef35]
at net.minecraft.server.MinecraftServer.x(MinecraftServer.java:1050) ~[spigot.jar:3284-Spigot-3892929-0ebef35]
at net.minecraft.server.MinecraftServer.lambda$0(MinecraftServer.java:305) ~[spigot.jar:3284-Spigot-3892929-0ebef35]
at java.lang.Thread.run(Thread.java:833) [?:?]
Caused by: org.yaml.snakeyaml.scanner.ScannerException: mapping values are not allowed here
in 'reader', line 8, column 17:
permission: bc.use
^

at org.yaml.snakeyaml.scanner.ScannerImpl.fetchValue(ScannerImpl.java:890) ~[spigot.jar:3284-Spigot-3892929-0ebef35]
at org.yaml.snakeyaml.scanner.ScannerImpl.fetchMoreTokens(ScannerImpl.java:379) ~[spigot.jar:3284-Spigot-3892929-0ebef35]
at org.yaml.snakeyaml.scanner.ScannerImpl.checkToken(ScannerImpl.java:248) ~[spigot.jar:3284-Spigot-3892929-0ebef35]
at org.yaml.snakeyaml.parser.ParserImpl$ParseBlockMappingKey.produce(ParserImpl.java:602) ~[spigot.jar:3284-Spigot-3892929-0ebef35]
at org.yaml.snakeyaml.parser.ParserImpl.peekEvent(ParserImpl.java:165) ~[spigot.jar:3284-Spigot-3892929-0ebef35]
at org.yaml.snakeyaml.comments.CommentEventsCollector$1.peek(CommentEventsCollector.java:59) ~[spigot.jar:3284-Spigot-3892929-0ebef35]
at org.yaml.snakeyaml.comments.CommentEventsCollector$1.peek(CommentEventsCollector.java:45) ~[spigot.jar:3284-Spigot-3892929-0ebef35]
at org.yaml.snakeyaml.comments.CommentEventsCollector.collectEvents(CommentEventsCollector.java:140) ~[spigot.jar:3284-Spigot-3892929-0ebef35]
at org.yaml.snakeyaml.comments.CommentEventsCollector.collectEvents(CommentEventsCollector.java:119) ~[spigot.jar:3284-Spigot-3892929-0ebef35]
at org.yaml.snakeyaml.composer.Composer.composeScalarNode(Composer.java:221) ~[spigot.jar:3284-Spigot-3892929-0ebef35]
at org.yaml.snakeyaml.composer.Composer.composeNode(Composer.java:191) ~[spigot.jar:3284-Spigot-3892929-0ebef35]
at org.yaml.snakeyaml.composer.Composer.composeValueNode(Composer.java:313) ~[spigot.jar:3284-Spigot-3892929-0ebef35]
at org.yaml.snakeyaml.composer.Composer.composeMappingChildren(Composer.java:304) ~[spigot.jar:3284-Spigot-3892929-0ebef35]
at org.yaml.snakeyaml.composer.Composer.composeMappingNode(Composer.java:288) ~[spigot.jar:3284-Spigot-3892929-0ebef35]
at org.yaml.snakeyaml.composer.Composer.composeNode(Composer.java:195) ~[spigot.jar:3284-Spigot-3892929-0ebef35]
at org.yaml.snakeyaml.composer.Composer.composeValueNode(Composer.java:313) ~[spigot.jar:3284-Spigot-3892929-0ebef35]
at org.yaml.snakeyaml.composer.Composer.composeMappingChildren(Composer.java:304) ~[spigot.jar:3284-Spigot-3892929-0ebef35]
at org.yaml.snakeyaml.composer.Composer.composeMappingNode(Composer.java:288) ~[spigot.jar:3284-Spigot-3892929-0ebef35]
at org.yaml.snakeyaml.composer.Composer.composeNode(Composer.java:195) ~[spigot.jar:3284-Spigot-3892929-0ebef35]
at org.yaml.snakeyaml.composer.Composer.composeValueNode(Composer.java:313) ~[spigot.jar:3284-Spigot-3892929-0ebef35]
at org.yaml.snakeyaml.composer.Composer.composeMappingChildren(Composer.java:304) ~[spigot.jar:3284-Spigot-3892929-0ebef35]
at org.yaml.snakeyaml.composer.Composer.composeMappingNode(Composer.java:288) ~[spigot.jar:3284-Spigot-3892929-0ebef35]
at org.yaml.snakeyaml.composer.Composer.composeNode(Composer.java:195) ~[spigot.jar:3284-Spigot-3892929-0ebef35]
at org.yaml.snakeyaml.composer.Composer.getNode(Composer.java:115) ~[spigot.jar:3284-Spigot-3892929-0ebef35]
at org.yaml.snakeyaml.composer.Composer.getSingleNode(Composer.java:146) ~[spigot.jar:3284-Spigot-3892929-0ebef35]
at org.yaml.snakeyaml.constructor.BaseConstructor.getSingleData(BaseConstructor.java:151) ~[spigot.jar:3284-Spigot-3892929-0ebef35]
at org.yaml.snakeyaml.Yaml.loadFromReader(Yaml.java:490) ~[spigot.jar:3284-Spigot-3892929-0ebef35]
at org.yaml.snakeyaml.Yaml.load(Yaml.java:429) ~[spigot.jar:3284-Spigot-3892929-0ebef35]
at org.bukkit.plugin.PluginDescriptionFile.<init>(PluginDescriptionFile.java:259) ~[spigot.jar:3284-Spigot-3892929-0ebef35]
at org.bukkit.plugin.java.JavaPluginLoader.getPluginDescription(JavaPluginLoader.java:175) ~[spigot.jar:3284-Spigot-3892929-0ebef35]

merci.
 
Dernière édition:

ShE3py

Enbogueuse
Support
26 Septembre 2015
4 129
162
461
247
21
Mìlhüsa
Bonsoir,

Peux-tu envoyer ton fichier « plugin.yml » dans des balises [code][/code] ?
Code:
[code]
Copie-colle le contenu du fichier entre ces deux balises à réécrire
[*/code]

Sans l'astérisque « * », tu peux aussi simplement envoyer le fichier en pièce jointe.

Cordialement,
ShE3py
 
4 Décembre 2021
14
0
1
23
Bonsoir,

Peux-tu envoyer ton fichier « plugin.yml » dans des balises [code][/code] ?
Code:
[code]
Copie-colle le contenu du fichier entre ces deux balises à réécrire
[*/code]

Sans l'astérisque « * », tu peux aussi simplement envoyer le fichier en pièce jointe.

Cordialement,
ShE3py
merci je réussi a resoudre mon probleme mais jen et un autre le fichier config arenas.yml se génère pas help svp ps : le fichier plugin.yml je les join mais il a pas load
cordialement.

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;
    }
}
 
Dernière édition: