GregTechCEu Modern

GregTechCEu Modern

6M Downloads

Chanced outputs use overclocked recipe tier as base recipe tier

ineternet opened this issue ยท 0 comments

commented

Checked for existing issues

  • I have checked for existing issues, and have found none.

Tested latest version

  • I have checked that this occurs on the latest version.

GregTech CEu Version

v1.4.0

Minecraft Version

1.20.1

Recipe Viewer Installed

EMI

Environment

Singleplayer

Cross-Mod Interaction

No

Other Installed Mods

Monifactory

Expected Behavior

Chanced recipe outputs should scale with every machine tier above the recipe base tier. The overclock setting of a machine should only influence power consumption and not the chance of receiving outputs.

Actual Behavior

The overclocked recipe tier is considered instead of the base recipe tier.
Machines do not produce more byproducts unless you reduce the overclock, or the previous machine can already process the fastest possible overclock for that recipe.

Steps to Reproduce

  1. Place Elite Macerator (LuV)
  2. Grind 64 redstone ore, get 19-20 cinnabar
  3. In the same macerator, go down one OC tier (IV)
  4. Grind 64 redstone ore, get 25-26 cinnabar

Additional Information

The OC modifier of a recipe is applied when the recipe is started, changing the EU tier of the recipe:
https://github.com/GregTechCEu/GregTech-Modern/blob/1.20.1/src/main/java/com/gregtechceu/gtceu/api/recipe/RecipeHelper.java#L53

OC chance boosting is calculated when the recipe finishes:

chancedContents = logic.roll(chancedContents, function,

by comparing the tier of the machine to the tier of the (now overclocked) recipe:
ChanceBoostFunction OVERCLOCK = (entry, recipeTier, machineTier) -> {

This also causes recipes running in parallel to produce less chanced outputs than less parallelized ones if that causes the getRecipeEUtTier check to go down one or more tiers.