Skip to content

A Minecraft Client Implementation Made with Unity

Notifications You must be signed in to change notification settings

yyget/CornCraft

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CornCraft

A Minecraft client implementation made with Unity.

> About

CornCraft is a Unity version of Minecraft. It connects to vanilla servers(version 1.16.2 to 1.20.1) and provides basic graphical, vanilla-like gameplay support. It is based on another open source project, Minecraft Console Client (MCC), and makes heavy use of its cross-version Minecraft protocol implementation.

However, unlike MCC itself which runs on modern .NET, CornCraft is a Unity app/game and runs on Mono/IL2CPP backend, so a large part of the code from MCC has been refactored or rewritten to adapt to Unity's environment.

Important! It is NOT recommended to join a public/commercial server with CornCraft, and CornCraft is NOT responsible for server banning due to using this client! The best and safest way to play with this client, at least for now, is to set up a server by yourself or with your friends.

The code CornCraft uses to parse vanilla resource packs is open source as a separate project called CornModel. Check it out if you want to make a Minecraft structure viewer, map editor or something like that with Unity.

> Cloning Repo

This project makes use of Git LFS to store some of the resource files, so make sure you have it installed before cloning the repository. Either regular git clone ... or git lfs clone ... should work fine.

> Server Setup

Recommended server versions for CornCraft are 1.16.5, 1.17.1, 1.18.2 and 1.19.2, both vanilla servers and plugin servers like Spigot are supported.

When setting up a server for CornCraft, it is recommended to set the allow-flight option to true in server.properties file, otherwise it's likely you'll be kicked from the server when moving around(because CornCraft does not and likely will not simulate vanilla player physics, it uses Unity's physics system).

For 1.19.1 or higher servers, it is also necessary to set enforce-secure-profile to false so that CornCraft can log in correctly.

> Building & Running

The project is made and tested with Unity 2022.3.9f1, so it is recommended to use this version(or newer) of Unity to build this game.

Resource files will now be automatically downloaded if they're not present, so manual downloading is no longer necessary.

> Controls

Most basic controls in CornCraft are similar to vanilla Java Edition. They're hard-coded for now, but will be configurable in the future. Here's a list of currently supported actions:

Key Action
W / A / S / D Move(/Fly) Horizontally
Space Move(/Fly) Up
Left Shift Move(/Fly) Down
Left Ctrl Toggle Walk/Rush Mode
F3 Toggle Debug Info
F3 + F4 Show Game Mode Switch
F5 Toggle First/Third Person Perspective
F11 Toggle Fullscreen
T / / Show Chat Screen
Esc Pause Game

> License

Like MCC, CornCraft adopts CDDL-1.0 as the license of its code repository, and this license applies to all source code except those mention their author and license or with specific license attached.

Some other open-source projects/code examples are used in the project, which don't fall under CDDL-1.0 and use their own licenses. Here's a list of them:

More information about CDDL-1.0 can be found on MCC's home page, in the license section, and the full license can be reviewed here.

> Screenshots

Screenshot 1 Screenshot 2 Screenshot 3

About

A Minecraft Client Implementation Made with Unity

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C# 97.1%
  • ShaderLab 1.8%
  • Other 1.1%