package me.km.commands; import me.km.KajetansMod; import me.km.api.GlobalText; import me.km.api.Module; import me.km.api.ModuleCommand; import me.km.api.SimpleConfig; import java.io.File; import java.util.Arrays; import me.km.api.Location; import me.km.api.Utils; import me.km.permissions.Permissions; import net.minecraft.command.ICommandSender; import net.minecraft.entity.player.EntityPlayer; public class CommandHome extends ModuleCommand { public CommandHome(Module m) { super("home", m); super.setDescription("Teleportiert einen Spieler zu einem Home-Punkt"); super.setUsage("/home [name / player:name]"); super.setPermission(Permissions.HOME); } @Override public boolean execute(ICommandSender cs, String[] arg) { if(!(cs instanceof EntityPlayer)) { this.getModule().send(cs, GlobalText.onlyPlayer()); return true; } EntityPlayer p = (EntityPlayer) cs; String playeruuid = p.getUniqueID().toString(); String homename = ""; if(arg.length >= 1) { homename = arg[0]; if(arg[0].contains(":") && KajetansMod.perms.hasPermission(cs, Permissions.HOME_OTHER)) { String[] split = homename.split(":"); String uuid = KajetansMod.playerbank.getDataBank().getUUID(split[0]); if(uuid != null && split.length >= 2) { homename = split[1]; playeruuid = uuid; } else if(split.length == 1 && uuid != null) { homename = ""; playeruuid = uuid; } } } Module m = this.getModule(); File[] homes = SimpleConfig.getFiles("home/" + playeruuid); if(homes == null || homes.length == 0) { String name = KajetansMod.playerbank.getDataBank().getName(playeruuid); if(name.equals(p.getName())) { m.send(cs, "Du hast keine Homepunkte gesetzt."); return true; } m.send(cs, name + " hat keine Homepunkte gesetzt."); return true; } if(arg.length == 0 || homename.equals("")) { m.send(cs, "Folgende Homepunkte stehen zur Verfügung:"); Arrays.stream(homes).forEach(h -> {m.sendListElement(cs, h.getName().replaceAll(".snuvic", ""));}); return true; } SimpleConfig sc = new SimpleConfig(this.getModule(), "home/" + playeruuid, homename, true); Location l = sc.getLocation("home"); if(l == null) { m.send(cs, "Der Homepunkt wurde nicht gefunden."); return true; } if(l.getWorld() == null) { m.send(cs, "Die Welt des Homepunktes wurde nicht gefunden."); return true; } Utils.teleportEntity(p, l); m.send(cs, "Du wurdest zum Home-Punkt " + homename + " teleportiert."); return true; } }