Updated Craft Guide Integration to match new version of Recipe System.

This commit is contained in:
AlgorithmX2 2014-09-11 23:06:46 -05:00
parent f3186adf13
commit 1cb05052f2

View file

@ -22,6 +22,9 @@ import uristqwerty.CraftGuide.api.StackInfo;
import uristqwerty.CraftGuide.api.StackInfoSource; import uristqwerty.CraftGuide.api.StackInfoSource;
import uristqwerty.gui_craftguide.texture.DynamicTexture; import uristqwerty.gui_craftguide.texture.DynamicTexture;
import uristqwerty.gui_craftguide.texture.TextureClip; import uristqwerty.gui_craftguide.texture.TextureClip;
import appeng.api.exceptions.MissingIngredientError;
import appeng.api.exceptions.RegistrationError;
import appeng.api.recipes.IIngredient;
import appeng.integration.IIntegrationModule; import appeng.integration.IIntegrationModule;
import appeng.recipes.game.ShapedRecipe; import appeng.recipes.game.ShapedRecipe;
import appeng.recipes.game.ShapelessRecipe; import appeng.recipes.game.ShapelessRecipe;
@ -222,8 +225,21 @@ public class CraftGuide extends CraftGuideAPIObject implements IIntegrationModul
if ( output[i] instanceof ItemStack[] ) if ( output[i] instanceof ItemStack[] )
output[i] = Arrays.asList( (ItemStack[]) output[i] ); output[i] = Arrays.asList( (ItemStack[]) output[i] );
// if ( output[i] instanceof List ) if ( output[i] instanceof IIngredient )
// output[i] = ((List) output[i]).get( 0 ); {
try
{
output[i] = toCG( ((IIngredient) output[i]).getItemStackSet() );
}
catch (RegistrationError e)
{
}
catch (MissingIngredientError e)
{
}
}
} }
output[9] = recipeOutput; output[9] = recipeOutput;
@ -244,8 +260,21 @@ public class CraftGuide extends CraftGuideAPIObject implements IIntegrationModul
if ( output[i] instanceof ItemStack[] ) if ( output[i] instanceof ItemStack[] )
output[i] = Arrays.asList( (ItemStack[]) output[i] ); output[i] = Arrays.asList( (ItemStack[]) output[i] );
// if ( output[i] instanceof List ) if ( output[i] instanceof IIngredient )
// output[i] = ((List) output[i]).get( 0 ); {
try
{
output[i] = toCG( ((IIngredient) output[i]).getItemStackSet() );
}
catch (RegistrationError e)
{
}
catch (MissingIngredientError e)
{
}
}
} }
} }
@ -267,8 +296,21 @@ public class CraftGuide extends CraftGuideAPIObject implements IIntegrationModul
if ( output[i] instanceof ItemStack[] ) if ( output[i] instanceof ItemStack[] )
output[i] = Arrays.asList( (ItemStack[]) output[i] ); output[i] = Arrays.asList( (ItemStack[]) output[i] );
// if ( output[i] instanceof List ) if ( output[i] instanceof IIngredient )
// output[i] = ((List) output[i]).get( 0 ); {
try
{
output[i] = toCG( ((IIngredient) output[i]).getItemStackSet() );
}
catch (RegistrationError e)
{
}
catch (MissingIngredientError e)
{
}
}
} }
} }
@ -276,6 +318,20 @@ public class CraftGuide extends CraftGuideAPIObject implements IIntegrationModul
return output; return output;
} }
private Object toCG(ItemStack[] itemStackSet)
{
List<ItemStack> list = Arrays.asList( itemStackSet );
for (int x = 0; x < list.size(); x++)
{
list.set( x, list.get( x ).copy() );
if ( list.get( x ).stackSize == 0 )
list.get( x ).stackSize = 1;
}
return list;
}
@Override @Override
public Object[] getCraftingRecipe(IRecipe recipe, boolean allowSmallGrid) public Object[] getCraftingRecipe(IRecipe recipe, boolean allowSmallGrid)
{ {