Skip to content
sunfish1728Public

About

Automatic torch placement mod for Minecraft Forge 1.20.1 and NeoForge 1.21.1

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

火把袋 Torch Bag

繁體中文 · 简体中文 · English

目前版本:0.6.0。

給 Minecraft 1.20.1 Forge、1.21.1 NeoForge 使用的自動插火把模組。

安裝

  1. 挑選與遊戲版本相符的模組檔,放入該遊戲實例的 mods 資料夾。
  2. 多人遊戲需要伺服器與玩家兩邊都安裝火把袋。
  3. 想使用飾品欄,再安裝對應版本的 Curios API。進入世界後會自動多出一格「腰帶」,不用額外指令。
  4. 想從精妙背包取用火把,另裝 Sophisticated Backpacks 與它需要的 Sophisticated Core。這些連動模組都是選裝。

1.20.1 使用 Forge;1.21.1 使用 NeoForge,兩個 jar 不要混用。

使用

  • 右鍵火把袋開啟收納,只能放原版普通火把。
  • 拿在主手、副手,或裝在 Curios 的「腰帶」欄位,就會自動插火把。收回一般物品欄即停止。
  • 已穿戴時按 V 開啟收納;可以在遊戲的按鍵設定中修改。
  • 容量是 54 格,也就是一個大型箱子的大小;每格最多 64 支。
  • 介面右側的原版風格齒輪可設定補光半徑:8、16、32 或 64 格。設定會記在該火把袋上,預設為 16 格。
  • 同一個齒輪面板可以設定光源密度:低、中、高。低是原本只維持不生怪的密度;中約為低的 2 倍,高約為低的 2.5 倍。密度設定只影響火把袋,不影響火把爆彈。
  • 袋子沒有耐久,也不會自己消失。
物品 格數 排列 球形半徑
火把袋 54 9 欄 × 6 列 8/16/32/64 格

合成

火把袋:

皮革 火把 皮革
火把 箱子 火把
皮革 終界珍珠 皮革

火把爆彈(I):

煤炭塊
煤炭塊 終界之眼 煤炭塊
煤炭塊

兩個火把爆彈(I)可合成火把爆彈(II),兩個火把爆彈(II)可合成火把爆彈(III)。

火把爆彈

  • 火把爆彈(I)、(II)、(III)的半徑分別是 4、8、16 個區塊。這裡的單位是 Minecraft 區塊,不是方塊格數。
  • 範圍採方形區塊半徑:I 共處理 9×9=81 個區塊,II 為 17×17=289 個,III 為 33×33=1,089 個。
  • 右鍵後消耗一顆,以使用位置為中心自動放置火把;創造模式不消耗。
  • 處理順序從中心區塊開始,以區塊為單位一格接一格螺旋向外。輪到尚未生成或已卸載的區塊時,才會載入或生成並掃描該區塊。
  • 爆彈只照亮與釋放位置連續相通的空間。地表釋放不會穿過方塊進入密閉地下空間,地下釋放也不會跑到不相通的地表;真正有開口相通的洞穴或房間仍會被識別。
  • 搜尋與放置現在同步進行:每個普通區塊只檢查 5×5=25 根代表柱,中心區塊加入釋放位置後最多 36 根。判斷出相通區段後會立刻插火把,再前往下一個區塊,不必先等整個範圍搜尋完。
  • 粗略連通線仍會逐格確認中間沒有牆壁或流體,因此不會直接穿過完整薄牆。很窄、彎曲多次,或必須繞到外圈再返回內圈的入口可能被略過;這個取捨用較低精度換取明顯更快的處理速度。
  • 畫面上方只顯示「火把放置進度」。到達 100% 前,同一位玩家不能再使用第二顆;不同玩家可以各自運行。
  • 多位玩家的範圍重疊時會共享近期放置記錄,並再次確認原版光照,避免同一片區域被插成兩倍密度。
  • 為避免遊戲瞬間停住,每個伺服器刻只處理一小段,而且每次最多進入一個新區塊。III 若需要生成大量新地形,完成時間仍可能很長。玩家登出、死亡或前往其他維度會取消尚未完成的工作。
  • 只在有穩固地面、能容納一般怪物且方塊光照為零的位置放置,並保留方塊放置保護檢查。

補光方式

火把來源依序為:啟用的火把袋 → 玩家物品欄 → 隨身與穿戴的精妙背包。背包裡的另一個背包不會被搜尋。

範圍是以玩家腳部所在方塊為中心的球體,包含隔牆與上下樓層。可在收納介面右側的齒輪設定 8、16、32 或 64 格半徑。白天也會補光,因為判斷時不把陽光當成長期照明。主要照顧有地面、可容納一般怪物的黑暗位置;已有方塊光照就不再刻意補亮。

每次掃描會直接使用遊戲目前的方塊光照,在同一個遊戲刻內最多連續放 16 支火把,並在每支放下後立即更新光照。因此一般洞穴會在進入時幾乎立刻補亮,也不會在已經照亮的範圍重複亂插。火把能插地面或掛牆,不會拆方塊、清草、替換作物或插進水裡。

光源密度的間距分別是 13、9、8 格,搭配原版方塊光照判斷。中、高檔會在亮度仍偏低時繼續補火把,因此火把數約為低檔的 2 倍與 2.5 倍;洞穴形狀、牆壁與可放置地面會使實際數量略有差異。

同時拿著或穿戴多個袋子時,優先使用穿戴欄,再來是主手與副手。不疊加速度,也不借用其他袋子的內部庫存。

火把用完後會暫停,補入就恢復。冒險與旁觀模式不自動放置;創造模式同樣消耗火把。無法放置火把的地方,以及生怪磚、特殊怪物和其他模組修改的生怪規則,不保證能靠照明阻止生怪。

原始碼與開發

  • forge-1.20.1/:Java 17,Forge 47.4.10。
  • neoforge-1.21.1/:Java 21,NeoForge 21.1.251。
  • common/src/main/resources/:共用語言、模型、貼圖與 Curios 欄位資料。
  • 內建繁體中文、簡體中文與英文。
  • scripts/generate_sources.py:維護兩版共同行為與版本差異,執行後產生兩版 Java 原始碼。
  • scripts/generate_resources.py:產生語言、合成與欄位 JSON。
  • scripts/generate_bomb_textures.ps1:以原版終界之眼參考圖產生三階火把爆彈貼圖。
  • DEVELOPMENT.md:建置環境、依賴與測試執行方式。

建置不需要重生貼圖。若修改 Java,請同步修改產生腳本,以免下次執行腳本時蓋掉手改內容。

About

Automatic torch placement mod for Minecraft Forge 1.20.1 and NeoForge 1.21.1

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages