VSCode 配置Bukkit开发环境

VSCode 比较万能,基本上是什么语言都能写,但是功能不如专门这方面的语言。

下面就讲讲怎么使用VSCode配置Bukkit(Spigot)插件的环境。

扩展插件

Maven for Java不是必须的,打包主要靠Project Manager for Java。

还有YAML扩展,使得编写 plugin.yml 更方便。

插件

(上面这幅图只是一个示例,其中 cn.himpqblog.PlayerBagIsolation.main 为插件主文件, cn.himpqblog.PlayerBagIsolation.WorldInventorys 为主文件需要导入的文件)

随后创建这样一个结构的目录,其中 cn\himpqblog\PlayerBagIsolation 是你的包目录,在这些文件夹下的main.java(或plugin.yml内声明的main)为你插件的主文件,Bukkit/Spigot会找到main所指的类并启动(onEnable、onDisable、onLoad)。

就绪,但是我们编写的是 Bukkit/Spigot 插件,如果我们需要代码提示,那么就需要指定该项目的依赖:

因为安装了项目管理工具,框内的 Referenced Libraries 即为依赖的包。

点击加号,选中下载的 Bukkit/Spigot 服务器核心jar文件。

即可。

请注意,不要将该核心文件放入插件的文件夹内,否则打包时工具会将其视为插件的一部分打包进jar文件中。

打包插件

点击导出按钮(上图的红圈处),随后会让你勾选打包的文件

只勾选第一个 bin,即本插件,第二个为服务器核心,不需要打包进jar文件中。

点击确定,打包完成:

打包完成后请务必将打包后的jar文件移出插件项目文件夹,否则下次打包时会将该文件也打包进去。

打包不挪走jar文件的后果:

文件体积为原文件体积的一倍,这是因为里面有一个第一次打包的Bag.jar文件。

关于 plugin.yml 文件一直提示需要声明api

因为YAML扩展识别到了这是一个mc服务器插件描述信息的配置文件,但是不知道是哪一种:PocketMine、Bukkit、BungeeCord。

因为 PocketMine 的服务器插件默认在 plugin.yml 中需要声明 api,但是 Bukkit 不需要。

打开 .vscode/setting.json

"yaml.schemas": {
        "https://json.schemastore.org/bukkit-plugin": ["plugin.yml"]
}Code language: JavaScript (javascript)

在其中新增上面这一行:

即可。

发表回复