本帖最后由 MagicLocyDragon 于 2018-10-16 20:28 编辑 
| 
 | | | 群号:546818810 
   有问题尽管在这里面提出即可,我看到了就会回复的,加好友一般不会理。
 插件仅仅是刚刚开发两个星期,内容不是很丰富,请大家点击收藏关注~
 顺便一提,这个介绍帖子是赶着发出来的,后面会稍微改一改的。
 音乐:
 
 
 本插件会一直更新下去的哦
 
 来自SpicyChicken小组
 教程最在下面!!!
 
 | 
 | 
 | 
 | 
| 
 | | | 1.自定义简易的Title倒数3秒钟后传送到xxx边上并扣100块钱,注意,这里没有用essentials的tpa,而是自己做了一个传送的指令 
   
 2.一个给苹果的指令(你可以自己加个权限或者花钱啥的)
 
   | 
 | 
 | 
 | 
| 
 | | | 你可以制作一个只属于你自己的指令! 类似于 输入一个指令 比如
 /指令 ******
 
 然后,服务器广播 ******这个信息
 并且,指令可以做中文指令。
 
 也可以制作一个类似于
 
 /苹果 64
 然后花费了100块钱买了64个苹果
 
 当然你也可以
 /主城
 之后,xxx秒传送到主城,并带有title提示,这里建议你去看一下视频效果更佳明显!
 
 | 
 | 
 | 
 | 
| 
 | | | 未上传完成,耐心等等吧,其实效果可想而知都是很好的 
 | 
 | 
 | 
 | 
| 
 | | | 无(创建指令的权限只有OP拥有,不过你自己做出来的指令是所有人都能使用的,但是你也可以给自己做出来的指令加一个权限) 
 | 
 | 
 | 
 | 
| 
 | | | 使用/lcmd create [指令名] ——创建一个空的指令
 使用/lcmd clean [指令名] ——清理一个指令内所有内容.
 使用/lcmd removeItem [指令名] [内容ID] ——清理一个指令内某条内容.
 使用/lcmd itemList 查看所有内容
 使用/lcmd usage [指令名] [发送的信息] ——执行指令时参数不够时发送的信息
 使用/lcmd sendmsg [指令名] [发送的信息] ——执行指令时发送信息.
 使用/lcmd ccommand [指令名] [发送的信息] ——执行指令时执行控制台指令
 使用/lcmd pcommand [指令名] [发送的信息] ——执行指令时执行为玩家指令
 使用/lcmd haspermission [指令名] [权限] ——执行指令时所需的权限
 使用/lcmd hasItem [指令名] [物品id] ——执行指令时所需的物品
 使用/lcmd jobs [指令名] ——查看该指令所有需要完成的工作.
 使用/lcmd delay [指令名] [序号] [秒数] ——在该指令的指定序号的工作后面停顿秒数.
 使用/lcmd actionbar [指令名] [信息] ——发送小字ActionBar.
 使用/lcmd cost [指令名] [金钱] ——设置指令扣钱.
 使用/lcmd title [指令名] [大标题] [小标题] [淡入时间] [停留时间] [淡出时间] ——发送全屏Title.
 使用/lcmd isInt [指令名] [第几个参数] ——判断指令中第几个参数必须是个数字.使用/lcmd isPlayer [指令名] [第几个参数] ——判断指令中第几个参数必须是个玩家.各种指令的具体用法请在游戏内查看,比如说你想查看title指令到底详细是怎么用的,可以在游戏里输入/lcmd title 然后就会有提示啦
 
 | 
 | 
 | 
 | 
