package micdoodle8.mods.galacticraft.core.client.jei.ingotcompressor; import mezz.jei.api.recipe.IRecipeHandler; import mezz.jei.api.recipe.IRecipeWrapper; import micdoodle8.mods.galacticraft.api.recipe.ShapedRecipesGC; import micdoodle8.mods.galacticraft.core.client.jei.RecipeCategories; import micdoodle8.mods.galacticraft.core.util.GCLog; import net.minecraft.item.ItemStack; import javax.annotation.Nonnull; public class IngotCompressorShapedRecipeHandler implements IRecipeHandler<ShapedRecipesGC> { @Nonnull @Override public Class<ShapedRecipesGC> getRecipeClass() { return ShapedRecipesGC.class; } @Nonnull @Override public String getRecipeCategoryUid() { return RecipeCategories.INGOT_COMPRESSOR_ID; } @Nonnull @Override public IRecipeWrapper getRecipeWrapper(@Nonnull ShapedRecipesGC recipe) { return new IngotCompressorShapedRecipeWrapper(recipe); } @Override public boolean isRecipeValid(@Nonnull ShapedRecipesGC recipe) { if (recipe.getRecipeOutput() == null) { GCLog.severe(this.getClass().getSimpleName() + " JEI recipe has no output!"); return false; } int inputCount = 0; for (Object input : recipe.recipeItems) { if (input instanceof ItemStack) { inputCount++; } else { GCLog.severe(this.getClass().getSimpleName() + " JEI recipe has input that is not an ItemStack!"); return false; } } if (inputCount > 9) { GCLog.severe(this.getClass().getSimpleName() + " JEI recipe has too many inputs!"); return false; } return inputCount > 0; } }