블록, 아이템 ID 충돌 해결

slot error

마인크래프트에서는 여러 종류의 모드들이 여러개의 블록, 아이템들을 추가합니다. 하지만 추가할 수 있는 숫자가 무한하지 못하다 보니 간혹 충돌이 발생하기도 합니다. 위에 나온 에러가 그런 상황입니다. 중간 부분의 java.lang.~ 부분을 보시면 Slot 4000은 이미 Biomes O’Plenty의 BlockWhiteSapling이 차지하고 있어서 Extra Bees의 BlockExtraBeeHive를 추가하지 못하는 상황입니다. 즉, 블록 ID 4000번을 두개의 모드에서 서로 쓰려고 하다 보니 충돌이 발생해버린 것이지요. 이럴 경우의 해결 방법은 크게 두가지가 있습니다. 간단한 해결 방법으로는 하나의 모드는 포기하면 됩니다. 그럼 충돌이 일어날 일은 없어지겠지요. 하지만 도저히 포기할 수 없다면 한쪽에서 양보를 하면 됩니다. 이번에는 그에 대한 이야기를 해보겠습니다.

우선 마인크래프트가 설치된 폴더로 갑니다. 마인크래프트 런처에서 옵션 버튼을 누르면 설치 경로를 확인할 수 있습니다. 그 안에 보면 config 라는 폴더가 있습니다. 이 안에 모든 모드들의 설정 파일이 들어가게 됩니다. 위에서 충돌이 일어난 모드는 Biomes O’Plenty와 Extra Bees이니 두 모드의 설정 파일을 메모장 등으로 열어봅시다. Biomes O’Plenty는 BiomesOPlenty.cfg 라는 파일을, Extra Bees는 forestry 폴더 안의 extrabees 폴더 안의 main.conf 입니다. (길다)

우선 BiomesOPlenty.cfg 의 block 부분만을 간략하게 추려보겠습니다.

block {

I:”Violet ID”=3993
I:”White Cherry Leaves ID”=4035
I:”White Cherry Sapling ID”=4000
I:”Wildflower ID”=4023

}

그 다음은 extrabees의 main.conf 에 있는 block 부분입니다.

block {
# Block ID for Alveary Block. Default ID is 4005.
I:alvearyBlock=4005
# Block ID for Ectoplasm. Default ID is 4001.
I:ectoplasm=4001
# Block ID for Bee Hive. Default ID is 4000.
I:hive=4000
}

Biomes O’Plenty의 White Cherry Sapling ID와 Extra Bees의 hive가 같은 4000번을 쓰고 있습니다. 그럼 이걸 서로 다른 숫자로 바꾸면 됩니다. 그런데 설정 파일 내용을 보니 다들 비슷한 숫자들을 쓰고 있어서 값 하나만 바꾸는걸로는 해결이 안될 것 같습니다. 그래서 한쪽의 숫자를 전체적으로 바꿔야 할 것 같네요. 여기서 주의할 점으로 Extra Bees의 경우 폴더 안에 설정 파일이 2개가 있었습니다. 지금은 4000번만 찾기 위해서 main.conf를 열었지만 Extra Bees 전체를 바꾸려면 machine.conf 도 같이 수정을 해야 합니다.

한쪽 모드의 숫자를 전부 바꾼 다음 게임을 실행하면 (다른 곳에서 충돌이 발생하지 않는다면) 게임이 실행됩니다. 다만, 기존에 게임을 플레이하던 맵이 있었다면 ID 값을 바꿈으로 인해 전혀 다른 블록으로 바뀌는 경우도 있을 수 있습니다. 예를들에 Extra Bees를 기존에 쓰고 있었는데 Biomes O’Plenty를 설치하려니 ID가 충돌해서 Extra Bees의 ID를 바꿨습니다. 그럼 기존의 맵에 존재하던 Extra Bees의 장비들이 Biomes O’Plenty의 나무 등으로 바뀌어 버리는 충격적인 사태가 생기게 됩니다. 그런 경우를 피하려면 가급적 새로 추가하려는 모드의 ID를 바꾸셔야 합니다. 아니면 처음부터 각 모드별로 ID 구역을 나눠버리는 방법도 있습니다. 기본으로 제공되는 ID 값을 무시하고 모든 모드의 ID를 새로 할당하고 관리하는 것이지요. 이럴 경우 초반에 손대에 하는 부분이 많긴 하지만 모드를 추가해도 충돌을 피하기가 수월해집니다. 나중에 모드 업데이트를 고려해서 모드별로 구간에 여유는 주어야 하겠지만요.

위에서는 블록에 대해서만 예를 들었지만 아이템도 처리하는 방법은 동일합니다. 둘의 차이는 ID의 범위가 1~4095 이냐, 그 이후 이냐의 차이 정도입니다. 블록은 맵에 설치되는 것들이고, 아이템은 소지하거나 사용만 하고, 맵에 설치는 안되는 것들입니다.

P.S: Biomes O’Plenty 0.5.2 업데이트 이후에는 블록 ID가 대대적으로 교체되어 더이상 Extra Bees와 충돌하지 않습니다.

Advertisements