package net.mc_pandacraft.java.plugin.pandacraftutils.commands; import org.bukkit.Location; import org.bukkit.Material; import org.bukkit.World; import org.bukkit.command.BlockCommandSender; import org.bukkit.command.Command; import org.bukkit.command.CommandSender; import org.bukkit.command.ConsoleCommandSender; import org.bukkit.entity.Player; public class CommandSetblock extends AbstractCommandExecutor { public CommandSetblock() { super("setblock"); } @Override public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) { if (sender instanceof Player) { if (sender.hasPermission("pandacraft.setblock")) { if (args.length >= 4) { int x, y, z; try { x = Integer.parseInt(args[0]); y = Integer.parseInt(args[1]); z = Integer.parseInt(args[2]); } catch (NumberFormatException e) { sender.sendMessage("§cLes coordonnées doivent être des chiffres :"); return false; } Material mat = Material.matchMaterial(args[3]); if (mat == null) { sender.sendMessage("§cLe type de bloc indiqué n'existe pas :"); return false; } World w = ((Player)sender).getWorld(); if (args.length >= 5 && plugin.getServer().getWorld(args[4]) != null) w = plugin.getServer().getWorld(args[4]); w.getBlockAt(x, y, z).setType(mat); sender.sendMessage("Bloc changé en "+mat+" à l'endroit "+(new Location(w, x, y, z))); } else { sender.sendMessage("§cPas assez de paramètres :"); return false; } } else sender.sendMessage("§cVous n'avez pas la permission"); } else if (sender instanceof BlockCommandSender) { if (args.length >= 4) { int x, y, z; try { x = Integer.parseInt(args[0]); y = Integer.parseInt(args[1]); z = Integer.parseInt(args[2]); } catch (NumberFormatException e) { sender.sendMessage("§cLes coordonnées doivent être des chiffres"); return false; } Material mat = Material.matchMaterial(args[3]); if (mat == null) { sender.sendMessage("§cLe type de bloc indiqué n'existe pas"); return false; } World w = ((BlockCommandSender)sender).getBlock().getWorld(); if (args.length >= 5 && plugin.getServer().getWorld(args[4]) != null) w = plugin.getServer().getWorld(args[4]); w.getBlockAt(x, y, z).setType(mat); sender.sendMessage("Bloc changé en "+mat+" à l'endroit "+(new Location(w, x, y, z))); } else { sender.sendMessage("§cPas assez de paramètres"); return false; } } else if (sender instanceof ConsoleCommandSender) { if (args.length >= 5) { int x, y, z; try { x = Integer.parseInt(args[0]); y = Integer.parseInt(args[1]); z = Integer.parseInt(args[2]); } catch (NumberFormatException e) { sender.sendMessage("§cLes coordonnées doivent être des chiffres :"); return false; } Material mat = Material.matchMaterial(args[3]); if (mat == null) { sender.sendMessage("§cLe type de bloc indiqué n'existe pas :"); return false; } World w = plugin.getServer().getWorld(args[4]); if (w == null) { sender.sendMessage("§cLe monde indiqué n'existe pas :"); return false; } w.getBlockAt(x, y, z).setType(mat); } else { sender.sendMessage("§cPas assez de paramètres :"); return false; } } return true; } }