Growthcraft Community Edition

Growthcraft Community Edition

1M Downloads

Recipe collision due to OreDictionary of UniversalBucket for FluidHoney

VonZeeple opened this issue · 15 comments

commented

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.

commented

Damn I should have come here first. I can confirm this problem. Also happens with a bucket of Biodiesel from Immersive Engineering.

commented

For clarification. This only happens when Growthcraft is present. When animania is installed next to rustic, harvestcraft or forestry everything behaves as intended.

commented

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.

commented

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.

commented

https://github.com/GrowthcraftCE/Growthcraft-1.12/blob/1230c650844a015aaf6095843c5f28f3a7c92ee2/src/main/java/growthcraft/bees/common/Init.java

	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.

commented

As discussed over discord. The same thing happens with CoFH thermal Foundation (and it's dependancies) when installed along Harvestcraft and GrowthcraftCE.
2018-12-04_17 07 46
modlist

commented

Yeah Biodeisel from Immersive Engineering does the same thing.

commented

I can't reproduce this with just Animania and Growthcraft
milk

I'm using forge 14.23.5.4768, mod versions below:
multi mc

So this doesn't seem to be an issue for Animania and GrowthcraftCE on their own...

commented

I check Pam's code as well and nothing stuck out. Their recipe for honey doesn't use milk.

This is very odd behavior.

commented

Did some cross mod testing. I can dispel that this is something caused by NBT on the items themselves. In all configurations the NBT is identical:
nbtexplorer results

Ignore the shorter image on the Animania+ GCCE column, I forgot to extend 1 folder but it's the same either way.

commented
commented

@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)

commented

I also added CraftTweaker and Minetweaker to show the recipe source and they didn't pickup any registered recipe. Really odd.

commented

On another note, this also happens with Slop:
2018-12-04_15 52 39

commented

Turns out the same thing happens when GrowthcraftCE, Harvestcraft and Thermal Foundation are in a mod together. Naphta converts to honey:
naphta

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