Skip to content

Conversation

@Rundas01
Copy link
Contributor

What

In some versions of Gregtech (including GTNH iirc), ore processing does not involve chanced outputs (excluding the sifter). I've added a config option for the people preferring that option over the way involving chances. That prevents the hassle of needing to remove and add a ton of recipes via groovy or craft tweaker.

Outcome

People can choose which way they prefer via a config.

In some versions of Gregtech (including GTNH iirc), ore processing does not involve chanced outputs (excluding the sifter). I've added a config option for the people preferring that option over the way involving chances. That prevents the hassle of needing to remove and add a ton of recipes via groovy or craft tweaker.
@Rundas01 Rundas01 requested a review from a team as a code owner October 18, 2024 20:25
@Zorbatron Zorbatron added the type: feature New feature or request label Oct 23, 2024
Copy link
Member

@Zorbatron Zorbatron left a comment

Choose a reason for hiding this comment

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

Looks good except for a couple balancing issues.
Also, since the new bauxite line is sort of part of ore processing, it should probably get un-chanced too.

.input(crushedPrefix, material)
.fluidInputs(washedInTuple.getKey().getFluid(washedInTuple.getValue()))
.outputs(crushedPurifiedOre)
.output(OrePrefix.dustTiny, washingByproduct, 7 * property.getByProductMultiplier())
Copy link
Member

Choose a reason for hiding this comment

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

Should this be 6 * ...? 70% of 9 is 6.3. Or are you just always rounding up to the next integer.

.input(purePrefix, material)
.outputs(dustStack)
.output(OrePrefix.dustTiny, separatedMaterial.get(0))
.outputs(separatedStack2)
Copy link
Member

Choose a reason for hiding this comment

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

This will make the yield of the secondary output much higher than the chanced version.
If the 2nd separated stack is a dust, it should output 1 tiny dust instead (will still be about 2x the yield).
Not much you can do about nuggets, except maybe making it output 1 instead of 2. Ie, 2 nuggets at 20% -> always getting 2 nuggets is quite the jump. (I guess it might make the EM separator good though 🧌)

ItemStack dustStack = OreDictUnifier.get(OrePrefix.dust, material);
ItemStack byproductStack = OreDictUnifier.get(OrePrefix.dust, property.getOreByProduct(2, material), 1);
if (ConfigHolder.recipes.deterministicOreProcessing) {
byproductStack = OreDictUnifier.get(OrePrefix.dustTiny, property.getOreByProduct(2, material), 2);
Copy link
Member

Choose a reason for hiding this comment

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

Same thing here, 14% of 9 is 1.26.

ItemStack byproductStack = OreDictUnifier.get(OrePrefix.dust, byproductMaterial);

if (ConfigHolder.recipes.deterministicOreProcessing) {
byproductStack = OreDictUnifier.get(OrePrefix.dustTiny, byproductMaterial, 2);
Copy link
Member

Choose a reason for hiding this comment

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

Same as previous comment.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

type: feature New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants