
轮廓即宣言
每种附魔类型都分配了独特的颜色标识,让您能立即掌握手中物品的力量。
查看大图✨ 附魔轮廓 · 轮廓即宣言
每件附魔物品都值得拥有属于自己的灵魂颜色。灵感来源于 Enchantment Outlines 资源包,但作为原生模组将其发挥到了极致。
🎨 一眼辨附魔 — 颜色即语言
厌倦了千篇一律的紫色附魔闪光?附魔轮廓(Enchanted Outlines) 为 Minecraft 的附魔机制注入了一套完整的视觉语义系统 —— 每种附魔类型都被赋予了独特的颜色标识,让你瞬间读懂手中的力量。💡 未配置的附魔会自动回退到默认颜色。支持通过配置文件或游戏内界面进行逐附魔自定义。
🚀 八大核心特性
1. 🧬 程序化轮廓生成 — 零纹理,全兼容
传统资源包需要为每件物品预制轮廓纹理。附魔轮廓使用一个自定义核心着色器,在 GPU 上实时提取物品模型的 Alpha 遮罩,然后沿8个方向偏移渲染。原始物品纹理 → Alpha 遮罩
↓
8方向偏移渲染
(上 / 下 / 左 / 右 / 左上 / 右上 / 左下 / 右下)
↓
纯色填充 → 混合叠加 → 轮廓
这意味着:
- ✅ 任何模组物品都能自动生效 — 无需预绘制纹理
- ✅ 零烘焙时间 — 安装即玩
- ✅ 零像素回读 — 纯 GPU 计算
- ✅ 零缓存内存 — 每帧实时生成
2. 🌐 全渲染场景覆盖
从背包到战场,从地面到天空 — 轮廓无处不在:| 场景 | 渲染方式 | 特殊处理 |
|---|---|---|
| 🎒 背包 / 快捷栏 / 容器界面 | 2D 纹理轮廓 | 支持3D物品预览 |
| 🤚 第一人称手持 | 顶点法线挤出 | 厚度均匀,贴合表面 |
| 👤 第三人称手持 / 掉落物 | 顶点法线挤出 | 动态光照响应 |
| 🖼️ 物品展示框 | 标准模型轮廓 | 适应朝向 |
| 🛡️ 穿戴的盔甲 | 模型挤出 | 独立的 armorThickness 配置 |
| 🦋 穿戴的鞘翅 | 模型挤出 | 飞行姿态同步 |
| 🔱 掷出的三叉戟 | 近似盒体模型 | 投掷姿态追踪 |
3. 🎯 BEWLR 智能近似
盾牌、三叉戟和望远镜使用程序化渲染(BEWLR),缺乏可用于勾勒轮廓的传统模型。我们为它们构建了几何近似盒体模型,实时追踪blocking(盾牌举盾)和 throwing(三叉戟投掷)的显示变换,确保轮廓永不偏移。
⚠️ 钓鱼竿、地图等占位符 BEWLR 模型缺乏几何形状,因此不会被勾勒轮廓 — 这是技术限制,而非疏漏。
4. 🔄 动画与变体原生正确性
时钟指针旋转、指南针指针偏转、NBT驱动的变体模型、耐久度导致的模型切换 — 所有动态变化都会每帧从相同模型解析,因此轮廓形状与物品本身始终保持完美同步。5. 🔧 原生配置界面 — 暗琥珀金主题
无需手动编辑 TOML 文件。通过一个精致的配置界面即可在游戏内调整一切:- 🎨 暗色 + 琥珀金主题,与原版风格和谐统一
- 📂 分类导航:附魔颜色 / 物品颜色 / 全局设置 / 禁用列表
- 📜 可滚动列表:支持大量附魔/物品条目
- 💾 即时保存:更改立即生效,无需重启
- 🚫 禁用模糊背景:避免与某些界面模组冲突
- 🎛️ 像素色闪光开关(
itemPixelColorGlint/armorPixelColorGlint):决定在着色器包下,轮廓是与物品的逐像素纹理颜色混合,还是保持纯色
6. 🔌 开发者友好 API
其他模组可以通过事件总线以编程方式注册规则,优先级高于配置文件:NeoForge.EVENT_BUS.addListener(OutlineColorEvent.class, event -> {
// 注册附魔颜色
OutlineColorRegistry.registerEnchantmentColor(
ResourceLocation.fromNamespaceAndPath("mymod", "my_enchant"),
0xFFFFA500 // 琥珀金
);// 注册物品覆盖颜色
OutlineColorRegistry.registerItemColor(
ResourceLocation.fromNamespaceAndPath("mymod", "magic_sword"),
0xFF00FF00 // 魔法绿
);
// 注册每物品厚度(覆盖全局 armorThickness)
OutlineColorRegistry.registerItemThickness(
ResourceLocation.fromNamespaceAndPath("mymod", "big_axe"),
3
);
// 禁用特定物品的轮廓
OutlineColorRegistry.disableItem(
ResourceLocation.fromNamespaceAndPath("mymod", "special_item")
);
});
7. ⚡ 纯客户端 — 即插即用
- 🚫 零服务端代码
- 🚫 零网络数据包
- ✅ 可加入任何多人服务器
- ✅ 兼容单机 / 多人 / Realms
8. 🧩 无缝兼容生态系统
| 兼容类型 | 状态 | 备注 |
|---|---|---|
| 自定义模型模组(OptiFine / EMF / ETF) | ✅ 完全兼容 | 着色器级处理,不依赖纹理 |
| 界面美化模组 | ✅ 兼容 | 已禁用模糊背景以避免冲突 |
| 其他附魔视觉模组 | ⚠️ 建议测试 | 可能产生叠加效果 |
| 着色器包(Iris / Oculus) | ✅ 兼容 | 通过反射进行运行时检测(无硬性依赖);启用的着色器包使用内置的 entity_translucent_emissive 后备方案,确保世界轮廓保持明亮且颜色正确 — 见下文 |
着色器包(Iris / Oculus)后备模式
附魔轮廓在运行时检测着色器包(反射IrisApi — 无编译时依赖,且当安装了 Iris 但未启用任何着色器包时,行为完全不变)。当着色器包已启用且 allowUnknownShaders 关闭时(Iris 默认),自定义核心着色器会被 Iris 跳过,因此世界渲染会回退到内置的 entity_translucent_emissive 渲染类型:
- 保留自发光效果 — 无光照贴图乘法,因此轮廓保持全亮,而不会被着色器包的光照重写变暗。
- 盾牌 / 三叉戟盒体模型 采样专用的纯白纹理(非方块图集)→ 不再出现“盾牌/三叉戟反射附近方块纹理”的问题;颜色保持纯净。
- 平面物品(剑/弓/工具)保留方块图集 — 精灵图的 Alpha 遮罩仍定义形状。
- 物品展示框 在后备模式下统一渲染为半透明发光体。
| 配置 | 默认值 | 效果(着色器包后备模式) |
|---|---|---|
itemPixelColorGlint |
true |
平面与3D物品轮廓与物品的逐像素纹理颜色混合(轮廓颜色 × 纹理颜色,例如钻石剑上的红色轮廓会显示为黄绿色)。false = 纯轮廓颜色,保持精确物品形状 |
armorPixelColorGlint |
true |
盔甲 / 鞘翅 / 三叉戟实体轮廓采样原始纹理(形状贴合单层裁剪),颜色通过混合计算。false = 纯轮廓颜色,形状由模型几何体定义 |
💡 无着色器包(或启用了allowUnknownShaders)时,自定义着色器会完全分离形状和颜色,因此轮廓始终是纯色,这些开关不会生效。 当像素颜色混合关闭时,会从物品精灵图的原始像素在 CPU 上生成一个“形状纹理”(RGB = 轮廓颜色,A = 原始 Alpha;缓存于TextureManager中,资源重载时自动清除)— 因此禁用混合绝不会将形状退化为矩形。
⚠️ 已知限制
| 限制 | 原因 | 缓解措施 |
|---|---|---|
| 🔱 掷出的三叉戟无法按附魔着色 | 客户端无法访问 pickupItemStack 的附魔列表 |
回退到 isFoil() 检查,使用物品固定颜色 / 默认颜色 |
| 🎣 钓鱼竿、🗺️ 地图不显示轮廓 | BEWLR 占位符模型缺乏几何形状 | 暂无解决方案,不影响正常使用 |
| 🛡️ 盾牌 / 🔱 三叉戟 / 🔭 望远镜轮廓为近似形状 | 使用盒体模型近似 | 视觉上仍可清晰分辨 |
| 🛡️ 盾牌 / 三叉戟盒体在着色器包下始终为纯白色 | 盒体模型使用专用白色纹理以避免 Iris 的方块图集查找 | 可接受的权衡;仍能发光并形成鲜明对比 |
🤝 贡献与反馈
- 🐛 Bug 报告:请附上 Minecraft 版本、NeoForge 版本及相关模组列表
- 💡 功能建议:欢迎提出新的默认附魔调色板或渲染场景
- 🔗 兼容性问题:请提供冲突模组的名称和版本
用 💜 和大量着色器魔法制作。 每件附魔物品都值得被看见。 轮廓即宣言 · 附魔轮廓
正在加载版本记录…






正在加载评论…
评论在新手盒子客户端中发表,这里同步展示。