
Recipe collision due to OreDictionary of UniversalBucket for FluidHoney
VonZeeple opened this issue · 15 comments
Expected Behavior
Should be able to craft vanilla milk bucket with one Animania milk bucket.
Actual Behavior
Obtain 1 honey (from Harvestcraft) instead of one vanilla milk bucket
Steps to Reproduce
Mod list:
Animania 1.6.0.2
CraftStudio API 1.0.0
GrowthCraft 4.0.4.100
HarvestCraft 1.12a
Problem is solved when disabling either Growthcraft or HarvestCraft.
Damn I should have come here first. I can confirm this problem. Also happens with a bucket of Biodiesel from Immersive Engineering.
For clarification. This only happens when Growthcraft is present. When animania is installed next to rustic, harvestcraft or forestry everything behaves as intended.
Trying to figure out how this is a Growthcraft issue. We do not have a recipe for a Honey item or a recipe that uses a Milk bucket. So, I am not seeing how Growthcraft could be affecting a recipe that results in a harvestcraft:honeyitem. I've checked Pam's source code as well, and they do not have a recipe that takes a bucket and makes the honeyitem.
There's something funky going on with NBT that I can't figure out. I've had some pretty wacky results adding milk related conversions via CraftTweaker, and I've not had this trouble with NBT bucket recipes before.
public static void registerFluidOres() {
if (GrowthcraftBeesFluids.honey != null)
{
OreDictionary.registerOre("bottleHoney", GrowthcraftBeesFluids.honey.asBottleItemStack());
// OreDictionary.registerOre("bucketHoney", honey.asBucketItemStack());
OreDictionary.registerOre("honeyDrop", GrowthcraftBeesFluids.honey.asBucketItemStack());
OreDictionary.registerOre("dropHoney", GrowthcraftBeesFluids.honey.asBucketItemStack());
}
}
Later today, I'll work with it. Seems odd though that this would only affect Animania Buckets recipes and no other mod has the same affect.
I check Pam's code as well and nothing stuck out. Their recipe for honey doesn't use milk.
This is very odd behavior.
@renadi No, a bucket of milk turns into 4 "fresh milk". It's definitely some weirdness with conversions though:
-
With just Harvestcraft;
- Bucket of milk (vanilla)-> Fresh milk (harvestcraft)
-
With just Animania:
- Bucket of milk (animania) -> Bucket of milk (vanilla)
-
With Animania and Growthcraft:
- Bucket of milk (animania) -> Bucket of milk (vanilla)
-
With Animania and Harvestcraft:
- Bucket of milk (animania) -> Bucket of milk (vanilla)
- Bucket of milk (vanilla)-> Fresh milk (harvestcraft)
-
With Growthcraft and Harvestcraft;
- Bucket of milk (vanilla)-> Fresh milk (harvestcraft)
-
With Animania, Growthcraft and Harvestcraft:
- Bucket of milk (animania) -> Honey (harvestcraft)
- Bucket of milk (vanilla) -> Fresh milk (harvestcraft)
(I'm now officially annoyed by the markdown styling adding spaces to my lists)
I also added CraftTweaker and Minetweaker to show the recipe source and they didn't pickup any registered recipe. Really odd.
Turns out the same thing happens when GrowthcraftCE, Harvestcraft and Thermal Foundation are in a mod together. Naphta converts to honey:
When consulting an Animania dev about the issue he pointed out that you can't add universal buckets to the OreDictionary without getting issues. Skimming trough the files he landed on the following lines:
https://github.com/GrowthcraftCE/Growthcraft-1.11/blob/5c199f191cbc02cae8e1561c84be321904c9a13d/src/main/java/growthcraft/bees/init/GrowthcraftBeesFluids.java#L34-L35
I couldn't quickly find the same thing on 1.12 because the structure is different. But I assume OreDicting happens somewhere in the FluidFactory?
https://github.com/GrowthcraftCE/Growthcraft-1.12/blob/development/src/main/java/growthcraft/core/shared/fluids/FluidFactory.java