CustomSkinLoader

CustomSkinLoader

1M Downloads

[开发相关] 关于如何实现tweaker加载

CatMe0w opened this issue · 4 comments

commented

我了解到CustomSkinLoader支持tweaker形式加载,请问这个tweaker是如何实现的呢?如何与标准forge mod或liteloader mod兼容?以及我留意到一些tweaker mod同时支持forge和liteloader,甚至能够跨游戏版本和内置mod安装器(像xray和optifine那样,mod的jar文件可双击运行),这是如何实现的呢?
不胜感激。

commented

我想我可以回答你的一些问题。
如果想内置安装器,就必须在Manifest中指定不同打开方式引用的不同class,比如OptiFine中
Main-Class: optifine.InstallerFrame TweakClass: optifine.OptiFineForgeTweaker

commented

谢谢。
关于tweaker这个东西,我在Google上没有找到任何的文档,猜测可能是要直接通过混淆过的方法来编写此类mod,具体情况是如何呢?

commented

我不知道您想用这个技术去做什么,恐怕需要请您先说出您想制作的项目。
提醒下,Tweaker是LauncherWrapper的功能,Meddle LiteLoader forge只是为这种加载方式提供支持以及提供混淆表用于运行时反混淆并对TweakClass进行管理罢了。
还有,LauncherWrapper是一个开源项目(Mojang/LegacyLauncher),本来是用于修正1.6之前的版本在目前游戏框架下的一些运行bug,只是被以上ModSystem用于更方便魔改MC了.
跨版本是使用动态生成混淆表的技术实现的。

commented

@HeartyYF 不知道您为什么希望optifine支持自定义皮肤,不过即使他们支持了这一功能,也只是徒增不兼容罢了,也相信CSL的计划中的更新还是能做出比别的皮肤补丁更优秀的功能。