Je sais que je ne suis pas sur un forum minecraft...mais je me suis dit que sur un forum java,il y allait bien y avoir des dev de plugins minecraft qui allait passer...Donc voila mon problème :(instrumental ringtone)
Je suis débutant en java ainsi qu'en création de plugins même si j'ai quelque base en java pure et j'essaye de créer un plugins minecraft.Mon serveur est en 1.8.8 et j'utilise spigot et non bukkit.Mon problème est que quand je tape ma commande /test spec qui est censé me mettre en gamemode spectateur rien ne se passe...Voila mon code :
Ma classe principale :
package com.gmail.antoinesauzeau;
import org.bukkit.event.Listener;
import org.bukkit.plugin.java.JavaPlugin;
public class Classeprincipale extends JavaPlugin implements Listener{
public void onEnabled(){
System.out.println("Le plugins à démarré !");
getCommand("test").setExecutor(new testCommande());
}
public void onDisabled(){
System.out.println("Le plugins est éteint !");
}
}
Voici maintenant ma classe ou il y a ma commande :
package com.gmail.antoinesauzeau;
import org.bukkit.GameMode;
import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
public class testCommande implements CommandExecutor {
@Override
public boolean onCommand(CommandSender sender, Command cmd, String msg, String[] args) {
if(sender instanceof Player){
Player p = (Player)sender;
if(cmd.getName().equalsIgnoreCase("test")){
if(args.length == 0){
}
if(args.length == 1){
if(args[0].equalsIgnoreCase("spec")){
p.sendMessage("tu est désormais en gamemode spectateur !");
p.setGameMode(GameMode.SPECTATOR);
}
}
}
}
return false;
}
}
Et mon plugin.yml :
name: antsplugin
main: com.gmail.antoinesauzeau.Classeprincipale
version: 0.1
author: ants974
commands:
test:
description: cette commande met en spectateur
permission: test.use
Voila j'éspère que quelqu'un trouvera mon problème et éspère n'avoir pas fait trop de faute d'hortographes...
Merci d'avance,
Ps : J'utilise eclipse comme IDE est je code en java 1.7
Vous pouvez voir plus car racing games free download | bike racing games download. Bon amusement!
Salut, tu n'es pas dans la section "java" mais "javascript", deux langages complètementsdifférents
Bonjour,
@Advancid args est un tableau, donc .length existe bien.
@ngomaichi : Est-ce que le plugin est bien chargé? Une ligne doit apparaître au démarrage du serveur d'après la doc.
Je ne connais absolument pas minecraft mais la doc indique également:
Replace "kit" with the name of your command.commands:
kit:
description: Your description
usage: /kit
L'usage doit être important.
Autre point, passe tes chaine de caractères qui indiquent des commandes ou des paramètres en constantes ("test","spec") plus facile à maintenir. Tu peux également faire une classe (ou plusieurs) de toutes les constantes et ensuite accéder aux variables par un accès statique ou alors faire une interface qui contient que des constantes et que vont implémenter toutes tes classes. Elle seront ainsi directement accessibles dans les classes.
Ensuite :
Les tests
cmd.getName().equals("truc")
s'exposent au nullPointerException si le name est null. Priviligie plutôt
"truc".equals(cmd.getName())
Enfin
if(args.length == 0){around } if(args.length == 1){around if(args[0].equalsIgnoreCase("spec")){ around....around}// ==> if(args != null && args.length >0 ) serait plus simple non ?