
C-erva 核心
为AndrewImm模组提供文本、注册、网络、库存和权限实用程序的共享Fabric库。
🧱 C-erva Core
C-erva Fabric 模组共享工具库。
C-erva Core 提供了一系列通用基础组件——文本格式化、注册助手、网络库、背包工具、权限管理等等——让各个模组保持小巧,避免重复造轮子。
你不会直接使用这个模组。 当其他模组(例如 PhotoChat)需要时,将它作为依赖安装即可。
📦 内含内容
💬 CervaText
带前缀的聊天消息,样式统一。
CervaText.success("MyMod", "Item given!"); // [MyMod] Item given! (绿色)
CervaText.warning("MyMod", "Low durability"); // [MyMod] Low durability (黄色)
CervaText.error("MyMod", "Not found"); // [MyMod] Not found (红色)
🏷️ CervaRegistry
一行代码注册标识符、物品、方块、音效和实体类型。
CervaRegistry.id("mymod", "ruby");
CervaRegistry.item("mymod", "ruby", new Item(settings));
CervaRegistry.sound("mymod", "ding");
🌐 CervaNetworking
向所有安装了该模组的玩家广播自定义数据包,并为其他玩家提供自动文本回退。
CervaNetworking.broadcastWithFallback(server, TYPE, payload, fallbackText);
🎒 CervaItems
背包工具——给予物品、丢弃堆叠物、统计格子数、检查空间。
CervaItems.give(player, stack); // 给予或丢弃(若背包满)
CervaItems.hasSpace(player, stack); // 给予前检查空间
CervaItems.countItem(player, Items.DIAMOND);
🔐 CervaPermissions
简单的命令和玩家权限检查。
CervaPermissions.hasPermission(source, permission);
🌍 CervaWorld
世界和音效工具。
CervaWorld.playSound(world, pos, soundEvent);
CervaWorld.isServerWorld(world);
⏱️ CervaCooldowns
基于 UUID 和键值的冷却映射表,支持自动过期。
if (CervaCooldowns.isReady(player.getUuid(), "ability", 60)) {
// 60 tick 冷却已过
}
🖼️ CervaTooltips (客户端)
用于物品描述的工具提示构建器。
CervaTooltips.builder()
.line("稀有神器", Formatting.GOLD)
.line("+5 攻击力", Formatting.GREEN)
.build(tooltip);
📁 CervaPaths
支持引号和空格的路径解析——适用于接受文件路径的命令。
📂 CervaFilePicker (客户端)
通过 TinyFD 实现的原生操作系统文件对话框——支持格式过滤的打开/保存对话框。
🛡️ CervaSafe
快速检查客户端/服务器端、空世界、空玩家等——防止常见崩溃。
📋 要求
- Minecraft 1.21.11
- Fabric Loader ≥ 0.19.3
- Fabric API
- Java 21+
⚙️ 针对模组开发者
在 build.gradle 中将 C-erva Core 添加为依赖:
modImplementation "com.andrewimm:cerva_core:1.2.91"
并在 fabric.mod.json 中:
"depends": {
"cerva_core": ">=1.2.91"
}
🔗 使用 C-erva Core 的模组
- PhotoChat — 将图片直接发送到 Minecraft 聊天中
正在加载版本记录…
正在加载评论…
评论在新手盒子客户端中发表,这里同步展示。