Minefix

Recreating Minecraft in Minetest

Minefix is a project that aims to recreate Minecraft in Minetest, as close as possible, so we can play the game without proprietary software and relying on a software company to not ruin the game.

The reasons for making Minefix

Wait, what is wrong with Minecraft?
Minecraft has several issues, the biggest being that it's a proprietary product owned by Microsoft.
Software should respect the users four basic freedoms, which Minecraft obviously does not.
Minetest is licensed under the GNU Lesser General Public License 2 which means it's free software.
Minefix itself is licensed under the GNU Affero General Public License 3, unless explicitely stated otherwise in the source.

Furthermore the Minecraft developers have promised a modding API as far back as July 5, 2010.
However, till this day there has been no such thing. Currently only the Pocket edition (which only runs on Windows 10, mobile, Gear VR, Apple TV, and Fire TV) support a version of this API.
Since this project uses Minetest as a base, the modding API is extensive and well documented. With modding being it's primary goal, this will always be the case. Because mods are written in Lua, they will always be open and have the source code available for the user.

Lastly, Minecraft (the desktop version) is written in Java. While there are rumours of plans of rewriting it in C++, this has not happened yet.
Being written in Java means performance is less than optimal and doesn't use any lower level functions to optimize performance per platform. Since Minetest is written in C++ from the start, this issue is not present.

Wait, what is wrong with Minetest?
Sadly the focus of Minetest isn't being a perfect Minecraft clone. The base game contains blocks and items Minecraft does not have, and vice-versa. This means the game is not of interest to most Minecraft players, which means they are stuck with the proprietary alternative.
Minetest also thinks mobile is a big priority, which goes as far as not implementing features if they only work on PC. While good to have mobile support, this prevents several features from being added which could've been really good and fun for the game.

Ok, so what does Minefix do to fix this?
Minefix tries to implement all features, blocks and items from Minecraft in Minetest. We try to do this as close as possible to the original game. The goal is to have the user not notice that he or she is actually running a different program gameplay wise. Non-Minecraft blocks and items are removed, and those missing are added.
Note that we only re-implement the base game using a subgame, we do not touch the Minetest core. We might look into doing this if needed later on, but it's not a priority. We're also not trying to stay compatible with currently existing Minetest mods.

Blockers

Due to a few technical limitations, it currently is not (yet) possible to recreate everything in Minetest.
The most notable blockers are:

  1. Mods can not listen to keypresses. Client-side modding seemed promising, but ended up being implemented differently than we needed
  2. It's not possible to create separate dimensions. New "dimensions" have to be added to the main world
  3. There is no API for mobs yet. There are workarounds by using other mods, but this is an approach we rather not take

Download

Currently we do not have a release yet, so you'll have to download the latest version from Git. You can get a .zip file from here or you can use Git to clone the directory from https://github.com/minefix/minefix.git.

Installation instructions without Git
Unzip the downloaded archive to ~/.minetest/games/minefix. If the folder minefix does not yet exist, create it.
When creating a new world, select the "Minefix" minigame.

Installation instructions with Git
You'll need the Git client installed.
To get the latest version run git clone https://github.com/Minefix/minefix. To later on update just run git pull in the directory you just cloned. Move, copy or symlink the cloned folder to ~/.minetest/games/.
When creating a new world, select the "Minefix" minigame.

Getting your Minecraft textures to work with Minefix
The repository contains a converter script, which takes textures from your Minecraft installation and converts them to Minefix compatible ones.
Right now it only runs on Linux and BSD's, but we're in the process of creating a script written in Python, which should work on more platforms.

Screenshots

Some implemented blocks Creative inventory