【討論】Inner Core Tool Chain模組開發環境設定 @Minecraft 我的世界(當個創世神) 哈啦板

【討論】Inner Core Tool Chain模組開發環境設定 @Minecraft 我的世界(當個創世神) 哈啦板

哈囉大家好,目前配合站方的更新,伺服器子板自推後不需自刪,後續也會更新伺服器子板規,感謝各位。

LV.

29

GP

3k

【討論】Inner Core Tool Chain模組開發環境設定

基岩版

樓主

ivon852

ivon852

GP9

BP-

2021-10-30 16:09:49 編輯

InnerCore的作者有在Github上釋出Inner Core Tool Chain工具,方便開發者在Windows上「高效率」地開發Inner Core Minecraft模組。

什麼是InnerCore?

Mojang官方支持的Add-On已成為目前Minecraft基岩版模組主流,但在Android平台上你還有另一個選擇:Inner Core。 相較於Add-On,Inner Core提供的API可以做到:

新增維度

新增生態系新增方塊、物品,包括液體和工具。

自訂UI (使用Android系統的組件)

修改原本遊戲的行為 (callback)

跟Add-on新增的生物互動支援多人連線

本文介紹如何透過這個工具撰寫和打包JavaScript的InnerCore模組,需要打大量指令。 目錄:前置作業設定專案開始撰寫主程式打包輸出發表到InnerCore官網其他參考資源前置作業需要的工具:

Inner Core Tool Chain (Github)

Git for Windows

Python 3

Node JS

ADB (Platform Tools)

VS Code

Horizon啟動器

Windows 10電腦

Android手機,開啟除錯模式

如果要開發C++原生模組,還要用到JDK、NDK,暫且不提。這個工具只能在Windows執行,不過將bat檔自行改寫成shell也是能在Linux上執行,因為大部分操作還是依賴python完成。VS Code能在編輯程式時顯示每個函數的定義,或者按Ctrl+Shift+B來執行專案資料夾裡的bat檔。*Windows 10如何用指令執行bat檔:開啟Powershell,cd切換到bat檔所在的資料夾,輸入.\bat檔名,例如:.\build-scripts-and-resources.bat 設定專案1. 下載儲存庫

git clone https://github.com/zheka2304/innercore-mod-toolchain

2. 切換至該目錄

cd innercore-mod-toolchain

3. 建立一個InnerCore專案

python .\toolchain-setup.py mymod

之後終端機會詢問一些問題,可照填:Enter your pack directory name [Inner_Core]: mymod (資料夾名稱)Enter project name: My Mod (專案名稱)Enter Author Name: Ivon (作者)Enter Project Version: 1.0 (版本)Enter Project Description: A test mod. (說明)Do you want to initialize a new native directory? [y/N]: NDo you want to initialize a new java directory? [y/N]: NDo you want to clean up the project? [Y/n]: y接著就會建立一個叫做"mymod"的資料夾,這就是專案的根目錄。4. 切換至專案目錄"mymod"

cd mymod

5. 初始化專案

npm init -y

環境設定教學6. 安裝Typescript

npm install tscnpm install typescript

7. 執行toolchains目錄下的bat檔,下載InnerCore的TypeScript定義,這樣輸入函數時就會顯示相關用法:

.\download-declartions.bat

這樣"mymod"根目錄下應該有這些東西了:mymod├── make.json├── package.json├── src/└── toolchain/開始撰寫主程式開啟VS Code,檔案→開啟資料夾→開啟專案"mymod"根目錄。1. 打包時,腳本會按照根目錄的make.json所設定的來建構檔案。剛剛在創建專案時,已經輸入好開發所需的資訊了,因此make.json裡global的info欄位已填入模組的基本資訊:

{ "global":{ "info":{ "name":"My Mod", "author":"Ivon", "version":"1.0", "description":"A test mod." }, "api":"CoreEngine" }, "make":{ "debugAbi":"armeabi-v7a", "abis":[ "armeabi-v7a", "x86" ], "linkNative":[ "minecraftpe", "innercore", "nativejs" ], "excludeFromRelease":[ ], "pushTo":"storage/emulated/0/games/horizon/packs/mymod/innercore/mods/mymod", "ndkPath":null }, "resources":[ { "path":"src/assets/res", "type":"resource_directory" }, { "path":"src/assets/gui", "type":"gui" }, { "path":"src/assets/resource_packs/*", "type":"minecraft_resource_pack" }, { "path":"src/assets/behavior_packs/*", "type":"minecraft_behavior_pack" } ], "sources":[ { "source":"src/dev", "target":"main.js", "type":"main", "language":"typescript" }, { "source":"src/launcher.js", "type":"launcher", "language":"javascript" }, { "source":"src/lib/*", "type":"library", "language":"javascript" }, { "source":"src/preloader/*", "type":"preloader", "language":"javascript" } ], "compile":[ { "source":"src/native/*", "type":"native" }, { "source":"src/java/*", "type":"java" } ], "additional":[ { "source":"src/assets/root/*", "targetDir":"." } ]}

