Skip to content

Conversation

@dphaldes
Copy link
Contributor

@dphaldes dphaldes commented Oct 10, 2025

Machines

  • Grinding Ball Tooltip is always shown. No reason to hide it by default.

Sag Mill

Old New
image image

Swapped out Dark Steel Ingots with its ingredients. And the recipe now follows the structures of others, with 2 gears on top. This completes the 3 base machines of the mod AlloySmelter, SterlingGen and SagMill. Recipes after this point can use alloys (like DarkSteel) and higher tier elements.

Alloys

  • Copper Alloy is removed.
  • Conductive Alloy is the first material.
  • Pulsating Alloy is cheaper now so that we don't have to rely on nuggets for crafting

Recipe Changes

image image image image image

Conduits

  • Streamlined conduits names to regular (tier 1), Energetic (tier 2) and Vibrant (tier 3)
  • All tiers now take respective alloys (conductive, energetic and vibrant) as their ingredients + 1 base material for each conduit type.
    a. Energy Alloy for Energy
    b. Glass for Fluid
    c. Pulsating Alloy for Item Conduit
  • Added recipe for Energetic and Vibrant Item conduits
Base Energetic Vibrant
Energy image image image
Fluid image image image
Item image image image

Removals

  • Flour, Cake Base and Cookie Recipes (ours were more expensive than vanilla)
  • Organic Dyes
  • Nethercotta
  • Black Paper
  • Clayed Glowstone
  • Powdered Cobalt

Checklist

  • My code follows the style guidelines of this project (.editorconfig, most IDEs will use this for you).
  • I have made corresponding changes to the documentation.
  • My changes are ready for review from a contributor.

Notes for future Ideas:

  • Prescient Crystal should use Breeze Mob instead of Shulker. Much easier to get, fits the Levitating Theme and would be much better placed progression wise
  • Industrial Insulation needs a different name and recipe

@coderabbitai
Copy link

coderabbitai bot commented Oct 10, 2025

Walkthrough

This pull request performs a comprehensive refactoring of conduit naming and alloy consolidation. It renames six conduit variants (ENHANCED_ENERGY→ENERGETIC_ENERGY, ENDER_ENERGY→VIBRANT_ENERGY, etc.) and consolidates copper alloy items into conductive alloy equivalents. Recipe definitions, tags, language files, and model providers are updated consistently across the codebase. Several deprecated items (FLOUR, POWDERED_COBALT, various dyes) are removed entirely.

Changes

Cohort / File(s) Summary
Registry and Enum Consolidation
enderio/src/main/java/com/enderio/enderio/init/EIOConduits.java, EIOItems.java, EIOBlocks.java, EIOCreativeTabs.java
Renames public static fields: ENHANCED_ENERGY→ENERGETIC_ENERGY, ENDER_ENERGY→VIBRANT_ENERGY, PRESSURIZED_FLUID→ENERGETIC_FLUID, ENDER_FLUID→VIBRANT_FLUID, ENHANCED_ITEM→ENERGETIC_ITEM, ENDER_ITEM→VIBRANT_ITEM. Renames COPPER_ALLOY_INGOT→CONDUCTIVE_ALLOY_INGOT, COPPER_ALLOY_NUGGET→CONDUCTIVE_ALLOY_NUGGET, and COPPER_ALLOY_BLOCK→CONDUCTIVE_ALLOY_BLOCK. Removes COPPER_ALLOY_BALL, FLOUR, POWDERED_COBALT, dyes, and miscellaneous items. Updates creative tab population.
Tag System Updates
enderio/src/main/java/com/enderio/enderio/foundation/tag/EIOTags.java, datagen/.../EIOBlockTagsProvider.java, datagen/.../EIOItemTagsProvider.java
Removes tag declarations for DUSTS_COBALT, INGOTS_COPPER_ALLOY, NUGGETS_COPPER_ALLOY, BLOCKS_COPPER_ALLOY across Items and Blocks. Updates tag groupings to reference CONDUCTIVE_ALLOY and removes copper alloy from STORAGE_BLOCKS and other composite tags.
Recipe Provider Updates (Alloys/Items)
datagen/.../AlloyRecipeProvider.java, ItemRecipeProvider.java, MaterialRecipeProvider.java, ChestLootProvider.java, EIOBlockLootProvider.java
Introduces CONDUCTIVE_ALLOY_INGOT recipe and updates alloy recipes with new ingredient combinations and energy costs. Removes COPPER_ALLOY_INGOT, NETHERCOTTA, CAKE_BASE, CLAYED_GLOWSTONE recipes. Updates tool and electromagnet recipes to use INGOTS_CONDUCTIVE_ALLOY. Replaces dye recipes with standard vanilla equivalents.
Conduit Recipe Updates
datagen/.../ConduitRecipeProvider.java, ConduitsBootstrap.java
Updates all conduit recipe definitions to reference ENERGETIC_ITEM, VIBRANT_ITEM, ENERGETIC_FLUID, VIBRANT_FLUID, ENERGETIC_ENERGY, VIBRANT_ENERGY instead of legacy variants. Modifies patterns and ingredient substitutions across item, fluid, and energy conduit groups. Adds TODO comment about aligning resource keys.
Machine and Filter Recipes
datagen/.../MachineRecipeProvider.java, FilterRecipeProvider.java
Replaces INGOTS_COPPER_ALLOY with INGOTS_CONDUCTIVE_ALLOY across shaped recipes (CAPACITOR_BANKS, SAG_MILL, IMPULSE_HOPPER, etc.). Updates filter recipes to use plain Items.PAPER instead of combined paper/black_paper ingredients, adding per-recipe unlock conditions.
Other Recipe Removals
datagen/.../SagMillRecipeProvider.java
Removes wheat milling recipe that produced FLOUR.
Data Generation and Language
datagen/.../EIOLanguageProvider.java, EIOBlockStateProvider.java, EIOItemModelProvider.java
Renames language keys from ENHANCED_ENERGY/ENDER_ENERGY to ENERGETIC_ENERGY/VIBRANT_ENERGY and equivalent fluid/item variants. Updates block state and item model registrations to reference CONDUCTIVE_ALLOY_BLOCK instead of COPPER_ALLOY_BLOCK. Removes model entries for removed items.
Client and Test Updates
enderio/src/main/java/.../TooltipHandler.java, gametest/.../FluidConduitTests.java
Removes conditional logic for grinding ball tooltips, always showing standard detail lines. Updates FluidConduitTests to use ENERGETIC_FLUID conduit instead of PRESSURIZED_FLUID.
Mekanism Module
enderio-modded-conduits/src/main/java/.../MekanismModule.java
Narrows chemical filter recipe ingredient P from combined PAPER/BLACK_PAPER to PAPER only.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~45 minutes

