AutoEMC

Automatically generates EMC values for items that ProjectE couldn't map on its own. Supports modded items, NBT variants, configurable fallback values, and only rescans when your mod list changes.
affiliate banner image

โšก AutoEMC

Automatic EMC generation for ProjectE โ€ข Forge 1.16.5

๐Ÿง  AutoEMC scans your modpack and assigns EMC to items that ProjectE does not already know.
It calculates values from recipes first, uses fallback values only when needed, and writes the results into ProjectE's custom EMC file.

![Minecraft 1.16.5](https://img.shields.io/badge/Minecraft-1.16.5-55A630?style=for-the-badge) ![Forge](https://img.shields.io/badge/Forge-1.16.5-D97706?style=for-the-badge) ![ProjectE Required](https://img.shields.io/badge/ProjectE-Required-7E57C2?style=for-the-badge) ![AutoEMC](https://img.shields.io/badge/AutoEMC-Recipe--First EMC-00B4D8?style=for-the-badge)


โœจ What AutoEMC Does

AutoEMC is made for large Forge 1.16.5 modpacks with lots of modded materials, machines, tools, armor, upgrades, ores, and endgame items.

Instead of giving every missing item a random value immediately, AutoEMC follows a recipe-first approach:

๐ŸŸฆ Existing ProjectE EMC
        โ†“
๐ŸŸจ Calculate EMC from loaded recipes
        โ†“
๐ŸŸฉ Seed only true raw/source materials
        โ†“
๐ŸŸช Recalculate recipe chains
        โ†“
๐ŸŸง Assign fallback EMC only to unresolved items
        โ†“
๐Ÿ”ต Improve downstream fallback recipe outputs
        โ†“
โœ… Write AutoEMC values to ProjectE

Example recipe chain

Raw Gem
  โ†“
Gem Block
  โ†“
Machine Part
  โ†“
Advanced Machine Part
  โ†“
Armor / Tool / Upgrade

AutoEMC repeats recipe solving because a later item may depend on an earlier item that only received EMC during the previous pass.


๐Ÿ›ก๏ธ Safe by Default

AutoEMC is designed to avoid destroying normal ProjectE mappings.

Type of EMC value What AutoEMC does
๐ŸŸข Existing ProjectE value Keeps it protected
๐ŸŸข Manually added custom EMC Keeps it protected
๐Ÿ”ต AutoEMC-generated value May update it during a later rescan
๐ŸŸก Missing EMC value Attempts recipe calculation, then fallback if needed

Important: Keep generated_entries.json. It tells AutoEMC which old entries belong to AutoEMC and can safely be recalculated.


๐Ÿงฉ Supported Recipe Types

AutoEMC reads standard loaded Forge/Minecraft recipe types, including:

  • ๐Ÿ› ๏ธ Crafting Table recipes
  • ๐Ÿงบ Shapeless crafting recipes
  • ๐Ÿ”ฅ Smelting recipes
  • ๐Ÿ’ฅ Blasting recipes
  • ๐Ÿ– Smoking recipes
  • ๐Ÿ”ฅ Campfire cooking recipes
  • โœ‚๏ธ Stonecutting recipes
  • โš’๏ธ Smithing Table recipes
  • ๐Ÿงฉ Compatible mod recipes that expose normal Forge IRecipe data

โš’๏ธ Smithing Table Support

For a standard Smithing Table upgrade, AutoEMC reads both required inputs:

Base armor/tool
+ Upgrade material
= Upgraded armor/tool

Example:

Netherite Chestplate
+ Upgraded Netherite Ingot
= Upgraded Netherite Chestplate

๐ŸŸก Some mods use unusual or custom Smithing Table behavior. Check autoemc-debug.log when an upgraded item does not have the expected EMC.


๐Ÿงฎ How EMC Is Calculated

Normal crafting recipe

8 Chroma Shards = 1 Chroma Block

When one Chroma Shard is worth 64 EMC:

8 ร— 64 EMC = 512 EMC

The Chroma Block should receive 512 EMC.

Smithing recipe

Base Item EMC
+ Addition Material EMC
= Upgraded Item EMC

Deep recipe chains

Raw Material
โ†’ Component
โ†’ Machine
โ†’ Upgrade
โ†’ Armor
โ†’ Weapon

AutoEMC performs multiple recipe passes so earlier components can feed into later recipes.


๐ŸŒฑ Source Material Seeding

Some items are not crafted. They are source materials.

Examples include:

  • โ›๏ธ Ores
  • ๐Ÿ’Ž Raw gems
  • ๐Ÿงช Dusts
  • โœจ Crystals
  • ๐Ÿงฉ Shards
  • ๐Ÿ‰ Boss drops
  • ๐Ÿ”ฉ Modded ingots
  • ๐Ÿ“ฆ Special components

AutoEMC gives these source items fallback EMC once, then uses that value to calculate crafted items downstream.

Raw Gem gets fallback EMC once
      โ†“
Gem Block gets recipe EMC
      โ†“
Machine Part gets recipe EMC
      โ†“
Armor gets recipe EMC

๐Ÿšซ A crafted machine part should not normally be seeded. It should get EMC from its recipe whenever possible.


๐Ÿงฏ Final Fallback EMC

Some items cannot be calculated from readable recipes.

This can happen when:

  • โŒ The item has no recipe
  • โŒ The recipe is hidden or malformed
  • โŒ A required ingredient has no EMC
  • โŒ A mod uses a custom machine recipe
  • โŒ The recipe does not expose ingredients through Forge
  • โŒ The item is loot-only, quest-only, or reward-only
  • โŒ The item depends on special NBT, fluids, energy, or multiblock processing

AutoEMC gives those items a final fallback EMC value so they are not left blank.

After fallback values are created, AutoEMC safely checks recipe chains again:

Fallback Machine Part
        โ†“
Advanced Machine Part
        โ†“
Armor
        โ†“
Weapon

This helps downstream items improve from the value of their actual components.


๐Ÿ‘‘ Endgame EMC Tiers

AutoEMC supports material tiers for powerful late-game content.

Tier Typical materials Purpose
๐ŸŸฉ Strong Allthemodium, Wyvern Prevents strong materials from receiving tiny normal values
๐ŸŸฆ Very Strong Vibranium, Draconium, Awakened Draconium Protects high-tier modded progression
๐ŸŸฅ Overpowered Unobtainium, Chaos, Infinity, Creative Protects extreme endgame items

Priority order:

Overpowered
   โ†“
Very Strong
   โ†“
Strong
   โ†“
Normal fallback

โš ๏ธ Powerful materials can create very large EMC values because their recipe cost can travel through long machine and upgrade chains. This is expected.


๐Ÿ” Recipe Loop Protection

Some modpacks have reversible conversion recipes:

Item A โ†’ Item B
Item B โ†’ Item A

Without protection, those loops could increase EMC forever.

AutoEMC protects against this by:

  • โœ… Only allowing generated values to increase when appropriate
  • โœ… Using snapshot-based recipe passes
  • โœ… Stopping when a complete pass makes no improvements
  • โœ… Respecting the configured maximum recipe-pass limit
  • โœ… Blocking cyclic fallback chains from feeding each other forever

๐ŸŽจ Colored In-Game Progress Messages

AutoEMC shows clear phase-based chat messages while it works.

[AutoEMC] START โ–ถ Starting AutoEMC scan...

[AutoEMC] 1/6 CHECK ยป Checking existing ProjectE EMC
[AutoEMC] 2/6 RECIPES ยป Reading loaded recipes
[AutoEMC] 3/6 SOURCES ยป Finding source materials
[AutoEMC] 4/6 CHAIN ยป Solving recipes using source materials
[AutoEMC] 5/6 FALLBACK ยป Assigning final fallback EMC
[AutoEMC] 6/6 UPGRADE ยป Improving fallback recipe outputs

[AutoEMC] DONE โœ“ Scan completed
Color Meaning
๐ŸŸจ Gold Starting / recipe loading
๐ŸŸฆ Aqua Existing ProjectE EMC check
๐ŸŸฉ Green Source materials / completed scan
๐ŸŸช Light Purple Recipe-chain solving
๐ŸŸจ Yellow Fallback values / warnings
๐Ÿ”ต Blue Post-fallback recipe upgrades
๐ŸŸฅ Red Errors
โšช Gray Skipped or low-priority information

๐Ÿ“‹ Dedicated AutoEMC Debug Log

Minecraft's latest.log can be extremely crowded. AutoEMC writes its own clean debug log.

config/autoemc/autoemc-debug.log

The previous AutoEMC session is saved here:

config/autoemc/autoemc-debug.previous.log

The dedicated log contains only AutoEMC information:

  • ๐Ÿ“Œ Scan start reason
  • ๐Ÿ“Š Scan progress
  • ๐Ÿงพ Recipe pass results
  • ๐ŸŒฑ Source material seeding
  • ๐Ÿงฏ Fallback assignment
  • ๐Ÿ” Post-fallback recipe upgrades
  • โš ๏ธ Warnings
  • โŒ Errors with full stack traces
  • โš’๏ธ Smithing Table recipe details
  • ๐Ÿ’ฐ Smithing Table calculated values

Smithing debug example

[SMITHING-RECIPE]
output=examplemod:upgraded_chestplate
inputs=[minecraft:netherite_chestplate] + [examplemod:upgrade_ingot]

[SMITHING-SOLVED]
stage=recipe solve
output=examplemod:upgraded_chestplate
emc=180288

๐Ÿ“ค When reporting an AutoEMC problem, upload config/autoemc/autoemc-debug.log instead of the full Minecraft latest.log.


๐Ÿ“ Important Files

File What it does
config/ProjectE/custom_emc.json ProjectE custom EMC mappings
config/autoemc/generated_entries.json Tracks entries created by AutoEMC
config/autoemc/recipe_solve_state.json Stores the completed scan state
config/autoemc/known_items.json Stores known item registry data
config/autoemc/autoemc-debug.log Clean AutoEMC-only debug log
config/autoemc/autoemc-debug.previous.log Previous AutoEMC debug session

๐Ÿš€ Installation

1. Install required mods

Your modpack needs:

Minecraft Forge 1.16.5
ProjectE
AutoEMC

Place the compiled AutoEMC .jar in your instance's mods folder.

CurseForge\minecraft\Instances\Your Modpack\mods\

2. Start Minecraft

Launch the modpack normally.

AutoEMC scans once the server/world is available. Watch the colored chat messages or open:

config/autoemc/autoemc-debug.log

Wait until you see:

[AutoEMC] DONE โœ“

โณ Do not close Minecraft during the first large scan.

3. Restart Minecraft

After values are written, restart Minecraft.

Close Minecraft
   โ†“
Start Minecraft again
   โ†“
Check EMC in JEI or ProjectE

A restart is preferred because ProjectE loads EMC mappings during startup.


๐Ÿ”„ When AutoEMC Rescans

When nothing relevant changed, AutoEMC skips the long scan:

[AutoEMC] SKIP โ€” item registry and AutoEMC settings are unchanged; prior scan is complete.

That is normal.

AutoEMC rescans when important changes happen:

  • โž• You add a mod
  • โž– You remove a mod
  • โš™๏ธ You change AutoEMC settings
  • ๐Ÿ†• You update the solver version
  • ๐Ÿงฉ Registered items change
  • ๐Ÿ“œ Loaded recipes change
  • ๐Ÿ—‘๏ธ You delete the saved scan state

Removing a mod can change many recipe paths:

Removed Mod Ingredient
        โ†“
Changed Component Recipe
        โ†“
Changed Machine Recipe
        โ†“
Changed Armor / Tool Recipe

A full rescan prevents stale EMC values from remaining after the recipe graph changes.


๐Ÿ”ง How to Force a New Scan

Delete only this file:

config/autoemc/recipe_solve_state.json

Then restart Minecraft.

โœ… This is the safest way to force another calculation pass.


โš ๏ธ How to Completely Reset AutoEMC

Use this only when you want AutoEMC to rebuild all generated values from scratch.

Step 1 โ€” Back up your files

Back up:

config/ProjectE/custom_emc.json
config/autoemc/generated_entries.json

Step 2 โ€” Remove AutoEMC state files

config/ProjectE/custom_emc.json
config/autoemc/generated_entries.json
config/autoemc/recipe_solve_state.json
config/autoemc/known_items.json

Step 3 โ€” Launch Minecraft

Start the game and wait for the full scan to finish.

๐Ÿšจ Warning: Do not delete custom_emc.json without a backup if it contains manual EMC values you want to preserve.


โ“ Troubleshooting

<details> <summary>Why is AutoEMC scanning again?</summary>

AutoEMC detected a registry, recipe, mod, setting, or version change.

Check the first lines of:

config/autoemc/autoemc-debug.log

They explain why the scan started.

</details>

<details> <summary>Why does recipe progress restart on every pass?</summary>

The progress counter tracks recipes in the current pass, not missing items across the whole modpack.

Pass 1: Raw Gem โ†’ Gem Block
Pass 2: Gem Block โ†’ Machine Part
Pass 3: Machine Part โ†’ Armor

Each pass needs to review the recipe list again because more ingredients become usable over time.

</details>

<details> <summary>Why did an item receive fallback EMC?</summary>

The item could not be calculated from a supported readable recipe.

Common causes:

  • No recipe
  • Hidden or broken recipe
  • Custom machine recipe
  • Unknown ingredient EMC
  • Recipe data unavailable through Forge
  • Loot-only or quest-only item

Check the dedicated debug log.

</details>

<details> <summary>Why did my upgraded armor or tool not get the expected value?</summary>

Check for these lines in autoemc-debug.log:

[SMITHING-RECIPE]
[SMITHING-SOLVED]
[SMITHING-FALLBACK]

A normal Smithing Table upgrade should follow:

Base Item EMC + Addition Material EMC = Upgraded Item EMC

Custom modded Smithing recipes may need manual verification.

</details>

<details> <summary>Why is an EMC value extremely high?</summary>

High-tier materials and long recipe chains can produce very large values.

This is common for:

  • Draconic Evolution items
  • Allthemodium / Vibranium / Unobtainium items
  • Chaos / Infinity / Creative-tier items
  • Large machine chains
  • Late-game storage and upgrade components

</details>

<details> <summary>Why did AutoEMC not change an item?</summary>

AutoEMC protects normal ProjectE values and manual custom EMC values.

It normally updates only entries it previously created and recorded in:

config/autoemc/generated_entries.json

</details>


โš ๏ธ Known Limitations

AutoEMC cannot always calculate every modded item perfectly.

Examples:

  • Custom machine recipes that do not use Forge IRecipe
  • Dynamic runtime recipes
  • Hidden recipes with unreadable ingredients
  • Malformed recipe data
  • Loot-table-only items
  • Quest reward items
  • NBT-dependent crafting costs
  • Fluid, energy, multiblock, or custom processing costs
  • Non-standard Smithing Table recipes

Those items can receive fallback EMC and may need manual balancing in a highly customized modpack.


๐Ÿงช Recommended Modpack Author Workflow

1. Install ProjectE + AutoEMC
        โ†“
2. Back up custom_emc.json
        โ†“
3. Launch the modpack
        โ†“
4. Wait for AutoEMC DONE โœ“
        โ†“
5. Restart Minecraft
        โ†“
6. Test key progression items
        โ†“
7. Check autoemc-debug.log for warnings
        โ†“
8. Add manual EMC only where special balancing is needed
        โ†“
9. Keep generated_entries.json for future automatic updates

Test at least:

  • โ›๏ธ Ores and raw materials
  • ๐Ÿงฑ Ingots and blocks
  • โš™๏ธ Components and machines
  • ๐Ÿ›ก๏ธ Armor and tools
  • โš’๏ธ Smithing upgrades
  • ๐Ÿ‰ Endgame items
  • ๐Ÿ’Ž High-tier materials

๐Ÿ› Reporting a Bug

Include:

Minecraft version:
Forge version:
ProjectE version:
AutoEMC version:

Wrong item ID:
Expected EMC behavior:
Actual EMC value:

Attached file:
config/autoemc/autoemc-debug.log

For a Smithing problem, also include:

Base item:
Upgrade material:
Upgraded output:
JEI recipe screenshot or exact recipe:

### โšก AutoEMC โ€” Recipe-first EMC generation for large ProjectE modpacks

The AutoEMC Team

profile avatar
  • 20
    Followers
  • 10
    Projects
  • 380.8K
    Downloads

More from DKLYNTLYView all

  • Random Item Generator Resurrected project image

    Random Item Generator Resurrected

    • 62.9K
    • Mods

    Adds three configurable blocks that drop random items, spawn random entities, or give random enchanted books โ€” complete with blacklist controls to keep unwanted or hazardous drops out.

    • 62.9K
    • July 2, 2026
    • Mods
    • +2
  • Randomized Block & Mob Drops project image

    Randomized Block & Mob Drops

    • 33.0K
    • Mods

    This mod randomizes all block and mob drops in Minecraft โ€” including modded ones.

    • 33.0K
    • July 1, 2026
    • Mods
    • +1
  • Modded Oneblock Skyblock  project image

    Modded Oneblock Skyblock

    • 160.3K
    • Modpacks

    Kitchen Sink modpack with 700+ mods, centered around "One Block" gameplay. Players start on a single block in the sky, expanding and progressing by breaking it. The pack offers a blend of automation, exploration, and progression across diverse mods.

    • 160.3K
    • November 8, 2025
    • Modpacks
    • +4
  • Receipe Shuffle project image

    Receipe Shuffle

    • 362
    • Mods

    A Minecraft mod that randomizes all crafting and smelting recipes

    • 362
    • August 24, 2025
    • Mods
    • +1
  • Random Item Generator Resurrected project image

    Random Item Generator Resurrected

    • 62.9K
    • Mods

    Adds three configurable blocks that drop random items, spawn random entities, or give random enchanted books โ€” complete with blacklist controls to keep unwanted or hazardous drops out.

    • 62.9K
    • July 2, 2026
    • Mods
    • +2
  • Randomized Block & Mob Drops project image

    Randomized Block & Mob Drops

    • 33.0K
    • Mods

    This mod randomizes all block and mob drops in Minecraft โ€” including modded ones.

    • 33.0K
    • July 1, 2026
    • Mods
    • +1
  • Modded Oneblock Skyblock  project image

    Modded Oneblock Skyblock

    • 160.3K
    • Modpacks

    Kitchen Sink modpack with 700+ mods, centered around "One Block" gameplay. Players start on a single block in the sky, expanding and progressing by breaking it. The pack offers a blend of automation, exploration, and progression across diverse mods.

    • 160.3K
    • November 8, 2025
    • Modpacks
    • +4
  • Receipe Shuffle project image

    Receipe Shuffle

    • 362
    • Mods

    A Minecraft mod that randomizes all crafting and smelting recipes

    • 362
    • August 24, 2025
    • Mods
    • +1