| 
 | | | args变量是个什么呢,这是一个参数变量,可以用在一定的指令当中,比如发送title啊什么的,格式: 
 %args:第几个参数%
 举个例子,玩家输入了这些指令:
 /yu 哈哈 汪汪汪
 这里%args:1%就是哈哈
 %args:2%就是汪汪汪
 如果玩家输入指令时参数不足会怎样?比如说你用到了三个参数,而玩家一个参数也没有输入。这时候输入指令就会被拦截,并发送一条使用提示信息。这个使用提示信息可以使用/lcmd usage [指令名] [信息] 来修改,信息中的空格请用 "_" 替代
 
 args变量的实际应用例子,输入了以下指令:
 
 /lcmd create args
 /lcmd usage args &c&l请使用/args_[参数1]_[参数2]
 /lcmd ccommand args say_%args:1%
 /lcmd delay args 1 3
 /lcmd ccommand args say_%args:2%
 
 这段指令是什么意思呢?
 就是当你输入指令
 /args 信息1 信息2
 时,会先广播 信息1,等待3秒,广播信息2(信息1和信息2是参数,可以替换成任何信息,比如你用 /args ****** 嚯嚯嚯,都是没有问题的)
 
 | 
 | 
 | 
 | 
| 
 | | | NoPermission: '&e你没有使用这个指令的权限.' NotDone: '&e指令未完成.'
 NoItem: '&e你没有足够的物品来使用这个指令.'
 NoSuchMoney: '&e你的金币不足.'
 IsNotInt: '&e&l请输入一个正确的数字.'
 IsNotPlayer: '&e&l请输入一个正确的玩家.'
 #都不说了,都识字,应该看得懂
 
 | 
 | 
 | 
 | 
| 
 | | | 本插件所有通过指令创造的指令都是真实注册在服务器内的 你可以使用 Bukkit.getPluginCommand() 这个方法来获取到
 
 如何自己创建一个指令?
 使用Centre.newCommand(String 指令名称); 指令名称不包含空格
 此方法返回一个Cmd对象
 如果指令已经被注册了将返回null
 如何给指令增加一个工作?
 首先new一个自定义Flag对象:
 
 Flag flag = new Flag("Test_Flag", new String[]{"Test"});
 Cmd.addFlag(flag);
 然后注册你的Flag名字:
 Obj.addOne("Test_Flag");其中Test_Flag是此Flag的名字,后面的数组是你对这个Flag的描述
 然后监听OptionCall 事件,该事件会被应该调用的时候被调用,我们举的例子就是此Flag作用是发送Flag里的描述的第一个元素的信息,即"Test"
 
 @EventHandlerpublic void onCall(OptionCall call) {
 if (call.getObj().equals(“Test_Flag”)) {
 //判断flag类型
 call.getPlayer().sendMessage(call.getArgs()[0]); //给玩家发送Flag的描述中的第一个元素,即"Test"
 }
 }
OptionCall:
 call.getObj() ——获取Flag的类型
 call.getArgs() ——获取Flag的描述
 call.getCommandArgs() ——获取指令的参数
 
 开源地址:
 https://github.com/PluginsCDTribe/LocyCommand
 请遵守GPL3协议
 
 | 
 | 
 | 
 | 
