Fix a few issues when dealing with NBT items during crafting calculation.

This commit is contained in:
AlgorithmX2
2014-08-01 23:00:12 -05:00
parent 94c8ea93d2
commit e2337a1226
4 changed files with 42 additions and 7 deletions
+21 -2
View File
@@ -448,11 +448,30 @@ public class CraftingGridCache implements ICraftingGrid, ICraftingProviderHelper
return 0;
}
public ImmutableCollection<ICraftingPatternDetails> getCraftingFor(IAEItemStack what)
@Override
public ImmutableCollection<ICraftingPatternDetails> getCraftingFor(IAEItemStack whatToCraft, ICraftingPatternDetails details, int slotIndex, World world)
{
ImmutableSet<ICraftingPatternDetails> res = craftableItems.get( what );
ImmutableSet<ICraftingPatternDetails> res = craftableItems.get( whatToCraft );
if ( res == null )
{
if ( details != null && details.isCraftable() )
{
for (IAEItemStack ais : craftableItems.keySet())
{
if ( ais.getItem() == whatToCraft.getItem() && (!ais.getItem().getHasSubtypes() || ais.getItemDamage() == whatToCraft.getItemDamage()) )
{
if ( details.isValidItemForSlot( slotIndex, ais.getItemStack(), world ) )
{
return craftableItems.get( ais );
}
}
}
}
return ImmutableSet.of();
}
return res;
}