Papyrusjs
papyrus.js renders maps of Minecraft: Bedrock Edition worlds using node.js, LevelDB and leaflet.
Install / Use
/learn @papyrus-mc/PapyrusjsREADME
papyrus.js
Papyrus is a tool to render Minecraft: Bedrock Edition (from now on referenced as "MCBE") worlds using Leaflet. It is written in JavaScript and powered by node.js.
You can view an example here.
Please also check out papyrus.js' sister-project: papyrus.cs!
Introduction
Since MCBE worlds don't use the Anvil format like in the Java Edition, but rather a by Mojang modified version of Google's LevelDB to save, the goal of Papyrus is to read these worlds and assemble a render of every pre-generated chunk.
Features
- Render a top-down map of every already explored chunk
Planned
- Windows support
- Isometric renders
- Auto-Updating renders
- Live-View of currently online players on map (and their respective statistics)
- Nether/ The End support
Installation
Do you just want to use papyrus.js (or don't want to build it from scratch)? You may be looking for the pre-built binaries.
Before installing, you may also need to install additional dependencies:
sudo apt install g++ zlib1g-dev
Assuming you have node.js (>= 12) already installed, simply clone this repository and run the following command in your favourite terminal:
npm install
Usage
node app.js --world="./My World/" --textures="./Vanilla_Resource_Pack" --output="./output" --mode="topdown_shaded"
- For pre-built binaries use this syntax
./papyrusjs --world="./My World/" --textures="./Vanilla_Resource_Pack" --output="./output" --mode="topdown_shaded"
You are able to define a path to the texture pack that you want to use for the final render. Vanilla textures will automatically be downloaded if no textures are found. You can also force papyrus.js to download the latest textures with the option --force-download. If you want to download the vanilla resourcepack manually, you can get it here.
Please note: Only 16x16px Bedrock Edition texture packs are supported!
In some cases, high world size and low amount of ram (example: server with 2GB of ram), it is possible that the program crashes with an 'OutOfMemory' error. In this case, you can add the --expose-gc option to the command line.
node --expose-gc app.js --world="./My World/" --textures="./Vanilla_Resource_Pack" --output="./output" --mode="topdown_shaded"
Pre-built-binaries are not using this option at the moment.
Contribute xor support
If you want to help improve papyurs.js, please consider forking the repository.
Want to buy me a coffee (I love coffee)? Donate via PayPal ♥
Special thanks to...
... DeepBlue4200, mhsjlw and all the contributors.
Disclaimer
papyrus.js, as well as papyrus.cs are in no way affiliated with Mojang or Minecraft.
Contact: clarkx86@outlook.com
Related Skills
node-connect
343.1kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
90.0kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
343.1kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
343.1kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
