时隔快一年,久违的更新来了,本次修复了一些兼容性问题,包括:
神秘6与巫术同时添加崩溃
不兼容神化
不兼容更多建筑之杖
实际上改了很多地方,代码都变肥了,兼容性好了很多
这个模组第三个年头了,作者的技术力依然写不出如何计算StackMapTable,
所以他摆烂删掉了计算,从该版本开始(开始?还是结束?),你必须添加VM参数“-Xverify:none”启动游戏
另外还新增了一些功能,包括:
高效的能力兼容检测,实验性功能可能存在问题(但是默认开启),来自1.16.5的祝福(FastCaps模组)
删减默认NBT
忘了,可能就增加了这么多吧
以及新的bug:
配置中"替换EnumFacing.values()"的名字有问题
以及一个坏消息:
由于个人原因,除去简单的bug修复之外,没有下一个版本了
你可以去GitHub仓库拿代码,但是估计没什么人会这么做
而且因为有不少预处理程序(作者设计的)可能还没法过编译
1.1.0
修复 NBT最大大小 在服务端有效果却未起效,导致不能进入安装了ImpLib且含有网络通信mod的服务端
修复 Optifine 翻译文本无法显示
修复对lambda的Side注解没有抽象方法检查,导致在服务器环境中与EnderIO冲突
修复【吃掉mod】选项没有环境检查
修复MutableZipFile的流模式一直返回available有,即使EOF,导致与FenceOverhaul冲突
修复EnumHelper不能使用
修复一些异步材质加载的bug
修复生物群系颜色问题
修复putMedium丢弃高16位而不是8位
让F3两边更平均
PFClassMerger升级为NiximLocal
更换更好的服务端判断方法
加入NiximLocal
加入材质加载优化——从异步材质加载拆分
加入喜报++mod的功能
加入经验球优化
加入删除材质动画功能
总结:1.0.0可以以默认配置在失重和Enigmatica 2 Expert中正常运行
本次更新主要优化了多模组环境下的兼容性,主要修改了以下几点
修改了默认设置降低冲突概率
加入冲突检测功能,自动修改配置文件避免冲突
修改了下列部分代码,优化了兼容性
异步地形生成
快速模组检定
事件调用优化
实体迭代优化
这些bug你可能遇到过,现在已经修复
无法启动,提示重复的mod
进存档出现IllegalAccessError
崩溃:物品注册了两次
攻击生物崩溃
区块不能正常加载
0.5.0-1.0.0的目标:在大型整合包中能跑,并且不出现大问题
1.0.0-1.2.0的目标:在上面的基础下提高默认禁用的优化的兼容性,同时修复影响游戏体验的小问题,包括:
拥有速度药水效果时按W键疾跑不平滑
随机材质错误
Optifine配置界面无法显示翻译文本
特殊情况时出现VerifyError(你可以通过添加JVM参数【-Xverify:none】在修复之前忽略这个错误)
加入了以下功能:
自定义字体(显示效果并不好)。
禁用所有Nixim优化。
无限模组数量。
BlockSwap (载入世界时,通过id重映射替换方块,这个功能还没做完)。
优化透明排序(由于作者算法水平过低,部分流体会显示异常)。
异步地形生成(提高区块生成速度)。
优化区块实体集合。
压缩实体事件内存。
修复了这些bug:
不兼容使用Scala语言开发的模组(错误:重复的mod)。
方法注解会被计算两次。
=大幅优化兼容性!
现在可以在某测试员提供的288模组的整合中运行。
带来了这些新的特性:(测试版,下列优化无法控制)
压缩实体NBT大小。
不要用唱片砍树。
动力矿车接受任何可燃物。
LeashHolder数据包优化
修复了不能运行在服务端的问题;
重新制作了配置文件的格式,不再是中+英;
因为[简用]配置文件系统现在支持读写注释,配置文件中现在有了更详细的注释表达各设置项的意义;
因为RojASM现在可以计算StackFrameTable,所以修改了大量Nixim注入系统的代码,使得大部分不兼容(比如酱魂和AE的问题)得到了解决;
我们增加了一些关于客户端渲染的优化,其中一部分与OF冲突(会导致无论在IL中还是OF的界面修改设置都没有用,需要在IL的配置中禁用);
这些可能存在冲突的优化如下,可以手动关闭:优化区块渲染缓冲,优化方块渲染。
修复了IL模型生成器存在的一些问题,现在用代码生成的模型不会检测不到了(被MoreItems使用);
修复了【镜子】系统存在的一些问题,现在允许通过代码在MC中实现镜子,沉浸式传送门,或者类似的需要多重世界渲染的玩意(被MoreItems使用);
目前不支持俯仰角的旋转,支持xyz移动和y轴旋转;
与OF冲突,无法渲染。
重写了GUI系统,使用全新的组件化GUI系统,将界面元素分为按钮,滑块,图片,输入框等组件(被MoreItems使用);
最关键的是,支持多元素居中定位,拖动等;
支持动画:自动补间的矩阵旋转;
下一个版本将加入风格系统和自动布局功能。
加入了VersionMock测试版;
允许使用1.12.2的客户端加入任意版本的服务器;
我们只会保证您能够见到方块和移动,其他功能不做保证;
目前,你需要手动制作PacketAdapter 大概没人会用;
不过现在你也可以在主界面修改玩家名字,UUID,AccessToken,模组列表。
加入了一些作弊功能;
方块透视(镜子的副产物),实体透视。
加入了以下的新优化;
矿石生成优化 (不算优化,我采用伪随机换掉了原版的数学计算,会导致矿脉变形,而且优化效果有多少不好说) 默认关闭;
快速字体渲染 (换掉FontRenderer里面的indexOf);
降低渲染缓冲区大小(如果是2G内存分配,则可以减少370MB内存占用,在使用带有大量3D模型的材质包时不建议开启,注意,模型,不是高分辨率材质!);
重复使用音频缓冲;
优化区块渲染缓冲(OF做了同类事情,就是那个【平滑世界载入】,所以会冲突);
优化方块渲染;
复杂模型阈值(forge修改后的光照比原版慢了60%左右,却只能解决自定义模型的黑边,于是,只有四边形密度超过一定,才会使用forge的渲染,可以降低大量CPU);
替换EnumFacing.values();
安全管理(不允许模组读写mc目录之外的exe,dll,so等程序,禁止删除目录之外的任何文件,可能造成冲突);
修复活塞导致的幽灵方块;
可以穿过树叶(与某些常见模组冲突导致无效);
清澈的岩浆;
更显眼的选择框(将方块选框换成不透明的白色,极其显眼);
优化树叶的内存占用;
世界生成优化(似乎没啥优化,但是聊胜于无)。
修复了以前存在的问题;
让 World 中所有创建 BlockPos 的方法改为 MutableBlockPos。该功能改名为方块更新优化,并不再会破坏红石行为;
现在它可以提高50%红石执行效率。
新增内容:
替换实体、实体方块的创建为 DCA,代替反射以提高效率。
让 World 中所有创建 BlockPos 的方法改为 MutableBlockPos。注意,该功能会破坏红石行为——方向优先级改为由EnumFacing的顺序决定而非if!且可能与 TickDynamic 冲突。崩溃报告包含 NoSuchMethodError:MutableBlockPos.... 时请关闭该功能。
改进区块的光照算法。提升效果微弱,作者推荐用照明优化而不是该功能。
防止破坏方块速度过快时出现的“幽灵方块”。
修改客户端连接服务端的网络连接超时时限,以及阻止他人的二次登陆把你从服务器挤掉。有登陆插件的服务器可关闭阻止二次登陆的功能。
所有 GUI 的滑动条只有在鼠标松开时才会改动。该功能仍在开发中,松开后还需要多点击一下。
修复客户端登陆服务器时的 NPE:group 错误。
删除反胃药水效果,让玩家在地狱门中仍能输入指令。吞了地狱门输入补丁。
吞掉Lootr的功能。用更简单的代码实现。
大幅度提升进入其他维度的速度。
允许修改 tick 的速度,范围1~500。
允许调节聊天记录栏的最大高度。
允许日志启用/禁用记录聊天信息。
通过 ID 禁用特定方块实体。可用 /blockdata 查询,名为 id 的 string 值即为目标ID。
让玩家视角朝上即可自动爬楼梯。
删除令作者烦恼的洞穴音效。
BUG修复:
修复 Nixim 与 Mixin 冲突。可能为自然生成的门消失、错乱的原因。
修复“缓存getEntitiesInAABB()”不能自动清理导致内存溢出的问题。
修复 Nixim 不支持已有 lambda 方法的类注入问题。
修复 JSON 解释器无法用引号套引号的问题。
本MOD从此版本后成为作者其他所有MOD的前置!
在此前,与3.5.2版及以前的更多物品互不兼容。
新增功能:
让怪物只能在完整方块上生成。
自动修复流体材质丢失问题。
吃掉树叶快速腐烂的功能,同时修复其BUG。
自动修复游戏丢失声音问题,以及手动修复指令//reloadSoundMgr。
把ObjectIdentityMap替换为IntMap以优化内存,若游戏中存在附带众多meta值的方块时,请关闭此功能。
这些新功能都可以在配置文件中启用/关闭。文件相对路径:/config/ImprovementLibrary.json。
其他更变:
配置文件从.ini格式改为.json格式。
移除了Ctrl键查看合成表的功能。因为被作者搬到更多物品去了。