Compatibility
Minecraft: Java Edition
Platforms
Supported environments
Links
Tags
Creators
Details
🧱 C-erva Core
Shared utility library for C-erva Fabric mods.
C-erva Core provides a set of common building blocks — text formatting, registration helpers, networking, inventory utilities, permissions, and more — so that individual mods stay small and don't reinvent the wheel.
You don't use this mod directly. Install it as a dependency when another mod (e.g. PhotoChat) requires it.
📦 What's inside
💬 CervaText
Prefixed chat messages with consistent styling.
CervaText.success("MyMod", "Item given!"); // [MyMod] Item given! (green)
CervaText.warning("MyMod", "Low durability"); // [MyMod] Low durability (yellow)
CervaText.error("MyMod", "Not found"); // [MyMod] Not found (red)
🏷️ CervaRegistry
One-liner registration for identifiers, items, blocks, sounds, and entity types.
CervaRegistry.id("mymod", "ruby");
CervaRegistry.item("mymod", "ruby", new Item(settings));
CervaRegistry.sound("mymod", "ding");
🌐 CervaNetworking
Broadcast a custom payload to all players who have the mod, with an automatic text fallback for everyone else.
CervaNetworking.broadcastWithFallback(server, TYPE, payload, fallbackText);
🎒 CervaItems
Inventory helpers — give items, drop stacks, count slots, check for space.
CervaItems.give(player, stack); // give or drop if full
CervaItems.hasSpace(player, stack); // check before giving
CervaItems.countItem(player, Items.DIAMOND);
🔐 CervaPermissions
Simple permission checks for commands and players.
CervaPermissions.hasPermission(source, permission);
🌍 CervaWorld
World and sound utilities.
CervaWorld.playSound(world, pos, soundEvent);
CervaWorld.isServerWorld(world);
⏱️ CervaCooldowns
UUID + key based cooldown map with automatic expiry.
if (CervaCooldowns.isReady(player.getUuid(), "ability", 60)) {
// 60-tick cooldown passed
}
🖼️ CervaTooltips (client)
Tooltip builder for item descriptions.
CervaTooltips.builder()
.line("Rare artifact", Formatting.GOLD)
.line("+5 attack", Formatting.GREEN)
.build(tooltip);
📁 CervaPaths
Path parsing with quote and space support — useful for commands that accept file paths.
📂 CervaFilePicker (client)
Native OS file dialog via TinyFD — open/save dialogs with format filters.
🛡️ CervaSafe
Quick checks for client/server side, null world, null player — guards against common crashes.
📋 Requirements
- Minecraft 1.21.11
- Fabric Loader ≥ 0.19.3
- Fabric API
- Java 21+
⚙️ For mod developers
Add C-erva Core as a dependency in your build.gradle:
modImplementation "com.andrewimm:cerva_core:1.2.91"
And in your fabric.mod.json:
"depends": {
"cerva_core": ">=1.2.91"
}
🔗 Mods using C-erva Core
- PhotoChat — send images directly into Minecraft chat


