Minecraft(我的世界)中文论坛

标题: ID冲突解决教程

作者: wish2012    时间: 2013-5-5 14:49
标题: ID冲突解决教程
本帖最后由 wish2012 于 2013-5-5 14:48 编辑

本文新手向,为那些初次做整合包的人提供一点帮助。
在将不同mod整合到一起是很容易遇到ID冲突的。在mod少的时候这个问题基本不会出现,因为有足够的ID来分配。但在装了很多mod,尤其是工业林业这类大型mod后这个问题基本上是必然出现的。本教程就是教大家如何解决这个问题。
下面就是此次教程的两个主演:
一般情况下这两个mod不会冲突,但为了做教程,我特意将两个mod改的冲突了{:10_512:}
打开minecraft,出现错误提示:
让我们看看出了什么问题:

在错误报告中,我们注意到这一句
java.lang.IllegalArgumentException: Slot1024 is already occupied by cpw.mods.ironchest.BlockIronChest@6e86b7 whenadding flabs.mods.betterfurnaces.BlockBetterFurnace@4e8ffe

这就是ID冲突的提示,大概的意思就是在载入更多熔炉(betterfurnaces)的时候发现1024这个ID已经被更多箱子(ironchest)用掉了,结果更多熔炉载入失败。

现在让我们来解决这个问题
.minecraft文件夹里找到config文件夹,打开config文件夹可以看到很多cfg后缀名的文件,这就是mod的配置文件,大多数mod都会在这里生成一个配置文件,配置文件里有modID设置。
上图是部分配置文件,第一个是更多熔炉(betterfurnaces)的配置文件,最后一个是更多箱子(ironchest)的配置文件。打开这两个文件,可以看到:

Block是方块的IDitem是物品的ID。方块ID最大4095,物品ID最大31999(不太确定,但NEI转存的ID最大是这个,尽量不要超过这个限制)
在两个配置文件中都找到1024这个ID(图中红色方框),可以发现两个mod都用了1024这个ID结果冲突了,让我们改掉一个(要改成未使用的ID,若果改成的ID仍然有其它mod使用的话还是会出现ID冲突这个问题的)
可以看到,我将更多箱子的1024改成了1000。保存配置文件后重新启动minecraft

问题解决。{:10_525:}

基础教程完毕,下面是进阶教程。
进阶教程需要这个:
没错,就是NEI,当然用这个不是为了作弊,是为了它的一个功能——ID转存。
先点击坐下角的设置
再选择右下加的方块/物品ID设置
然后就出现这个界面:
我习惯使用和未使用的方块物品ID都转存(当然,你可以选择之转存使用的方块物品ID或者只转存未使用的方块物品ID):
最后点击现在转存ID表,会出现如下提示
.minecraft文件夹找到提示的文件:
上图最后一个就是,打开这个文件:
上图中可以看到更多熔炉使用的两个方块ID,还有一大堆未使用的ID,整合mod时就可以将那些冲突的ID往这些未使用的ID上改。

————————END——————————————

当然进阶教程可以不使用NEI,把每一个modID都记下来就行了,不过这个工作量就有点大。我一般是装好一个mod后用NEI转存一次ID表,在装下一个mod时如果出现ID冲突,就到最后一次转存的ID表里找未使用的ID,然后把冲突的ID往未使用的ID上改。



作者: z736027620    时间: 2013-5-5 14:51
很棒了~@!
作者: 974778701    时间: 2013-5-5 14:53
顶一下LZ~{:10_512:}
作者: 52Dora    时间: 2013-5-5 15:09
砸场子:
只需使用ID分配Mod即可
英文名忘了
作者: Sakura灬zero    时间: 2013-5-5 15:12
A.A不会的在这里路过
作者: 杯具的俺    时间: 2013-5-5 16:22
感谢LZ,赶紧收藏
作者: Kphvssmfh    时间: 2013-5-7 13:31
很不错  学习了   
作者: alexhod    时间: 2013-5-7 13:44
很不错的新手向教程,NEI部分受教了,原来都是自己查空ID的
作者: leous9895    时间: 2013-5-7 18:47
使用IDChecker这个MOD,每次成功进入游戏可以把当前包括block item biome Dimension等在内的所有ID列成TXT,直观明了……逐个导入逐个确认就好了,不然单独去看每个mod的设置文件容易出现纰漏
作者: wish2012    时间: 2013-5-7 23:27
本帖最后由 wish2012 于 2013-5-7 23:28 编辑
leous9895 发表于 2013-5-7 18:47
使用IDChecker这个MOD,每次成功进入游戏可以把当前包括block item biome Dimension等在内的所有ID列成TXT, ...

