Logo of Mapcraft
Home

Welcome to Mapcraft documentation

What is Mapcraft ?

Mapcraft is a package consisting of a software, a resourcepack and a datapack. Acting as a giant toolbox, Mapcraft increases without configuration the possibilities of mapmakers. Its great advantage is its simplicity, all modifications made by the software are directly applied to your world, and vice versa.

Mapcraft being under development and still in beta, it is always possible to encounter bugs. Nevertheless, most of the time, it will work without any real problem

Installation

Mapcraft is available on all three major operating systems. Go to the download page to get the installation file corresponding to your system.

Getting help

You have a problem during use ? Here are some links to places to look :

  • If you need help developing your plugin or on a feature, the Discord server is a great place to get advice.
  • If you suspect you are experiencing a bug with Mapcraft, please check ticket tracking to see if any existing issues match yours. If not, feel free to fill out our bug report template and submit it to us.

Why did you create it ?

Mapcraft is my answer to several problems I encountered during my map creation.

I have in the past developed maps that for some had exceeded several thousand downloads. And as a creator, I always found that nothing was done to simplify my life. Minecraft api's were always changing, commands and data formats were changed very often which made the development long complex and headachey.

I was also tired of having to do calculations by hand for my cinematics, my projectile launches or even my save systems.

In order to simplify my life, I started to develop a list of specialized functions. The first ones were for doing math, then came instant teleportation via variables, automatic save systems, trajectory calculations and many other things.

But some things still bothered me, even if I saved time, I thought it was possible to do all this via an external software connected to the game. I had the idea to read the game log to detect commands inside to avoid having to install a mod and complicate the development.

The first version was a small software developed in C that displayed the commands and parsed them, it was very simple but proved that the idea was good.

Then I had to choose the technical stack, and unfortunately I had few choices. I could do native C++, but that would imply a software for each platform, so it was too heavy.

Flutter was also considered, but unfortunately not adapted to the project. Electron was the most logical choice, it allowed me to have the same development base for the three chosen OS, Windows, Mac and Linux.

I added little by little all the functionalities that I needed personally, but without any real objective to make it public.

The first real project realized with Mapcraft is a mini game server with :

  • a 21 holes mini-golf with custom musics, cinematics, several machines (like the ball-extractor, the ball-thrower, the dinghy, ...) as well as competitive modes and save points
  • a pigeon shooting game with custom targets
  • a tic-tac-toe game
  • a mini adventure

All server commands were also managed by Mapcraft, including home commands, options and different messages when the user logs in, as well as various other small things.

This project was a kind of real life test, which allowed me to optimize the library as much as possible

Later, one of my friends, looking at the result, told me that many people could also use it. After a lot of thinking and loving the idea, Mapcraft became free and open-source for the greatest pleasure of mapmakers.

How it works ?

Many people ask me how Mapcraft works. So here is a little explanation

  • Mapcraft will link to your world
  • Installation of the datapack and resource pack in your world, making the development tools accessible in the game
  • Creation of the resourcepack and datapack containing all the content that will be created
  • Live reading of the game log file, allowing Mapcraft to read the chat and detect shell commands sent in it