rt,想写一个登陆插件,需要获取输入命令的玩家的用户名
现在的登录插件还不够好么-。-
酷车手BB弹 发表于 2019-2-15 11:40
现在的登录插件还不够好么-。-
自己用的当然自己写
那个……我只会Bukkit……希望能给你参考……
复制代码
- public boolean onCommand(CommandSender sender, Command cmd,String label,String[] args) {
- sender.getName();
- }
虎水小骥 发表于 2019-2-15 18:30
那个……我只会Bukkit……希望能给你参考……
sponge里的写法不知道是什么样,不过还是谢谢
User 的 getName() 方法。https://jd.spongepowered.org/7.1 ... User.html#getName--
但这个名称会在玩家下一次改名后失效。推荐使用 Identifiable 的 getUniqueId。https://jd.spongepowered.org/7.1 ... .html#getUniqueId--
Player 同时继承了这两个接口。
但这个名称会在玩家下一次改名后失效。推荐使用 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 ...
- public CommandResult execute(CommandSource src, CommandContext args) throws CommandException {
- if(src instanceof Player) {
- return CommandResult.success();
- }
- else {
- return null;
- }
- )
输入命令的人的名字
直接src.getName()即可 (在用if判断为玩家之后)
######ps
如果命令没有执行成功 也请不要return null
应该return CommandResult.empty();
这里有一个命令的各种代码
https://github.com/euOnmyoji/New ... stHonorCommand.java