指南
如何制作 Paper 插件
更新于 2026年10月7日
Paper 是最常用的 Minecraft 插件服务端软件:它能运行 Spigot 插件,并在其上提供更大、更快的 API。Paper 插件是一个针对 paper-api 编译的 Java(或 Kotlin)项目。下面是它需要的东西,无论手动做,还是用 AI 替你构建。
一个可以作为起点的例子。
用 Codexe 生成这个分步说明
1.选择 Minecraft 版本
使用你的服务器运行的版本。它决定 Java 版本:1.20.5 之前用 Java 17,1.20.5 起用 Java 21,26.x 用 Java 25。
2.创建项目
一个 Gradle 或 Maven 项目,带有该版本的
paper-api依赖,来自 PaperMC 仓库,范围为provided/compileOnly。3.编写主类
一个继承
JavaPlugin的类,在onEnable()中注册命令和监听器。4.向服务器描述插件
plugin.yml(name、version、main、api-version、commands、permissions)。Paper 也支持paper-plugin.yml,它有自己的加载规则。5.构建和测试
构建 .jar,放进 Paper 测试服务器的
plugins/文件夹,启动并检查控制台有没有错误。
Paper 还是 Spigot?
为 Spigot API 写的代码能在 Paper 上运行,反过来则不行:Paper 增加了 Spigot 没有的事件和方法(例如 Adventure 文本组件和许多异步 API)。如果你的服务器运行 Paper,就为 Paper 编写;如果插件还要能在 Spigot 服务器上运行,就为 Spigot 编写。
快捷的方式
在 Codexe 上,选择 Bukkit/Spigot/Paper 插件,在需求中写明“Paper”和版本,并描述它的功能。Codexe 会搭好项目和正确的 Java 版本,编译,修复构建错误,并让你加入装有该插件的 Paper 测试服务器。
常见问题
- UnsupportedClassVersionError:插件是用比服务器所运行的版本更新的 Java 编译的。
- NoSuchMethodError / NoClassDefFoundError:插件使用了服务器版本上不存在的 API,或者某个依赖没有被 shade 进 .jar。
- 插件能加载,但命令没反应:命令没有写进
plugin.yml,或者执行器没有注册。
常见问题
Paper 插件能在 Purpur 或 Folia 上运行吗?
Purpur 是 Paper 的分支,所以 Paper 插件能在那里运行。Folia 改变了线程模型:插件必须针对它的区域调度器来编写,才能在 Folia 上运行。
我能用 Kotlin 写 Paper 插件吗?
能。Codexe 可以为同一个 Paper API 生成带 build.gradle.kts 的 Kotlin Gradle 项目。
现在就制作 Paper 插件
这条提示词打开后即可直接发送:
“一个名为 Bounties 的 Paper 1.21.4 插件:/bounty set <player> <amount>,使用 Vault 经济,击杀者获得奖励,/bounty list 显示前 10 名,悬赏在重启后保留,消息放在 config.yml 中。”
用 Codexe 生成这个