An updated and maintained successor of this project can be found here.
Library for doing cool stuff with Minecraft maps using packets
This library was not intended to be published this quickly, but I am using it currently in a project of mine, so I might as well make it public on GitHub. The code is lacking documentation, and it is pretty messy in some places. I will try to clean it up over time.
Bukkit's map api is slow and its MapPalette
enum only has a limited range of colors. With packets, you have much more possibilities and not as much
server load. You are also modifying real maps when using the Bukkit api which could cause problems with the vanilla gameplay. With packets, you don't
have that problem, the changes are only client side and won't affect the 'real' maps.
This project consists of six modules:
- core
- nms-base
- nms-v1_16_3
- nms-v1_16_4
- plugin
- tools
The core
module contains stuff like a MapScreen class and caches.
The nms-base
module contains common classes that are needed by version-specific implementations.
The nms-v1_16_3
is an implementation for the Minecraft version 1.16.3.
The nms-v1_16_4
is an implementation for the Minecraft version 1.16.4.
The plugin
module is a simple implementation of this library.
The tools
module contains tools that make the development of packet-maps
significantly easier.
The plugin-tools
module contains useful utilities for creating plugins with packet-maps
.
Note: The
plugin
module is NOT meant for usage on a production server. It is mainly used by me to test the library's functionalities. You COULD use it, but you should expect bugs and/or unwanted behaviour.
Check out the wiki!
Note: this is a separate plugin using packet-maps
as its backbone.
Rendering the Minecraft world onto a map
Rendering the Minecraft world onto a map - Update: texture & shadow showcase