adding cordinate support and playeronline check for tp command
This commit is contained in:
parent
e106cd8b56
commit
c673ca4cb3
@ -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);
|
||||
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user