diff --git a/src/main/java/eu/mhsl/craftattack/worldmuseum/commands/TeleportCommand.java b/src/main/java/eu/mhsl/craftattack/worldmuseum/commands/TeleportCommand.java index 300f2e6..1a5964b 100644 --- a/src/main/java/eu/mhsl/craftattack/worldmuseum/commands/TeleportCommand.java +++ b/src/main/java/eu/mhsl/craftattack/worldmuseum/commands/TeleportCommand.java @@ -2,8 +2,8 @@ package eu.mhsl.craftattack.worldmuseum.commands; import net.minestom.server.command.builder.Command; import net.minestom.server.command.builder.arguments.ArgumentType; +import net.minestom.server.coordinate.Pos; import net.minestom.server.entity.Player; - import java.util.Objects; public class TeleportCommand extends Command { @@ -11,9 +11,16 @@ public class TeleportCommand extends Command { public TeleportCommand() { super("tp","teleport"); - var playerArgument = ArgumentType.Entity("Spieler").onlyPlayers(true); - + var cordinate = ArgumentType.RelativeBlockPosition("Kordinate"); addSyntax(((sender, context) -> { + Pos pos = context.get(cordinate).fromSender(sender).asPosition(); + Player player = (Player) sender; + player.teleport(pos); + }), cordinate); + + var playerArgument = ArgumentType.Entity("Spieler").onlyPlayers(true); + addSyntax(((sender, context) -> { + if (context.get(playerArgument).find(sender).size() == 0) return; //check if player is online Player targetPlayer = (Player) context.get(playerArgument).find(sender).get(0); Player p = (Player) sender; if (!Objects.equals(p.getInstance(), targetPlayer.getInstance())) @@ -21,6 +28,5 @@ public class TeleportCommand extends Command { else p.teleport(targetPlayer.getPosition()); }), playerArgument); - } }