MapEngine

⭐ — (71 endorsements) 📥 8,922 downloads 📌 v1.8.12 📅 4/4/2023
🟡 Updated this year

By booky10 · library

⬇ Download Mod Source: Modrinth ↗ 📅 Updated: 5/10/2026 📅 Created: 4/4/2023

🔍 Analysis

  • 👍 0.8% endorsement rate
  • 🏆 #3 of 15 library mods in this game by downloads

📋 About This Mod

✅ Pipelined API for custom pipelines
✅ Asynchronous rendering
✅ Completely packet based
✅ Optional dithering (Floyd-Steinberg)
✅ Groups as z-layer interpretation for saving immense network traffic
✅ Per player buffering, only the changed pixels are sent to the player

# MapEngine <img src="https://imgur.com/x3tR7jb.png" alt="logo" width="200"> (https://img.shields.io/github/v/tag/MinceraftMC/MapEngine?style=flat-square)](#) (https://img.shields.io/badge/License-AGPL%20v3-yellow.svg?style=flat-square)](https://opensource.org/license/agpl-v3/) (https://img.shields.io/badge/Status-Beta-orange?style=flat-square)](#) ## Description MapEngine is a map library plugin for paper servers. It provides a simple API to create maps with custom content. Using lightweight and asynchronous techniques, MapEngine has a very low impact on server performance. ## Features - Pipelined API for custom pipelines - Asynchronous rendering - Completely packet based - Optional dithering (Floyd-Steinberg) - Groups as z-layer interpretation for saving immense network traffic - Per player buffering, only the changed pixels are sent to the player - Optional packet bundling prevents tearing - Drawing utilities (text, components, lines, triangles, rectangles, circles, ellipses, polygons) <details> <summary><strong>Color Conversion Cache Performance Graph</strong></summary> !(https://i.imgur.com/TtVSqyq.png) </details> <details> <summary><strong>Live streaming via RTMP on maps</strong></summary> This is an example of a live stream on a map. The stream is played on a 7x4 map array. The Stream source is 1920x1080@20 streamed with OBS. (https://i.imgur.com/h1e9ROE.png)](https://youtu.be/5tg_DX84eLw) </details> <details> <summary><strong>Floyd Sternberg dithering</strong></summary> This is an example of a map with Floyd-Steinberg dithering enabled. The stream is played on a 7x4 map array. The Stream source is 1920x1080@20 streamed with OBS. (https://i.imgur.com/Q8Jg0oo.png)](https://youtu.be/b2wxlgllsQs) </details> ### Javadoc A hosted version of the javadoc can be found (https://repo.minceraft.dev/javadoc/releases/de/pianoman911/mapengine-api/1.8.11). ### Support | Server Version | Supported | |----------------|-----------| | Paper 1.21.11 | ✔️ | | Paper 1.21.10 | ✔️ | | Paper 1.21.9 | ✔️ | | Paper 1.21.8 | ✔️ | | Paper 1.21.7 | ✔️ | | Paper 1.21.6 | ✔️ | | Paper 1.21.5 | ✔️ | | Paper 1.21.4 | ✔️ | | Paper 1.21.3 | ✔️ | | Paper 1.21.2 | ✔️ | | Paper 1.21.1 | ✔️ | | Paper 1.21 | ✔️ | | Paper 1.20.x | ✔️ | | Paper 1.19.4 | ✔️ | | Paper 1.19.3 | ✔️ | ## Usage `MapEngine` has to be added as a dependency to the `plugin.yml` regardless of the build system used. <details> <summary><strong>Maven</strong></summary> ```xml <repositories> <repository> <id>minceraft</id> <url>https://repo.minceraft.dev/releases/</url> </repository> </repositories> ``` ```xml <dependencies> <dependency> <groupId>de.pianoman911</groupId> <artifactId>mapengine-api</artifactId> <version>1.8.11</version> <scope>provided</scope> </dependency> </dependencies> ``` </details> <details> <summary><strong>Gradle (groovy)</strong></summary> ```groovy repositories { maven { url = 'https://repo.minceraft.dev/releases/' name = 'minceraft' } } dependencies { compileOnly 'de.pianoman911:mapengine-api:1.8.11' } ``` </details> <details> <summary><strong>Gradle (kotlin)</strong></summary> ```kotlin repositories { maven("https://repo.minceraft.dev/releases/") { name = "minceraft" } } dependencies { compileOnly("de.pianoman911:mapengine-api:1.8.11") } ``` </details> ### Example ```java public class Bar { // getting the api instance private static final MapEngineApi MAP_ENGINE = Bukkit.getServicesManager().load(MapEngineApi.class); public void foo(BufferedImage image, BlockVector cornerA, BlockVector cornerB, BlockFace facing, Player viewer) { // create a map display instance IMapDisplay display = MAP_ENGINE.displayProvider().createBasic(cornerA, cornerB, facing); display.spawn(viewer); // spawn the map display for the player // create an input pipeline element // this object can also be used to draw simple shapes and text IDrawingSpace input = MAP_ENGINE.pipeline().createDrawingSpace(display); // draw the image to the input pipeline element input.image(image,0,0); // draw a triangle input.triangle(0, 0, 10, 10, 20, 0, 0xff0000ff); // add a player to the pipeline context, // making the player receive the map input.ctx().receivers().add(viewer); // enable floyd-steinberg dithering input.ctx().converter(Converter.FLOYD_STEINBERG); // enable per player buffering input.ctx().buffering(true); // flush the pipeline // the drawing space can be reused input.flush(); } } ``` More detailed ex

# MapEngine

logo

