Giter Site home page Giter Site logo

bradshaw / minedmap Goto Github PK

View Code? Open in Web Editor NEW

This project forked from neocturne/minedmap

0.0 1.0 0.0 1.71 MB

Minecraft map renderer and viewer

License: BSD 2-Clause "Simplified" License

CMake 0.50% Python 1.80% C++ 88.15% HTML 0.46% JavaScript 2.66% CSS 6.44%

minedmap's Introduction

MinedMap

  • Render beautiful maps of your Minecraft worlds!
  • Put them on a webserver and view them in your browser!
  • Compatible with unmodified Minecraft Java Edition 1.8 up to 1.17 (no mod installation necessary!)
  • Illumination layer: the world at night
  • Fast: create a full map for a huge 3GB savegame in less than 5 minutes
  • Incremental updates: only recreate map tiles for regions that have changed
  • Very low memory usage: typically uses less than 5MB of RAM

Screenshot

How to use

MinedMap consists of two components: a map renderer generating map tiles from Minecraft save games, and a viewer for displaying and navigating maps in a browser based on Leaflet. The map renderer is heavily inspired by MapRend, but it has been implemented in C++ from scratch for highest performance.

The viewer expects the the map data in a directory named data. To generate a new map, create this empty directory inside the viewer directory. Next, to generate the map files run MinedMap passing the source and the destination paths on the command line:

./MinedMap /path/to/save/game /path/to/viewer/data

The save game is stored in saves inside your Minecraft main directory (~/.minecraft on Linux, C:\Users\<username>\AppData\Roaming\.minecraft on Windows) in a subdirectory with the name of your world.

The first map generation might take a while for big worlds, but subsequent calls will only rebuild tiles for region files that have changed, rarely taking more than a second or two. This makes it feasible to update the map very frequently, e.g. by running MinedMap as a Cron job every minute.

Note that it is not possible to open the viewer index.html without a webserver, as it cannot load the generated map information from file:// URIs. For testing purposes, you can use a minimal HTTP server, e.g. (if you have Python installed):

python3 -m http.server

This test server is very slow and cannot handle multiple requests concurrently, so use a proper webserver like nginx or upload the viewer together with the generated map files to public webspace to make the map available to others.

Building MinedMap

Precompiled MinedMap binaries for Windows (32bit and 64bit versions) are available under "Releases" on the Github page. On other platforms, MinedMap must be built from source.

MinedMap has been tested to work on Windows and Linux. I assume it can also be built for MacOS and pretty much any POSIX-like system, but I didn't check. ¯\_(ツ)_/¯

To build from source, you need Git, CMake, the GCC toolchain and the development files for the libraries zlib and libpng (packages git, cmake, build-essential, zlib1g-dev and libpng-dev on Debian/Ubuntu).

Use the following commands to build:

git clone https://github.com/NeoRaider/MinedMap.git # Or download a release ZIP and unpack it
mkdir MinedMap-build
cd MinedMap-build
cmake ../MinedMap -DCMAKE_BUILD_TYPE=RELEASE
make

After a successful build, the MinedMap renderer binary can be found in the src subdirectory of the build dir MinedMap-build. The viewer is located in the cloned Git repository MinedMap.

minedmap's People

Contributors

neocturne avatar roman901 avatar aaronwebster avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.