package crazypants.enderio.machine.invpanel.client;
import java.util.ArrayList;
import java.util.List;
import net.minecraft.item.ItemStack;
import cpw.mods.fml.common.Optional;
import codechicken.nei.LayoutManager;
import codechicken.nei.PositionedStack;
import codechicken.nei.api.DefaultOverlayRenderer;
import codechicken.nei.api.IRecipeOverlayRenderer;
import crazypants.enderio.machine.invpanel.InventoryPanelContainer;
public class CraftingHelperNEI extends CraftingHelper {
public Object overlayRenderer;
public CraftingHelperNEI(ItemStack[][] ingredients) {
super(ingredients);
}
@Override
@Optional.Method(modid = "NotEnoughItems")
public void install() {
super.install();
if(overlayRenderer != null) {
LayoutManager.overlayRenderer = (IRecipeOverlayRenderer) overlayRenderer;
} else {
List<PositionedStack> list = new ArrayList<PositionedStack>();
for(int y = 0; y < 3; y++) {
for(int x = 0; x < 3; x++) {
ItemStack[] ingredient = ingredients[y*3+x];
if(ingredient != null) {
list.add(new PositionedStack(ingredient,
InventoryPanelNEIOverlayHandler.NEI_OFFSET_X + x*18,
InventoryPanelNEIOverlayHandler.NEI_OFFSET_Y + y*18));
}
}
}
LayoutManager.overlayRenderer = new DefaultOverlayRenderer(list, InventoryPanelNEIOverlayHandler.positioner);
}
}
@Override
@Optional.Method(modid = "NotEnoughItems")
public void remove() {
super.remove();
LayoutManager.overlayRenderer = null;
}
}