ModsJava
PeachLib
Libary for Minecraft Paper API Plugins
⬇ Download on HangarOpen in MCModsHubGet it on Google Play →- **Disclaimer:** Please note that this page description may not always be up-to-date or complete. For the most accurate, technical, and latest information, please always refer to the [GitHub Repository](https://github.com/PeachBiscuit174/PeachLib).
# 🍑 PeachLib
**PeachLib** is a lightweight and efficient utility library specifically designed for **PaperMC** developers. It provides a centralized API to simplify common tasks like database management, GUI creation, item handling, and more, allowing you to focus on your plugin's core features.
## 🚀 Key Features
- **💾 Data Manager:** Powerful multi-backend storage (MySQL, SQLite, YAML, FileTree) featuring asynchronous task queuing, smart caching, built-in crash recovery, and a high-precision `TimeProvider` (NTP sync).
- **🌍 Language Manager:** Effortless plugin-specific localization with automatic caching.
- **📦 Items Manager:** Build items with full MiniMessage support, generate Base64 player heads, and manage PersistentDataContainer tags effortlessly.
- **🪟 GUI Manager:** Create modern `InventoryGUI` and multi-page `PaginatedGUI` instances with visual layout mapping and auto-item protection.
- **📁 File Manager:** Asynchronous file handling, safe atomic writes, and secure Zip extractions (Zip-Bomb/Zip-Slip protection).
- **⏱️ Developer Utilities:** A high-performance real-time `LibraryScheduler` using separate ThreadPools, plus smart `PlayerManager` utilities for inventory and MiniMessage display names.
**Built-in Essentials & Admin Tools:**
- **Reload Protection:** Safely blocks the `/reload` command to prevent severe plugin corruption.
- **Smart Update Checker:** Automatic checks every 12 hours (respecting snapshot settings & API version) and gently notifies OPs on join.
- **Holiday Greetings:** Automatically greets players on holidays with customizable messages.
## 🛠 For Developers
### Quick Example:
```java
// Central API access point
ItemsManager items = PeachLibAPI.getItemsManager();
// Easily create a custom head via Base64 string with MiniMessage support
ItemStack head = items.getCustomHeadsAPI().getCustomHead("eyJ0ZXh0dXJlcyI6...", "Special Head");
```
## 📌 Technical Details
- **Supported MC Version:** 1.21.4+
- **Java Version:** 21 or higher
- **Platform:** PaperMC (and forks like Purpur)
## 💡 Support & Contribution
- **Project Status:** PeachLib is a hobby project. Development happens in my free time, and I cannot guarantee immediate fixes or 100% correctness of all features.
- **Report Bugs / Request Features:** Please use the [GitHub Issues](https://github.com/PeachBiscuit174/PeachLib/issues).
- **Contribute:** Pull Requests are always welcome!
## ⚖️ Legal & Privacy
- **License:** Licensed under the [MIT License](https://github.com/PeachBiscuit174/PeachLib/blob/master/LICENSE).
- **Transparency:** This project follows modern transparency standards. Parts of the code and documentation were developed with the assistance of AI and refined by the author.
- **Privacy:** Uses **bStats** for anonymous telemetry, connects to **GitHub** for update checks, and uses **NTP/Google** for time synchronization. *(All network requests can be disabled via config or in-game GUI).*
**Bundled & External Dependencies:**
To provide out-of-the-box functionality, PeachLib utilizes the following third-party libraries. By using PeachLib, you also comply with their respective licenses:
- **bStats:** Collects anonymous technical data. *(Shaded and relocated within the library to prevent conflicts with other plugins).*
- **HikariCP** ([Apache 2.0](https://github.com/brettwooldridge/HikariCP/blob/HEAD/LICENSE)), **SQLite-JDBC** ([Apache 2.0](https://github.com/xerial/sqlite-jdbc/blob/HEAD/LICENSE)), and **MySQL Connector/J** ([GPLv2 with FOSS Exception](https://github.com/mysql/mysql-connector-j/blob/HEAD/LICENSE)): These database drivers and connection pools are **not** bundled inside the JAR. They are automatically and safely downloaded from Maven Central at runtime using the native Spigot/Paper libraries system.
PeachLib is a free Minecraft Java mod. Compatible with Minecraft 1.21.10, 1.21.11, 1.21.4, 1.21.5 and newer. Downloaded 5 times (via Hangar). Download it and open it directly in the game.
Explore more