尘晓凡
如题,就像rpgitem那样的
首先输入指令/rpgitem create 1
这个1在onCommand里获取容易args[1]
但是在别的事件里呢,如何?我是这样的
  1.         List<String> s =getConifg.getStringList("list");
  2.                 for (int i=0;i<=s.size();i++){
  3.           ItemBuilder item = new ItemBuilder(1);
  4.       item.setDisplay(getConifg.getString(s.get(i)+".name"));
  5.       item.addLore(getConifg.getStringList(s.get(i)+".lore"));
  6.               inv.setItem(getConifg.getInt(s.get(i)+"wz"), item);
  7.                 }
复制代码

ItemBuilder是一个使创建物品更便捷的一个插件
这样,但是在游戏中使用就会报错
报错是getConfig().getString(s.get(i)+".name");
如果没有办法解决这个问题,那么dalao您有更好的办法,请提出,感激不尽!

a8105
本帖最后由 810587921 于 2017-5-29 19:08 编辑

玩家输入指令->触发事件->事件未被取消并且命令存在则调用onCommand方法
那么就在触发事件的时候获取

  1. public void onCommand(PlayerCommandPreprocessEvent e)
  2. {
  3.     String msg=e.getMessage().replaceAll("\\s+"," ");
  4.     String command=e.getMessage().contains(" ") ? e.getMessage().split(" ")[0]:e.getMessage();
  5.     String[] args=null;
  6.     if(e.getMessage().contains(" "))
  7.     {
  8.         String[] split=e.getMessage().split(" ");
  9.         args=new String[split.length-1];
  10.         for(int x=0;x<args.length;x++)
  11.         {
  12.             args[x]=split[x+1];
  13.         }
  14.     }
  15.     else
  16.         args=new String[0];
  17. }
复制代码


这样就获得了onCommand一样的command和args,不过command是有/的,自己处理一下就行了


弱鸡绿毛怪
用foreach吧

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