| 
 | | 1.1创建你的第一个指令 该部分非常简单,首先安装本插件。把插件放进plugins文件夹中即可。
 然后开始创建指令:
 使用:
 /lcmd create 我的第一个指令
 于是,指令就创建好了。
 1.1.1执行指令:
 输入指令:
 /我的第一个指令
 即可执行你刚才创建的指令
 执行后发现什么也没有发生,因为这个指令里面没有任何的任务.接下来,我们就来添加任务.
 1.2给你的指令添加第一个任务.
 各位刚才是否已经创建了你的第一个指令了呢,接下来我们就给你的指令添加一个任务。
 思路:
 输入指令 /我的第一个指令 后给玩家发送信息: 欢迎来到服务器
 操作:
 输入指令: /lcmd sendmsg 我的第一个指令 &c&l欢迎来到服务器
 这样就好了,很简单,是不是。
 然后执行你创建的指令:
 /我的第一个指令
 发现是不是有一条信息发送过来了呢.
 1.3任务思想
 任务是什么呢?就是比如说 执行指令给玩家发送一个信息 这个就是一个任务
 也或者 执行指令后给玩家一个东西 这也是一个任务
 一个指令可以有多个任务
 如何查看你的任务呢
 输入指令/lcmd jobs [指令名字]
 这里是/lcmd jobs 我的第一个指令
 这样可以查看你的所有任务.
 1.4指令的判断
 什么叫做指令的判断呢?就是比如说 需要xxx的权限,才能执行这个指令,这就是一个判断。如果没有权限,就不能执行指令了
 实例:
 输入指令/lcmd haspermission 我的第一个指令 test
 这样子,只有有权限 "LocyCommand.test" 的人才能使用这个指令了
 默认是只有op拥有的~
 1.5延迟
 思路:
 输入指令 /指令2 后给玩家发送信息: 欢迎来到服务器 1秒后,再发送一次 欢迎来到服务器 再过一秒,再发送 欢迎来到服务器
 首先,我们得重新创建一个指令.
 /lcmd create 指令2
 然后,给玩家发送信息的语句:
 /lcmd sendmsg 指令2 &c&l欢迎来到服务器
 使用/lcmd jobs 指令2 ——查看指令2中所有的任务,发现发送红色的"欢迎来到服务器"的任务序号是1,我们要在这个任务需要后面执行一个一秒的延迟任务。
 使用/lcmd delay [指令名] [序号] [秒数]
 这里就是 /lcmd delay 指令2 1 1
 然后再发送蓝色的"欢迎来到服务器"
 /lcmd sendmsg 指令2 &b&l欢迎来到服务器
 
 使用/lcmd jobs 指令2 ——查看指令2中所有的任务,发现发送蓝色的"欢迎来到服务器"的任务序号是3,我们要在这个任务需要后面执行一个一秒的延迟任务。
 这里就是 /lcmd delay 指令2 3 1
 然后再发送绿色的"欢迎来到服务器"
 /lcmd sendmsg 指令2 &a&l欢迎来到服务器
 大功告成了!输入 /指令2 试试吧
 完整指令:
 
 /lcmd create 指令2
 /lcmd sendmsg 指令2 &c&l欢迎来到服务器
 /lcmd jobs 指令2
 /lcmd delay 指令2 1 1
 /lcmd sendmsg 指令2 &b&l欢迎来到服务器
 /lcmd jobs 指令2
 /lcmd delay 指令2 3 1
 /lcmd sendmsg 指令2 &a&l欢迎来到服务器
 
 1.6参数
 部分详见上面的模块 "Args变量" 我们这里只给出一个例子
 思路: 输入 /指令3 [信息]
 ——给玩家发送 [信息]
 
 完整指令:
 /lcmd create 指令3
 /lcmd sendmsg 指令3 %args:1%
 /lcmd usage 指令3 &c&l请使用_/指令3_[信息]_——来发送一条信息
 
 1.7最终实例!
 思路:输入 /传送到 [玩家] 后,3秒钟后传送到玩家的身边。每秒都有一个提示。需要权限:
 "LocyCommand.chuansong"
 
 完整指令:
 /lcmd create 传送到
 /lcmd haspermission 传送到 chuansong
 /lcmd isPlayer 传送到 1
 /lcmd sendmsg 传送到 &c&l3秒后传送到%args:1%
 /lcmd jobs 传送到
 /lcmd delay 传送到 3 1
 /lcmd sendmsg 传送到 &b&l2秒后传送到%args:1%
 /lcmd jobs 传送到
 /lcmd delay 传送到 5 1
 /lcmd sendmsg 传送到 &a&l1秒后传送到%args:1%
 /lcmd jobs 传送到
 /lcmd delay 传送到 7 1
 /lcmd ccommand 传送到 tp_%player%_%args:1%
 /lcmd sendmsg 传送到 &a&l已经传送到%args:1%边上了!
 /lcmd usage 传送到 &c&l请使用_/传送到_[对方]_——传送到别人的旁边
 
 
 就是这些指令了,输入完之后就可以使用 /传送到 这个指令了。
 对于isPlayer这个指令大家可能不太理解
 这是判断第一个参数,即%args:1%这个参数有没有在线,如果没有在线就不给传送。这也是一个指令判断
 
 | 
 | 
 | 
