/**
* Copyright (c) Lambda Innovation, 2013-2016
* This file is part of the AcademyCraft mod.
* https://github.com/LambdaInnovation/AcademyCraft
* Licensed under GPLv3, see project root for more information.
*/
package cn.academy.support.nei;
import cn.academy.core.AcademyCraft;
import cn.academy.core.client.ui.TechUI.ContainerUI;
import codechicken.nei.VisiblityData;
import codechicken.nei.api.*;
import codechicken.nei.recipe.IRecipeHandler;
import com.google.common.collect.Lists;
import net.minecraft.client.gui.inventory.GuiContainer;
import net.minecraft.item.ItemStack;
import java.util.Collections;
import java.util.List;
/**
*
* @author KSkun
*
*/
public class NEIACConfig implements IConfigureNEI {
@Override
public void loadConfig() {
API.registerRecipeHandler(new FusorRecipeHandler());
API.registerUsageHandler(new FusorRecipeHandler());
API.registerRecipeHandler(new MetalFormerRecipeHandler());
API.registerUsageHandler(new MetalFormerRecipeHandler());
API.registerNEIGuiHandler(new INEIGuiHandler() {
@Override
public VisiblityData modifyVisiblity(GuiContainer guiContainer, VisiblityData visiblityData) {
return null;
}
@Override
public Iterable<Integer> getItemSpawnSlots(GuiContainer guiContainer, ItemStack itemStack) {
return Collections.emptyList();
}
@Override
public List<TaggedInventoryArea> getInventoryAreas(GuiContainer guiContainer) {
return Collections.emptyList();
}
@Override
public boolean handleDragNDrop(GuiContainer guiContainer, int i, int i1, ItemStack itemStack, int i2) {
return false;
}
@Override
public boolean hideItemPanelSlot(GuiContainer gui, int x, int y, int w, int h) {
ContainerUI ui = check(gui);
return ui != null && ui.getGui().getTopWidget(x, y) != null;
}
private ContainerUI check(GuiContainer gui) {
if (gui instanceof ContainerUI) {
return ((ContainerUI) gui);
} else {
return null;
}
}
});
}
@Override
public String getName() {
return "AcademyCraft";
}
@Override
public String getVersion() {
return AcademyCraft.VERSION;
}
}