常見問題

警告

本文档是针对旧版 SpongeAPI 编写的,目前已不再维护。虽然相应的代码依然能在对应的 API 下工作,但相关政策、方针及链接可能有所变化。请在必要时参阅最新的文档获得相关信息。

給所有人

Sponge 是什麼?

Sponge是一個新的多功能的 Minecraft API。 它是通過允許插件添加功能到 Minecraft 來豐富您的 Minecraft 體驗。 在這裡閱讀更多關於Sponge的信息: introduction`和 Sponge 的歷史在這裡::doc:`history

執行 Sponge 有哪些需求?

Sponge(以及 Minecraft)需要 Java Runtime Environment 才能正常執行。顯然你也需要一台電腦來執行伺服器,除此之外什麼都不用。瞭解關於選擇正確 Java 版本的詳細資訊:安裝 Java

我可以從哪裡取得 Sponge?

Beta 開發組建的 SpongeForge 和 SpongeVanilla 已發佈: Sponge Downloads

有哪些可用的 Sponge 實作?

Sponge Project 目前以 SpongeAPI 開發了兩項實作:

  1. SpongeForge 是 Minecraft Forge 的核心模組,它是一個為了擴展 Minecraft 修改環境而存在的 Minecraft 知名改裝框架。 Forge 缺乏一個跨版本的 API,這就是 Sponge 的起點。Sponge 允許伺服器所有者輕鬆地部署 Sponge 插件,使得伺服器管理更加容易。(SpongeForge 過去被稱為Sponge,直到它為了避免混淆而更改名稱)。

  2. SpongeVanilla,Sponge API 的一項獨立實作,於原版的 Minecraft 伺服器上執行。(在開發團隊合併前 SpongeVanilla 稱為 Granite)。

我可以從哪裡取得 Sponge 插件?

我們名為 Ore 的官方插件儲存庫。這已經開始在 GitHub 上進行開發。目前插件暫時託管於 SpongeForums

Bukkit 發生了什麼事?

Bukkit 專案的 API 與伺服器修改已停止進一步的開發。此後不久,Bukkit 的貢獻者之一公布了 DMCA 刪除通知以停止 CraftBukkit 的進一步開發。這屬於他的法律權益。CraftBukkit 及其衍生產品(像是 Spigot 和 Cauldron)的下載與原始碼不再公開。若你想了解這件事為何會影響 Sponge 的開發,可以看看我們的歷史頁面:Sponge 的歷史

我可以用這個來執行 Bukkit 插件嗎?

很遺憾不行,不會原生支援。Sponge 使用自己的 API (Sponge API),而 Bukkit 用的是 Bukkit API。 不過可能會有 Sponge 的第三方插件可以在 Sponge API 之上實現 Bukkit API。

給伺服器擁有者

我是伺服器擁有者!切換到 Sponge 會如何影響我的伺服器?

對於已存在的 Forge 伺服器,您需要下載 Sponge 並將其放置到 mods 資料夾中。就可以和其他 Forge 伺服器一樣正常啟動。

非 Forge 的伺服器可能會改用 SpongeVanilla ,這是一項不依賴 Forge 的實作。在 SpongeDocs 的其他部分有從 Bukkit 和/或 Canary 遷移的指南。值得一提的是許多來自 Bukkit 社群的插件開發者已經投身於 Sponge,並計劃為基於 Sponge 的伺服器提供他們的插件。

世界可以被完整移植。若插件開發人員有建立任何轉換方式,你也能保留原本的插件資料。有些插件開發者並不會做這些。

特地在此聲明,我們不會在 Sponge 上提供對 Bukkit 插件的支援。然而可能會有第三方開發者在 Sponge 上為 Bukkit 插件建立執行方式。

切換到 Sponge 會如何影響我伺服器上的玩家?

切換到 Sponge 應該不會影響您伺服器上的玩家。 如果您(作為伺服器所有者)遷移正確,玩家將能夠和遷移到 Sponge 之前以相同的方式連接到您的伺服器。他們不必安裝 Forge ——當然,這是以你的伺服器未執行 Forge 模組為前提。

給開發人員

我可以用 Sponge 做什麼?

Sponge 提供了一個插件 API。這意味著你可以馬上建立新的內容與遊戲模式。閱讀我們的插件頁面以快速上手:建立插件

我不能用 Sponge 來做什麼?/ Sponge 有什麼限制?

Sponge 不能在客戶端建立新的方塊、材質、怪物其他任何需要修改客戶端的內容。基於安全考量,Sponge API 目前不會支援向客戶端發送模組或插件。但你依然可以在客戶端使用 ForgeAPI,並為伺服器端建立 Sponge 插件。甚至可以在客戶端使用 Sponge,但有些工作仍需透過模組來達成。

我是 Bukkit 插件的開發者!為什麼 Sponge 不能使用 Bukkit 的 API?

Bukkit 的 API 程式碼包含 GPL 授權協議。 這是 Bukkit 在2014年9月滅亡的一個重要原因;改用基於 MIT 授權協議的新 API,我們可以避開 Bukkit 遭遇到的那些問題。雖然這不能讓我們從 Mojang 的控制中解放,因為程式碼是他們的,而我們相信 Mojang 支持改製,所以將會繼續開發。

我能不能用插件存取伺服器的內部?

存取伺服器內部(在 CraftBukkit 中稱為「NMS」或「net.minecraft.server」)可以透過過擁有大量反混淆名稱的 MCP 完成。但是請留意,存取伺服器內部可能會增加插件毀損的風險——一切都取決於你。

在您的插件中使用 MCP 的介紹,請參閱 相依於實作的插件