来自群组: 
SpicyChicken2021.12 数据,可能有更多内容
| 
 | | | 1.自定义简易的Title倒数3秒钟后传送到xxx边上并扣100块钱,注意,这里没有用essentials的tpa,而是自己做了一个传送的指令 
 
 
 2.一个给苹果的指令(你可以自己加个权限或者花钱啥的)
 
 | 
 | 
 | 
 | 
| 
 | | | 你可以制作一个只属于你自己的指令! 类似于 输入一个指令 比如
 /指令 ******
 
 
 然后,服务器广播 ******这个信息
 并且,指令可以做中文指令。
 
 
 也可以制作一个类似于
 
 
 /苹果 64
 然后花费了100块钱买了64个苹果
 
 
 当然你也可以
 /主城
 之后,xxx秒传送到主城,并带有title提示,这里建议你去看一下视频效果更佳明显!
 
 | 
 | 
 | 
 | 
| 
 | | | 未上传完成,耐心等等吧,其实效果可想而知都是很好的 
 | 
 | 
 | 
 | 
| 
 | | | 无(创建指令的权限只有OP拥有,不过你自己做出来的指令是所有人都能使用的,但是你也可以给自己做出来的指令加一个权限) 
 | 
 | 
 | 
 | 
| 
 | | | 使用/lcmd create [指令名] ——创建一个空的指令
 使用/lcmd clean [指令名] ——清理一个指令内所有内容.
 使用/lcmd removeItem [指令名] [内容ID] ——清理一个指令内某条内容.
 使用/lcmd itemList 查看所有内容
 使用/lcmd usage [指令名] [发送的信息] ——执行指令时参数不够时发送的信息
 使用/lcmd sendmsg [指令名] [发送的信息] ——执行指令时发送信息.
 使用/lcmd ccommand [指令名] [发送的信息] ——执行指令时执行控制台指令
 使用/lcmd pcommand [指令名] [发送的信息] ——执行指令时执行为玩家指令
 使用/lcmd haspermission [指令名] [权限] ——执行指令时所需的权限
 使用/lcmd hasItem [指令名] [物品id] ——执行指令时所需的物品
 使用/lcmd jobs [指令名] ——查看该指令所有需要完成的工作.
 使用/lcmd delay [指令名] [序号] [秒数] ——在该指令的指定序号的工作后面停顿秒数.
 使用/lcmd actionbar [指令名] [信息] ——发送小字ActionBar.
 使用/lcmd cost [指令名] [金钱] ——设置指令扣钱.
 使用/lcmd title [指令名] [大标题] [小标题] [淡入时间] [停留时间] [淡出时间] ——发送全屏Title.
 使用/lcmd isInt [指令名] [第几个参数] ——判断指令中第几个参数必须是个数字.使用/lcmd isPlayer [指令名] [第几个参数] ——判断指令中第几个参数必须是个玩家.各种指令的具体用法请在游戏内查看,比如说你想查看title指令到底详细是怎么用的,可以在游戏里输入/lcmd title 然后就会有提示啦
 
 | 
 | 
 | 
 | 
| 
 | | | args变量是个什么呢,这是一个参数变量,可以用在一定的指令当中,比如发送title啊什么的,格式: 
 %args:第几个参数%
 举个例子,玩家输入了这些指令:
 /yu 哈哈 汪汪汪
 这里%args:1%就是哈哈
 %args:2%就是汪汪汪
 如果玩家输入指令时参数不足会怎样?比如说你用到了三个参数,而玩家一个参数也没有输入。这时候输入指令就会被拦截,并发送一条使用提示信息。这个使用提示信息可以使用/lcmd usage [指令名] [信息] 来修改,信息中的空格请用 "_" 替代
 
 
 args变量的实际应用例子,输入了以下指令:
 
 
 /lcmd create args
 /lcmd usage args &c&l请使用/args_[参数1]_[参数2]
 /lcmd ccommand args say_%args:1%
 /lcmd delay args 1 3
 /lcmd ccommand args say_%args:2%
 
 
 这段指令是什么意思呢?
 就是当你输入指令
 /args 信息1 信息2
 时,会先广播 信息1,等待3秒,广播信息2(信息1和信息2是参数,可以替换成任何信息,比如你用 /args ****** 嚯嚯嚯,都是没有问题的)
 
 | 
 | 
 | 
 | 
