CurseForge · Minecraft mod
Enchanted Outlines
Each enchantment type is assigned a unique color identifier, allowing you to instantly comprehend the power of the item in your hand
Quick answer
Which Enchanted Outlines release should I use?
Enchanted Outlines enchanted_outlines-0.1.8.jar targets 1.21.1 with NeoForge. The project page does not say whether this file belongs on the client, dedicated server, or both. No extra mods listed for this file.
Where it goes
Is Enchanted Outlines required on the client, server, or both?
The project page does not say whether this file belongs on the client, dedicated server, or both.
The source does not explicitly classify this release as client-only or server-only.
What else does Enchanted Outlines enchanted_outlines-0.1.8.jar need?
enchanted_outlines-0.1.8.jar. Change the file and its required mods may change too.
This file does not list any required mods. Do not add a library just because a different file uses it.
This file does not list any required or optional mods.
Before you install it
Add Enchanted Outlines without breaking your instance.
Built for Enchanted Outlines enchanted_outlines-0.1.8.jar. Pick another file and the loader, install side or required mods may change.
- 01
Stick to this file
Use enchanted_outlines-0.1.8.jar. It targets 1.21.1 with NeoForge; another release may have different loader, side or dependency requirements.
- 02
Bring the mods it needs
This file does not list any required mods. Do not add a library just because a different file uses it.
- 03
Put it on the correct side
The project page does not say whether this file belongs on the client, dedicated server, or both.
- 04
Pick the file you checked
Use the “Get this file” button beside enchanted_outlines-0.1.8.jar. It opens that exact file at the source.
About this project
What does Enchanted Outlines add?
✨ Enchanted Outlines · 轮廓即宣言
Every enchanted item deserves its own soul color.
Inspired by the Enchantment Outlines resource pack, but pushed to its absolute limit as a native mod.
🎨 One Glance, One Enchantment — Color Is the Language
Tired of the same old purple enchantment glint? Enchanted Outlines injects a complete visual semantic system into Minecraft's enchantment framework — every enchantment type is assigned a unique color identity, letting you read the power in your hands in an instant.
💡 Unconfigured enchantments automatically fall back to the default color. Supports per-enchantment customization via config file or in-game UI.
🚀 Eight Core Features
1. 🧬 Procedural Outline Generation — Zero Textures, Full Compatibility
Traditional resource packs require pre-baked outline textures for every item. Enchanted Outlines uses a custom core shader to extract the item model's alpha mask in real-time on the GPU, then offsets and renders it in 8 directions.
Original Item Texture → Alpha Mask
↓
8-Directional Offset Render
(N / S / E / W / NE / NW / SE / SW)
↓
Solid Fill → Blend Overlay → Outline
This means:
- ✅ Any modded item works automatically — no pre-drawn textures needed
- ✅ Zero bake time — install and play
- ✅ Zero pixel readback — pure GPU computation
- ✅ Zero cached memory — generated fresh every frame
2. 🌐 Full Rendering Context Coverage
From inventory to battlefield, from ground to sky — the outline is everywhere:
| Scene | Rendering Method | Special Handling |
|---|---|---|
| 🎒 Inventory / Hotbar / Container GUI | 2D Texture Outline | Supports 3D item preview |
| 🤚 First-person Held | Vertex Normal Extrusion | Uniform thickness, surface-hugging |
| 👤 Third-person Held / Dropped Items | Vertex Normal Extrusion | Dynamic lighting response |
| 🖼️ Item Frames | Standard Model Outline | Orientation-adaptive |
| 🛡️ Worn Armor | Model Extrusion | Independent armorThickness config |
| 🦋 Worn Elytra | Model Extrusion | Flight pose synchronization |
| 🔱 Thrown Trident | Approximate Box Model | Throwing pose tracking |
3. 🎯 BEWLR Smart Approximation
Shields, tridents, and spyglasses use procedural rendering (BEWLR) and lack traditional models for outlining. We've built geometric approximate box models for them, tracking blocking (shield raise) and throwing (trident throw) display transforms in real-time to ensure the outline never misaligns.
⚠️ Fishing rods, maps, and other placeholder BEWLR models lack geometric shapes and are not outlined — this is a technical limitation, not an oversight.
4. 🔄 Animation & Variant Native Correctness
Clock hand rotation, compass needle deflection, NBT-driven variant models, damage-induced model switching — all dynamic changes are resolved from the same model every frame, so the outline shape stays perfectly synchronized with the item itself.
5. 🔧 Native Config UI — Dark Amber-Gold Theme
No need to manually edit TOML files. Adjust everything in-game through a polished config interface:
- 🎨 Dark + Amber-Gold theme, harmonized with vanilla style
- 📂 Categorized navigation: Enchant Colors / Item Colors / Global Settings / Disabled List
- 📜 Scrollable lists: Supports large numbers of enchantment/item entries
- 💾 Instant save: Changes take effect immediately, no restart required
- 🚫 Blur background disabled: Avoids conflicts with certain UI mods
- 🎛️ Pixel-color glint toggles (
itemPixelColorGlint/armorPixelColorGlint): decide whether the outline blends with the item's per-pixel texture color under shader packs, or stays a pure solid color
6. 🔌 Developer-Friendly API
Other mods can programmatically register rules via the event bus, with priority over config files:
NeoForge.EVENT_BUS.addListener(OutlineColorEvent.class, event -> {
// Register enchantment color
OutlineColorRegistry.registerEnchantmentColor(
ResourceLocation.fromNamespaceAndPath("mymod", "my_enchant"),
0xFFFFA500 // Amber Gold
);
// Register item override color
OutlineColorRegistry.registerItemColor(
ResourceLocation.fromNamespaceAndPath("mymod", "magic_sword"),
0xFF00FF00 // Magic Green
);
// Register per-item thickness (overrides global armorThickness)
OutlineColorRegistry.registerItemThickness(
ResourceLocation.fromNamespaceAndPath("mymod", "big_axe"),
3
);
// Disable outline for specific item
OutlineColorRegistry.disableItem(
ResourceLocation.fromNamespaceAndPath("mymod", "special_item")
);
});
7. ⚡ Pure Client-Side — Plug and Play
- 🚫 Zero server-side code
- 🚫 Zero network packets
- ✅ Join any multiplayer server
- ✅ Singleplayer / Multiplayer / Realm compatible
8. 🧩 Seamless Compatibility Ecosystem
| Compatibility Type | Status | Notes |
|---|---|---|
| Custom Model Mods (OptiFine / EMF / ETF) | ✅ Fully Compatible | Shader-level processing, no texture dependency |
| UI Beautification Mods | ✅ Compatible | Blur background disabled to avoid conflicts |
| Other Enchantment Visual Mods | ⚠️ Test Recommended | May produce overlay effects |
| Shader Packs (Iris / Oculus) | ✅ Compatible | Runtime detection via reflection (no hard dependency); active packs use a built-in entity_translucent_emissive fallback so world outlines stay bright & correctly colored — see below |
Shader-Pack (Iris / Oculus) Fallback Mode
Enchanted Outlines detects shader packs at runtime (reflecting IrisApi — no compile-time dependency, and behavior is completely unchanged when Iris is installed but no pack is active). When a shader pack is active and allowUnknownShaders is off (Iris default), custom core shaders get skipped by Iris, so world rendering falls back to a built-in entity_translucent_emissive RenderType:
- Emissive glow preserved — no lightmap multiplication, so outlines stay full-bright instead of being darkened by the pack's lighting rewrite.
- Shield / trident box models sample a dedicated pure-white texture (not the block atlas) → no more "shields/tridents reflecting nearby block textures"; colors stay pure.
- Flat items (swords/bows/tools) keep the block sheet — the sprite's alpha mask still defines the shape.
- Item frames render uniformly as translucent glow in fallback mode.
Two toggles control how much the item's own pixel colors bleed into the outline:
| Config | Default | Effect (shader-pack fallback mode) |
|---|---|---|
itemPixelColorGlint |
true |
Flat & 3D item outlines blend with the item's per-pixel texture color (outline color × texture color, e.g. red outline on a diamond sword appears yellow-green). false = pure outline color with the exact item shape preserved |
armorPixelColorGlint |
true |
Armor / elytra / trident-entity outlines sample the original texture (shape hugs the single-layer cutout), colored by mixing. false = pure outline color, shape from model geometry |
💡 Without a shader pack (or with
allowUnknownShadersenabled), the custom shader keeps shape and color fully separate, so outlines are always pure colors and these toggles have no effect. When pixel-color blending is off, a "shape texture" is generated on the CPU from the item sprite's original pixels (RGB = outline color, A = original alpha; cached inTextureManager, auto-cleared on resource reload) — so disabling blending never degrades the shape into a rectangle.
⚠️ Known Limitations
| Limitation | Cause | Mitigation |
|---|---|---|
| 🔱 Thrown trident cannot color by enchantment | Client cannot access pickupItemStack enchantment list |
Falls back to isFoil() check, uses item fixed color / default color |
| 🎣 Fishing rods, 🗺️ maps not outlined | BEWLR placeholder models lack geometric shapes | No current solution, does not affect normal use |
| 🛡️ Shields / 🔱 Tridents / 🔭 Spyglasses have approximate outlines | Box model approximation used | Still visually distinguishable |
| 🛡️ Shield / trident boxes are always pure white under shader packs | Box models use the dedicated white texture to avoid Iris's block-atlas lookup | Acceptable trade-off; still glows and contrasts clearly |
🤝 Contributing & Feedback
- 🐛 Bug Reports: Please include Minecraft version, NeoForge version, and relevant mod list
- 💡 Feature Suggestions: New default enchantment color palettes or rendering contexts welcome
- 🔗 Compatibility Issues: Please provide conflicting mod name and version
Made with 💜 and a lot of shader magic. Every enchanted item deserves to be seen. 轮廓即宣言 · Enchanted Outlines
Project description from CurseForge.
Pick your setup
Enchanted Outlines by Minecraft version and loader
Choose the version and loader you play, then open the matching release.
Check the dependencies, then try the file in a copied instance before changing a world you care about.
Recent files
Enchanted Outlines versions and loaders
enchanted_outlines-0.1.8.jar
16 Aug 2026
enchanted_outlines-0.1.7.jar
13 Aug 2026
enchanted_outlines-0.1.6.jar
9 Aug 2026
enchanted_outlines-0.1.5.jar
8 Aug 2026
enchanted_outlines-0.1.4.jar
8 Aug 2026
enchanted_outlines-0.1.3.jar
8 Aug 2026
enchanted_outlines-0.1.2.jar
7 Aug 2026
enchanted_outlines-0.1.1.jar
7 Aug 2026
Looking for an older file? The official CurseForge project page is in Resources.