package mods.ocminecart.common.recipe.event; import cpw.mods.fml.common.gameevent.PlayerEvent.ItemCraftedEvent; import net.minecraft.item.ItemStack; import java.util.ArrayList; import java.util.Iterator; import java.util.List; public class CraftingHandler { private static ArrayList<ICraftingToolHandler> handlers = new ArrayList<ICraftingToolHandler>(); public static void registerNewHandler(ICraftingToolHandler handler){ if(handlers.contains(handler)) return; handlers.add(handler); } public static void onCraftingEvent(ItemCraftedEvent event){ Iterator<ICraftingToolHandler> list = handlers.iterator(); ArrayList<ItemStack> items = new ArrayList<ItemStack>(); while(list.hasNext()){ ICraftingToolHandler handler = list.next(); if(handler.match(event.craftMatrix, event.crafting)){ List<ItemStack> ls = handler.getItems(event.craftMatrix, event.crafting); if(ls!=null) items.addAll(ls); } } Iterator<ItemStack> itemlist = items.iterator(); while(itemlist.hasNext()){ event.player.inventory.addItemStackToInventory(itemlist.next()); } } }