我也用过之类的mod,但都只更新几个版本就不再更新了,又得去找新的mod,最后我懒得再去找mod就自己去改了,而且设置文件里有很多很有意思的设置内容,比如工业的设置文件有是否显示隐藏的合成表,林业的设置文件里可以设置养蜂的难度。
作者: leous9895    时间: 2013-5-7 23:58
wish2012 发表于 2013-5-7 23:27
我也用过之类的mod,但都只更新几个版本就不再更新了,又得去找新的mod,最后我懒得再去找mod就自己去改了 ...

Idchecker从来是随mc版本更新的啊,整和几个大型mod的时候自己对照简直受累不讨好,而且用了之后那些id没被占用一目了然,偷懒的地方不太好。
另外无关紧要的,自动分配id的mod经常和自带id调整的mod冲突,所以很难用
关于设置文件的其他内容,如果是总自己装mod自己玩的玩家,基本都有一套喜欢的设定
作者: s2800620    时间: 2013-9-9 21:41
超讚的!!已全吸收~~感謝
作者: dlsts    时间: 2013-9-10 22:16
s2800620 发表于 2013-9-9 21:41
超讚的!!已全吸收~~感謝

1.5id上就是个悲剧。。。就1.5没有自动分配id的mod

作者: dl3889853    时间: 2013-9-11 22:15
泪流满面啊,感谢楼主的大恩大德,靠你的教程,我成功了,谢谢!!
作者: 979676518    时间: 2013-10-6 17:27
服务端的怎改
作者: halfcigarette    时间: 2013-10-12 14:57
回帖是美德。。。
作者: klz124578    时间: 2013-11-9 21:58
{:10_492:}楼主你好帅!
作者: 936728431    时间: 2014-5-9 20:08
服务端怎么办?
作者: fjsnhew    时间: 2014-5-11 11:27
原来net还有这功能。。。那么net和tmi能共存吗
作者: wish2012    时间: 2014-5-11 11:29
fjsnhew 发表于 2014-5-11 11:27
原来net还有这功能。。。那么net和tmi能共存吗

没试过,不过NEI和TMI功能重复太多了,有NEI就没必要再装TMI了
作者: fjsnhew    时间: 2014-5-11 11:30
wish2012 发表于 2014-5-11 11:29
没试过,不过NEI和TMI功能重复太多了,有NEI就没必要再装TMI了

就是net用着不习惯,还有就是怎么找不到net的下载,只有tmi的
作者: wish2012    时间: 2014-5-11 11:41
fjsnhew 发表于 2014-5-11 11:30
就是net用着不习惯,还有就是怎么找不到net的下载,只有tmi的

