Nukkitlearn章外篇之---用指令设置玩家实体大小(简单版)

Nukkitlearn章外篇之—用指令设置玩家实体大小(简单版)

本章外篇教程由zsy制作,本教程非常的简单,目的是为萌新们打开一个很好的思路
如果你对本篇有任何合理地建议或者疑问,可以联系笔者QQ:910223023,笔者高三 可能回复不会及时,但看到后一定处理。

  1. 首先你需要按照章内的教程,创建一个项目,名称随意,我这里用的SetSize。配置好一系列的东西并创建好plugin.yml后,可以开始了。

  2. 这是我的plugin.yml中的内容

1
2
3
4
5
6
7
8
9
name: SetSize
main: xyz.zsy.SetSize.SetSize
version: "1.0.0"
api: ["1.0.0"]

load: POSTWORLD

author: zsy
website: xyz.zsy

这里再次强调一个坑,main中的路径应是主类的所在的位置,精确到文件名,我这里xyz.zsy.SetSize.SetSize的意思是xyz\zsy\SetSize目录下的SetSize.java,读者应该根据自己的包和主类名字修改!否则Nukkit不会加载到插件的主类,插件是无法运行的,因为Nukkit无从下手。

3.之后在主类中添加内容,添加的内容如下

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19

@Override
public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {

if (command.getName().equals("ss")) { //判断斜杠后的指令名字 /ss,用法/ss 玩家名字 大小
if (sender instanceof Player) { //判断发令者是否是玩家
if (args.length>0) { //判断指令/ss 后是否有参数
Player p = this.getServer().getPlayer(args[0]); //获取/ss 后的第一个参数,应该是String类
if (args.length>1) { //同上 判断是否有第二个参数 也就是是否有 大小 这个参数,应该是个数字
Float size = Float.parseFloat(args[1]); //获取大小,并将它转化为Float型,因为Nukkit中设置实体大小的方法,参数要求是Float
p.setScale(size); //调用setScale()方法来设置玩家大小
return true;
}
}
}
}
return false;
}

4.不要忘了在plugin.yml加入权限组,不然这个指令将会是非法的。

1
2
3
4
5
6
7
8
commands:
ss:
description: Set A Player's Size.
usage: "/ss [name] [size]"
permission: SetSize.ss
permissions:
SetSize.ss:
default: op

5.检查没有丢步骤后,就可以编译并且测试了! 当然,设置的玩家大小,当玩家重新进入服务器或者死亡重生后将会变为正常大小,因为本篇设置的只是一个临时变量,实体消失后它也会一起被清理,如果想要永久的保存,则可以利用config储存下来大小,然后在进服和复活事件中进行设置,感兴趣的可以进一步咨询笔者,那么本教程就到此结束了!祝你在胜利之地越战越勇!