Repo ↗ · 原始 README ↗ · 文件包(Markdown/授權)

封面參考(原作): Minecraft: Java Edition · 原作宣傳圖,由 IGDB 提供。圖片版權屬原權利人,供辨識原作使用,不代表此重寫/模組專案的實際畫面。

來源維護者: M0uidev · 版本: ef4acc265f43 · 整理日期: 2026-10-12

文件授權: MIT · LICENSE · 本文形式: README 翻譯

下文為來源 README 的繁中翻譯,由 Kirikirin 使用 AI 輔助整理;功能、完成度與測試結果均為原作者描述,本站未逐項實機驗證。圖片改為來源連結,指令與技術識別保留原文。


Super Minecraft Galaxy

(代號與儲存庫:GalaxyCraft。)

在《Super Mario Galaxy 2》裡玩 Minecraft。你扮演 Mario,透過 Minecraft 的視角,在 Dolphin 中實際執行的遊戲裡遊玩。可挖掘、可建造、可灌入水和岩漿的體素星球漂浮在 SMG2 的銀河中,帶有球形重力,彷彿它們一直都在那裡。

三個程式共用同一個世界:

  • Minecraft 26.3 的 Fabric 模組(fabric/)。它擁有方塊、物品欄和攝影機,並建構每個星球的網格與碰撞。
  • 修補過的 Dolphin(dolphin/)。它執行遊戲並透過共享記憶體橋接兩端,將鍵盤和滑鼠對應到 Wii Remote 和 Nunchuk。
  • SMG2 內部的 Syati/Kamek 模組(syati/)。它繪製星球、賦予它們重力和碰撞、將攝影機放入 Mario 的視野,並讓 Mario 的移動適應 1 格方塊的洞。

protocol/galaxycraft_protocol.h 是三者共同遵循的共享記憶體配置。

開發中,在 Linux 上建置與測試。與 Nintendo 或 Mojang 無關。不包含任何遊戲檔案:你需要自己的《Super Mario Galaxy 2》副本(USA,SB4E01)和 Minecraft。

可運作的功能

  • Mario 模式。 以鍵盤和滑鼠第一人稱扮演 Mario。F5 切換到第三人稱或遊戲本身的攝影機。
  • 體素星球。 半徑 10 到 256 格方塊的立方體球面星球:基岩、石頭、泥土和草。你像在 Minecraft 中一樣破壞和放置方塊,帶有方塊外框。星球按銀河儲存。
  • 每個 Minecraft 方塊。 任何方塊都可以放在星球上,以其自身模型彎曲到星球的網格上繪製:半磚、階梯、交叉花朵、火把、會連接的柵欄、門、透視玻璃和樹葉。方塊按照 Minecraft 的放置規則,相對於星球的局部上方朝向,且 Mario 會與它們的實際形狀碰撞。/gamemode creative 和 E 開啟創造模式物品欄;當 Minecraft 畫面開啟時,滑鼠是一般指標,因此你可以在其中點擊、拖曳和捲動。
  • 會運作的方塊。 Minecraft 本身執行 Mario 周圍的方塊:門、地板門和閘門會開啟,拉桿和按鈕供電紅石,活塞推動,中繼器、比較器和觀察者觸發,作物生長,儲物箱和熔爐開啟它們的選單。右鍵點擊會先使用方塊(或在其上使用手持物品,如打火石或骨粉)再放置任何東西,如同 Minecraft 中一樣,且空手瞄準這樣的方塊也有效。
  • 生存物品。 在創造模式之外,破壞的方塊會掉落 Minecraft 的戰利品表所說的東西(正確工具、絲綢之觸、幸運),掉落物會落到星球上,並在 Mario 走過時進入你的物品欄,放置方塊會從你手中使用一個,而 Q 會將手持物品丟到星球上。
  • 由遊戲繪製的實體。 掉落的物品、生物、引燃的 TNT 和落下的方塊在 SMG2 內以 Minecraft 自身的模型和材質繪製,而非由 Minecraft 覆蓋。生物(來自生怪蛋)住在暗影維度中,由自身的模型製作動畫,並跨越星球的立方體面在星球上走動。引燃的 TNT 閃爍、膨脹並炸毀星球方塊。
  • 戰鬥。 在觸及範圍內點擊生物會用手上的東西攻擊它,如同 Minecraft 會做的(傷害、擊退、附魔、損耗)。生物死亡時會倒下並在一陣煙霧中消失,並在星球上掉落它們的戰利品。敵對生物會追趕並傷害 Mario,箭和爆炸也是。粒子(死亡煙霧、爆炸、破壞方塊的碎片、擊中)由遊戲繪製。當某物傷害玩家時,Mario 在 SMG2 中會像被敵人擊中(或爆炸,或火焰)一樣踉蹌,而 SMG2 自身的生命計量表則不受影響:Minecraft 的生命值才是關鍵。
  • 每個實體。 箭、礦車、船、盔甲座、投擲物品、畫作,以及生物的盔甲、手持物品、鞍和羊毛也都被繪製,各自由其自身的 Minecraft 渲染器繪製。
  • 使用它們。 箭、雪球、三叉戟和其他投射物從 Mario 飛出。船前往他看的方向,礦車在軌道上。右鍵點擊礦車或船來乘坐它(W 推動或划槳,A/D 駕駛船,Shift 下車);右鍵點擊生物來對它使用手上的東西(剪刀、桶、小麥、命名牌、交易)。Mario 會推動他走進的東西,並撿起散落在地上的箭。
  • 流體。 水和岩漿桶、融化為水的冰,以及水和岩漿相遇處的黑曜石和鵝卵石。經典的鵝卵石生成器可以運作。
  • 感覺像 Minecraft 的碰撞。 Mario 在星球上縮小到 Steve 的寬度,因此他會掉進 1×1 的洞並適合 1×2 的隧道。按 F3+B 查看他的碰撞。
  • /fly 用於自由飛行,以及 /galaxycraft planet spawn|tp|remove 來管理星球。
  • 暫停選單。 Esc 開啟 Minecraft 自身的暫停選單,帶有 Super Minecraft Galaxy…(移動、外觀、實體距離、粒子、飛行、星球編輯器)和 SMG2 Menu(遊戲自身的暫停,+ 按鈕)。設定保存在 config/galaxycraft.properties 中。
  • 兩種移動方式。 Mario(SMG2 移動 Mario:他的跳躍和旋轉)或 Minecraft(Minecraft 移動你,Mario 隨之而行,且 Steve 以 Minecraft 的玩家模型在遊戲中繪製)。F6 切換它們。
  • /skin 將該 Minecraft 帳號的外觀套用到你的角色上(Mario 的模型和 Steve 的);單獨的 /skin 則回到 Steve。

