-
Notifications
You must be signed in to change notification settings - Fork 204
Add Config Option for deterministic Ore Processing #2641
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Add Config Option for deterministic Ore Processing #2641
Conversation
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.
Zorbatron
left a comment
There was a problem hiding this 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()) |
There was a problem hiding this comment.
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) |
There was a problem hiding this comment.
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); |
There was a problem hiding this comment.
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); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Same as previous comment.
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.