| 
 | | | NoPermission: '&e你没有使用这个指令的权限.' NotDone: '&e指令未完成.'
 NoItem: '&e你没有足够的物品来使用这个指令.'
 NoSuchMoney: '&e你的金币不足.'
 IsNotInt: '&e&l请输入一个正确的数字.'
 IsNotPlayer: '&e&l请输入一个正确的玩家.'
 #都不说了,都识字,应该看得懂
 
 | 
 | 
 | 
 | 
| 
 | | | 本插件所有通过指令创造的指令都是真实注册在服务器内的 你可以使用 Bukkit.getPluginCommand() 这个方法来获取到
 
 
 如何自己创建一个指令?
 使用Centre.newCommand(String 指令名称); 指令名称不包含空格
 此方法返回一个Cmd对象
 如果指令已经被注册了将返回null
 如何给指令增加一个工作?
 首先new一个自定义Flag对象:
 
 Flag flag = new Flag("Test_Flag", new String[]{"Test"});
 Cmd.addFlag(flag);
 然后注册你的Flag名字:
 Obj.addOne("Test_Flag");其中Test_Flag是此Flag的名字,后面的数组是你对这个Flag的描述
 然后监听OptionCall 事件,该事件会被应该调用的时候被调用,我们举的例子就是此Flag作用是发送Flag里的描述的第一个元素的信息,即"Test"
 
 @EventHandlerpublic void onCall(OptionCall call) {
 if (call.getObj().equals(“Test_Flag”)) {
 //判断flag类型
 call.getPlayer().sendMessage(call.getArgs()[0]); //给玩家发送Flag的描述中的第一个元素,即"Test"
 }
 }
 OptionCall:
 call.getObj() ——获取Flag的类型
 call.getArgs() ——获取Flag的描述
 call.getCommandArgs() ——获取指令的参数
 
 开源地址:
 https://github.com/PluginsCDTribe/LocyCommand
 请遵守GPL3协议
 
 | 
 | 
 | 
 | 
