TeamVento/src/main/java/eu/univento/teamvento/commands/Prebuild.java

69 lines
2.7 KiB
Java

package eu.univento.teamvento.commands;
import eu.univento.core.api.AutoCommand;
import eu.univento.core.api.languages.Messages;
import eu.univento.core.api.player.CustomPlayer;
import eu.univento.core.api.player.Ranks;
import eu.univento.core.api.server.ServerSettings;
import eu.univento.core.commands.Build;
import eu.univento.teamvento.TeamVento;
import org.bukkit.Bukkit;
import org.bukkit.GameMode;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import org.bukkit.inventory.ItemStack;
import java.util.List;
/**
* @author joethei
* @version 0.1
*/
public class Prebuild extends AutoCommand<TeamVento> {
public Prebuild(TeamVento plugin, String command, String description, String... aliases) {
super(plugin, command, description, aliases);
}
@Override
public boolean execute(CommandSender sender, String label, String[] args) {
if(sender instanceof Player) {
CustomPlayer p = CustomPlayer.getPlayer(sender.getName());
if(p.isAllowed(Ranks.HeadBuilder)) {
if(args.length == 1) {
if(Bukkit.getPlayer(args[0]) != null) {
CustomPlayer t = CustomPlayer.getPlayer(Bukkit.getPlayer(args[0]));
if(Build.getPlayers().containsKey(t)) {
ItemStack[] content = Build.getPlayers().get(t);
t.getInventory().setContents(content);
Build.getPlayers().remove(t);
t.setGameMode(ServerSettings.getGameMode());
t.sendMessage(t.getMessages().PREFIX() + t.getMessages().Core_BUILD_OFF());
}else {
Build.getPlayers().put(t, t.getInventory().getContents());
t.sendMessage(t.getMessages().PREFIX() + t.getMessages().Core_BUILD_ON());
t.getInventory().clear();
t.setGameMode(GameMode.CREATIVE);
t.teleport(Bukkit.getWorld("vorbauen").getSpawnLocation());
}
}else{
p.sendMessage(p.getMessages().PREFIX() + p.getMessages().NOT_ONLINE(args[0]));
}
}else{
p.sendMessage(p.getMessages().PREFIX() + "§cplease use /prebuild <Player>");
}
}else{
p.sendMessage(p.getMessages().NO_PERMS());
}
}else{
sender.sendMessage(Messages.Console.NOT_A_PLAYER);
}
return true;
}
@Override
public List<String> tabComplete(CommandSender sender, String label, String[] args) {
return null;
}
}