如题,就像rpgitem那样的
首先输入指令/rpgitem create 1
这个1在onCommand里获取容易args[1]
但是在别的事件里呢,如何?我是这样的
复制代码
ItemBuilder是一个使创建物品更便捷的一个插件
这样,但是在游戏中使用就会报错
报错是getConfig().getString(s.get(i)+".name");
如果没有办法解决这个问题,那么dalao您有更好的办法,请提出,感激不尽!
首先输入指令/rpgitem create 1
这个1在onCommand里获取容易args[1]
但是在别的事件里呢,如何?我是这样的
- List<String> s =getConifg.getStringList("list");
- for (int i=0;i<=s.size();i++){
- ItemBuilder item = new ItemBuilder(1);
- item.setDisplay(getConifg.getString(s.get(i)+".name"));
- item.addLore(getConifg.getStringList(s.get(i)+".lore"));
- inv.setItem(getConifg.getInt(s.get(i)+"wz"), item);
- }
ItemBuilder是一个使创建物品更便捷的一个插件
这样,但是在游戏中使用就会报错
报错是getConfig().getString(s.get(i)+".name");
如果没有办法解决这个问题,那么dalao您有更好的办法,请提出,感激不尽!
本帖最后由 810587921 于 2017-5-29 19:08 编辑
玩家输入指令->触发事件->事件未被取消并且命令存在则调用onCommand方法
那么就在触发事件的时候获取
复制代码
这样就获得了onCommand一样的command和args,不过command是有/的,自己处理一下就行了
玩家输入指令->触发事件->事件未被取消并且命令存在则调用onCommand方法
那么就在触发事件的时候获取
- public void onCommand(PlayerCommandPreprocessEvent e)
- {
- String msg=e.getMessage().replaceAll("\\s+"," ");
- String command=e.getMessage().contains(" ") ? e.getMessage().split(" ")[0]:e.getMessage();
- String[] args=null;
- if(e.getMessage().contains(" "))
- {
- String[] split=e.getMessage().split(" ");
- args=new String[split.length-1];
- for(int x=0;x<args.length;x++)
- {
- args[x]=split[x+1];
- }
- }
- else
- args=new String[0];
- }
这样就获得了onCommand一样的command和args,不过command是有/的,自己处理一下就行了
用foreach吧