Commande Minecraft Argument Int
titisoli
Messages postés
18
Date d'inscription
Statut
Membre
Dernière intervention
-
titisoli Messages postés 18 Date d'inscription Statut Membre Dernière intervention -
titisoli Messages postés 18 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je souhaiterai crée une commande Minecraft.
La commande est /slow (secondes).
Cependant, je ne sais pas comment crée une commande qui doit contenir uniquement un argument ayant comme valeur un Int.
Je voudrais notamment empêcher le /slow abcde et n'autoriser que des /slow 5, /slow 178...
Voici mon code (Vérification du Int à la ligne 19 qui est incomplète):
https://pastebin.com/vNWUJvr7
ou si vous préférez:
Merci de vos réponses.
Je souhaiterai crée une commande Minecraft.
La commande est /slow (secondes).
Cependant, je ne sais pas comment crée une commande qui doit contenir uniquement un argument ayant comme valeur un Int.
Je voudrais notamment empêcher le /slow abcde et n'autoriser que des /slow 5, /slow 178...
Voici mon code (Vérification du Int à la ligne 19 qui est incomplète):
https://pastebin.com/vNWUJvr7
ou si vous préférez:
package fr.titisoli; import org.bukkit.command.Command; import org.bukkit.command.CommandExecutor; import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; public class Commands implements CommandExecutor { @Override public boolean onCommand(CommandSender sender, Command cmd, String msg, String[] args) { Player p = (Player)sender; if(sender instanceof Player){ if(cmd.getName().equalsIgnoreCase("slow")){ if(args.length==0){ p.sendMessage("§4/slow <seconds>"); return true; }else{ if(args[0]){ } } } } return false; } }
Merci de vos réponses.
A voir également:
- Commande Minecraft Argument Int
- Invite de commande - Guide
- Commande terminal mac - Guide
- Minecraft gratuit - Télécharger - Stratégie
- Commande dism - Guide
- Diskpart commande - Guide
2 réponses
Bonjour,
Tu peux t'en sortir facilement avec de la gestion d'exception.
Exemple :
Tu peux t'en sortir facilement avec de la gestion d'exception.
Exemple :
try { int seconds = Integer.parseInt(args[0]); if (seconds > 0) { // ... } } catch (RuntimeException e) { e.printStackTrace(); }
Merci pour ta réponse.
Cependant, saurait-tu pourquoi le temps d'attente ne s’exécute pas entre deux messages et si possibles, comment faire patientez le programme sans le Thread.sleep(); ou autre bout de code qui font endormir le serveur ou le plugin au lieu d'attendre ?
Code:
Cependant, saurait-tu pourquoi le temps d'attente ne s’exécute pas entre deux messages et si possibles, comment faire patientez le programme sans le Thread.sleep(); ou autre bout de code qui font endormir le serveur ou le plugin au lieu d'attendre ?
Code:
package fr.titisoli;
import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.player.PlayerChatEvent;
@SuppressWarnings("deprecation")
public class Commands implements CommandExecutor {
public int secondsWait = 0;
public String canChat = new String ("OK");
@Override
public boolean onCommand(CommandSender sender, Command cmd, String msg, String[] args) {
Player p = (Player)sender;
if(sender instanceof Player){
if(cmd.getName().equalsIgnoreCase("slow")){
if(args.length==0){
p.sendMessage("§c/slow <seconds>");
return true;
}else{
try {
int seconds = Integer.parseInt(args[0]);
p.sendMessage("§aVous devez maintenez patientez §7"+seconds+" §asecondes avant d'envoyer un message");
secondsWait = seconds;
} catch (RuntimeException e) {
p.sendMessage("§cLe nombre de secondes est à formuler en chiffres");
}
}
}
}
return false;
}
@EventHandler
public void onChat(PlayerChatEvent e){
Player player = e.getPlayer();
if(player instanceof Player){
if(canChat.equals("OK")){
canChat="No";
try {
wait(secondsWait*1000);
canChat="OK";
} catch (InterruptedException e1) {
e1.printStackTrace();
player.sendMessage("§4Une erreur s'est produite");
}
}else{
player.sendMessage("§4Vous êtes en SlowMode !");
e.setCancelled(true);
}
}
}
}