弱鸡绿毛怪
本帖最后由 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变量

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请输入一个正确的玩家.'
#都不说了,都识字,应该看得懂



下载地址:

帖内下载:
LocyCommand-1.1-SNAPSHOT.jar (45.36 KB, 下载次数: 813)
备用地址:
下载
前方不要脸!!!——求赞助几毛钱卖包辣条~
https://afdian.net/leaflet?slug=LocyDragon
更新日志:
1.0.0——插件出炉
1.1.0——增加了isInt和isPlayer两个指令,完善了removeItem指令



开发者有关

本插件所有通过指令创造的指令都是真实注册在服务器内的
你可以使用 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"
@EventHandler
public 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%这个参数有没有在线,如果没有在线就不给传送。这也是一个指令判断
来自群组: SpicyChicken
2021.12 数据,可能有更多内容
欢迎加入技术讨论群

群号:546818810

有问题尽管在这里面提出即可,我看到了就会回复的,加好友一般不会理。
插件仅仅是刚刚开发两个星期,内容不是很丰富,请大家点击收藏关注~
顺便一提,这个介绍帖子是赶着发出来的,后面会稍微改一改的。
音乐:
http://music.163.com/style/swf/widget.swf?sid=535032&type=2&auto=1&width=320&height=66


本插件会一直更新下去的哦


来自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变量

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请输入一个正确的玩家.'
#都不说了,都识字,应该看得懂



下载地址:

帖内下载:

备用地址:
下载
前方不要脸!!!——求赞助几毛钱卖包辣条~
https://afdian.net/leaflet?slug=LocyDragon
更新日志:
1.0.0——插件出炉
1.1.0——增加了isInt和isPlayer两个指令,完善了removeItem指令



开发者有关

本插件所有通过指令创造的指令都是真实注册在服务器内的
你可以使用 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"
@EventHandler
public 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%这个参数有没有在线,如果没有在线就不给传送。这也是一个指令判断

moheng2014
插件收下了,然后。想问问,收徒弟不?想学制作插件和mod的那种。
最后。那个真实注册到服务器里的指令是什么意思?删了这个插件还有用吗?是这样不?

动物的世界
我觉得可以加点图片或视频教程
因为文字的表达有点难懂

xjlxzcdwq
插件不错呢 收下了

余思思
嗯……插件很棒,非常适合喜欢自定义的服主
但是,插件版允许自动音乐嘛?  开帖子一瞬间被吓到

弱鸡绿毛怪
余思思 发表于 2018-3-9 09:22
嗯……插件很棒,非常适合喜欢自定义的服主
但是,插件版允许自动音乐嘛?  开帖子一瞬间被吓到 ...

mythicmobs那边我记得也是有自动音乐的
加这个的也不是我一个人了
如果要改的话大概会和我说的吧

弱鸡绿毛怪
moheng2014 发表于 2018-3-8 21:08
插件收下了,然后。想问问,收徒弟不?想学制作插件和mod的那种。
最后。那个真实注册到服务器里的指令是什 ...

意思是并非监听了那个指令事件
而是真实注册在服务器里的,以插件里的Base作为指令执行类来监听指令使用事件

xmdhs
本帖最后由 xmdhs 于 2018-3-10 14:11 编辑

不去申请个优秀吗
bgm应该要在标题 表明吧

[服主]
插件很好,我收下了

弱鸡绿毛怪
动物的世界 发表于 2018-3-8 21:41
我觉得可以加点图片或视频教程
因为文字的表达有点难懂

教程已出

mc23333331
.。。。。。。。。。。

DJ_DJ
插件做的非常好

JarKue
你这音乐加的。。搞得跟在录视频似的。

【xsxs】
支持原创

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