李小马
rt,想写一个登陆插件,需要获取输入命令的玩家的用户名

_DIM_
现在的登录插件还不够好么-。-

李小马
酷车手BB弹 发表于 2019-2-15 11:40
现在的登录插件还不够好么-。-

自己用的当然自己写

虎水小骥
那个……我只会Bukkit……希望能给你参考……
  1. public boolean onCommand(CommandSender sender, Command cmd,String label,String[] args) {
  2.     sender.getName();
  3. }
复制代码

李小马
虎水小骥 发表于 2019-2-15 18:30
那个……我只会Bukkit……希望能给你参考……

sponge里的写法不知道是什么样,不过还是谢谢

3TUSK
User 的 getName() 方法。https://jd.spongepowered.org/7.1 ... User.html#getName--

但这个名称会在玩家下一次改名后失效。推荐使用 Identifiable 的 getUniqueId。https://jd.spongepowered.org/7.1 ... .html#getUniqueId--
Player 同时继承了这两个接口。

李小马
Aemo 发表于 2019-2-16 00:54
不管是使用低级别命令api(CommandCallable)还是使用生成器(CommandSpec),在execute方法里都有CommandSource ...

是判断source为哪个类型呢,我试了Player,但是好像出问题了?

李小马
本帖最后由 李小马 于 2019-2-17 01:29 编辑
Aemo 发表于 2019-2-16 00:54
不管是使用低级别命令api(CommandCallable)还是使用生成器(CommandSpec),在execute方法里都有CommandSource ...
  1. public CommandResult execute(CommandSource src, CommandContext args) throws CommandException {
  2.         if(src instanceof Player) {
  3.                 return CommandResult.success();
  4.         }
  5.         else {
  6.                 return null;
  7.         }
  8. )
复制代码

纱夜

输入命令的人的名字
直接src.getName()即可 (在用if判断为玩家之后)


######ps
如果命令没有执行成功 也请不要return null
应该return CommandResult.empty();

这里有一个命令的各种代码
https://github.com/euOnmyoji/New ... stHonorCommand.java

第一页 上一页 下一页 最后一页