TartaricAcid/TouhouLittleMaid

更新后进入旧的世界Level.dat会出问题

galahadplayer opened this issue · 19 comments

我自己玩的模组包把女仆模组从1.2.2更新到1.2.3时进到之前玩的世界会出现以下的文字:
Forge Mod Loader detected that the backup level.dat is being used. ...
底下会有是和否两个选项
点击是并进入世界会发现整个世界完全毁损,不知是为何,完全移除女仆模组后再重装还是一样
不知有无修复的办法

没有截图么?

首先先下个结论:你的 level.dat 文件坏了,这和女仆模组的更新没有任何关系。因为这次模组更新已经有上千的下载量了,我本人在发布前也同时多次使用旧存档进行过测试,从没有遇到过你所说的问题。

你可能做了如下操作,但是你没有意识到:

  • 你在更新女仆模组时候还更新/删除了其他模组
  • 你先前因为某些原因(比如突然断电)导致了存档异常关闭

2020-09-20_20 32 54
2020-09-20_20 38 23
刚刚使用旧存档测试,用Technic进入,没有更新任何模组,正常程序开启以及关闭存档
上图为女仆模组版本1.2.2
下图为女仆模组版本1.2.3

截图很明显,是 level.dat 的 id 映射出了问题,与女仆模组的更新没有直接关系

你是不是使用了了类似于 not enoug id 这样的模组?

没有,之前有装jei integration但是后来移除了,现在的详细资料显示貌似是由AA提供的

那请问这个问题有无修复的可能

我这边没有你的存档和模组列表,所以我无法判断究竟是什么模组导致了你的问题。

依据我的经验,我只能做出这个判断:
和物品 id 映射有关系,所以怀疑是什么与修改物品 id 有关系的模组

因为没有你的存档和模组,我根本给不出任何解决问题的方法。就像一个医生没有任何诊断就想给出医治办法,这是不现实的。

mod list.txt
以上是我的模组列表
如果是ID映射出了问题,会不会是因为多模组ID冲突到的关系,或是有防ID冲突的模组可以装
因为我只会基础编程而已,网上一些教学都看不太懂
如果真的没办法,可能直接新创一个世界会比较快
抱歉浪费您这么多时间

对了,这个存档你之前是不是删除过好几次别的模组?

至少有5次

好的,这样,你去下载这个模组:https://www.curseforge.com/minecraft/mc-mods/jeid,把存档备份下,然后装上去试试

是 JEID,这个模组更新一些,推荐安装这个

需要一些额外作业吗

作业?

你这样做试试:

  1. 先找到你没有更新女仆模组之前的,好的存档,备份一下
  2. 安装新版本女仆模组,同时安装上面我给的 JEID 这个模组
  3. 打开之前那个好的存档,实验下还存在问题么

直接装最新的女仆模组么

  1. 先找到你没有更新女仆模组之前的,好的存档,备份一下
  2. 安装新版本女仆模组,同时安装上面我给的 JEID 这个模组
  3. 打开之前那个好的存档,实验下还存在问题么

正常了!!!!!!!
這是為何啊

莫名其妙背了个大锅……

首先,还是强调下,这个问题是你多次增加、删除模组导致的,和女仆模组的更新没有任何直接关系(强烈抗议背锅行为 [○・`Д´・ ○])

  • Forge 有个机制,之前使用的模组占用的 id,即使在模组删除后仍旧会在存档中留存
  • 你多次删除、增加了模组,占用了大量的 id
  • id 有上限,默认是 4096
  • 碰巧更新女仆模组后,你的 id 突破了 4096 这个上限
  • 你把锅甩给了我
  • 你安装了 JEID 模组,上限消失了
  • 存档正常了

总结:在安装大量模组的情况下,最好一并安装 JEID 模组,同时尽可能避免大规模增加、删除模组的行为