Suggested labels

Type-Enhancement, Area-Conduits, MC-1.21.1

Suggested reviewers

  • Rover656

Poem

🐰 Hops of glee through conduit lanes,
Energetic flows replace old chains,
Conductive ingots shine so bright,
Where copper once was, now newlight!
Vibrant paths and recipes reborn,
A cleaner future breaks at morn.

Pre-merge checks and finishing touches

❌ Failed checks (1 warning, 1 inconclusive)
Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. You can run @coderabbitai generate docstrings to improve docstring coverage.
Title check ❓ Inconclusive Title is vague and generic; "Balancing Patch #1" does not convey the specific scope of changes (alloy renaming, conduit restructuring, recipe updates). Use a more descriptive title that highlights the main changes, such as "Rename copper alloy to conductive alloy and restructure conduit tiers" or "Recipe balancing: conduit tier streamlining and alloy rebalancing".
✅ Passed checks (1 passed)
Check name Status Explanation
Description check ✅ Passed The pull request description provides clear context on design choices and changes but lacks a formal TODO section and detailed testing instructions.
✨ Finishing touches
  • 📝 Generate docstrings
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch feat/more-balancing-changes

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@dphaldes dphaldes force-pushed the feat/more-balancing-changes branch 2 times, most recently from d5ac72a to 0ec397c Compare October 12, 2025 21:02
@dphaldes dphaldes force-pushed the feat/more-balancing-changes branch from b4bd6c1 to c611600 Compare December 23, 2025 19:43
@dphaldes dphaldes force-pushed the feat/more-balancing-changes branch from 0124611 to 4a26c65 Compare December 25, 2025 03:40
@dphaldes dphaldes marked this pull request as ready for review December 25, 2025 03:55
@dphaldes
Copy link
Contributor Author

I have marked this one ready for review since it was becoming too big. Still have a bunch of things to do like machine recipe changes but I will add that in a following PR

@dphaldes dphaldes changed the title Recipe/Progression Balancing Balancing Patch-1 Dec 25, 2025
@dphaldes dphaldes changed the title Balancing Patch-1 Balancing Patch #1 Dec 25, 2025
Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🧹 Nitpick comments (3)
enderio/src/main/java/com/enderio/enderio/client/foundation/tooltip/TooltipHandler.java (1)

69-76: Tooltip now always shown – approved; consider consistency improvements.

The functional change aligns with the PR objectives (Grinding Ball tooltip now always shown). However, consider two consistency improvements:

  1. Add defensive null-check for consistency: Line 71 directly uses the result of itemStack.get(), whilst line 55 in addCapacitorTooltips wraps a similar call with Objects.requireNonNull(). For consistency with the defensive programming pattern used elsewhere in this class, consider wrapping the retrieval.

  2. Unused parameter: The showAdvanced parameter is no longer referenced in the method body. Whilst keeping it maintains signature consistency with other tooltip methods (lines 53, 82), you may wish to document why it's retained or consider removing it if not needed for future extensibility.

🔎 Proposed consistency improvement
 private static void addGrindingBallTooltips(ItemStack itemStack, List<Component> components, boolean showAdvanced) {
     if (itemStack.has(EnderIODataComponents.GRINDING_BALL)) {
-        GrindingBallData data = itemStack.get(EnderIODataComponents.GRINDING_BALL);
+        GrindingBallData data = Objects.requireNonNull(itemStack.get(EnderIODataComponents.GRINDING_BALL));
         components.add(TooltipUtil.styledWithArgs(EIOCommonLang.GRINDINGBALL_MAIN_OUTPUT, (int) (data.outputMultiplier() * 100)));
         components.add(TooltipUtil.styledWithArgs(EIOCommonLang.GRINDINGBALL_BONUS_OUTPUT, (int) (data.bonusMultiplier() * 100)));
         components.add(TooltipUtil.styledWithArgs(EIOCommonLang.GRINDINGBALL_POWER_USE, (int) (data.powerUse() * 100)));
     }
 }
enderio/src/datagen/java/com/enderio/enderio/datagen/common/recipes/FilterRecipeProvider.java (1)

27-36: Minor formatting inconsistency.

