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