English | 简体中文
使用Unity开发的Minecraft Java版客户端。
CornCraft是一个Unity版的MC,可连接到Java版的游戏服务器(支持1.16.2到1.21.1之间所有正式版)并提供基础的游玩功能。
本项目并非意在成为一个“复刻版Minecraft”,而是希望尝试用一种不同的方式重新构想这个游戏,使玩家获得与原版不太一样的游戏体验。
本项目的协议实现基于另一个开源项目Minecraft Console Client (MCC),并入了其部分代码作为项目中通信系统的基础,以实现跨MC版本的网络通信。然而,由于C#代码后端的差异(MCC使用新版.NET,Unity还在用古早的Mono)以及运行平台的诸多差异,MCC中的许多代码修改或者重写后才能在本项目中使用。
重要提示! 不推荐使用CornCraft加入公开服/商业服,并且CornCraft不对使用此客户端造成的封号负责。目前仍建议自建服务端使用。
CornCraft用来解析原版资源包的代码已独立成一个package并开源到此处:CraftSharp-Resource,如果你想要使用Unity开发结构查看器或者地图编辑工具的话可以参考一下。
推荐的服务端版本有1.16.5、1.17.1以及1.18.2,纯净服和插件服均可使用。
对于1.19.1及更高版本的服务器,还需将enforce-secure-profile设置为false以使CornCraft正确登录(Unity里面系统自带的RSA库好像是被阉割了?暂时用不了)。
本项目使用Unity 6000.3.21f1开发测试,建议用此版本或更新的版本打开项目。
部分第三方资源没有包含在此仓库中,更多信息请参考这里。
原版游戏资源文件会自动下载,无需手动操作。
大多数基本操作与原版类似,用户暂时无法自己更改,未来会加入到配置选项中。目前支持的操作如下:
| 键位 | 操作 |
|---|---|
| W / A / S / D | 水平移动 |
| 空格 | 向上移动/跳跃 |
| 空格 * 2 | 切换飞行(创造模式) |
| 左Shift | 潜行/向下移动 |
| 左Ctrl | 疾跑 |
| 鼠标滚轮 | 选择快捷栏物品 |
| Alt(按下) + 鼠标滚轮 | 选择交互选项 |
| E | 打开玩家物品栏 |
| F | 交换主副手物品 |
| R | 切换瞄准模式 |
| X | 进行交互 |
| F3 | 切换调试信息 |
| F3(按下) + F4 | 显示游戏模式菜单 |
| F5(按下) + C | 重建区块 |
| F5(按下) + L | 更新全局光照 |
| F6 / F7 / F8 | 加载上一个/重载/加载下一个玩家模型 |
| F11 | 切换全屏 |
| Shift(按下) + Tab | 切换至下一个相机控制器 |
| Shift(按下) + 鼠标滚轮 | 调整缩放 |
| T / / | 显示聊天界面/输入命令 |
| P | 显示网络数据包界面 |
| Tab | 命令自动补全 |
| Esc | 暂停游戏 |
CornCraft在CDDL-1.0协议下开源,与MCC保持一致。除非特殊说明的部分,此协议对本仓库所有代码生效。
本项目使用了部分其他开源项目/代码示例,这些项目不受CDDL-1.0约束,而使用其自身指明的开源协议。列表如下:
- Welai Glow Sans: 作为常规游戏界面中使用的字体。
- Cascadia Code/Mono: 作为命令、技术性信息中使用的字体
- Minecraft Data: 提供网络数据包预览界面中解析器使用的包体结构定义


