HikariLib
🟡 Updated this yearPreview

🔍 Analysis
- 🏆 #51 of 81 folia mods in this game by downloads
📋 About This Mod
A utility library extracted from Paper plugin development — so you don't rewrite the same boilerplate in every plugin.
## Repository
```xml
## Dependency
```xml
Requires Paper 1. 21. 1, Java 21.
## What's inside
### Menu system
Define menu layouts with a character matrix:
```java HikariMatrixDrawer drawer = new HikariMatrixDrawer(9) .addLine("XXX XXXX") .addLine(" X X X") .addExplain('X', new ItemStack(Material. STONE), (event, slot, menu) -> { event.getWhoClicked().sendMessage("Clicked stone!"); });
HikariMenu menu = new HikariMatrixDrawer. Builder() .withTitle("&6Example Menu") .withRows(3) .withDrawer(drawer) .build();
menu.open(player); ```
Implement `HikariMenuDrawer` if you need custom drawing logic.
### Chat input
Ask a player a question and wait for their reply, with configurable timeout:
```java // Default 30-second timeout ChatAsk.ask(player, "Enter your name:", name -> { player.sendMessage("Hello, " + name); });
// 10-second timeout ChatAsk.ask(player, "Enter the code:", code -> { // ... }, 10000); ```
### Database
Common `DataBaseConnection` interface. Both MySQL and SQLite come with HikariCP pooling built in:
```java DataBaseConnection db = new MySQLConnection("localhost", 3306, "mydb", "root", "pass", false); // or new SQLiteConnection("plugins/xxx/data.db")
db.query("SELECT * FROM users WHERE age > ?", 18); db.insert("users", null, "Alice", 25);
db.transaction(() -> { db.execute("UPDATE accounts SET balance = balance - 100 WHERE id = ?", 1); db.execute("UPDATE accounts SET balance = balance + 100 WHERE id = ?", 2); return null; }); ```
### Scheduler
Write once, runs on both Bukkit and Folia:
```java HikariScheduler.addTimedTask(20, () -> player.sendMessage("Hello"), false); HikariScheduler.addRepeatingTask(20, () -> player.sendMessage("Tick"), false); ```
### ItemStack builder
Chainable item construction:
```java HikariItemStack item = new HikariItemStack(Material. DIAMOND_SWORD) .setName("&6Legendary Sword") .setLore(List.of("&7A sword of legend")) .setCustomModelData(1001);
player.getInventory().addItem(item.getItem()); ```
### Reflection
One-liner reflection calls:
```java ReflectionUtil.setField(obj, "someField", newValue); String result = ReflectionUtil.callMethod(String.class, obj, "methodName", arg1, arg2); ```
### Location & teleport
```java // Get the chunk a location belongs to Chunk chunk = LocationUtils.getChunk(location);
// Get a block position within a chunk (0-15 offsets) Location loc = LocationUtils.getChunkOffsetLocation(chunk, 5, 64, 5);
// Teleport a player (always async on Folia, configurable on Bukkit) LocationUtils.teleportPlayer(player, targetLocation); // sync LocationUtils.teleportPlayer(player, targetLocation, true); // async on Bukkit ```
### Entity utilities
Run a task on an entity's scheduler. On Folia it goes through the entity scheduler automatically:
```java EntityUtil.runAsEntity(player, () -> { player.openInventory(menu); }); ```
### Expiring HashMap
Entries auto-expire after the configured duration — no manual cleanup needed:
```java
// 60-second TTL
ExpiringHashMap
String data = cache.get(playerId); // not expired yet — returns the data
String gone = cache.get(playerId); // 60 seconds later — returns null
// Shut down the background cleanup thread when done cache.close(); ```
### Server environment
Detect the server platform so downstream code doesn't have to branch:
```java if (ServerEnvironment.isFolia()) { // use Folia-specific scheduling } else { // use Bukkit scheduling }
String version = ServerEnvironment.getMinecraftVersion(); String bukkitVersion = ServerEnvironment.getBukkitVersion(); String name = ServerEnvironment.getName();
// Full server metadata ServerEnvironment. ServerMeta meta = ServerEnvironment.getMeta(); System.out.println(meta.getMotd()); System.out.println(meta.getMaxPlayers()); ```
```bash mvn clean package ```
## Install locally
```bash mvn install ```
Then drop the jar into your Paper server's `plugins/` directory.
📊 Mod Details
- Game
- Minecraft Plugins
- Author
- Eventually
- Version
- 1.3.1
- Downloads
- 15
- Endorsements
- 1
- Category
- folia
- Created
- 7/7/2026
- Updated
- 6/15/2026
- Game Versions
- 1.20, 1.20.1, 1.20.2, 1.20.3, 1.20.4
- Tags
- library, management, 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 HikariLib 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 HikariLib?
Version 1.3.1, published 2026-06-15 with 15 downloads recorded at the source.
Keep browsing — more Minecraft Plugins mods await