ModPE

出自Minecraft基岩版开发Wiki

ModPE Script(非官方譯作ModPE腳本,無歧義時通常簡稱為ModPE)是一類相繼由 ModPE 外掛[注 1]BlockLauncher 支援的遊戲模組的統稱,一般情況下多指後者。嚴格來說,前者與後者是同一物件的不同階段,後者本質上是對前者內容的擴充。在 ModPE Script 產生的早期,同一個腳本可能能夠同時在 iOS 和 Android 上執行。若無特殊說明,下文中 ModPE 均指 ModPE Script。

  1. 此處 ModPE 為 treebl 開發的外掛名,而非 ModPE 所代指的腳本

概述[編輯]

ModPE(在 MinecraftPE 圈內)也稱 JS(得名於該腳本檔案的後綴為 .js),是一種由 JavaScript 編寫的腳本。一個單獨的 .js 檔案可被 BlockLauncher 直接載入。ModPE 也可以和相關的資源以 zip 的格式壓縮在一起並以 .modpkg 的後綴被BlockLauncher 載入(在 .modpkg 被支援前,使用 .js 檔案配合材質包的方式來達到相同的效果)。BlockLauncher 本身也支援直接載入 .coffee 檔案,原理上是藉助 CoffeeScript 語言能直接翻譯成 JavaScript。

ModPE 實際是透過 Mozilla Rhino 執行的,由 libmcpelauncher.so(BlockLauncher 內的庫檔案)和 JNI 向 ModPE 提供原生函式(指 MinecraftPE 本身的函式)支援,這些函式在 BlockLauncher 的 Java 層宣告並由 C++ 層將其實現,實現於JVM 的 Rhino 能夠直接對其呼叫。

ModPE 有著相對豐富的函式庫,著名的工業遊戲模組的移植版因式分解便是基於 ModPE 的一個遊戲模組,因式分解盛極一時得益於 ModPE 本身易於編寫和高度靈活,更重要的是其作者對 ModPE 熟練掌握和深度認知。

顯而易見,ModPE 也有著它的不足和局限性,在效能上常常「為人詬病」,更多的時候是吐槽 BlockLauncher 為 ModPE 提供的函式不夠豐富,功能不夠全面,因此,在某些效果用 ModPE 難以實現或根本無法實現時,開發人員們會編寫與其配套的 NativeAddon(原生外掛)以求彌補 ModPE 的缺陷。

你可以檢視ModPE函式表來研究 ModPE 中的函式。ModPE 教學裡有詳細的ModPE開發教學。

你知道嗎[編輯]

  • ModPEScript 本就叫做 ModPE,是由treebl編寫的一個適用於iOS系統的外掛,很快被500ISE(Zhuowei Zhang)移植到BlockLauncher 中,並在安卓系統中支援。
    • 很遺憾的是,次年treebl因為硬盤驅動器故障而放棄了iOS端的開發。ModPE 由500ISE完善至今。[1]

Template:ModFormat