- This mod provides better armor blocks to cope with the damage from mechanical kinetic artillery, featuring unique toughness and hardness mechanisms, as well as optimized explosion resistance..
- The blocks in this mod can achieve dynamic toughness based on the number of blocks equipped with armor in the direction of the projectile's movement:
- For example, if there are n blocks behind the equipped armor block when the projectile hits, the calculation of toughness after being hit should be the sum of the attributes corresponding to these n blocks.
- If a shell hits at an oblique angle, the thickness will be calculated based on the angle of incidence and the number of blocks in that direction, followed by the calculation of toughness.
- If the shell is a high-explosive shell, the explosive energy will mainly spread outwards, with a limited total energy propagating through space and being absorbed by the blocks.
- The above logic still holds true in the physical structure of Valkyrie
| Block ID | toughness | Hardness | Explosion resistance |
|---|---|---|---|
wrought_iron_blocks |
16 | 1 | 30 |
homogeneous_carbon_steel_armor |
22 | 1 | 31 |
iron_steel_composite_armor |
27 | 1.20 | 29 |
nickel_steel_armor |
32 | 1.05 | 34 |
harvey_nickel_steel_armor |
42 | 1.55 | 36 |
kc_armor |
54 | 1.95 | 41 |
knc_armor |
46 | 1.80 | 32 |
sts_armor |
38 | 1.15 | 40 |
ducol_steel |
24 | 1.02 | 32 |
british_plastic_protection |
9 | 1 | 18 |
Recipes and Material Compatibility
Recipes are bundled with the mod; no extra data pack is needed. Use JEI to view crafting layouts, Create processing steps, and heat requirements.
| Output | Ingredients | Process |
|---|---|---|
| 1 wrought iron ingot | 1 create:iron_sheet + 1 gunpowder |
Shapeless crafting or basin compacting |
| 1 wrought iron plate | 1 wrought iron ingot | Mechanical Press over a depot |
| 1 wrought iron block | 9 wrought iron ingots | Crafting |
| 1 homogeneous carbon steel armor | 1 iron plate + 4 steel ingots | Crafting or basin compacting |
| 1 iron-steel composite armor | 5 wrought iron plates + 1 homogeneous carbon steel armor | Heated compacting |
| 2 nickel steel material items | 1 nickel ingot + 1 steel ingot | Heated mixing |
| 1 nickel steel armor | 9 of this mod's nickel steel material items | Crafting |
| 1 Harvey nickel steel armor | 1 nickel steel armor + 1 coal or charcoal | Heated compacting |
| 1 Ducol armor | 1 iron plate + 4 steel ingots | Heated compacting |
| 4 British plastic protection blocks | 3 granite + 1 create:limestone + 3 diorite |
Crafting |
KC, KNC, and STS use CBC molten steel, createbigcannons:molten_steel:
| Output | Ingredients with chromium | Ingredients without chromium | Heat |
|---|---|---|---|
| 1 KC | 250 mB molten steel + 1 nickel ingot + 1 chromium ingot + 1 coal or charcoal | 500 mB molten steel + 1 nickel ingot + 1 coal or charcoal | Superheated |
| 1 KNC | 250 mB molten steel + 1 nickel ingot + 1 chromium ingot | 500 mB molten steel + 1 nickel ingot | Superheated |
| 1 STS | 250 mB molten steel + 1 nickel ingot + 1 chromium ingot + 1 coal or charcoal | 500 mB molten steel + 1 nickel ingot + 1 coal or charcoal | Heated |
"Heated" and "superheated" refer to Create's heated and superheated recipe requirements. Material compatibility uses #forge:plates/iron, #forge:ingots/steel, #forge:ingots/nickel, and #minecraft:coals. This mod does not provide a source of steel or nickel ingots; supply them through another mod or data pack.
Current chromium tag issue: All three conditional recipes check #advancedarmor:advanced_armor_chrome_ingot, but the existing aggregate tag file defines #forge:ingots/advanced_armor_chrome_ingot. That aggregate references #forge:ingots/chrome_ingot and #forge:ingots/chromium_ingot. Without a data pack defining the first tag, the recipes select the chromium-free branch even if a chromium-providing mod is installed.
Current chromium tag issue: All three conditional recipes check #advancedarmor:advanced_armor_chrome_ingot, but the existing aggregate tag file defines #forge:ingots/advanced_armor_chrome_ingot. That aggregate references #forge:ingots/chrome_ingot and #forge:ingots/chromium_ingot. Without a data pack defining the first tag, the recipes select the chromium-free branch even if a chromium-providing mod is installed.
Modpacks can enable the chromium branch by adding this bridge at data/advancedarmor/tags/items/advanced_armor_chrome_ingot.json:
{
"replace": false,
"values": [
{ "id": "#forge:ingots/advanced_armor_chrome_ingot", "required": false }
]
}
Impact Damage and Recovery
When a projectile passes through CBC's shared collision flow, the surviving struck armor block may gain damage levels and display vanilla mining cracks. The probability depends on the projectile's mass, normal velocity and penetration before impact, and the struck block's base hardness and current effective toughness. Only the struck coordinate is affected; newly applied damage enters subsequent impact calculations.
effectiveToughness = baseToughness * (1 - damageLevel / maxLevel)^exponent
Defaults allow 8 levels and up to 3 additional levels per impact. At the maximum level, toughness reaches zero and the block is destroyed. Disabling destruction caps damage at one below the maximum. Damage reduces toughness; hardness and explosion resistance retain their material values. Blast absorption is calculated separately. See the development guide for the probability model.
One level recovers every 6000 game ticks by default, approximately 5 minutes at 20 TPS. A hit that adds damage restarts the timer. Recovery is processed every 20 ticks; offline and paused time do not count. Unloaded chunks are not force-loaded, but their records still recover according to server game time. Unrecovered damage is saved across restarts.
Breaking and replacing a block resets its damage. Damage currently belongs to the complete block state, so property changes also clear it: applying camouflage for the first time switches camouflaged and clears existing damage. Changing only the appearance of an already camouflaged block does not trigger that switch again. Impact damage is submitted only on the server when CBC permits ALL_DAMAGE.
Armor Camouflage
1. Obtain an empty camouflage mold from the creative tab or the command below. There is currently no bundled survival recipe for empty molds; modpacks can supply one.
- Shapelessly craft 1 empty mold + 1 target block item into a filled mold.
- Right-click this mod's armor with the filled mold. Molds can be reused, with a default durability of 64.
Nonlinear Dynamic Hardness
The model starts with the struck material's base hardness and adds a saturating increment weighted by the hardness and position of later blocks:
S = sum((h[i] / Href) * (i - 1)), i = 1 ... n - 1
H = h[0] + Hmax * (1 - exp(-k * S))
Compatibility and FAQ
Why do projectile properties not decrease when armor hardness increases?
Hardness affects the penetration gate, mass debit, and ricochet probability. The penetration rating itself does not decay on impact. When H <= shellPenetration, the gate and mass debit receive no extra hardness multiplier. The current two-block model also adds no hardness increment.
Why can I not use nickel steel or steel armor recipes?
Check that items populate #forge:ingots/nickel and #forge:ingots/steel, and that the recipe's heat requirement is met. A mod providing a material with the same name may use different tags. For chromium, also check the namespace mismatch described above.
Why does blast damage differ from the inspection tool's toughness value?
Inspection toughness is used for projectile penetration. The blast model uses explosion_resistance, ray energy, and CBC's initial destruction list. Toughness alone cannot predict the explosion's destruction range.

