Welcome to the Hangar Open Beta. Please report any issue you encounter on GitHub!
Avatar for QuantifyingEpic

Cross-Server & Cross-World Map Drawing | Draw & Persist Map-Art. In-game canvas drawing, persistent storage, multi-world

Report EpicMiniMapDrawing?

EpicMiniMapDrawing — Cross-Server Map Art Plugin

Turn ordinary filled maps into signed, cross-server "Map Art" pieces that can't be stolen. Convert maps into credited artworks, pay to make copies, sync everything across servers via MySQL, and automatically hide player arrows and item-frame markers so only the artwork itself remains.

SpigotMC: https://www.spigotmc.org/resources/139404/


✨ Features

  • Map conversion: Hold a normal filled map in your main hand and double-tap Shift (sneak) to open the conversion menu. Pay a fee and the map is replaced in-place with a signed Map Art piece.
  • Author credit & protection: Every piece records its creator, ID and creation time, embedded in the item name and lore permanently.
  • Paid copying: Hold your own Map Art and double-tap Shift to copy it in bulk with a selectable quantity, charged per copy. You can only copy art you created yourself — no one else can duplicate your work.
  • Cross-server sync:
    • SQLite mode works out of the box with zero database setup;
    • MySQL mode shares map data across all your servers — create on server A, copy on server B.
  • Clean artwork: Automatically removes the white holder-position arrow and the green item-frame marker from Map Art, so framed displays show only the picture.
  • Visual GUI: Both conversion and copying use chest menus; adjust quantity with +1 / +10 buttons; Shift-click confirmation prevents accidents.
  • Fully configurable: Menu layouts and every message are plain YAML files you can edit freely.
  • Bilingual: Built-in zh_cn / en_us, switched with a single config line.
  • Hot reload: Apply config, menu and language changes instantly with /emm reload — no restart.
  • Lightweight: The jar is only ~80 KB; database drivers are downloaded on demand by the server.

📖 How to use

Convert (create Map Art)

  1. Hold a normal, explored filled map in your main hand.
  2. Double-tap Shift (sneak) quickly to open the "Map Conversion" menu.
  3. Review the conversion fee, then hold Shift and click "Confirm Conversion".
  4. After payment, the map in your hand becomes signed Map Art and is saved to the database.

Copy (your own art only)

  1. Hold a Map Art piece you created and double-tap Shift.
  2. In the "Map Copy" menu, use the + / - buttons to set the quantity (click = ±1, Shift-click = ±10).
  3. Hold Shift and click "Confirm Copy" to pay and generate the copies.
  4. If your inventory is full, the extra maps drop at your feet — remember to pick them up.

Trying to copy someone else's art is rejected with "You can only copy your own Map Art."


🔧 Installation

  1. Drop EpicMiniMapDrawing-1.0.0.jar into your server's plugins/ folder.
  2. Make sure Vault and a Vault-compatible economy plugin (EssentialsX, CMI, etc.) are installed.
  3. Start the server; files are generated under plugins/EpicMiniMapDrawing/.
  4. (Optional) Edit config.yml for storage, fees and language, then run /emm reload all.

On first startup the database libraries (HikariCP / SQLite / MySQL) are downloaded automatically from Maven Central — please ensure the server has internet access.


⚙️ Configuration (config.yml)

# Interface language: zh_cn(简体中文) / zh_tw(繁體中文) / en_us(English) / ja_jp(日本語) /
#       ko_kr(한국어) / de_de(Deutsch) / fr_fr(français) / ru_ru(русский) /
#       pt_br(Português do Brasil) / nl_nl(Nederlands) / es_es(Español) /
#       it_it(Italiano) / pl_pl(Polski)
language: en_us

# Storage: sqlite (local, default) / mysql (shared across servers)
storage: sqlite

sqlite:
  file: playerdata/data.db

database:              # used only when storage: mysql
  host: 127.0.0.1
  port: 3306
  database: epicminimapdrawing
  username: root
  password: root
  useSSL: false

economy:
  conversion-cost: 500   # conversion fee
  copy-cost: 50          # fee per copy

Switching storage or changing database credentials is a low-level change and requires a full server restart; everything else can be hot-reloaded.


🛠️ Commands & Permissions

Command Description
/emm reload all Reload all configuration
/emm reload menu Reload menu layouts only
/emm reload lang Reload language files only
/emm reload config Reload the main config only
/emm resetconfig all Reset all config (old files backed up automatically)
/emm resetconfig menu / lang / config Reset a specific section
  • Alias: /emm
  • Permission node: epicminimapdrawing.admin (default: OP)
  • Regular players need no permission to convert or copy their own Map Art.

🔗 Cross-Server (MySQL) Setup

  • Point every backend server to the same MySQL database.
  • Map Art converted on any server is stored centrally and can be queried/copied on all others immediately.
  • Recommended behind BungeeCord / Velocity; remember to schedule database backups.

🧩 Compatibility

Item Requirement
Server Spigot / Paper / Purpur 1.16.5 – 26.3
Java 8 or higher (subject to your server version)
Dependencies Vault + any economy plugin
Storage SQLite (bundled) or MySQL 5.7+ / 8.x

📊 Metrics

This plugin uses bStats for fully anonymous metrics (storage type, language). No personal data is collected. Opt out via enabled: false in plugins/bStats/config.yml.


📜 Support

  • Authors: Kobayashi & Linchangqing
  • Found a bug or have a feature request? Please leave a comment or DM on the SpigotMC resource page, including your server version, error logs and reproduction steps.

Thanks for using EpicMiniMapDrawing — go create something unique! 🎨

Information

Category
Gameplay
Published
October 14, 2026
License
Unspecified
2Downloads
1Stars
Addon

Pinned Versions

Members

1