| 
 | | 1.1创建你的第一个指令 该部分非常简单,首先安装本插件。把插件放进plugins文件夹中即可。
 然后开始创建指令:
 使用:
 /lcmd create 我的第一个指令
 于是,指令就创建好了。
 1.1.1执行指令:
 输入指令:
 /我的第一个指令
 即可执行你刚才创建的指令
 执行后发现什么也没有发生,因为这个指令里面没有任何的任务.接下来,我们就来添加任务.
 1.2给你的指令添加第一个任务.
 各位刚才是否已经创建了你的第一个指令了呢,接下来我们就给你的指令添加一个任务。
 思路:
 输入指令 /我的第一个指令 后给玩家发送信息: 欢迎来到服务器
 操作:
 输入指令: /lcmd sendmsg 我的第一个指令 &c&l欢迎来到服务器
 这样就好了,很简单,是不是。
 然后执行你创建的指令:
 /我的第一个指令
 发现是不是有一条信息发送过来了呢.
 1.3任务思想
 任务是什么呢?就是比如说 执行指令给玩家发送一个信息 这个就是一个任务
 也或者 执行指令后给玩家一个东西 这也是一个任务
 一个指令可以有多个任务
 如何查看你的任务呢
 输入指令/lcmd jobs [指令名字]
 这里是/lcmd jobs 我的第一个指令
 这样可以查看你的所有任务.
 1.4指令的判断
 什么叫做指令的判断呢?就是比如说 需要xxx的权限,才能执行这个指令,这就是一个判断。如果没有权限,就不能执行指令了
 实例:
 输入指令/lcmd haspermission 我的第一个指令 test
 这样子,只有有权限 "LocyCommand.test" 的人才能使用这个指令了
 默认是只有op拥有的~
 1.5延迟
 思路:
 输入指令 /指令2 后给玩家发送信息: 欢迎来到服务器 1秒后,再发送一次 欢迎来到服务器 再过一秒,再发送 欢迎来到服务器
 首先,我们得重新创建一个指令.
 /lcmd create 指令2
 然后,给玩家发送信息的语句:
 /lcmd sendmsg 指令2 &c&l欢迎来到服务器
 使用/lcmd jobs 指令2 ——查看指令2中所有的任务,发现发送红色的"欢迎来到服务器"的任务序号是1,我们要在这个任务需要后面执行一个一秒的延迟任务。
 使用/lcmd delay [指令名] [序号] [秒数]
 这里就是 /lcmd delay 指令2 1 1
 然后再发送蓝色的"欢迎来到服务器"
 /lcmd sendmsg 指令2 &b&l欢迎来到服务器
 
 
 使用/lcmd jobs 指令2 ——查看指令2中所有的任务,发现发送蓝色的"欢迎来到服务器"的任务序号是3,我们要在这个任务需要后面执行一个一秒的延迟任务。
 这里就是 /lcmd delay 指令2 3 1
 然后再发送绿色的"欢迎来到服务器"
 /lcmd sendmsg 指令2 &a&l欢迎来到服务器
 大功告成了!输入 /指令2 试试吧
 完整指令:
 
 
 /lcmd create 指令2
 /lcmd sendmsg 指令2 &c&l欢迎来到服务器
 /lcmd jobs 指令2
 /lcmd delay 指令2 1 1
 /lcmd sendmsg 指令2 &b&l欢迎来到服务器
 /lcmd jobs 指令2
 /lcmd delay 指令2 3 1
 /lcmd sendmsg 指令2 &a&l欢迎来到服务器
 
 
 1.6参数
 部分详见上面的模块 "Args变量" 我们这里只给出一个例子
 思路: 输入 /指令3 [信息]
 ——给玩家发送 [信息]
 
 
 完整指令:
 /lcmd create 指令3
 /lcmd sendmsg 指令3 %args:1%
 /lcmd usage 指令3 &c&l请使用_/指令3_[信息]_——来发送一条信息
 
 
 1.7最终实例!
 思路:输入 /传送到 [玩家] 后,3秒钟后传送到玩家的身边。每秒都有一个提示。需要权限:
 "LocyCommand.chuansong"
 
 
 完整指令:
 /lcmd create 传送到
 /lcmd haspermission 传送到 chuansong
 /lcmd isPlayer 传送到 1
 /lcmd sendmsg 传送到 &c&l3秒后传送到%args:1%
 /lcmd jobs 传送到
 /lcmd delay 传送到 3 1
 /lcmd sendmsg 传送到 &b&l2秒后传送到%args:1%
 /lcmd jobs 传送到
 /lcmd delay 传送到 5 1
 /lcmd sendmsg 传送到 &a&l1秒后传送到%args:1%
 /lcmd jobs 传送到
 /lcmd delay 传送到 7 1
 /lcmd ccommand 传送到 tp_%player%_%args:1%
 /lcmd sendmsg 传送到 &a&l已经传送到%args:1%边上了!
 /lcmd usage 传送到 &c&l请使用_/传送到_[对方]_——传送到别人的旁边
 
 
 就是这些指令了,输入完之后就可以使用 /传送到 这个指令了。
 对于isPlayer这个指令大家可能不太理解
 这是判断第一个参数,即%args:1%这个参数有没有在线,如果没有在线就不给传送。这也是一个指令判断
 
 | 
 | 
 | 
 
            
        插件收下了,然后。想问问,收徒弟不?想学制作插件和mod的那种。
最后。那个真实注册到服务器里的指令是什么意思?删了这个插件还有用吗?是这样不?
            
        我觉得可以加点图片或视频教程
因为文字的表达有点难懂
            
        插件不错呢 收下了
            
        嗯……插件很棒,非常适合喜欢自定义的服主
但是,插件版允许自动音乐嘛?  开帖子一瞬间被吓到
            
        
mythicmobs那边我记得也是有自动音乐的
加这个的也不是我一个人了
如果要改的话大概会和我说的吧
            
        
意思是并非监听了那个指令事件
而是真实注册在服务器里的,以插件里的Base作为指令执行类来监听指令使用事件
            
         本帖最后由 xmdhs 于 2018-3-10 14:11 编辑 
