尘-Dust
我在做我的第一个插件,是一个全服消息插件
我想用插件达到 用指令对全服发一个消息
如sm b <message>
但如果我的message里面有空格,那么他只会输出空格之前的
该如何让他连空格一起输出嘛
如我输入指令/sm b 我是 小白,现在输出的是我是,我想让他输出我是小白

结冰的离季
解析指令时传入的是个 args 数组 比如 [b,我是,小白],你只需要从数组第二位开始遍历数组构建字符串,在元素之间添加空格,就可以得到一条完整的带空格的消息

尘-Dust
结冰的离季 发表于 2022-9-16 22:04
解析指令时传入的是个 args 数组 比如 ,你只需要从数组第二位开始遍历数组构建字符串,在元素之间添加空格 ...

谢谢大佬!!我去查一下遍历的用法

Heitie233
本帖最后由 Heitie233 于 2022-9-16 22:51 编辑

解析指令时传入了个String[]类型,一般是args,你可以这样写
  1.         //判断第一个参数是否是b
  2.         if (Objects.equals(args[0], "b")) {
  3.             //新建一个集合
  4.             List<String> text = new ArrayList<>(Arrays.asList(args));
  5.             //移除第一个参数
  6.             text.remove(0);
  7.             StringBuilder c = new StringBuilder();
  8.             //遍历
  9.             for (String t : text) {
  10.                 if (!c.toString().equals("")) {
  11.                     c.append(" ").append(t);
  12.                 } else {
  13.                     c.append(t);
  14.                 }
  15.             }
  16.             String message = String.valueOf(c);
  17.             //广播消息
  18.             Bukkit.broadcastMessage(message);
  19.         }
复制代码