package pneumaticCraft.common.recipes; import net.minecraft.inventory.InventoryCrafting; import net.minecraft.item.ItemStack; import net.minecraft.item.crafting.IRecipe; import net.minecraft.world.World; import pneumaticCraft.api.item.IPressurizable; import pneumaticCraft.common.item.Itemss; import pneumaticCraft.lib.PneumaticValues; public class RecipePneumaticHelmet implements IRecipe{ @Override public boolean matches(InventoryCrafting inventory, World world){ for(int i = 0; i < inventory.getSizeInventory(); i++) { if(i != 4 && i < 6) { if(inventory.getStackInSlot(i) == null) return false; } else { if(inventory.getStackInSlot(i) != null) return false; } } if(inventory.getStackInRowAndColumn(0, 0).getItem() != Itemss.airCanister) return false; // System.out.println("still ok"); if(inventory.getStackInRowAndColumn(1, 0).getItem() != Itemss.printedCircuitBoard) return false; if(inventory.getStackInRowAndColumn(2, 0).getItem() != Itemss.airCanister) return false; if(inventory.getStackInRowAndColumn(0, 1).getItem() != Itemss.airCanister) return false; if(inventory.getStackInRowAndColumn(2, 1).getItem() != Itemss.airCanister) return false; return true; } @Override public ItemStack getCraftingResult(InventoryCrafting inventory){ if(!matches(inventory, null)) return null; ItemStack output = getRecipeOutput(); int totalDamage = inventory.getStackInRowAndColumn(0, 0).getItemDamage() + inventory.getStackInRowAndColumn(2, 0).getItemDamage() + inventory.getStackInRowAndColumn(0, 1).getItemDamage() + inventory.getStackInRowAndColumn(2, 1).getItemDamage(); ((IPressurizable)output.getItem()).addAir(output, PneumaticValues.PNEUMATIC_HELMET_VOLUME * 10 - totalDamage); // output.setItemDamage(totalDamage); return output; } @Override public int getRecipeSize(){ return 3; } @Override public ItemStack getRecipeOutput(){ return new ItemStack(Itemss.pneumaticHelmet); } }