不去申请个优秀吗
bgm应该要在标题 表明吧
            
        插件很好,我收下了
            
        
教程已出

            
        .。。。。。。。。。。
            
        插件做的非常好
            
        你这音乐加的。。搞得跟在录视频似的。
            
        支持原创

            
        可不可以给看一下
sp 1.8.8服
- [22:10:47 ERROR]: null
 
- org.bukkit.command.CommandException: Unhandled exception executing command 'lcmd' in plugin LocyCommand v1.1.0
 
-         at org.bukkit.command.PluginCommand.execute(PluginCommand.java:46) ~[PaperSpigot-1.8.8.jar:git-PaperSpigot-f6fba00-9935adc]
 
-         at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:141) ~[PaperSpigot-1.8.8.jar:git-PaperSpigot-f6fba00-9935adc]
 
-         at org.bukkit.craftbukkit.v1_8_R3.CraftServer.dispatchCommand(CraftServer.java:640) ~[PaperSpigot-1.8.8.jar:git-PaperSpigot-f6fba00-9935adc]
 
-         at net.minecraft.server.v1_8_R3.PlayerConnection.handleCommand(PlayerConnection.java:1165) [PaperSpigot-1.8.8.jar:git-PaperSpigot-f6fba00-9935adc]
 
-         at net.minecraft.server.v1_8_R3.PlayerConnection.a(PlayerConnection.java:1000) [PaperSpigot-1.8.8.jar:git-PaperSpigot-f6fba00-9935adc]
 
-         at net.minecraft.server.v1_8_R3.PacketPlayInChat.a(PacketPlayInChat.java:45) [PaperSpigot-1.8.8.jar:git-PaperSpigot-f6fba00-9935adc]
 
-         at net.minecraft.server.v1_8_R3.PacketPlayInChat.a(PacketPlayInChat.java:1) [PaperSpigot-1.8.8.jar:git-PaperSpigot-f6fba00-9935adc]
 
-         at net.minecraft.server.v1_8_R3.PlayerConnectionUtils$1.run(SourceFile:13) [PaperSpigot-1.8.8.jar:git-PaperSpigot-f6fba00-9935adc]
 
-         at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) [?:1.8.0_144]
 
-         at java.util.concurrent.FutureTask.run(Unknown Source) [?:1.8.0_144]
 
-         at net.minecraft.server.v1_8_R3.SystemUtils.a(SourceFile:44) [PaperSpigot-1.8.8.jar:git-PaperSpigot-f6fba00-9935adc]
 
-         at net.minecraft.server.v1_8_R3.MinecraftServer.B(MinecraftServer.java:771) [PaperSpigot-1.8.8.jar:git-PaperSpigot-f6fba00-9935adc]
 
-         at net.minecraft.server.v1_8_R3.DedicatedServer.B(DedicatedServer.java:378) [PaperSpigot-1.8.8.jar:git-PaperSpigot-f6fba00-9935adc]
 
-         at net.minecraft.server.v1_8_R3.MinecraftServer.A(MinecraftServer.java:710) [PaperSpigot-1.8.8.jar:git-PaperSpigot-f6fba00-9935adc]
 
-         at net.minecraft.server.v1_8_R3.MinecraftServer.run(MinecraftServer.java:613) [PaperSpigot-1.8.8.jar:git-PaperSpigot-f6fba00-9935adc]
 
-         at java.lang.Thread.run(Unknown Source) [?:1.8.0_144]
 
- Caused by: java.lang.IndexOutOfBoundsException: Index: 2, Size: 1
 
-         at java.util.ArrayList.rangeCheckForAdd(Unknown Source) ~[?:1.8.0_144]
 
-         at java.util.ArrayList.add(Unknown Source) ~[?:1.8.0_144]
 
-         at com.locycommand.commands.Commands.onCommand(Commands.java:232) ~[?:?]
 
-         at org.bukkit.command.PluginCommand.execute(PluginCommand.java:44) ~[PaperSpigot-1.8.8.jar:git-PaperSpigot-f6fba00-9935adc]
 
-         ... 15 more