本帖最后由 MinecraftE_D 于 2021-9-19 08:18 编辑
在教程开始之前,我先和大家道个歉
我说的连续更新没能实现
今天开始应该能恢复正常更新,抱歉,我鸽了几个月了
还记得我们上次写了一个/hello指令吗?
/hello后面没有跟任何东西,意思就是它没有参数
可是如果我们需要参数怎么办呢
就像Essentials的一个指令/mute <玩家> [状态] 一样,我们怎么得到后两个参数呢
上次在写onCommand方法时,注意到那个args数组了吗?
那个就是储存参数的数组!
我们要获取玩家发送了多少个参数很简单,数组的长度就是参数的个数
args.length便代表了这个值
学过Python,C++等语言的人应该知道数组这个东西(可能也有人管他叫列表)
访问数组需要一个值,这便是索引(index)
数组的索引从0开始,Python支持负下标(负下标是什么,可以自行百度)
但是,Java等其他的语言大多不支持负下标,一旦超出下标最大值(数组.length-1)
就会出现IndexOutOfRange下标越界
现在,我们准备让这个/hello有1个参数
首先,掏出上次的代码
复制代码在第一个if语句里,sendMessage前,加一个if语句
复制代码这个if主要是为了判断参数个数是不是一个,写指令的时候一定要记得判断参数!
然后将
复制代码改为
复制代码
这样子,我们的/hello就有了参数,玩家输入参数后,会向玩家发送自己填入的参数
好了,今天的教程到此结束,谢谢你的阅读
下帖预告:插件开发教程[6] - 铁砧彩字命名支持
更新,补充版编写完成!
插件开发教程[5-2] - 补充说明
在教程开始之前,我先和大家道个歉
我说的连续更新没能实现
今天开始应该能恢复正常更新,抱歉,我鸽了几个月了
还记得我们上次写了一个/hello指令吗?
/hello后面没有跟任何东西,意思就是它没有参数
可是如果我们需要参数怎么办呢
就像Essentials的一个指令/mute <玩家> [状态] 一样,我们怎么得到后两个参数呢
上次在写onCommand方法时,注意到那个args数组了吗?
那个就是储存参数的数组!
我们要获取玩家发送了多少个参数很简单,数组的长度就是参数的个数
args.length便代表了这个值
学过Python,C++等语言的人应该知道数组这个东西(可能也有人管他叫列表)
访问数组需要一个值,这便是索引(index)
数组的索引从0开始,Python支持负下标(负下标是什么,可以自行百度)
但是,Java等其他的语言大多不支持负下标,一旦超出下标最大值(数组.length-1)
就会出现IndexOutOfRange下标越界
现在,我们准备让这个/hello有1个参数
首先,掏出上次的代码
- @Override
- public boolean onCommand(CommandSender sender, Command command, String label, String[] args){
- if("hello".equals(command.getName())){
- sender.sendMessage("你好呀qwq");
- }
- return false;
- }
- if(args.length!=1){
- return false;
- }
然后将
- sender.sendMessage("你好呀qwq");
- sender.sendMessage(args[0]);
这样子,我们的/hello就有了参数,玩家输入参数后,会向玩家发送自己填入的参数
好了,今天的教程到此结束,谢谢你的阅读
下帖预告:插件开发教程[6] - 铁砧彩字命名支持
更新,补充版编写完成!
插件开发教程[5-2] - 补充说明
你这教程有点敷衍吧,看完之后感觉根本没学到啥,而且你也不更新了,还不如去看别人写的教程
感觉并没有多大的收获
整合一下会比较好
这不就是你好世界吗??兄弟不带这样误人子弟吧
很好很好很好,,,嗯呢
唯一看不懂的版块
白色的小熊 发表于 2021-8-16 23:50
你这教程有点敷衍吧,看完之后感觉根本没学到啥,而且你也不更新了,还不如去看别人写的教程 ...
确实对不起,主要是暑假后期我有点忙,你看我也是拖了这么久,不是我不更新了,确实是学业原因,后面我会进行详细填充的
宇迪小哥哥哥 发表于 2021-9-7 19:48
这不就是你好世界吗??兄弟不带这样误人子弟吧
确实对不起,主要是暑假后期我有点忙,你看我也是拖了这么久,不是我不更新了,确实是学业原因,后面我会进行详细填充的