Machine recipes allow all ore dict tags of an item
EverybodyLies opened this issue ยท 24 comments
Using TechReborn-1.7.10-0.7.15.1096 i added few recipes via MineTweaker.
grinder.addRecipe(Dust, null, null, null, Ingot, null, 100, 32);
Problem is: grinder recipes takes all oredict-tags from Ingot (i have 4 tags) and uses it as input conditions, that ruined all recipe logic. Here's an example:
Ingot info:
<TabulaRasa:RasaItem7:7> // that id (TabulaRasa:RasaItem7) contains 38 ingots.
Is in <ore:deltarising:materialstats_durability-great>
Is in <ore:deltarising:materialstats_thermalresistance-great>
Is in <ore:deltarising:materialstats_hardness-great>
Is in <ore:deltarising:ingot>
That few tags can matches almost everything from various details and materials in my modpack.
Screenshots: http://imgur.com/a/03OzM
Can it be changed\fixed? =\
@modmuss50, I can test that oredict-tags on different ids, if you need it.
It would be great. However, maybe you can change inputs type to IIngredient, that can contain IOreDictTag and IItemStack, and just verify input type (ore/item)?
@EverybodyLies I saw you created a wiki page, we do have an offical wiki here: http://techreborn.ninja/
sadly is got nothing on it
@modmuss50, sorry for creating empty wiki page. just thinking, its not possible (no permissions), but...
@modmuss50, same thing happens with Industrial Blast Furnace. Rolling all items with at least one of maching tags.
http://i.imgur.com/t9gRN8L.png
@ProfessorProspector Input in recipe is Ingot with 4 different oredict-tags. Recipe uses all items, that have at least one maching tag, that is 100+ items.
In my modpack i use oredict-tags and MT scripts for add some stats to materials. 38 materials, each of them has 13 different items (dust, ingot, gear, etc.). Recipe input accidentally maching all of that.
The machine would need to check for ore tags, then iterate through every item in the game to find a matching tag, then add a recipe for it which I am fairly certain is not happening. I don't know how Tabula Rasa works but I'm fairly sure it's probably the cause. @modmuss50 any ideas?
TabulaRasa dont have any oredict-tag mechanic. It can just add blank items. Ore registered with minetweaker script.
Oh. If I am understanding this correctly, your saying that if I give a dirt block the tag blockTest, and I give a stone block blockTest, and add a recipe for the dirt block in a grinder, then I would also be able to grind stone?
@modmuss50, @ProfessorProspector Ok, tested.
<ore:grindertest>.add(<minecraft:stone>);
<ore:grindertest>.add(<minecraft:dirt>);
grinder.addRecipe(<minecraft:cobblestone>, null, null, null, <minecraft:stone>, null, 100, 32);
blastFurnace.addRecipe(<minecraft:cobblestone>, null, <minecraft:stone>, null, 400, 128, 1000);
This script adding stone to cobblestone recipe, and grinder takes <ore:stone>
and <ore:grindertest>
as input. Same thing with Industial Blast Furnace.
@modmuss50, all 4 oredict-tags registered with MineTweaker. it can't be TabulaRasa. I'm sure. Also, it can't be error with ignoring metadata of item, because input slot shows different ids (TabulaRasa:RasaItem4
, TabulaRasa:RasaItem5
, TabulaRasa:RasaItem7
) with various meta. As i tested, MineTweaker does not make mistakes when registering oredict in any recipes - when input is IItemStack or IOreDictEntry (or IIngredient).
For me, it only remains that it is grinder recipe input error. (And, if i adding recipe with IItemStack on input, i think that must don't use oredict tags.)
This isn't just with minetweaker. Any recipe. For example, look at extractor recipes. Only ModBlocks.rubber_log was registered but you can use any logWood.