ViaVersion/velocity/src/main/java/us/myles/ViaVersion/velocity/command/VelocityCommandSender.java

49 lines
1.3 KiB
Java

package us.myles.ViaVersion.velocity.command;
import com.velocitypowered.api.command.CommandSource;
import com.velocitypowered.api.proxy.Player;
import net.kyori.text.serializer.gson.GsonComponentSerializer;
import net.md_5.bungee.api.chat.TextComponent;
import net.md_5.bungee.chat.ComponentSerializer;
import us.myles.ViaVersion.api.command.ViaCommandSender;
import java.util.UUID;
public class VelocityCommandSender implements ViaCommandSender {
private final CommandSource source;
public VelocityCommandSender(CommandSource source) {
this.source = source;
}
@Override
public boolean hasPermission(String permission) {
return source.hasPermission(permission);
}
@Override
public void sendMessage(String msg) {
source.sendMessage(
GsonComponentSerializer.INSTANCE.deserialize(
ComponentSerializer.toString(TextComponent.fromLegacyText(msg)) // Fixes links
)
);
}
@Override
public UUID getUUID() {
if (source instanceof Player) {
return ((Player) source).getUniqueId();
}
return UUID.fromString(getName());
}
@Override
public String getName() {
if (source instanceof Player) {
return ((Player) source).getUsername();
}
return "?"; // :(
}
}