resources:[]代表這個專案,相關紋理的儲存位置。sources:[]代表這個專案包含的JS,維持預設。pushTo屬性代表的是輸出到手機的目錄。手機Horizon儲存模組的位置通常位於內部儲存空間/games/horizon/packs/Inner_Core/innercore/mods。excludeDirectories,打包輸出時要排除的目錄。2. 在目錄src/dev/下新增一個"main.ts",這是模組主程式。建議使用TypeScript (ESNext標準)撰寫,再編譯成JS,因為InnerCore的JS是ES5標準。main.ts輸入以下內容,這樣會在玩家進入Minecraft世界後顯示Hello World!的訊息:

Callback.addCallback("LevelDisplayed", function () { Game.message("Hello World!");});

3. 把src/icon.png移動到src/assets/root/,改名mod_icon.png,這是模組的縮圖。4. 在src/assets/root/新增config.json裡面輸入:

{ "enabled":true}

這樣可讓玩家在Horizon中任意啟用或停用模組。如果要新增物品/方塊,紋理貼圖應放在src/assets/res資料夾。5. 到此為止,根目錄/src下應該有這些檔案:mymod/src├── assets│ ├── behavior_packs│ ├── gui│ ├── res│ │ ├── items-opaque│ │ └── terran-atlas│ ├── resource_packs│ └── root│ ├── config.json│ └── mod_icon.png├── dev│ ├── header.js│ ├── main.ts│ └── tsconfig.json├── launcher.js├── lib├── native└── preloader打包輸出所有的.bat檔案都位於根目錄/toolchains。VScode按Ctrl+Shift+B可執行專案資料夾裡的bat檔。編譯並複製到手機上測試手機插到電腦上,開啟除錯模式。執行:

.\build-scripts-and-resources.bat

此操作會將檔案全部輸出到根目錄/output,接著把檔案複製到手機上Horizon的目錄,然後Horizon會自行啟動。在Horizon的本機模組列表就能看到自製模組,以及config的畫面。進入世界,顯示Hello World!訊息。打包成.icmod執行:

.\assemble-release.dat

此操作會將模組的檔案打包成.icmod,檔案位於根目錄,會產生一個"mod.icomod"的檔案。.icmod是用於發布到官網的格式,其實就是zip。編譯成.dex檔案此動作非必須,但編譯成Android系統的.dex檔案可增加模組執行效率。點進去模組頁面,按右上角「編譯」 之後模組資料夾會多出".dex"資料夾,代表編譯完成。發表到InnerCore官網投稿到官網,其他玩家就能從模組管理器的「下載模組」處搜尋到你的模組。官方有權利刪除你的投稿,所以務必寫完整說明。準備好.icmod檔案,到官網註冊帳號,點右上角自己帳號的名字,按「添加模組集」進行投稿。可同時提供英文及中文的說明。其他參考資源

官方文檔

InnerCore官網

InnerCore中文論壇

聊勝於無的ModPE函數表翻譯 (BlockLauncher時代寫的,雖然有些還可以用,但函數名稱大多已經變了)

(影片)Inner Core Horizon Mods Development

9

-

0

連結

文字顏色

更多顏色

背景顏色

更多顏色

特大

很大

字級

粗體

斜體

底線

刪除線

清除格式

更多顏色

未登入的勇者,要加入 2 樓的討論嗎?

延伸閱讀

【自製】UniversalCauldron 彩色鍋釜|支援RGB混色! 1.20.6~1.21.7

情報

【1.21.4塔型RPG冒險】純白之塔 The Whit

情報

【MW】【1.14.4】 劇情向微恐怖解謎地

情報

【翻譯地圖】1.20.4 多人同樂地圖 -

心得

Minecraft 伺服器優化反思:Aikar's F

【塔防】!更新! 重製Part 2 1.20.6 Minedefence The Model 我的塔防 模型

情報

[minecraft] 1.20.6 簡易跑庫

問題

1.20.6 backpacked mod 多人遊戲無法使用

◄►

1

板務人員:

IP 位置

發文時間

引言回覆

收藏文章

看他的文

複製連結

卡留言

刪除文章

編輯文章

檢舉文章

嵌入文章

刪除

閱覽分級

水桶

M文

收精華區

管理本頁

編輯留言

刪除留言

檢舉留言

作品介紹

水桶名單

分享

關閉圖片影片

設定

回覆文章

卡回文

【討論】Inner Core Tool Chain模組開發環境設定

一樓

最新

本站所刊載之圖文內容等版權皆屬原廠商或原作者所有,非經同意請勿轉載

巴 哈 姆 特 電 玩 資 訊 站 https://www.gamer.com.tw

相关拼贴

365bet足球正网平台 网页如何创建电子邮件链接 如何指向邮箱邮件
365bet备用服务器 绝地求生学校打法大揭秘! PUBG🔥
365bet备用服务器 鹿晗谈梅西:散步式踢法,非常