论坛搜索Not Enough Items
作者: fantasy719    时间: 2014-6-7 08:48
同樣做法不曉得 1.7.2 是否可行 ~ 希望 2014 年的這個月樓主能再發一次新的教程 ~ 期待 ~
作者: y55151124    时间: 2014-8-10 14:22
我遇到了一个从来没有碰到的问题,崩溃配置文件里居然没有slot!
这些文件该如何解决?
  1. Description: Failed to start game

  2. java.lang.NullPointerException
  3.         at com.eloraam.redpower.RedPowerControl.setupBlocks(RedPowerControl.java:117)
  4.         at com.eloraam.redpower.RedPowerControl.load(RedPowerControl.java:50)
  5.         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
  6.         at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
  7.         at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
  8.         at java.lang.reflect.Method.invoke(Unknown Source)
  9.         at cpw.mods.fml.common.FMLModContainer.handleModStateEvent(FMLModContainer.java:487)
  10.         at sun.reflect.GeneratedMethodAccessor3.invoke(Unknown Source)
  11.         at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
  12.         at java.lang.reflect.Method.invoke(Unknown Source)
  13.         at com.google.common.eventbus.EventHandler.handleEvent(EventHandler.java:69)
  14.         at com.google.common.eventbus.SynchronizedEventHandler.handleEvent(SynchronizedEventHandler.java:45)
  15.         at com.google.common.eventbus.EventBus.dispatch(EventBus.java:317)
  16.         at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:300)
  17.         at com.google.common.eventbus.EventBus.post(EventBus.java:268)
  18.         at cpw.mods.fml.common.LoadController.propogateStateMessage(LoadController.java:153)
  19.         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
  20.         at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
  21.         at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
  22.         at java.lang.reflect.Method.invoke(Unknown Source)
  23.         at com.google.common.eventbus.EventHandler.handleEvent(EventHandler.java:69)
  24.         at com.google.common.eventbus.SynchronizedEventHandler.handleEvent(SynchronizedEventHandler.java:45)
  25.         at com.google.common.eventbus.EventBus.dispatch(EventBus.java:317)
  26.         at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:300)
  27.         at com.google.common.eventbus.EventBus.post(EventBus.java:268)
  28.         at cpw.mods.fml.common.LoadController.distributeStateMessage(LoadController.java:86)
  29.         at cpw.mods.fml.common.Loader.initializeMods(Loader.java:676)
  30.         at cpw.mods.fml.client.FMLClientHandler.finishMinecraftLoading(FMLClientHandler.java:207)
  31.         at net.minecraft.client.Minecraft.a(Minecraft.java:458)
  32.         at asq.a(SourceFile:56)
  33.         at net.minecraft.client.Minecraft.run(Minecraft.java:746)
  34.         at java.lang.Thread.run(Unknown Source)


  35. A detailed walkthrough of the error, its code path and all known details is as follows:
复制代码

作者: wish2012    时间: 2014-9-9 17:50
y55151124 发表于 2014-8-10 14:22
我遇到了一个从来没有碰到的问题,崩溃配置文件里居然没有slot!
这些文件该如何解决?
...

这不是ID冲突,是不同mod之间程序的冲突,这个问题没法解决,只能把错误报告反馈给作者,等作者去解决
作者: wcsoswcsos    时间: 2014-10-13 20:32
标题: RE: ID冲突解决教程
楼主我这有几个崩溃报告文件看不懂可否指点一二 crash-2014-10-11_22.45.25-server.txt (19.7 KB, 下载次数: 0)

crash-2014-10-12_14.04.18-client.txt (34.45 KB, 下载次数: 0)

crash-2014-10-13_19.52.41-client.txt (27.73 KB, 下载次数: 0)

那个第一个和第二个clinet 和server 有什么区别?
后面的我知道问题出在buildcraft或者waila上,但具体怎么回事看不懂
非常感谢

crash-2014-10-11_22.45.25-server.txt

19.7 KB, 下载次数: 0


作者: Xin_Lu    时间: 2014-10-13 20:37
顶一顶T T
虽然我只玩服务器
没有遇到这种事情T T
作者: 谢伟烨    时间: 2015-2-1 17:10
楼主好样的,帮了我大忙,谢谢{:10_562:}
作者: 13432878027    时间: 2017-4-11 16:46
buff冲突也能用这个教程吗?玩古代魔法2的时候学了蹦跶术结果是饥饿效果
作者: Ghost_01    时间: 2020-4-3 23:02
对于合成表怎么办,ID改了合成表会改吗
作者: 某paixin    时间: 2020-4-10 00:17
求助大佬,我mod服玩到一半加了个mod,进去发现原版材质很多坏了,变成了紫黑,后面删掉了也没有恢复,那一次忘记存档了,有什么抢救办法吗
作者: ch8209030    时间: 2020-10-6 10:26
啊这,有些模组没有配置文件怎么办
作者: liqiangshia1    时间: 2020-10-19 13:00
大神  受教了  感谢分享
作者: 2119590076    时间: 2020-10-24 00:39
居然会冲突,这得有多少mod啊