1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889 |
- package me.km.commands;
- import java.io.File;
- import java.util.ArrayList;
- import java.util.Arrays;
- import me.km.api.GlobalText;
- import me.km.api.Module;
- import me.km.api.ModuleCommand;
- import me.km.api.SimpleConfig;
- import me.km.api.Utils;
- import me.km.exception.PlayerNotFoundException;
- import java.util.List;
- import java.util.stream.Collectors;
- import me.km.api.Location;
- import me.km.permissions.Permissions;
- import net.minecraft.command.ICommandSender;
- import net.minecraft.entity.player.EntityPlayer;
- public class CommandWarp extends ModuleCommand
- {
- public CommandWarp(Module m)
- {
- super("warp", m);
- super.setDescription("Teleportiert einen Spieler zum Warp");
- super.setUsage("/warp <warpname> [player]");
- super.setPermission(Permissions.WARP);
- super.addAlias("warps");
- }
- public List<String> getWarps()
- {
- File[] files = SimpleConfig.getFiles("warp");
- if(files == null)
- {
- return new ArrayList<>();
- }
- return Arrays.stream(files).map(w -> w.getName().substring(0, w.getName().length() - 6)).collect(Collectors.toList());
- }
-
- @Override
- public boolean execute(ICommandSender cs, String[] arg)
- {
- if(arg.length < 1)
- {
- this.getModule().send(cs, "Die folgenden Warps stehen zur Verfügung:");
- this.getModule().send(cs, String.join("§7, §r", getWarps()));
- return true;
- }
-
- Location l = Utils.getWarp(this.getModule(), arg[0]);
- if(l == null)
- {
- this.getModule().send(cs, "Der Warp existiert nicht.");
- return true;
- }
- else if(l.getWorld() == null)
- {
- this.getModule().send(cs, "Die Welt des Warps existiert nicht.");
- return true;
- }
-
- EntityPlayer affectedPlayer;
- try
- {
- affectedPlayer = Utils.getPlayerByName(arg[1]);
- Utils.teleportEntity(affectedPlayer, l);
- this.getModule().send(affectedPlayer, "Du wurdest zum Warp " + arg[0] + " teleportiert.");
- this.getModule().send(cs, affectedPlayer.getName() + " wurde zum Warp " + arg[0] + " teleportiert.");
- }
- catch(PlayerNotFoundException ex)
- {
- this.getModule().send(cs, GlobalText.cantFindPlayer(arg[1]));
- return true;
- }
- catch(IndexOutOfBoundsException ex)
- {
- if(!(cs instanceof EntityPlayer))
- {
- this.getModule().send(cs, GlobalText.missingParameter());
- return true;
- }
- affectedPlayer = (EntityPlayer) cs;
- Utils.teleportEntity(affectedPlayer, l);
- this.getModule().send(cs, "Du wurdest zum Warp " + arg[0] + " teleportiert.");
- }
- return true;
- }
- }
|