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

本章外篇教程由zsy制作，本教程非常的简单，目的是为萌新们打开一个很好的思路
如果你对本篇有任何合理地建议或者疑问，可以联系笔者QQ:910223023，笔者高三 可能回复不会及时，但看到后一定处理。
1. 首先你需要按照章内的教程，创建一个项目，名称随意，我这里用的SetSize。配置好一系列的东西并创建好plugin.yml后，可以开始了。

2. 这是我的plugin.yml中的内容
```
    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.之后在主类中添加内容，添加的内容如下

```java

    @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加入权限组，不然这个指令将会是非法的。
```yaml
commands:
  ss:
    description: Set A Player's Size.
    usage: "/ss [name] [size]"
    permission: SetSize.ss
permissions:
  SetSize.ss:
    default: op
```
5.检查没有丢步骤后，就可以编译并且测试了！ 当然，设置的玩家大小，当玩家重新进入服务器或者死亡重生后将会变为正常大小，因为本篇设置的只是一个临时变量，实体消失后它也会一起被清理，如果想要永久的保存，则可以利用config储存下来大小，然后在进服和复活事件中进行设置，感兴趣的可以进一步咨询笔者，那么本教程就到此结束了！祝你在胜利之地越战越勇！
