PandacraftUtils/src/net/mc_pandacraft/java/plugin/pandacraftutils/commands/CommandSetblock.java

144 lines
3.5 KiB
Java

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;
}
}