需求

  • Linux,帶有 C++ 工具鏈、CMake、Ninja、Python 3 和 JDK 25。

  • 《Super Mario Galaxy 2》(USA)作為 .rvz/.iso。預設會在 ~/Documents/Games/Dolphin Games/ 中尋找;改設定 GXC_GAME 來指向它。

  • 用於模組的 Syati 工具鏈,保存在儲存庫外的 ~/.local/opt/gxc-toolchain/(或 $GXC_TOOLCHAIN):

    • Syati;
    • CodeWarrior PPC EABI 編譯器,透過 wine 執行;
    • Kamek。

    見 docs/PHASE3.md。

建置與遊玩

dolphin/build.sh     # clones Dolphin at a pinned commit, applies the patch, builds it
syati/build.sh       # the module, its Riivolution patch and Steve's model for SMG2
tools/gxplay.sh      # starts the patched Dolphin and Minecraft together

或開啟 啟動器(cd launcher && npm install && npm start):新聞、修補說明、帶有各自世界和設定的安裝、外觀、主題,以及一個 PLAY 按鈕,執行 gxplay.sh 所做的事,在 Linux 和 Windows 上。見 launcher/README.md。

Minecraft 的選單在 Dolphin 的視窗中開啟,而 SMG2 在其背後自行開機,跳過其標題和檔案選擇。每個 Minecraft 世界是一個銀河:進入一個會將你置於 GalaxyCraftSpace(SMG2 星空下的一個空銀河)中該世界的星球上,從你離開的地方繼續。新世界會獲得它的家園星球和一個起始套件。世界、星球和設定保存在 ~/.local/share/galaxycraft/ 中(Windows 上為 %APPDATA%\galaxycraft\)。見 docs/LANZADOR.md;Windows:docs/WINDOWS.md。

輸入 動作
WASD 搖桿
Space A
Shift Z
Ctrl C
Esc Minecraft 的暫停選單(從那裡進入 SMG2 自身的);SMG2 選單中的 +
Tab −
滑鼠 環顧和瞄準(指標)
左鍵 / 右鍵 旋轉 / B,或手持物品時破壞 / 放置
F 旋轉,總是
1–9 快捷欄:鎬、方塊、桶
E 物品欄(/gamemode creative 為創造模式物品欄);滑鼠是其指標
T 聊天
F5 視角
F6 Mario 的移動 / Minecraft 的
F3+B Mario 的碰撞
Ctrl+G 將遊戲交還給你的 Wii Remote(開發用)

測試

make -C protocol                                  # the protocol's layout
syati/test.sh                                     # the module's pure logic
(cd fabric && ./gradlew test)                     # the mod
dolphin/galaxycraft/build/galaxycraft_host_tests  # the Dolphin bridge (built by its CMake)
tools/gxvoxel.sh                                  # end to end in the real game: planets
tools/gxvoxel.sh movement                         # end to end: pause menu, Minecraft movement, /skin
tools/gxvoxel.sh boot [--fresh-nand]              # SMG2 boots by itself into GalaxyCraftSpace
tools/gxvoxel.sh launch                           # end to end: title, Create World, leave and come back
tools/gxfit.sh                                    # end to end: Mario's fit and stillness

端對端腳本透過 tools/gxdev.py 驅動一個獨立、無頭的 Dolphin。那個 Dolphin 與 gxplay.sh 共享 /dev/shm/galaxycraft_v1($GXC_SHM_DIR 移動它),所以不要在遊玩時執行它們。

配置

路徑 內容
fabric/ Minecraft 模組:橋接、Mario 模式、體素星球、流體、網格化為 GX 顯示列表和 KCL
dolphin/ Dolphin 修補(patches/)和主機橋接(galaxycraft/)
syati/ SMG2 模組:星球、重力、碰撞、攝影機、Mario 的半徑修補
protocol/ 共享記憶體協定
launcher/ 桌面啟動器(Electron),適用於 Linux 和 Windows
tools/ 開發測試框架、遊戲路線、Steve 的模型、測試腳本
docs/ 各階段的設計筆記和計畫(西班牙文)

社群

加入 Discord 伺服器 以獲得開發日誌、發布、問題和錯誤回報。

授權

MIT。《Super Mario Galaxy 2》為 © Nintendo,Minecraft 為 © Mojang/Microsoft。本專案不包含他們的任何資產。


授權與來源聲明

原始 README 與翻譯沿用 MIT 授權;本次修改為繁中翻譯、連結與排版調整。可修改的 Markdown、原始 README、LICENSE 與 NOTICE 收錄於頂部文件包。原作遊戲內容與商標不因此獲得授權。

LICENSE

MIT License

Copyright (c) 2026 M0uidev

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.