What is this?
Let's be real: you're running a Folia server. You're on the cutting edge, but you've probably realized it breaks everything.
Your old "essentials" plugin (like EssentialsX) is built on a single "main thread". The second you run it on Folia, it will cause crashes, data corruption, and lag. Other "Folia-compatible" plugins are often just quick patches, not true fixes.
FoliaCore is not a patch. It's a from-scratch replacement.
We built this plugin with a "Folia-first" design. We use Folia's native schedulers for everything. The result? A rock-solid, thread-safe core plugin that will never lag your server just because a player saved their home or sent a TPA request.
Why You Should Download This
We aren't just "another" essentials plugin. We are an architectural upgrade. This is what our Folia-native design gives you:
| Feature | FoliaCore (Our Code) | The Old Way (Essentials / zEssentials) |
|---|---|---|
| Threading Model | Folia-Native. Uses EntityScheduler & RegionScheduler for all tasks. 100% thread-safe. |
Single-Threaded. Incompatible. Will crash, stall, or corrupt data on Folia. |
| Data Saving (Performance) | Asynchronous YAML. All file saves use the AsyncScheduler. Guarantees zero tick-skips (lag). |
Requires External MySQL for reliability, or uses slow, synchronous YAML saving that causes server stutter. |
| Simplicity | True "Drag & Drop". Our async saving is fast and simple. No setup needed. | Complex Setup. Requires a database and multiple dependencies (like Vault, zMenu) to get full use. |
| The Price | 100% Free & Open Source (MIT). | Free (and broken) or Paid (and complex). |
Features (v1.0 Pre-Release)
- Chat Module: Full private messaging (
/msg,/r), persistent mutes (/mute,/unmute), and player blocking (/block,/unblock). - Mail Module: Persistent, offline
/mailsystem with login notifications. - Ranged Chat:
/chat <global|world|regional>modes, plus a global shout prefix (!). - Teleport Module: Fully thread-safe
/tpa,/tpahere,/tpaccept, and/tpdeny. - Home Module: Permission-based homes (
/sethome,/home,/delhome,/homes). - Spawn Module: Persistent server spawn (
/setspawn,/spawn). - Team System: Full party management (
/team create,invite,kick,leave, etc.). - Kit System: A full GUI-based kit system (
/kit) with cooldowns and admin commands (/createkit,/delkit). - Warp System: Admin-defined, permission-based server warps (
/setwarp,/delwarp,/warp,/warps). - GPS System: Player-based waypoints (
/marker) with an action-bar compass (/gps). - Economy Module: Vault integration for
/balance,/pay, and/ecoadmin commands.
Installation
- Make sure you are running a Paper 1.20+ or Folia server.
- Download the
FoliaCore.jarfrom the Versions tab. - Drop it in your
/pluginsfolder. - [Dependency] If you want economy features, install Vault and an economy plugin (like EssentialsX Eco).
- Restart your server. (Do not use
/reload!)
Commands & Permissions
<details> <summary>Click to see all Commands and Permissions</summary>
# This is a reference for all permissions. You do not need to copy this.
# All permissions are also listed on our plugin.yml on GitHub.
permissions:
# Chat & Mail Permissions
foliacore.mute: {description: Allows muting players, default: op}
foliacqcore.unmute: {description: Allows unmuting players, default: op}
foliacore.msg: {description: Allows sending private messages, default: true}
foliacore.reply: {description: Allows replying to private messages, default: true}
foliacore.block: {description: Allows blocking players, default: true}
foliacore.unblock: {description: Allows unblocking players, default: true}
foliacore.mail: {description: Base permission for the /mail command, default: true}
foliacore.mail.send: {description: Allows sending mail, default: true}
foliacore.mail.read: {description: Allows reading mail, default: true}
foliacore.mail.clear: {description: Allows clearing your mailbox, default: true}
foliacore.chat: {description: Base permission for the /chat command, default: true}
foliacore.chat.global: {description: Allows switching to GLOBAL chat, default: true}
foliacore.chat.world: {description: Allows switching to WORLD chat, default: true}
foliacore.chat.regional: {description: Allows switching to REGIONAL chat, default: true}
# Teleportation & Spawn Permissions
foliacore.sethome: {description: Allows setting a home, default: true}
foliacore.home: {description: Allows teleporting to a home, default: true}
foliacore.delhome: {description: Allows deleting a home, default: true}
foliacore.homes.list: {description: Allows listing your homes, default: true}
foliacore.homes.default: {description: Gives the player 1 home, default: true}
foliacore.homes.unlimited: {description: Gives the player unlimited homes, default: op}
foliacore.homes.5: {description: Gives the player 5 homes, default: false}
foliacore.homes.10: {description: Gives the player 10 homes, default: false}
foliacore.tpa: {description: Allows sending /tpa requests, default: true}
foliacore.tpahere: {description: Allows sending /tpahere requests, default: true}
foliacore.tpaccept: {description: Allows accepting teleport requests, default: true}
foliacore.tpdeny: {description: Allows-denying teleport requests, default: true}
foliacore.setspawn: {description: Allows setting the server spawn, default: op}
foliacore.spawn: {description: Allows teleporting to spawn, default: true}
# Team Permissions
foliacore.team: {description: Base permission for the /team command, default: true}
foliacore.team.create: {description: Allows creating a team, default: true}
foliacore.team.disband: {description: Allows disbanding a team (owner only), default: true}
foliacore.team.invite: {description: Allows inviting players to a team, default: true}
foliacore.team.accept: {description: Allows accepting a team invite, default: true}
foliacore.team.leave: {description: Allows leaving a team, default: true}
foliacore.team.kick: {description: Allows kicking players from a team, default: true}
# Kit Permissions
foliacore.kit: {description: Allows using the /kit command and GUI, default: true}
foliacore.kit.starter: {description: Allows redeeming the 'starter' kit, default: true}
foliacore.kit.admin: {description: Allows creating and deleting kits, default: op}
# Warp Permissions
foliacore.setwarp: {description: Allows setting server warps, default: op}
foliacore.delwarp: {description: Allows deleting server warps, default: op}
foliacore.warp: {description: Allows using the base /warp command, default: true}
foliacore.warp.all: {description: Allows using all warps without specific permissions, default: op}
foliacore.warps.list: {description: Allows listing available warps, default: true}
# GPS Permissions
foliacore.marker: {description: Base permission for /marker, default: true}
foliacore.marker.set: {description: Allows setting markers, default: true}
foliacore.marker.delete: {description: Allows deleting markers, default: true}
foliacore.marker.list: {description: Allows listing markers, default: true}
foliacore.gps: {description: Allows using the /gps command, default: true}
# Economy Permissions
foliacore.balance.self: {description: Allows checking your own balance, default: true}
foliacore.balance.other: {description: Allows checking other players' balances, default: op}
foliacore.pay: {description: Allows paying other players, default: true}
foliacore.eco: {description: Allows using the admin /eco command, default: op}
</details>
For Developers (Our API)
We built this to be a platform. All our managers are thread-safe and accessible. Just add FoliaCore as a dependency and grab our instance.
import dev.ajaretro.foliaCore.FoliaCore;
import dev.ajaretro.foliaCore.managers.ChatManager;
import dev.ajaretro.foliaCore.managers.TeamManager;
public class MyPlugin extends JavaPlugin {
public void doSomething(Player player) {
// You can call our managers from any thread, safely.
// We already handled the concurrency for you.
ChatManager chat = FoliaCore.getInstance().getChatManager();
if (chat.isMuted(player.getUniqueId())) {
//...
}
TeamManager teams = FoliaCore.getInstance().getTeamManager();
if (teams.getTeam(player.getUniqueId()) != null) {
//...
}
}
}
Support & Contact
FoliaCore is a free, open-source project by AJARETRO. If you find a bug, please report it on our GitHub Issues page.
For other inquiries, you can reach me here:
- Email:
[email protected] - WhatsApp:
+8801989208751
Information
| Category | Admin Tools |
|---|---|
| Published on | November 17, 2025 |
| License | MIT |
| Downloads | 5 |
| Stars | 0 |
| Watchers | 0 |