144 lines
3.5 KiB
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;
|
|
}
|
|
|
|
}
|