Closed PumpkinXD closed 1 month ago
原理上 1.12.2 之前的这些版本差别应该都不是很大,要改动的也只有forge相关的代码。
看了一下,要改动的地方有:
debug
一个 disable
。func_146195_b
不确定有没有变化,应该是没有。LWJGL
版本对 Transform
的影响有多大。1.12.2
使用的是 LWJGL2
的最后一个版本,之前是什么样的就完全不知道了(其实我现在也不大会
最近在忙别的项目,等一个好心人接手(Java
和 Forge API
了
原理上 1.12.2 之前的这些版本差别应该都不是很大,要改动的也只有forge相关的代码。
看了一下,要改动的地方有:
* https://github.com/Yesterday17/KokoaLinux/tree/master/src/main/java/cn/yesterday17/kokoalinux/config 这部分可以完全删掉,我记得低版本Config还挺麻烦的。配置项写死就行了,就一个 `debug` 一个 `disable`。 * https://github.com/Yesterday17/KokoaLinux/blob/86196e8cf9020c2c8f1106683c422c289cc6ac0a/src/main/java/cn/yesterday17/kokoalinux/transformer/GuiTextFieldTransformer.java#L18 `func_146195_b` 不确定有没有变化,应该是没有。 * 不确定 189 的 `LWJGL` 版本对 `Transform` 的影响有多大。`1.12.2` 使用的是 `LWJGL2` 的最后一个版本,之前是什么样的就完全不知道了( * 详细的思路可以看 https://www.bilibili.com/read/cv4246084
~其实我现在也不大会
Java
和Forge API
了~ 最近在忙别的项目,等一个好心人接手(
啊这
看了一下1.8.9使用的 LWJGL2
的版本
和1.1.2使用的是同一个版本
func_146195_b
应该是没有变化
net.minecraftforge.client.event.GuiOpenEvent
在1.8.9下用不了getGui()
,用的是gui
不过由于不会forge不知道config应该怎么写,只能看着idea给cn.yesterday17.kokoalinux.config.*
和 cn.yesterday17.kokoalinux.input.InputNative
飘红
似乎 jna
的版本对移植造成了一点点的困扰
1.8.9 forge的jna
版本号是3.4而1.12.2的则是4.4
而目前直接用1.8.9跑我那两个branch的编译产物会崩端(均与jna有关)
老是启动阶段报java.lang.UnsatisfiedLinkError: Unable to load library 'kokoa': libkokoa.so: 无法打开共享对象文件: 没有那个文件或目录
就崩了
(而jar里面是有libkoa.so的)
~丢人的是没有在stack overflow或者google找到解决方法, jna3.4的文档感觉提示也不太够~
我在移植1.7.10的,套用了GTNH的脚本,删了高版本的config内容,因为好像没有jna就shadow了一个jna,总算是进了游戏 当前问题是不论有没有开GUI都能切输入法,而且只能输入第一个字,猜测是有某些版本差异没发现……
我在移植1.7.10的,套用了GTNH的脚本,删了高版本的config内容,因为好像没有jna就shadow了一个jna,总算是进了游戏 当前问题是不论有没有开GUI都能切输入法,而且只能输入第一个字,猜测是有某些版本差异没发现……
1710 的的话可能 GuiTextFieldTransformer.java 要改一下
似乎
jna
的版本对移植造成了一点点的困扰1.8.9 forge的
jna
版本号是3.4而1.12.2的则是4.4而目前直接用1.8.9跑我那两个branch的编译产物会崩端(均与jna有关)
老是启动阶段报
java.lang.UnsatisfiedLinkError: Unable to load library 'kokoa': libkokoa.so: 无法打开共享对象文件: 没有那个文件或目录
就崩了 (而jar里面是有libkoa.so的)~丢人的是没有在stack overflow或者google找到解决方法, jna3.4的文档感觉提示也不太够~
可以尝试 shade 一下?
我在移植1.7.10的,套用了GTNH的脚本,删了高版本的config内容,因为好像没有jna就shadow了一个jna,总算是进了游戏 当前问题是不论有没有开GUI都能切输入法,而且只能输入第一个字,猜测是有某些版本差异没发现……
1710 的的话可能 GuiTextFieldTransformer.java 要改一下
经检查涉及的几个函数和变量的mapping都没变,toggleIC如果只传false也能起效,但还是启动时就已经能调输入法了 edit: 开了调试后发现创造的物品栏搜索框及其正常,告示牌完全不foucs和unfocus,聊天栏只会focus,我猜应该去翻源代码了 edi2: 破案了,GUI的EventHandler完全没有注册到,估计也是莫名其妙的版本差别 edit3: 原来是一直被当成纯coremod,不知为何META-INF里FMLCorePluginContainsFMLMod没起作用……
改成LoadingPlugin就行了,现在的问题只剩下为什么一次只能输入一个字
成功了,原因是GuiScreen里handleKeyboardInput和1.12不一样,改了就好了 我不会写asm,最后还是用mixin写的…… 所以……能让我传cf造福一下本就稀有的Linux1.7.10玩家吗?
欢迎 我gtnh也能用了
kappa-maintainer @.***> 于2022年4月22日周五 22:10写道:
成功了,原因是GuiScreen里handleKeyboardInput和1.12不一样,改了就好了 我不会写asm,最后还是用mixin写的…… 所以……能让我传cf造福一下本就稀有的Linux1.7.10玩家吗?
— Reply to this email directly, view it on GitHub https://github.com/Yesterday17/KokoaLinux/issues/4#issuecomment-1106556208, or unsubscribe https://github.com/notifications/unsubscribe-auth/ACCEFLTUSAXARQYHE6PRUBDVGKXO7ANCNFSM5BTSWQSQ . You are receiving this because you commented.Message ID: @.***>
(也可以加个member传到kokoalinux上
哦已经有cf了,那没事了 那感觉感觉还是把那点mixin交给原作者写成asm再上传更稳妥一点…… 另外说一下,ITweaker改LoadingPlugin是因为gui事件原来的的@Subscribe似乎没用,只好一路改成@Mod.EventHandler,也有可能是我搞错了……
我在移植1.7.10的,套用了GTNH的脚本,删了高版本的config内容,因为好像没有jna就shadow了一个jna,总算是进了游戏 当前问题是不论有没有开GUI都能切输入法,而且只能输入第一个字,猜测是有某些版本差异没发现……
只能打一个字的问题可以考虑再加个inputfix解决
我1.8.9的移植目前在没inputfix或者patcher的情况下也是只能打一个字
至于没打开gui就能切换输入法我感觉还好(
似乎
jna
的版本对移植造成了一点点的困扰 1.8.9 forge的jna
版本号是3.4而1.12.2的则是4.4 而目前直接用1.8.9跑我那两个branch的编译产物会崩端(均与jna有关) 老是启动阶段报java.lang.UnsatisfiedLinkError: Unable to load library 'kokoa': libkokoa.so: 无法打开共享对象文件: 没有那个文件或目录
就崩了 (而jar里面是有libkoa.so的) ~丢人的是没有在stack overflow或者google找到解决方法, jna3.4的文档感觉提示也不太够~可以尝试 shade 一下?
~偷懒直接给jna传了个jar包外的路径"解决"了之前的崩端问题,不过我可以试一下shade(不过不太了解估计。。。)~
我就是参考了inputFix才确认问题在哪的,自用的话还是不想多装 shadow会大大增加文件体积,可以先给jna传个debug参数让它输出搜索的路径看看
我就是参考了inputFix才确认问题在哪的,自用的话还是不想多装 shadow会大大增加文件体积,可以先给jna传个debug参数让它输出搜索的路径看看
~算了我还是直接上shadow吧~
~!jna3.4也太弱智了~
算了勉强能用就行,搞不明白jna3.4的机制也搞不明白shadowjar咋用(idea还在给我提示jna3.4)
可以尝试 shade 一下?
shadowJAR也不是很了解 ,不清楚为什么用的还是jna3.4
我想我一时半会只能先将就着用jar包外加载native的版本了
又搜了一下,搜到的建议我把lib先从jar提取到临时目录再加载,但这样和我现在将就着用的方法一样都是把jna当jni用了
update:看了下jna3.4的源码,发现并不能像1.12.2用的jna4那样从jar中加载native
是这样的
inputfix在linux下仍然不能解决输入问题,以至于游玩hypixel的时候只能复制粘帖
(其实本来想自行解决这个问题的,但苦于不会java也不了解forge api就只好作罢)