HgWorldPlugin/src/com/bernard/hgWorld/commands/HgManagerCommand.java

59 lines
1.9 KiB
Java

package com.bernard.hgWorld.commands;
import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import com.bernard.hgWorld.HgWorldPlugin;
import com.bernard.hgWorld.objects.HgGame;
public class HgManagerCommand implements CommandExecutor{
@Override
public boolean onCommand(CommandSender sender, Command command, String cName, String[] args) {
if(args.length == 0)return false;
if(!(sender instanceof Player)) {
sender.sendMessage("Seul un joueur peut lancer cette commande");
return true;
}
Player p = (Player)sender;
HgGame game;
switch(args[0]) {
case "init":
if(HgWorldPlugin.games.containsKey(p.getWorld().getName())) {
sender.sendMessage("Une partie a déjà été initialisée dans ce monde (voir démarée)");return true;
}
String[] commandArgs = new String[args.length-1];
System.arraycopy(args, 0, commandArgs, 0, commandArgs.length);
game = HgGame.initGame(commandArgs,p.getWorld());
HgWorldPlugin.games.put(p.getName(), game);
case "start":
game = HgWorldPlugin.games.get(p.getWorld().getName());
if(game==null) {
sender.sendMessage("Aucune partie n'a été initiée dans ce monde (utilisez 'hg init')");return true;
}
if(game.isStarted()) {
sender.sendMessage("Une partie est déjà en cours dans ce monde");return true;
}
case "pause":
game = HgWorldPlugin.games.get(p.getWorld().getName());
if(game==null) {
sender.sendMessage("Aucune partie n'a été initiée dans ce monde (utilisez 'hg init')");return true;
}
if(!game.isStarted()) {
sender.sendMessage("La partie n'a pas encore démarrée ...");return true;
}
if(game.isPause()) {
sender.sendMessage("La partie est déjà en pause ...");return true;
}
//XXX
}
return false;
}
}