指南

如何製作 Paper 插件

更新於 2026年10月7日

Paper 是插件最常用的 Minecraft 伺服器軟體:它能執行 Spigot 插件,並在上面加了更大、更快的 API。Paper 插件是一個針對 paper-api 編譯的 Java(或 Kotlin)專案。以下是它需要的東西,不管是自己動手,還是交給 AI 幫你建置。

一個可以拿來起步的範例。

用 Codexe 產生這個

逐步說明

  1. 1.選擇 Minecraft 版本

    使用你伺服器執行的版本。它決定了 Java 版本:1.20.5 之前用 Java 17,1.20.5 起用 Java 21,26.x 用 Java 25。

  2. 2.建立專案

    一個 Gradle 或 Maven 專案,加入該版本的 paper-api 相依套件,來源是 PaperMC 儲存庫,範圍設為 provided/compileOnly。

  3. 3.撰寫主類別

    一個繼承 JavaPlugin 的類別,在 onEnable() 裡註冊指令和監聽器。

  4. 4.向伺服器描述插件

    plugin.yml(name、version、main、api-version、commands、permissions)。Paper 也支援 paper-plugin.yml,它有自己的載入規則。

  5. 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 產生這個
如何製作 Paper 插件(Minecraft) | Codexe