跳到正文
平台

Spigot 和 Paper 插件

如何从 Codexe 获得最好的 Bukkit、Spigot 或 Paper 插件(Java 或 Kotlin)。需求中该写什么、版本、plugin.yml、依赖、构建和常见问题。

更新于

本页内容
  1. 需求中该写什么
  2. Codexe 会生成什么
  3. 版本和 Java
  4. 构建和验证
  5. 安装
  6. 常见问题

Bukkit/Spigot/Paper 类型会生成一个服务端插件,可以在 Paper、Spigot 及其分支上运行。选择 Java(Maven 项目)或 Kotlin(带 build.gradle.kts 的 Gradle 项目)。

想在游戏里试玩你的插件,可以用立即试用启动一个私人测试服务器。

你发送需求时,Codexe 会询问插件面向哪个 Minecraft 版本,范围从 1.8.8 到 26.3。代码会按该版本的 API 和 Java 等级编写,测试服务器也运行该版本。2026 年 9 月 30 日之前创建的项目会保留其构建文件中写的版本。

#需求中该写什么

  • 服务端软件和版本:“Paper 1.21.4”或“Spigot 1.20.1”。Paper 的 API 比 Spigot 更多。为 Spigot 写的代码能在 Paper 上运行,反过来则不行,所以如果两者都需要,请要求 Spigot。
  • 命令及其参数、谁能使用,以及 Tab 补全。
  • 权限及其默认值(true、op、false)。
  • 你希望可编辑的 config.yml 键。
  • 存储:YAML、SQLite、MySQL,或者内存。
  • 集成:Vault、PlaceholderAPI、LuckPerms、WorldGuard……请明确写出名字,这样它们才会被添加为依赖。
Text
A Paper 1.21.4 plugin (Java) called Bounties.
- /bounty set <player> <amount>: takes money via Vault, adds it to the player's bounty.
- Killing a player with a bounty pays it to the killer.
- /bounty top shows the 10 highest bounties.
- Bounties stored in SQLite. Minimum bounty 100 (config.yml).
- Permission bounties.set (default true).
Text
A Paper 1.21.4 plugin in Kotlin called Bounties, same features as above.
Use Kotlin idioms (data classes, extension functions) but keep the Bukkit API usage standard.

#Codexe 会生成什么

  • 一个带正确 API 依赖的 Maven 项目(Java)或 Gradle 项目(Kotlin)。
  • 继承 JavaPlugin 的主类,以及命令、监听器和存储类。
  • 包含主类、api-version、命令和权限的 plugin.yml,有设置项时还有 config.yml。
YAML
name: Bounties
version: 1.0.0
main: eu.codexe.bounties.Bounties
api-version: '1.21'
depend: [Vault]
commands:
  bounty:
    description: Manage bounties
permissions:
  bounties.set:
    default: true

#版本和 Java

Codexe 从构建文件中读取 Minecraft 版本,并用 Java 17(1.20.5 之前)、Java 21(1.20.5 及更新版本)或 Java 25(26.x)构建。如果你没有说明版本,会使用 Paper/Spigot API 1.20.6。

#构建和验证

Codexe 在把插件标记为已就绪之前会编译它,并检查 JAR 中包含类文件和 plugin.yml(或 paper-plugin.yml)。插件构建通常远不到一分钟。参见编译。

#安装

下载 JAR,放进 plugins/,重启服务器(不要用 /reload),然后检查控制台在启动时是否有错误。

#常见问题

症状可能的原因
插件无法加载,提示“main class not found”plugin.yml 中的 main: 和类不匹配。请让聊天修复它,或者在手动重命名后检查一下。
在较旧的服务器上提示“Unsupported API version”插件面向的 API 比你的服务器更新。请在需求中写明你服务器的确切版本。
某个命令没有任何反应plugin.yml 中缺少这个命令,或者玩家没有相应权限。
Vault 或类似插件出现 NoClassDefFoundError服务器上没有安装所依赖的插件。
能构建,但某个功能表现不对在聊天中准确描述游戏内的表现。验证检查的是构建,而不是游戏玩法。
Spigot 和 Paper 插件 | Codexe Docs