我知道你第一时间点进来想看什么,但你先别急,我先讲个故事
想当年,主播第一次玩到的MC Java版是1.7.9,那个时候大家都以为下个版本是1.8.0,没想到是1.7.10,给大伙整够呛
一看时间,十多年过去了,真√⑧快啊,也没有之前玩MC的感觉了
这个时候就有小伙子会说:
“乂,那是你没装MOD,来两个高兴一下”
对哦,我可以装MOD,但是没一个喜欢玩的,不如自己写一个
下好了IDEA,突然陷入了沉思……
“乂,我学的不是C#吗?”
事实证明,学多了C#,看Java那个代码真的是多多少少有点难以直视(前提是你每年追更微软.NET新版本而不是还在搞.NET Framework)
所以我就冒出了一个大胆的想法:用C#写MOD!
但是C#怎么能跟JVM交互呢,难不成编译成JVM字节码?那我缺的这个.NET高性能这一块,谁给我补啊?
在主播浪费了两个月青春(已经是半年前了)之后,终于决定了技术栈:JNI+JNA+NativeAOT
其实一开始主播想的是使用网络大法,两边建一个UDP连接,反正连的localhost又没有网络消耗
仔细一想灵活性太差了,难不成我开解释器运行啊,Java跑成JavaScript了这下(雾
所以最后,想到了将代码进行NativeAOT编译后用JNI与操作Java代码
如果Java代码要反过来操作C#代码,那么就使用JNA来调用C#代码
JNI的内容是C#管,那么JNA的内容就是Java管了
LADIES AND GENTLEMEN,隆重介绍主播在这两个月里勉强写出来的能跑的Fabric Mod——NativeLoader!(测试版中的测试版)
仙人指路→ GitHub链接 Modrinth链接
目前NativeLoader的支持版本为1.20.4(其实一开始写的是1.16.5,但是已经半年没有维护了,目前的开发重心都在1.20.4上)
不同版本是不同的分支,记得切换到1.20.4
标签:Java,MCmod,C#,代码,JNA,NativeLoader,主播 From: https://www.cnblogs.com/mliybs/p/18667477孩子们接下来请看Modrinth页面的介绍,我懒得复制粘贴了