[Request] Add IOreDictEntry to Thermal Expansion ZS methods
ElvenChaos opened this issue · 6 comments
Issue Description:
Currently, the zenscript methods for any Thermal Expansion machine can only take IItemStacks as inputs, but can not take IOreDictEntries or IIngredients as inputs.
Can this functionality be extended, or is this something I need to make a ticket CoFH-side to extend that portion of their api?
What happens:
Methods such as mods.thermalexpansion.RedstoneFurnace.addRecipe(~)
, mods.thermalexpansion.Pulverizer.addRecipe(~)
, and mods.thermalexpansion.InductionSmelter.addRecipe(~)
do not allow for Ore Dict input, only specific item input. (These are the cases I've tested, but I imagine it extends to the other TE-related methods as well.)
What you expected to happen:
Ability to define Ore Dict inputs for Thermal Exp. machine recipes.
Affected Versions (Do not use "latest"):
- Minecraft: 1.12.2
- Forge: 2611
- Crafttweaker: 4.1.3
- ModTweaker: 4.0.7
- MTLib: 3.0.2
read here:
#603 (comment)
What are you drawing attention to? I did not flip my syntax backwards, recipes I have set using IItemStacks are correct on relog, and the documentation clearly states that the input is in IItemStack, not IIngredient.
Example from your documentation on pulverizer: mods.thermalexpansion.Pulverizer.addRecipe(IItemStack output, **IItemStack** input, int energy, @Optional IItemStack secondaryOutput, @Optional int secondaryChance);
I'm not reporting a bug, I'm requesting an improvement on a method implementation (that I still don't know if I need to make a ticket elsewhere for). All I asked for was an implementation that allowed IIngredients as input in place of IItemStack.
Actually, the way TE machines oredict is already accessible in the current version of modtweaker by calling .firstItem
on an oredict entry now that I understand what TE machines are doing.
On the modtweaker side, either documentation could be added to TE machine pages to access the feature via <ore:~>.firstItem
, or to just make a IIngredient or IOreDictEntry method that uses .firstItem
to avoid the weird case scenario.
Technically, you can add this on your end, @jaredlll08 . You just take the oredict name, then find the first matching ore in the dictionary and use THAT as the ItemStack.
I'll consider putting this on my end, but TE machines automatically OreDict by use of a ComparableItemStack class, so it seems a bit silly.