Minecraft Server Block ID Conflict 方塊 ID 衝突

今天在幫伺服器安裝 MOD 的時候
大概安裝到 7 個 MOD 左右的時候
出現了問題,伺服器顯示:

java.lang.IllegalArgumentException: Slot 242 is already occupied by ......



這個的意思是說,有兩個不同的模組都使用了 242 這個 ID
導致問題

後來解決的方法是
到 server 資料夾底下有一個 config 資料夾
先仔細看一下那串錯誤訊息
他會寫 Slot 242 is already occupied by XXXX...
後面 XXXX 的部分
就是告訴你哪一個模組在初始化的時候遇到問題
然後你就到 config 資料夾找那一個模組的設定檔案
並編輯之



舉例來說
我今天安裝 ClassCraft 的時候出現問題
開啟伺服器後出現問題:

java.lang.IllegalArgumentException: Slot 200 is already occupied by Jimmynator.BlockAnvil@.......
看出來是哪一個出問題後
我便進到 config 裡面修改 Jimmynator.cfg

(他模組下載之後的名稱是 Jimmynator)
檔案部分內容是這樣:
####################
# block
####################

block {
   Anvil=200
   Demonite Ore=204
   Luciferite Ore=205
   Methane=207
   Nethercoal Ore=203
   Omelette=202
   Orb Block=208
   Pan=206
   Wheat Bale=201
}
.........

然後我把它修改成這樣後就可以執行了:

####################
# block
####################

block {
   Anvil=150
   Demonite Ore=151
   Luciferite Ore=152
   Methane=153
   Nethercoal Ore=154
   Omelette=155
   Orb Block=156
   Pan=157
   Wheat Bale=158
}


因為實際上我是 ClassCraft 跟 家具模組衝突導致不能執行
於是我去查家具模組和 ClassCraft 模組裡面 Block 所使用的 ID 區段
發現他們都指定 200 以後
所以我把它修改到沒有被指定過的就可以了

至於遊戲本身所使用的 ID 有哪些
請參考網頁:Mod ID List - minecraftinfo

現在程式預設中的 Block ID 最高只能到 255
要是安裝模組一多就很容易衝突
(尤其是像家俱模組那種,一口氣增加很多種方塊)

網路上搜尋過好像有人有製作可以擴增到 4096 的模組
不過自己還沒成功,就先不提了

沒有留言:

張貼留言