Line 28 is missing a space after the comma in .define('P',Items.PAPER). The same applies to lines 39 and 48. Consider adding spaces for consistency with the rest of the codebase.

🔎 Suggested formatting fix
-                .define('P',Items.PAPER)
+                .define('P', Items.PAPER)
enderio/src/datagen/java/com/enderio/enderio/datagen/common/recipes/ItemRecipeProvider.java (1)

83-93: Redundant ingredient definition and TODO comment.

The recipe defines both 'C' and 'E' as INGOTS_CONDUCTIVE_ALLOY, which is redundant since they reference the same ingredient. The TODO comment on line 83 suggests this recipe needs revision. Consider either:

  1. Using a single key for both positions, or
  2. Addressing the TODO to differentiate the ingredients as intended.

Would you like me to suggest a revised recipe structure, or should this be tracked as a follow-up issue?

🔎 Suggested simplification (if same ingredient is intentional)
         ShapedRecipeBuilder.shaped(RecipeCategory.TOOLS, EIOItems.ELECTROMAGNET.get())
                 .define('V', EIOTags.Items.GEMS_VIBRANT_CRYSTAL)
                 .define('C', EIOTags.Items.INGOTS_CONDUCTIVE_ALLOY)
-                .define('E', EIOTags.Items.INGOTS_CONDUCTIVE_ALLOY)
-                .pattern("CVC")
-                .pattern("C C")
-                .pattern("E E")
+                .pattern("CVC")
+                .pattern("C C")
+                .pattern("C C")
📜 Review details

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between a2bcaf0 and 4a26c65.

