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.Command;
|
||||||
import net.minestom.server.command.builder.arguments.ArgumentType;
|
import net.minestom.server.command.builder.arguments.ArgumentType;
|
||||||
|
import net.minestom.server.coordinate.Pos;
|
||||||
import net.minestom.server.entity.Player;
|
import net.minestom.server.entity.Player;
|
||||||
|
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
|
|
||||||
public class TeleportCommand extends Command {
|
public class TeleportCommand extends Command {
|
||||||
@ -11,9 +11,16 @@ public class TeleportCommand extends Command {
|
|||||||
public TeleportCommand() {
|
public TeleportCommand() {
|
||||||
super("tp","teleport");
|
super("tp","teleport");
|
||||||
|
|
||||||
var playerArgument = ArgumentType.Entity("Spieler").onlyPlayers(true);
|
var cordinate = ArgumentType.RelativeBlockPosition("Kordinate");
|
||||||
|
|
||||||
addSyntax(((sender, context) -> {
|
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 targetPlayer = (Player) context.get(playerArgument).find(sender).get(0);
|
||||||
Player p = (Player) sender;
|
Player p = (Player) sender;
|
||||||
if (!Objects.equals(p.getInstance(), targetPlayer.getInstance()))
|
if (!Objects.equals(p.getInstance(), targetPlayer.getInstance()))
|
||||||
@ -21,6 +28,5 @@ public class TeleportCommand extends Command {
|
|||||||
else
|
else
|
||||||
p.teleport(targetPlayer.getPosition());
|
p.teleport(targetPlayer.getPosition());
|
||||||
}), playerArgument);
|
}), playerArgument);
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user