
Item Coating
A mod that allows applying potion effects to weapons, tools, and armor. Effects trigger on attack, block break, or when taking damage.
- Загрузки
- 414
- Подписчики
- 3
- Обновлён
- 12 марта 2026 г.
- Лицензия
- MIT
Опубликован 20 февраля 2026 г.
Item Coating
A mod that allows applying potion effects to weapons, tools, and armor. Effects trigger on attack, block break, or when taking damage.
Key Features
- Apply Coatings: Craft item + potion OR grab potion and right-click item in inventory
- Remove Coatings: Grab milk bucket and right-click item to remove all coatings
- Three Item Types: Weapons (apply on attack), Tools (apply on block break with Inversion), Armor (apply when taking damage)
- Two Effect Types: Time-based (expire by timer) or Hit-based (expire after N hits for instant effects ≤1s)
- Extend Effects: Reapply same effect to extend (time-based: full/1/4 duration, hit-based: +1 hit)
- Loot Coatings: 8% chance for items in loot chests to spawn with coatings (1% chance for Coating Curse instead)
- Better Combat Support: Works with dual wield and offhand attacks
Enchantments
| Enchantment | Max Level | Effect |
|---|---|---|
| Coating Capacity | III | +1 coating slot per level (base 1, max 4) |
| Coating Preservation | V | Extends duration: +5s + 20% × 2 × level (time) or +1 + 2 × level hits |
| Coating Potency | III | +1 effect level per enchantment level |
| Coating Curse | I | Prevents applying coatings (curse) |
| Curse of Inversion | I | Inverts effect application (extremely rare treasure) |
| Curse of Permanence | I | Makes coatings infinite and unremovable (extremely rare treasure) |
Item Types
Weapons
- Trigger: On attack
- Target: Enemy receives effect
- With Inversion: Wielder receives effect
Tools
- Trigger: On block break (requires Inversion curse)
- Target: Player receives effect (only with Inversion)
- Without Inversion: No effect (blocks can't receive effects)
- Note: Axes are treated as weapons, not tools
Armor
- Trigger: When taking damage
- Target: Attacker receives effect
- With Inversion: Wearer receives effect
- Full Set Mode: Optional config to require all 4 pieces with same effect
Curses
Curse of Inversion
- Effect: Inverts who receives the coating effect
- Weapons: Effects apply to wielder instead of target
- Tools: Effects apply to player when breaking blocks
- Armor: Effects apply to wearer instead of attacker
- Rarity: Extremely rare (1% of normal curse chance)
Curse of Permanence
- Effect: Coatings become infinite and cannot be removed
- Coatings never expire (no duration/hit countdown)
- Milk bucket cannot remove coatings
- Can still add new coatings if capacity allows
- Rarity: Extremely rare (1% of normal curse chance)
Visual Effects
- Particles: Colored particles around coated items (configurable)
- Tooltip: Real-time timer/hit counter, effect icons, Shift for descriptions
How It Works
Applying Coatings
- Crafting: Item + potion(s) → coated item + empty bottles
- Quick Apply: Grab potion → right-click item → instant coating
- Works in any inventory: Player, chest, shulker box, etc.
Mechanics
- Time-based (>1s potions): Shows "Poison II (1:23)", expires by timer
- Hit-based (≤1s potions): Shows "Strength II (3 hits)", expires per use
- On Trigger:
- Weapons: Applies effect for 3s (time) or 1s (hit) on attack
- Tools: Applies effect for 1s (time) or 1s (hit) on block break (with Inversion)
- Armor: Applies effect for 3s (time) or 1s (hit) when taking damage
- Extension:
- Time-based: Same level = full duration, different level = 1/4 duration
- Hit-based: +1 hit per potion (regardless of level)
Armor Full Set Mode
Optional config setting armorCoating.requireFullSet:
- Disabled (default): Each armor piece works independently
- Enabled: Effects only apply if all 4 pieces have the same effect
Configuration
Fully customizable via config/itemcoating/itemcoating.toml:
Loot Settings
[loot]
coatingChance = 0.08 # 8% chance for coating/curse
curseChance = 0.01 # 1% chance for curse instead of coating
minAmplifier = 0
maxAmplifier = 1
effectBlacklist = ["minecraft:bad_omen"]
Weapon Coating Settings
[coating]
effectBlacklist = ["minecraft:bad_omen"]
weaponBlacklist = []
appliedEffectDurationHitBased = 1.0 # seconds
appliedEffectDurationTimeBased = 3.0 # seconds
Tool Coating Settings
[toolCoating]
enabled = true
applyOnBlockBreak = true
effectBlacklist = ["minecraft:bad_omen"]
toolBlacklist = []
appliedEffectDurationHitBased = 1.0 # seconds
appliedEffectDurationTimeBased = 3.0 # seconds
Armor Coating Settings
[armorCoating]
requireFullSet = false
effectBlacklist = ["minecraft:bad_omen"]
armorBlacklist = []
appliedEffectDurationHitBased = 1.0 # seconds
appliedEffectDurationTimeBased = 3.0 # seconds
Particle Settings
[particles]
enable = true
interval = 8 # ticks between particles
spread = 0.2
velocity = 0.01
showInOffhand = true
cycleColors = true
Enchantment Settings
[enchantments.capacity]
enabled = true
maxLevel = 3
slotsFormula = "1 + {level}"
minPower = 1
maxPower = 51
availableInBooks = true
availableInTable = true
[enchantments.inversion]
enabled = true
minPower = 80
maxPower = 100
availableInBooks = false
availableInTable = false
lootChanceMultiplier = 0.01 # 100x rarer
[enchantments.permanence]
enabled = true
minPower = 80
maxPower = 100
availableInBooks = false
availableInTable = false
lootChanceMultiplier = 0.01 # 100x rarer
effectBlacklist = ["minecraft:instant_health", "minecraft:instant_damage"]
In-Game Configuration
- Fabric: Access via Mod Menu
- Forge: Access via mod configuration menu
- Edit all settings without restarting the game
- Requires Fzzy Config (included as dependency)
Compatibility
- Minecraft: 1.20.1
- Architectury: Cross-platform (Fabric & Forge)
- Better Combat: Full dual wield and offhand support
- Works with: Any mod using standard Minecraft potion effects
Related Mods
- Effectification – Unifies similar status effects from different mods
Alternative Implementations
If you're looking for similar functionality, check out:
- Coated Blades – A datapack/mod for Minecraft 1.21+ with comparable coating mechanics~~~~
License
This mod is licensed under MIT License.
Ченджлог
2.0.1Релиз1.20.1 · 12 марта 2026 г.
Added - Logging System
- Centralized Logger: New
ItemCoatingLoggerutility class using SLF4J- Replaces all
System.out.printlnandSystem.err.printlncalls - Provides
info(),warn(),error(), anddebug()methods - Debug messages only shown when enabled in config
- Replaces all
- Debug Configuration: New
debugconfig sectionenableDebugLogging- enable detailed debug logging (default: false)- Useful for troubleshooting coating application and loot generation
Added - Force Hit-Based Mode
- Force All Hit-Based: New option to convert all long-duration effects to hit-based
- Available in
coating,armorCoating, andtoolCoatingsections forceAllHitBased- convert all effects to hit-based (default: false)- Effects ≤20 ticks (1 second) always remain hit-based with 1 hit
- Effects >20 ticks converted using customizable formula
- Available in
- Duration to Hits Formula: Configurable formula for converting duration to hits
durationToHitsFormula- formula with{duration}variable (default:"{duration} / 200")- Default gives 1 hit per 10 seconds of potion duration
- Examples:
"{duration} / 200"- 1 hit per 10 seconds (default)"{duration} / 100"- 1 hit per 5 seconds"{duration} / 20"- 1 hit per second"5 + ({duration} / 200)"- base 5 hits + 1 per 10 seconds
- Minimum 1 hit guaranteed (formula result clamped)
- Formula Parser Enhancement: New
evaluateWithDuration()method for duration conversion
Changed
- Config Registration: Changed from
RegisterType.CLIENTtoRegisterType.BOTH- Enables proper client-server synchronization
- Fixes dedicated server compatibility issues
- Mixin Configuration: Moved
ItemStackMixinfrom common to client-only- Fixes "Attempted to load class I18n for invalid dist DEDICATED_SERVER" error
- Prevents client-only classes from loading on dedicated servers
Fixed
- Dedicated Server Crash: Fixed crash when loading on Forge dedicated servers
- Issue:
ItemStackMixinwas loading client-onlyI18nclass on server - Solution: Properly separated client and server mixins
- Issue:
- Logging Spam: Reduced console spam by moving verbose messages to debug level
- Loot generation details now only shown with
enableDebugLogging = true - Coating application details now only shown with
enableDebugLogging = true
- Loot generation details now only shown with
2.0.1Релиз1.20.1 · 12 марта 2026 г.
Added - Logging System
- Centralized Logger: New
ItemCoatingLoggerutility class using SLF4J- Replaces all
System.out.printlnandSystem.err.printlncalls - Provides
info(),warn(),error(), anddebug()methods - Debug messages only shown when enabled in config
- Replaces all
- Debug Configuration: New
debugconfig sectionenableDebugLogging- enable detailed debug logging (default: false)- Useful for troubleshooting coating application and loot generation
Added - Force Hit-Based Mode
- Force All Hit-Based: New option to convert all long-duration effects to hit-based
- Available in
coating,armorCoating, andtoolCoatingsections forceAllHitBased- convert all effects to hit-based (default: false)- Effects ≤20 ticks (1 second) always remain hit-based with 1 hit
- Effects >20 ticks converted using customizable formula
- Available in
- Duration to Hits Formula: Configurable formula for converting duration to hits
durationToHitsFormula- formula with{duration}variable (default:"{duration} / 200")- Default gives 1 hit per 10 seconds of potion duration
- Examples:
"{duration} / 200"- 1 hit per 10 seconds (default)"{duration} / 100"- 1 hit per 5 seconds"{duration} / 20"- 1 hit per second"5 + ({duration} / 200)"- base 5 hits + 1 per 10 seconds
- Minimum 1 hit guaranteed (formula result clamped)
- Formula Parser Enhancement: New
evaluateWithDuration()method for duration conversion
Changed
- Config Registration: Changed from
RegisterType.CLIENTtoRegisterType.BOTH- Enables proper client-server synchronization
- Fixes dedicated server compatibility issues
- Mixin Configuration: Moved
ItemStackMixinfrom common to client-only- Fixes "Attempted to load class I18n for invalid dist DEDICATED_SERVER" error
- Prevents client-only classes from loading on dedicated servers
Fixed
- Dedicated Server Crash: Fixed crash when loading on Forge dedicated servers
- Issue:
ItemStackMixinwas loading client-onlyI18nclass on server - Solution: Properly separated client and server mixins
- Issue:
- Logging Spam: Reduced console spam by moving verbose messages to debug level
- Loot generation details now only shown with
enableDebugLogging = true - Coating application details now only shown with
enableDebugLogging = true
- Loot generation details now only shown with
2.0.0Релиз1.20.1 · 26 февраля 2026 г.
Added - Tool Coating System
- Tool Support: All coating enchantments now work with tools (pickaxes, shovels, hoes)
- Uses
EnchantmentTarget.BREAKABLEinstead ofWEARABLE - Axes are treated as weapons, not tools
- Uses
- Block Break Events: Effects apply when breaking blocks (requires Inversion curse)
- Without Inversion: no effect (blocks can't receive effects)
- With Inversion: effects apply to player
- Drag-n-Drop for Tools: Apply/remove coatings via inventory interaction
- Tool Configuration: New
toolCoatingconfig sectionenabled- enable/disable tool coatings (default: true)applyOnBlockBreak- apply effects on block break (default: true)effectBlacklist- forbidden effects for toolstoolBlacklist- tools that can't be coatedappliedEffectDurationHitBased- hit-based effect duration (default: 1.0s)appliedEffectDurationTimeBased- time-based effect duration (default: 3.0s)
Added - Armor Coating System
- Armor Coatings: Apply potion effects to armor pieces
- Effects apply to attacker when taking damage
- Works with all armor types (helmet, chestplate, leggings, boots)
- Armor Recipes: New
armor_coatingrecipe type - Full Set Mode: Optional requirement for all 4 armor pieces to have same effect
- Config:
armorCoating.requireFullSet(default: false) - When enabled: effects only apply if all 4 pieces match
- Config:
- Armor Configuration: New
armorCoatingconfig sectioneffectBlacklist- forbidden effects for armorarmorBlacklist- armor that can't be coatedrequireFullSet- require matching effects on all 4 piecesappliedEffectDurationHitBased- hit-based effect duration (default: 1.0s)appliedEffectDurationTimeBased- time-based effect duration (default: 3.0s)
Added - New Curses
- Curse of Inversion: Inverts coating effect application
- Weapons: effects apply to wielder instead of target
- Tools: effects apply to player when breaking blocks
- Armor: effects apply to wearer instead of attacker
- Max Level: 1, Extremely Rare (treasure only)
- Config:
enchantments.inversion.lootChanceMultiplier(default: 0.01 = 100x rarer)
- Curse of Coating Permanence: Makes coatings permanent and unremovable
- Coatings become infinite (never expire)
- Cannot remove with milk bucket
- Max Level: 1, Extremely Rare (treasure only)
- Config:
enchantments.permanence.effectBlacklist- effects that won't become infinite - Config:
enchantments.permanence.lootChanceMultiplier(default: 0.01 = 100x rarer)
Added - Mob Auto-Coating
- Automatic Coating: Mobs can spawn with coated equipment
- Applies to weapons and armor with coating enchantments
- Uses random effects from available potions
- Respects effect blacklists
- Handler:
MobCoatingHandler.java
Changed
- Enchantment Target: Changed from
WEARABLEtoBREAKABLEfor all enchantments- Now works with weapons, tools, and armor
- Loot Chance: Reduced from 15% to 8% for better balance
- Configuration Format: All configs now use TOML format via Fzzy Config
- Applied Effect Duration: Separate configs for weapons, tools, and armor
2.0.0Релиз1.20.1 · 26 февраля 2026 г.
Added - Tool Coating System
- Tool Support: All coating enchantments now work with tools (pickaxes, shovels, hoes)
- Uses
EnchantmentTarget.BREAKABLEinstead ofWEARABLE - Axes are treated as weapons, not tools
- Uses
- Block Break Events: Effects apply when breaking blocks (requires Inversion curse)
- Without Inversion: no effect (blocks can't receive effects)
- With Inversion: effects apply to player
- Drag-n-Drop for Tools: Apply/remove coatings via inventory interaction
- Tool Configuration: New
toolCoatingconfig sectionenabled- enable/disable tool coatings (default: true)applyOnBlockBreak- apply effects on block break (default: true)effectBlacklist- forbidden effects for toolstoolBlacklist- tools that can't be coatedappliedEffectDurationHitBased- hit-based effect duration (default: 1.0s)appliedEffectDurationTimeBased- time-based effect duration (default: 3.0s)
Added - Armor Coating System
- Armor Coatings: Apply potion effects to armor pieces
- Effects apply to attacker when taking damage
- Works with all armor types (helmet, chestplate, leggings, boots)
- Armor Recipes: New
armor_coatingrecipe type - Full Set Mode: Optional requirement for all 4 armor pieces to have same effect
- Config:
armorCoating.requireFullSet(default: false) - When enabled: effects only apply if all 4 pieces match
- Config:
- Armor Configuration: New
armorCoatingconfig sectioneffectBlacklist- forbidden effects for armorarmorBlacklist- armor that can't be coatedrequireFullSet- require matching effects on all 4 piecesappliedEffectDurationHitBased- hit-based effect duration (default: 1.0s)appliedEffectDurationTimeBased- time-based effect duration (default: 3.0s)
Added - New Curses
- Curse of Inversion: Inverts coating effect application
- Weapons: effects apply to wielder instead of target
- Tools: effects apply to player when breaking blocks
- Armor: effects apply to wearer instead of attacker
- Max Level: 1, Extremely Rare (treasure only)
- Config:
enchantments.inversion.lootChanceMultiplier(default: 0.01 = 100x rarer)
- Curse of Coating Permanence: Makes coatings permanent and unremovable
- Coatings become infinite (never expire)
- Cannot remove with milk bucket
- Max Level: 1, Extremely Rare (treasure only)
- Config:
enchantments.permanence.effectBlacklist- effects that won't become infinite - Config:
enchantments.permanence.lootChanceMultiplier(default: 0.01 = 100x rarer)
Added - Mob Auto-Coating
- Automatic Coating: Mobs can spawn with coated equipment
- Applies to weapons and armor with coating enchantments
- Uses random effects from available potions
- Respects effect blacklists
- Handler:
MobCoatingHandler.java
Changed
- Enchantment Target: Changed from
WEARABLEtoBREAKABLEfor all enchantments- Now works with weapons, tools, and armor
- Loot Chance: Reduced from 15% to 8% for better balance
- Configuration Format: All configs now use TOML format via Fzzy Config
- Applied Effect Duration: Separate configs for weapons, tools, and armor
1.0.0Релиз1.20.1 · 20 февраля 2026 г.
Release
1.0.0Релиз1.20.1 · 20 февраля 2026 г.
Release
Комментарии
Загружаем…