[!(https://img.shields.io/github/v/tag/MinceraftMC/MapEngine?style=flat-square)](#) [!(https://img.shields.io/badge/License-AGPL%20v3-yellow.svg?style=flat-square)](https://opensource.org/license/agpl-v3/) [!(https://img.shields.io/badge/Status-Beta-orange?style=flat-square)](#)

## Description

MapEngine is a map library plugin for paper servers. It provides a simple API to create maps with custom content. Using lightweight and asynchronous techniques, MapEngine has a very low impact on server performance.

## Features

  • Pipelined API for custom pipelines
  • Asynchronous rendering
  • Completely packet based
  • Optional dithering (Floyd-Steinberg)
  • Groups as z-layer interpretation for saving immense network traffic
  • Per player buffering, only the changed pixels are sent to the player
  • Optional packet bundling prevents tearing
  • Drawing utilities (text, components, lines, triangles, rectangles, circles, ellipses, polygons)

Color Conversion Cache Performance Graph

!(https://i.imgur.com/TtVSqyq.png)

Live streaming via RTMP on maps This is an example of a live stream on a map. The stream is played on a 7x4 map array. The Stream source is 1920x1080@20 streamed with OBS.

[!(https://i.imgur.com/h1e9ROE.png)](https://youtu.be/5tg_DX84eLw)

Floyd Sternberg dithering This is an example of a map with Floyd-Steinberg dithering enabled. The stream is played on a 7x4 map array. The Stream source is 1920x1080@20 streamed with OBS.

[!(https://i.imgur.com/Q8Jg0oo.png)](https://youtu.be/b2wxlgllsQs)

### Javadoc

A hosted version of the javadoc can be found (https://repo.minceraft.dev/javadoc/releases/de/pianoman911/mapengine-api/1. 8. 11).

### Support

| Server Version | Supported | |----------------|-----------| | Paper 1. 21. 11 | ✔️ | | Paper 1. 21. 10 | ✔️ | | Paper 1. 21. 9 | ✔️ | | Paper 1. 21. 8 | ✔️ | | Paper 1. 21. 7 | ✔️ | | Paper 1. 21. 6 | ✔️ | | Paper 1. 21. 5 | ✔️ | | Paper 1. 21. 4 | ✔️ | | Paper 1. 21. 3 | ✔️ | | Paper 1. 21. 2 | ✔️ | | Paper 1. 21. 1 | ✔️ | | Paper 1. 21 | ✔️ | | Paper 1. 20.x | ✔️ | | Paper 1. 19. 4 | ✔️ | | Paper 1. 19. 3 | ✔️ |

`MapEngine` has to be added as a dependency to the `plugin.yml` regardless of the build system used.

Maven

```xml minceraft https://repo.minceraft.dev/releases/ ```

```xml de.pianoman911 mapengine-api 1. 8. 11 provided ```

Gradle (groovy)

```groovy repositories { maven { url = 'https://repo.minceraft.dev/releases/' name = 'minceraft' } }

dependencies { compileOnly 'de.pianoman911:mapengine-api:1. 8. 11' } ```

Gradle (kotlin)

```kotlin repositories { maven("https://repo.minceraft.dev/releases/") { name = "minceraft" } }

dependencies { compileOnly("de.pianoman911:mapengine-api:1. 8. 11") } ```

### Example

```java public class Bar {

// getting the api instance private static final MapEngineApi MAP_ENGINE = Bukkit.getServicesManager().load(MapEngineApi.class);

public void foo(BufferedImage image, BlockVector cornerA, BlockVector cornerB, BlockFace facing, Player viewer) { // create a map display instance IMapDisplay display = MAP_ENGINE.displayProvider().createBasic(cornerA, cornerB, facing); display.spawn(viewer); // spawn the map display for the player

// create an input pipeline element // this object can also be used to draw simple shapes and text IDrawingSpace input = MAP_ENGINE.pipeline().createDrawingSpace(display);

// draw the image to the input pipeline element input.image(image,0,0);

// draw a triangle input.triangle(0, 0, 10, 10, 20, 0, 0xff0000ff);

// add a player to the pipeline context, // making the player receive the map input.ctx().receivers().add(viewer);

// enable floyd-steinberg dithering input.ctx().converter(Converter. FLOYD_STEINBERG);

// enable per player buffering input.ctx().buffering(true);

// flush the pipeline // the drawing space can be reused input.flush(); } } ```

More detailed ex

🤖 AI-enhanced — based on mod data

📊 Mod Details

Game
Minecraft Plugins
Author
booky10
Version
1.8.12
Downloads
8,922
Endorsements
71
Category
library
Created
4/4/2023
Updated
5/10/2026
Game Versions
1.20, 1.20.1, 1.20.2, 1.20.3, 1.20.4
Tags
library, utility

🔧 How to Install Minecraft Plugins Mods

Download from Modrinth. Use Prism Launcher or drop into your mods folder.

📖 Full step-by-step install guide for Minecraft Plugins →

Visit the official mod page for specific installation instructions for this mod.

🎮 Need cheat codes or console commands? Check ur gaming wiki for Minecraft Plugins commands, item IDs, and more.

❓ Frequently Asked Questions

Which Minecraft Plugins versions does MapEngine support?

The author lists 1.20, 1.20.1, 1.20.2, 1.20.3, 1.20.4, 1.20.5. Other versions may work but are untested by the author.

What is the latest version of MapEngine?

Version 1.8.12, published 2026-05-10 with 8,922 downloads recorded at the source.

Keep browsing — more Minecraft Plugins mods await

📋 All Minecraft Plugins Mods 🏆 Top 25 📂 More library 👤 More by booky10 🔎 Similar Mods 🌐 Best library (All Games) 🔀 Check Compatibility ⚖️ Compare Mods 🆕 New Mods