package gory_moon.moarsigns.integration.enderio;
import gory_moon.moarsigns.api.ISignRegistration;
import gory_moon.moarsigns.api.SignRegistry;
import gory_moon.moarsigns.api.SignSpecialProperty;
import gory_moon.moarsigns.lib.Reference;
import gory_moon.moarsigns.util.IntegrationException;
import gory_moon.moarsigns.util.Utils;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
import java.util.ArrayList;
public class EnderIOIntegration implements ISignRegistration {
private static final String ENDERIO_ID = "EnderIO";
private static final String ENDERIO_NAME = "Ender IO";
private Item item;
private Item itemBlock;
@Override
public void registerWoodenSigns(ArrayList<ItemStack> planks) throws IntegrationException {
}
@Override
public void registerMetalSigns(ArrayList<ItemStack> metals) throws IntegrationException {
for (ItemStack stack: metals) {
if (stack.getUnlocalizedName().equals("enderio.electricalSteel") && item == null) {
item = stack.getItem();
}
if (stack.getUnlocalizedName().equals("tile.enderio.electricalSteel") && itemBlock == null) {
itemBlock = stack.getItem();
}
if (item != null && itemBlock != null)
break;
}
registerMetal("electricalsteel_sign", null, "electricalsteel", false, 0, 0);
registerMetal("energeticalloy_sign", null, "energeticalloy", false, 1, 1);
registerMetal("vibrantalloy_sign", null, "vibrantalloy", true, 2, 2);
registerMetal("redstonealloy_sign", null, "redstonealloy", false, 3, 3);
registerMetal("conductiveiron_sign", null, "conductiveiron", false, 4, 4);
registerMetal("pulsatingiron_sign", null, "pulsatingiron", true, 5, 5);
registerMetal("darksteel_sign", null, "darksteel", false, 6, 6);
registerMetal("soularium_sign", null, "soularium", false, 7, 7);
}
private void registerMetal(String name, SignSpecialProperty property, String materialName, boolean nugget,int meta, int blockMeta) throws IntegrationException {
SignRegistry.register(name, property, materialName, "enderio/", nugget, new ItemStack(item, 1, meta), new ItemStack(itemBlock, 1, blockMeta), Reference.MODID, ENDERIO_ID).setMetal();
}
@Nonnull
@Override
public String getActivateTag() {
return ENDERIO_ID;
}
@Nonnull
@Override
public String getIntegrationName() {
return Utils.getModName(ENDERIO_ID);
}
@Nullable
@Override
public String getModName() {
return ENDERIO_NAME;
}
}