⛔ Files ignored due to path filters (102)
  • enderio-modded-conduits/src/generated/resources/data/enderio/recipe/mek_chemical_filter.json is excluded by !**/generated/**
  • enderio/src/generated/resources/assets/enderio/blockstates/copper_alloy_block.json is excluded by !**/generated/**
  • enderio/src/generated/resources/assets/enderio/lang/en_us.json is excluded by !**/generated/**
  • enderio/src/generated/resources/assets/enderio/models/block/copper_alloy_block.json is excluded by !**/generated/**
  • enderio/src/generated/resources/assets/enderio/models/item/black_paper.json is excluded by !**/generated/**
  • enderio/src/generated/resources/assets/enderio/models/item/cake_base.json is excluded by !**/generated/**
  • enderio/src/generated/resources/assets/enderio/models/item/clayed_glowstone.json is excluded by !**/generated/**
  • enderio/src/generated/resources/assets/enderio/models/item/copper_alloy_block.json is excluded by !**/generated/**
  • enderio/src/generated/resources/assets/enderio/models/item/copper_alloy_grinding_ball.json is excluded by !**/generated/**
  • enderio/src/generated/resources/assets/enderio/models/item/copper_alloy_ingot.json is excluded by !**/generated/**
  • enderio/src/generated/resources/assets/enderio/models/item/copper_alloy_nugget.json is excluded by !**/generated/**
  • enderio/src/generated/resources/assets/enderio/models/item/flour.json is excluded by !**/generated/**
  • enderio/src/generated/resources/assets/enderio/models/item/nethercotta.json is excluded by !**/generated/**
  • enderio/src/generated/resources/assets/enderio/models/item/organic_black_dye.json is excluded by !**/generated/**
  • enderio/src/generated/resources/assets/enderio/models/item/organic_brown_dye.json is excluded by !**/generated/**
  • enderio/src/generated/resources/assets/enderio/models/item/organic_green_dye.json is excluded by !**/generated/**
  • enderio/src/generated/resources/assets/enderio/models/item/powdered_cobalt.json is excluded by !**/generated/**
  • enderio/src/generated/resources/data/c/tags/block/storage_blocks.json is excluded by !**/generated/**
  • enderio/src/generated/resources/data/c/tags/block/storage_blocks/copper_alloy.json is excluded by !**/generated/**
  • enderio/src/generated/resources/data/c/tags/item/dusts.json is excluded by !**/generated/**
  • enderio/src/generated/resources/data/c/tags/item/dusts/cobalt.json is excluded by !**/generated/**
  • enderio/src/generated/resources/data/c/tags/item/dyes/black.json is excluded by !**/generated/**
  • enderio/src/generated/resources/data/c/tags/item/dyes/brown.json is excluded by !**/generated/**
  • enderio/src/generated/resources/data/c/tags/item/dyes/green.json is excluded by !**/generated/**
  • enderio/src/generated/resources/data/c/tags/item/ingots.json is excluded by !**/generated/**
  • enderio/src/generated/resources/data/c/tags/item/ingots/copper_alloy.json is excluded by !**/generated/**
  • enderio/src/generated/resources/data/c/tags/item/nuggets.json is excluded by !**/generated/**
  • enderio/src/generated/resources/data/c/tags/item/nuggets/copper_alloy.json is excluded by !**/generated/**
  • enderio/src/generated/resources/data/c/tags/item/storage_blocks.json is excluded by !**/generated/**
  • enderio/src/generated/resources/data/c/tags/item/storage_blocks/copper_alloy.json is excluded by !**/generated/**
  • enderio/src/generated/resources/data/enderio/advancement/recipes/building_blocks/energetic_item_conduit.json is excluded by !**/generated/**
  • enderio/src/generated/resources/data/enderio/advancement/recipes/building_blocks/energetic_item_conduit_upgrade.json is excluded by !**/generated/**
  • enderio/src/generated/resources/data/enderio/advancement/recipes/building_blocks/vibrant_item_conduit.json is excluded by !**/generated/**
  • enderio/src/generated/resources/data/enderio/advancement/recipes/building_blocks/vibrant_item_conduit_upgrade.json is excluded by !**/generated/**
  • enderio/src/generated/resources/data/enderio/advancement/recipes/misc/copper_alloy_ingot.json is excluded by !**/generated/**
  • enderio/src/generated/resources/data/enderio/advancement/recipes/misc/copper_alloy_nugget.json is excluded by !**/generated/**
  • enderio/src/generated/resources/data/enderio/advancement/recipes/misc/item.enderio.copper_alloy_nugget_to_ingot.json is excluded by !**/generated/**
  • enderio/src/generated/resources/data/enderio/advancement/recipes/tools/coordinate_selector.json is excluded by !**/generated/**
  • enderio/src/generated/resources/data/enderio/loot_table/blocks/copper_alloy_block.json is excluded by !**/generated/**
  • enderio/src/generated/resources/data/enderio/loot_table/chests/alloy_loot.json is excluded by !**/generated/**
  • enderio/src/generated/resources/data/enderio/recipe/advanced_capacitor_bank.json is excluded by !**/generated/**
  • enderio/src/generated/resources/data/enderio/recipe/advanced_item_filter.json is excluded by !**/generated/**
  • enderio/src/generated/resources/data/enderio/recipe/alloy_smelting/black_dye.json is excluded by !**/generated/**
  • enderio/src/generated/resources/data/enderio/recipe/alloy_smelting/black_dye_double.json is excluded by !**/generated/**
  • enderio/src/generated/resources/data/enderio/recipe/alloy_smelting/brown_dye_twigs.json is excluded by !**/generated/**
  • enderio/src/generated/resources/data/enderio/recipe/alloy_smelting/brown_dye_twigs_double.json is excluded by !**/generated/**
  • enderio/src/generated/resources/data/enderio/recipe/alloy_smelting/cake_base.json is excluded by !**/generated/**
  • enderio/src/generated/resources/data/enderio/recipe/alloy_smelting/clayed_glowstone.json is excluded by !**/generated/**
  • enderio/src/generated/resources/data/enderio/recipe/alloy_smelting/conductive_alloy_ingot.json is excluded by !**/generated/**
  • enderio/src/generated/resources/data/enderio/recipe/alloy_smelting/cookie.json is excluded by !**/generated/**
  • enderio/src/generated/resources/data/enderio/recipe/alloy_smelting/copper_alloy_ingot.json is excluded by !**/generated/**
  • enderio/src/generated/resources/data/enderio/recipe/alloy_smelting/energetic_alloy_ingot.json is excluded by !**/generated/**
  • enderio/src/generated/resources/data/enderio/recipe/alloy_smelting/green_dye_clippings.json is excluded by !**/generated/**
  • enderio/src/generated/resources/data/enderio/recipe/alloy_smelting/green_dye_double_clippings.json is excluded by !**/generated/**
  • enderio/src/generated/resources/data/enderio/recipe/alloy_smelting/nethercotta.json is excluded by !**/generated/**
  • enderio/src/generated/resources/data/enderio/recipe/alloy_smelting/pulsating_alloy_ingot.json is excluded by !**/generated/**
  • enderio/src/generated/resources/data/enderio/recipe/alloy_smelting/redstone_alloy_ingot.json is excluded by !**/generated/**
  • enderio/src/generated/resources/data/enderio/recipe/alloy_smelting/vibrant_alloy_ingot.json is excluded by !**/generated/**
  • enderio/src/generated/resources/data/enderio/recipe/basic_fluid_filter.json is excluded by !**/generated/**
  • enderio/src/generated/resources/data/enderio/recipe/basic_item_filter.json is excluded by !**/generated/**
  • enderio/src/generated/resources/data/enderio/recipe/basic_soul_filter.json is excluded by !**/generated/**
  • enderio/src/generated/resources/data/enderio/recipe/black_paper.json is excluded by !**/generated/**
  • enderio/src/generated/resources/data/enderio/recipe/cake.json is excluded by !**/generated/**
  • enderio/src/generated/resources/data/enderio/recipe/coordinate_selector.json is excluded by !**/generated/**
  • enderio/src/generated/resources/data/enderio/recipe/copper_alloy_block.json is excluded by !**/generated/**
  • enderio/src/generated/resources/data/enderio/recipe/copper_alloy_grinding_ball.json is excluded by !**/generated/**
  • enderio/src/generated/resources/data/enderio/recipe/copper_alloy_ingot.json is excluded by !**/generated/**
  • enderio/src/generated/resources/data/enderio/recipe/copper_alloy_nugget.json is excluded by !**/generated/**
  • enderio/src/generated/resources/data/enderio/recipe/drain.json is excluded by !**/generated/**
  • enderio/src/generated/resources/data/enderio/recipe/electromagnet.json is excluded by !**/generated/**
  • enderio/src/generated/resources/data/enderio/recipe/ender_fluid_conduit_upgrade.json is excluded by !**/generated/**
  • enderio/src/generated/resources/data/enderio/recipe/energetic_item_conduit.json is excluded by !**/generated/**
  • enderio/src/generated/resources/data/enderio/recipe/energetic_item_conduit_upgrade.json is excluded by !**/generated/**
  • enderio/src/generated/resources/data/enderio/recipe/fluid_conduit.json is excluded by !**/generated/**
  • enderio/src/generated/resources/data/enderio/recipe/impulse_hopper.json is excluded by !**/generated/**
  • enderio/src/generated/resources/data/enderio/recipe/item.enderio.copper_alloy_nugget_to_ingot.json is excluded by !**/generated/**
  • enderio/src/generated/resources/data/enderio/recipe/item_conduit.json is excluded by !**/generated/**
  • enderio/src/generated/resources/data/enderio/recipe/painting_machine.json is excluded by !**/generated/**
  • enderio/src/generated/resources/data/enderio/recipe/pressurized_fluid_conduit.json is excluded by !**/generated/**
  • enderio/src/generated/resources/data/enderio/recipe/pressurized_fluid_conduit_upgrade.json is excluded by !**/generated/**
  • enderio/src/generated/resources/data/enderio/recipe/redstone_filter_base.json is excluded by !**/generated/**
  • enderio/src/generated/resources/data/enderio/recipe/sag_mill.json is excluded by !**/generated/**
  • enderio/src/generated/resources/data/enderio/recipe/sag_milling/wheat.json is excluded by !**/generated/**
  • enderio/src/generated/resources/data/enderio/recipe/vat.json is excluded by !**/generated/**
  • enderio/src/generated/resources/data/enderio/recipe/vibrant_capacitor_bank_upgrade.json is excluded by !**/generated/**
  • enderio/src/generated/resources/data/enderio/recipe/vibrant_item_conduit.json is excluded by !**/generated/**
  • enderio/src/generated/resources/data/enderio/recipe/vibrant_item_conduit_upgrade.json is excluded by !**/generated/**
  • enderio/src/generated/resources/data/enderio/recipe/wired_charger.json is excluded by !**/generated/**
  • enderio/src/generated/resources/data/enderio/recipe/wireless_charger.json is excluded by !**/generated/**
  • enderio/src/generated/resources/data/enderio/recipe/wireless_charger_antenna.json is excluded by !**/generated/**
  • enderio/src/generated/resources/data/enderio/recipe/wireless_charger_antenna_advanced.json is excluded by !**/generated/**
  • enderio/src/generated/resources/data/enderio/tags/item/grinding_balls.json is excluded by !**/generated/**
  • enderio/src/generated/resources/data/minecraft/tags/block/mineable/pickaxe.json is excluded by !**/generated/**
  • enderio/src/generated/resources/data/minecraft/tags/block/needs_stone_tool.json is excluded by !**/generated/**
  • enderio/src/main/resources/assets/enderio/textures/item/black_paper.png is excluded by !**/*.png
  • enderio/src/main/resources/assets/enderio/textures/item/cake_base.png is excluded by !**/*.png
  • enderio/src/main/resources/assets/enderio/textures/item/flour.png is excluded by !**/*.png
  • enderio/src/main/resources/assets/enderio/textures/item/nethercotta.png is excluded by !**/*.png
  • enderio/src/main/resources/assets/enderio/textures/item/organic_black_dye.png is excluded by !**/*.png
  • enderio/src/main/resources/assets/enderio/textures/item/organic_brown_dye.png is excluded by !**/*.png
  • enderio/src/main/resources/assets/enderio/textures/item/organic_green_dye.png is excluded by !**/*.png
  • enderio/src/main/resources/assets/enderio/textures/item/powdered_cobalt.png is excluded by !**/*.png
📒 Files selected for processing (23)
  • enderio-modded-conduits/src/main/java/com/enderio/modded_conduits/common/modules/mekanism/MekanismModule.java
  • enderio/src/datagen/java/com/enderio/enderio/datagen/client/EIOLanguageProvider.java
  • enderio/src/datagen/java/com/enderio/enderio/datagen/client/models/EIOBlockStateProvider.java
  • enderio/src/datagen/java/com/enderio/enderio/datagen/client/models/EIOItemModelProvider.java
  • enderio/src/datagen/java/com/enderio/enderio/datagen/common/datapack_registries/ConduitsBootstrap.java
  • enderio/src/datagen/java/com/enderio/enderio/datagen/common/loot/ChestLootProvider.java
  • enderio/src/datagen/java/com/enderio/enderio/datagen/common/loot/EIOBlockLootProvider.java
  • enderio/src/datagen/java/com/enderio/enderio/datagen/common/recipes/AlloyRecipeProvider.java
  • enderio/src/datagen/java/com/enderio/enderio/datagen/common/recipes/ConduitRecipeProvider.java
  • enderio/src/datagen/java/com/enderio/enderio/datagen/common/recipes/FilterRecipeProvider.java
  • enderio/src/datagen/java/com/enderio/enderio/datagen/common/recipes/ItemRecipeProvider.java
  • enderio/src/datagen/java/com/enderio/enderio/datagen/common/recipes/MachineRecipeProvider.java
  • enderio/src/datagen/java/com/enderio/enderio/datagen/common/recipes/MaterialRecipeProvider.java
  • enderio/src/datagen/java/com/enderio/enderio/datagen/common/recipes/SagMillRecipeProvider.java
  • enderio/src/datagen/java/com/enderio/enderio/datagen/common/tags/EIOBlockTagsProvider.java
  • enderio/src/datagen/java/com/enderio/enderio/datagen/common/tags/EIOItemTagsProvider.java
  • enderio/src/gametest/java/com/enderio/enderio/conduits/tests/fluid/FluidConduitTests.java
  • enderio/src/main/java/com/enderio/enderio/client/foundation/tooltip/TooltipHandler.java
  • enderio/src/main/java/com/enderio/enderio/foundation/tag/EIOTags.java
  • enderio/src/main/java/com/enderio/enderio/init/EIOBlocks.java
  • enderio/src/main/java/com/enderio/enderio/init/EIOConduits.java
  • enderio/src/main/java/com/enderio/enderio/init/EIOCreativeTabs.java
  • enderio/src/main/java/com/enderio/enderio/init/EIOItems.java
💤 Files with no reviewable changes (2)
  • enderio/src/main/java/com/enderio/enderio/foundation/tag/EIOTags.java
  • enderio/src/datagen/java/com/enderio/enderio/datagen/common/recipes/SagMillRecipeProvider.java
🧰 Additional context used
🧬 Code graph analysis (10)
enderio/src/datagen/java/com/enderio/enderio/datagen/common/recipes/ItemRecipeProvider.java (1)
enderio/src/main/java/com/enderio/enderio/foundation/tag/EIOTags.java (2)
  • EIOTags (21-202)
  • Items (25-140)
enderio/src/datagen/java/com/enderio/enderio/datagen/common/recipes/MaterialRecipeProvider.java (1)
enderio/src/main/java/com/enderio/enderio/foundation/tag/EIOTags.java (1)
  • Items (25-140)
enderio/src/datagen/java/com/enderio/enderio/datagen/common/recipes/MachineRecipeProvider.java (1)
enderio/src/main/java/com/enderio/enderio/foundation/tag/EIOTags.java (2)
  • EIOTags (21-202)
  • Items (25-140)
enderio/src/datagen/java/com/enderio/enderio/datagen/common/datapack_registries/ConduitsBootstrap.java (1)
enderio/src/main/java/com/enderio/enderio/init/EIOConduits.java (1)
  • EIOConduits (8-31)
enderio/src/main/java/com/enderio/enderio/client/foundation/tooltip/TooltipHandler.java (1)
enderio/src/main/java/com/enderio/enderio/foundation/lang/EIOCommonLang.java (1)
  • EIOCommonLang (10-80)
enderio/src/datagen/java/com/enderio/enderio/datagen/client/EIOLanguageProvider.java (1)
enderio/src/main/java/com/enderio/enderio/init/EIOConduits.java (1)
  • EIOConduits (8-31)
enderio/src/datagen/java/com/enderio/enderio/datagen/common/recipes/ConduitRecipeProvider.java (3)
enderio/src/main/java/com/enderio/enderio/init/EIOConduits.java (1)
  • EIOConduits (8-31)
enderio/src/main/java/com/enderio/enderio/foundation/tag/EIOTags.java (2)
  • EIOTags (21-202)
  • Items (25-140)
enderio/src/main/java/com/enderio/enderio/content/conduits/ConduitBlockItem.java (1)
  • ConduitBlockItem (30-171)
enderio/src/gametest/java/com/enderio/enderio/conduits/tests/fluid/FluidConduitTests.java (1)
enderio/src/main/java/com/enderio/enderio/init/EIOConduits.java (1)
  • EIOConduits (8-31)
enderio/src/datagen/java/com/enderio/enderio/datagen/common/tags/EIOBlockTagsProvider.java (1)
enderio/src/main/java/com/enderio/enderio/foundation/tag/EIOTags.java (2)
  • Blocks (142-174)
  • EIOTags (21-202)
enderio/src/datagen/java/com/enderio/enderio/datagen/common/recipes/AlloyRecipeProvider.java (1)
enderio/src/main/java/com/enderio/enderio/foundation/tag/EIOTags.java (2)
  • Items (25-140)
  • EIOTags (21-202)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
  • GitHub Check: Run Tests
🔇 Additional comments (45)
enderio/src/main/java/com/enderio/enderio/init/EIOCreativeTabs.java (1)

64-65: All referenced items exist and backward compatibility is maintained.

The removal of COPPER_ALLOY_INGOT and reordering with CONDUCTIVE_ALLOY_INGOT as the first alloy is correct. All eight referenced constants are properly defined in EIOItems.java, and COPPER_ALLOY_INGOT is registered as a backwards-compatible alias to CONDUCTIVE_ALLOY_INGOT.getId().

enderio/src/datagen/java/com/enderio/enderio/datagen/client/models/EIOBlockStateProvider.java (1)

44-44: Approve the renaming from COPPER_ALLOY_BLOCK to CONDUCTIVE_ALLOY_BLOCK.

The change correctly updates the block state registration to use the new conductive alloy block constant. Verification confirms the refactoring is complete: no remaining COPPER_ALLOY_BLOCK references exist, CONDUCTIVE_ALLOY_BLOCK is properly defined in EIOBlocks, and all required resource files (blockstates, models, textures, tags, recipes, and loot tables) are in place.

enderio-modded-conduits/src/main/java/com/enderio/modded_conduits/common/modules/mekanism/MekanismModule.java (1)

307-307: Recipe ingredient simplification aligns with BLACK_PAPER removal.

The change correctly updates the chemical filter recipe to use only Items.PAPER, removing the BLACK_PAPER alternative as per the PR objectives.

Ensure BLACK_PAPER has been completely removed from the codebase to prevent broken references.

enderio/src/main/java/com/enderio/enderio/init/EIOItems.java (3)

49-66: LGTM! Consistent alloy renaming.

The renaming from COPPER_ALLOY_* to CONDUCTIVE_ALLOY_* is applied consistently across ingots and nuggets. The corresponding aliases added at lines 324-327 ensure backward compatibility.


82-83: LGTM! Grinding ball properly defined.

The CONDUCTIVE_ALLOY_BALL is correctly defined with appropriate grinding ball data, and a backward compatibility alias is provided at line 327.


324-328: LGTM! Backward compatibility maintained.

The aliases correctly map the old copper alloy item names to their new conductive alloy counterparts, ensuring existing worlds and references continue to work.

enderio/src/main/java/com/enderio/enderio/init/EIOBlocks.java (1)

110-110: LGTM! Block renaming consistent with items.

The renaming from COPPER_ALLOY_BLOCK to CONDUCTIVE_ALLOY_BLOCK aligns with the item renaming in EIOItems.java, and the alias at line 611 maintains backward compatibility.

enderio/src/main/java/com/enderio/enderio/init/EIOConduits.java (1)

10-30: Note the resource key mismatch.

The field names have been updated to ENERGETIC_* and VIBRANT_* for clarity, but the underlying resource keys still use the old names (enhanced_energy, ender_energy, etc.). The TODO comment on line 10 acknowledges this intentional mismatch. This maintains backward compatibility with existing saved data whilst improving code readability.

enderio/src/datagen/java/com/enderio/enderio/datagen/client/models/EIOItemModelProvider.java (2)

35-61: LGTM! Model registrations updated consistently.

All alloy item model registrations have been updated from COPPER_ALLOY_* to CONDUCTIVE_ALLOY_*, maintaining consistency with the core item definitions.


218-225: LGTM! Block model registration updated.

The block model registration correctly uses CONDUCTIVE_ALLOY_BLOCK, consistent with the block renaming in EIOBlocks.java.

enderio/src/gametest/java/com/enderio/enderio/conduits/tests/fluid/FluidConduitTests.java (1)

117-122: LGTM! Test updated for renamed constant.

The test now uses EIOConduits.ENERGETIC_FLUID instead of PRESSURIZED_FLUID, aligning with the conduit constant renaming in EIOConduits.java. The resource key remains "pressurized_fluid", so the test functionality is unchanged.

enderio/src/datagen/java/com/enderio/enderio/datagen/client/EIOLanguageProvider.java (3)

187-196: LGTM! Conduit translations updated consistently.

The conduit language entries now use the renamed constants (ENERGETIC_ENERGY, VIBRANT_ENERGY, etc.), and the display names appropriately reflect the new naming scheme (Energetic/Vibrant instead of Enhanced/Ender).


404-430: LGTM! Alloy item translations updated.

All alloy item translations have been updated from Copper Alloy to Conductive Alloy, maintaining consistency with the item renaming throughout the codebase.


554-561: LGTM! Block translation updated.

The block translation correctly uses "Conductive Alloy Block", aligning with the block renaming in EIOBlocks.java.

enderio/src/datagen/java/com/enderio/enderio/datagen/common/loot/ChestLootProvider.java (1)

76-79: LGTM! Loot table updated for renamed item.

The alloy loot pool now uses CONDUCTIVE_ALLOY_INGOT instead of COPPER_ALLOY_INGOT, maintaining consistency with the item renaming. The loot probabilities and item counts remain unchanged.

enderio/src/datagen/java/com/enderio/enderio/datagen/common/loot/EIOBlockLootProvider.java (1)

45-52: LGTM! Block loot updated for renamed block.

The loot table now correctly uses CONDUCTIVE_ALLOY_BLOCK instead of COPPER_ALLOY_BLOCK, maintaining consistency with the block renaming in EIOBlocks.java.

enderio/src/datagen/java/com/enderio/enderio/datagen/common/recipes/FilterRecipeProvider.java (1)

18-25: LGTM!

The simplification from Ingredient.of(Items.PAPER, EIOItems.BLACK_PAPER) to just Items.PAPER aligns with the removal of BLACK_PAPER from the mod.

enderio/src/datagen/java/com/enderio/enderio/datagen/common/recipes/ItemRecipeProvider.java (1)

72-81: LGTM!

The migration from INGOTS_COPPER_ALLOY to INGOTS_CONDUCTIVE_ALLOY is consistent with the broader alloy renaming in this PR.

enderio/src/datagen/java/com/enderio/enderio/datagen/common/recipes/MaterialRecipeProvider.java (3)

68-77: LGTM with minor formatting note.

The simplification to plain Items.PAPER aligns with the BLACK_PAPER removal. Same minor formatting inconsistency as FilterRecipeProvider: .define('P',Items.PAPER) is missing a space after the comma.


101-118: LGTM!

The CONDUCTIVE_ALLOY material recipes are correctly added, maintaining consistency with other alloy material definitions in the method.


267-284: LGTM!

The CONDUCTIVE_ALLOY_BALL grinding ball recipe is correctly integrated alongside other grinding balls.

enderio/src/datagen/java/com/enderio/enderio/datagen/common/tags/EIOItemTagsProvider.java (5)

40-50: LGTM!

The STORAGE_BLOCKS tag correctly includes BLOCKS_CONDUCTIVE_ALLOY, replacing the previous COPPER_ALLOY reference.


69-88: LGTM!

The ingot tags are correctly updated to include INGOTS_CONDUCTIVE_ALLOY in both the specific tag definition and the global Tags.Items.INGOTS aggregation.


90-109: LGTM!

The nugget tags are correctly updated to include NUGGETS_CONDUCTIVE_ALLOY consistently.


175-186: LGTM!

The grinding balls tag correctly includes CONDUCTIVE_ALLOY_BALL.


227-236: LGTM!

The block-to-item tag copy operations are correctly updated to use BLOCKS_CONDUCTIVE_ALLOY instead of the removed COPPER_ALLOY variant.

enderio/src/datagen/java/com/enderio/enderio/datagen/common/tags/EIOBlockTagsProvider.java (4)

40-48: LGTM!

The CONDUCTIVE_ALLOY_BLOCK is correctly added to the MINEABLE_WITH_PICKAXE tag.


114-126: LGTM!

The CONDUCTIVE_ALLOY_BLOCK is correctly added to the NEEDS_STONE_TOOL tag, consistent with other alloy blocks.


173-181: LGTM!

The STORAGE_BLOCKS tag now correctly aggregates all alloy block tags using addTag(), including the new BLOCKS_CONDUCTIVE_ALLOY. This is a cleaner approach than adding individual blocks directly.


197-205: LGTM!

The alloy block tag definitions are complete and consistent, with BLOCKS_CONDUCTIVE_ALLOY correctly populated with CONDUCTIVE_ALLOY_BLOCK.

enderio/src/datagen/java/com/enderio/enderio/datagen/common/recipes/MachineRecipeProvider.java (9)

46-56: LGTM!

The ADVANCED capacitor bank recipe correctly uses INGOTS_CONDUCTIVE_ALLOY instead of the removed copper alloy.


83-93: LGTM!

The VIBRANT capacitor bank upgrade recipe correctly uses INGOTS_CONDUCTIVE_ALLOY.


157-169: LGTM!

The SAG_MILL recipe update aligns with the PR objectives to replace Dark Steel Ingots with their constituent ingredients. The new pattern and ingredient structure (iron, obsidian, gears, flint, piston) now matches the other base machines.


184-195: LGTM!

The IMPULSE_HOPPER recipe correctly uses INGOTS_CONDUCTIVE_ALLOY.


211-219: LGTM!

The WIRED_CHARGER recipe correctly migrates to INGOTS_CONDUCTIVE_ALLOY.


258-270: LGTM!

The DRAIN recipe correctly uses INGOTS_CONDUCTIVE_ALLOY.


360-372: LGTM!

The PAINTING_MACHINE recipe correctly uses INGOTS_CONDUCTIVE_ALLOY.


462-475: LGTM!

The VAT recipe correctly uses INGOTS_CONDUCTIVE_ALLOY.


477-508: LGTM!

All WIRELESS_CHARGER variants correctly use INGOTS_CONDUCTIVE_ALLOY for the base conductive component.

enderio/src/datagen/java/com/enderio/enderio/datagen/common/recipes/AlloyRecipeProvider.java (4)

42-45: LGTM!

The new CONDUCTIVE_ALLOY_INGOT recipe establishes it as the base alloy tier, created from iron and copper ingots. This sets up a clear progression path.


46-55: LGTM!

The updated ENERGETIC_ALLOY and VIBRANT_ALLOY recipes now form a clear tiered progression:

  • Conductive (iron+copper) → Energetic (conductive+gold+redstone) → Vibrant (energetic+pearl+glowstone)

The increased energy cost for Vibrant (5600) appropriately reflects its higher tier.


56-61: LGTM!

The REDSTONE_ALLOY now uses copper instead of silicon, and PULSATING_ALLOY outputs 2 ingots. These balance changes align with the PR objectives.


83-104: LGTM!

The dye recipes now correctly output vanilla dye items (Items.GREEN_DYE, Items.BROWN_DYE, Items.BLACK_DYE) instead of the removed EIO-specific organic dyes. This simplifies the mod's item ecosystem.

enderio/src/datagen/java/com/enderio/enderio/datagen/common/datapack_registries/ConduitsBootstrap.java (1)

22-25: LGTM!

The conduit constant renames (ENHANCED → ENERGETIC, ENDER → VIBRANT) provide clearer naming whilst maintaining backward compatibility through unchanged resource keys. The TODO comment appropriately documents this technical debt for a future version.

enderio/src/datagen/java/com/enderio/enderio/datagen/common/recipes/ConduitRecipeProvider.java (1)

30-228: Excellent implementation of the conduit recipe refactoring.

The recipe definitions correctly implement the new tier system with proper alloy usage and upgrade paths:

  • All conduit variable references updated to energetic/vibrant variants
  • Upgrade paths follow correct progression: basic → energetic → vibrant
  • Recipe patterns consistently incorporate the new alloy system:
    • Conductive alloy (tier 1) used in base conduits
    • Energetic alloy (tier 2) for mid-tier conduits
    • Vibrant alloy (tier 3) for top-tier conduits
    • Item conduits maintain pulsating alloy as core material
    • Fluid conduits maintain glass/fused quartz as core material

Note: Recipe IDs show an intentional naming inconsistency where item conduits use the new "energetic"/"vibrant" terminology whilst fluid and energy conduits retain legacy names ("pressurized", "enhanced", "ender"). Based on the TODO comment in EIOConduits.java (line 7), this will be addressed in a future update when resource keys are migrated.

@dphaldes dphaldes added Type-Enhancement New feature or enhancement to existing feature. MC-1.21.1 labels Dec 25, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

MC-1.21.1 Type-Enhancement New feature or enhancement to existing feature.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants