首页 > 编程语言 >【C#写MCmod(Fabric)】第一期:介绍NativeLoader

【C#写MCmod(Fabric)】第一期:介绍NativeLoader

时间:2025-01-12 22:21:34浏览次数:1  
标签:Java MCmod C# 代码 JNA NativeLoader 主播

我知道你第一时间点进来想看什么,但你先别急,我先讲个故事

想当年,主播第一次玩到的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

孩子们接下来请看Modrinth页面的介绍,我懒得复制粘贴了

标签:Java,MCmod,C#,代码,JNA,NativeLoader,主播
From: https://www.cnblogs.com/mliybs/p/18667477

相关文章

  • LeetCode:65.有效数字
    LeetCode:65.有效数字解题步骤构建一个表示状态的图。遍历字符串,并沿着图走,如果到了某个节点无路可走就返false。遍历结束,如走到3/5/6,就返回true,否则返回false。extend281016进制/***检查一个字符串是否可以表示为一个有效的数字*@param{string}s-待检查的字......
  • javaScript介绍
    JavaScript概述JavaScript是世界上最流行的脚本语言Java和JavaScript没有真正上的联系历史https://blog.51cto.com/u_39037/10505185ECMAScript它可以理解为是javaScript的一个标准快速入门引入JavaScript1.内部标签<script>//....</script>2.外部引用a......
  • C语言小作业,基于C语言的图书检索
        输入n本图书名称,在图书中检索包含C语言的图书,并输出符合要求的图书名称。说明:n最大为100,图书名称最大长度为50。string.h中有strstr函数,strstr函数是一个字符串处理的函数,它的主要功能是在一个字符串中查找另一个字符串(子字符串)的首次出现位置。本题中可以调用它......
  • Cline 免费插件 + Qwen2.5 大模型,零经验也能开发“对联王”微信小程序
    小朋友即将放寒假了,意味着春节就不远了。在我们湖北老家,当我还是学生的时候,每年临近春节,写春联、贴春联和对春联是读书人一件乐事。如今,老牛同学早已不是读书人,但还是怀念那时快乐时光,因此想在春节前撸一个“对联王”微信小程序,专门用于创作春联和对春联。上次零经验的我们,借助......
  • rpc
    为什么需要RPC:​ 为了将本地服务转化为异地服务调用的时候,还能够和本地调用一样。​ 屏蔽掉本地异地的区别使用的前提:2边的服务都是启动的学习点:参数传递:参数传递有两种形式:一种是按值传递,另外一种是按引用传递。按值传递参数的情况相对比较简单,我们只需要把值复制到网......
  • centos(linux): 安装php8.4.1的报错
    一,配置时报错:1,报错configure:error:Packagerequirements(xpm)werenotmet:Package'xpm',requiredby'virtual:world',notfound解决:[root@blog~]#dnfinstalllibXpm-devel2,报错:checkingforicu-uc>=50.1icu-ioicu-i18n...noconf......
  • CentOS7下Hadoop集群分布式安装详细图文教程
    1、集群规划主机角色DSS20NameNode  DataNode ResourceManager NodeManagerDSS21SecondaryNameNode NameNode     NodeManagerDSS22DataNode     NodeManager1.1、环境准备1.1.1 关闭防火墙#查看防火墙状态firewall-cmd......
  • 【详解】SQLServerJDBC到主机的TCP/IP连接失败
    目录SQLServerJDBC到主机的TCP/IP连接失败错误描述原因分析解决步骤1.检查SQLServer服务状态2.检查网络连接3.检查端口4.配置SQLServer接受TCP/IP连接5.检查JDBC驱动版本6.检查连接字符串解释:常见问题排查:1.0x2749(10061)-无法建立连接......
  • vscode插件开发
    资料VSCode插件开发全攻略(一)概览-我是小茗同学-博客园因为vscode本身都是用浏览器实现的,所以其插件不用说肯定也是基于HTML+JS等前端技术实现,从形式上看就是一个类似于npm包的vsix文件,只不过按照一些特殊规范来实现一些特殊功能,所以vscode插件开发难度不大,甚至可以说熟悉了......
  • clone plugin
    install&&load&&unload&&uninstall资料MySQL::MySQL8.0ReferenceManual::7.6.1InstallingandUninstallingPluginsMySQL8.0cloneplugin完整版-CSDN博客存在性确认:/home/zxdb/lib/plugin/mysql_clone.so要执行远程克隆操作,克隆插件必须在发送方和接......