凉凉丶
在玩家输入某个指令时
给予玩家一个蛋-比如豹猫蛋/村民蛋等
给予的方式是玩家以OP权限执行give指令或者玩家输入命令后后台执行
我看一些插件是有%player%这个东西 这种是怎么写出来的

零点星辰
本帖最后由 新科 于 2020-5-21 10:47 编辑

不是很理解这是什么意思...
关于 %player% 的实现方式, 非常简单你只需要在需要这个变量的地方进行替换即可, 使用 String.replaceAll(regex, target) 例如
"/give %player% egg".replaceAll("%player%", player.getName())
后台执行指令则使用此方法
getServer().dispatchCommand(getServer().getConsoleSender(), "give xxx egg 1");


零点星辰
新科 发表于 2020-5-21 10:41
不是很理解这是什么意思...
关于 %player% 的实现方式, 非常简单你只需要在需要这个变量的地方进行替换即可 ...

另外就是 replaceAll 的第一个参数注意是 regex, 虽然可以直接作为字符串替换, 但本质上需要是正则表达式。如果只需要替换字符的话注意正则语法里的字符比如 "{" "}" 这些都是不能用的, 别像我一样踩坑233

gooding300
新科 发表于 2020-5-21 10:56
另外就是 replaceAll 的第一个参数注意是 regex, 虽然可以直接作为字符串替换, 但本质上需要是正则表达式 ...

非正则替换用replace即可
https://docs.oracle.com/javase/8 ... .lang.CharSequence-

凉凉丶
新科 发表于 2020-5-21 10:56
另外就是 replaceAll 的第一个参数注意是 regex, 虽然可以直接作为字符串替换, 但本质上需要是正则表达式 ...

那么怎么给玩家一个豹猫蛋呢
不知道怎么用nbt 用Material. 没有找到豹猫蛋
我用的ItemStack dan=new ItemStack();
player.getInventory().addItem(dan);

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