package com.demoxin.minecraft.fortuneores;
import java.util.ArrayList;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.item.Item;
import net.minecraftforge.common.MinecraftForge;
import net.minecraftforge.common.config.Configuration;
import net.minecraftforge.fml.common.Mod;
import net.minecraftforge.fml.common.Mod.EventHandler;
import net.minecraftforge.fml.common.Mod.Instance;
import net.minecraftforge.fml.common.SidedProxy;
import net.minecraftforge.fml.common.event.FMLInitializationEvent;
import net.minecraftforge.fml.common.event.FMLPostInitializationEvent;
import net.minecraftforge.fml.common.event.FMLPreInitializationEvent;
import net.minecraftforge.fml.common.registry.GameRegistry;
@Mod(modid = FortuneOres.MODID, name = FortuneOres.NAME, version = FortuneOres.VERSION)
public class FortuneOres {
public static final String MODID = "FortuneOres";
public static final String NAME = "FortuneOres";
public static final String VERSION = "3.0.0";
// Singleton
@Instance("FortuneOres")
public static FortuneOres instance;
public static Config config;
@SidedProxy(clientSide="com.demoxin.minecraft.fortuneores.ProxyClient", serverSide="com.demoxin.minecraft.fortuneores.ProxyCommon")
public static ProxyCommon proxy;
public static ArrayList<Ore> ores;
public static CreativeTabs creativeTab;
public static Item itemChunk;
private int nextMeta;
public FortuneOres()
{
setupOres();
}
static
{
if(instance == null)
instance = new FortuneOres();
}
@EventHandler
public void preInit(FMLPreInitializationEvent event)
{
config = new Config(new Configuration(event.getSuggestedConfigurationFile()));
creativeTab = new CTabChunks(CreativeTabs.getNextID(), "OreChunks");
itemChunk = new ItemChunk();
GameRegistry.registerItem(itemChunk, "oreChunk");
proxy.preInit();
}
@EventHandler
public void init(FMLInitializationEvent event)
{
OreDictionaryMagic.addOreDicting();
MinecraftForge.EVENT_BUS.register(new OreSwapper());
MinecraftForge.EVENT_BUS.register(new OreDictionaryMagic());
proxy.init();
}
@EventHandler
public void postInit(FMLPostInitializationEvent event)
{
OreDictionaryMagic.addSmelting();
proxy.postInit();
}
public Ore addOre(String oreName)
{
return this.addOre(oreName, 0, 0, 0);
}
public Ore addOre(String oreName, int xpMin, int xpMax, float xpSmelt)
{
Ore newOre = new Ore(oreName, nextMeta, xpMin, xpMax, xpSmelt);
newOre.addOreName(oreName);
newOre.addIngotName(oreName);
ores.add(newOre);
nextMeta++;
return newOre;
}
private void setupOres()
{
if(ores != null)
return;
nextMeta = 0;
ores = new ArrayList<Ore>();
// Vanilla
addOre("Iron", 1, 5, 0.4f);
addOre("Gold", 2, 6, 1.0f);
// Common Ores
addOre("Copper", 1, 5, 0.4f);
addOre("Tin", 1, 5, 0.4f);
addOre("Lead", 1, 5, 0.4f);
addOre("Silver", 2, 6, 1.0f);
// Less Common Ores
addOre("Nickel", 1, 5, 0.4f);
addOre("Platinum", 2, 6, 1.0f);
addOre("Aluminum", 1, 5, 0.4f).addNames("Aluminium").addNames("NaturalAluminum");
// TiCon Ores
addOre("Cobalt", 4, 7, 0.8f);
addOre("Ardite", 3, 6, 0.8f);
// Metallurgy Base
addOre("Manganese", 1, 5, 0.4f);
// Metallurgy Precious
addOre("Zinc", 2, 6, 1.0f);
// Metallurgy Nether
addOre("Ignatius", 3, 7, 0.8f);
addOre("ShadowIron", 3, 7, 0.8f);
addOre("Lemurite", 3, 7, 0.8f);
addOre("Midasium", 3, 7, 0.8f);
addOre("Vyroxeres", 3, 7, 0.8f);
addOre("Ceruclase", 3, 7, 0.8f);
addOre("Alduorite", 3, 7, 0.8f);
addOre("Kalendrite", 3, 7, 0.8f);
addOre("Vulcanite", 3, 7, 0.8f);
addOre("Sanguinite", 3, 7, 0.8f);
// Metallurgy Fantasy
addOre("Prometheum", 3, 7, 0.9f);
addOre("DeepIron", 3, 7, 0.9f);
addOre("Infuscolium", 3, 7, 0.9f);
addOre("Oureclase", 3, 7, 0.9f);
addOre("AstralSilver", 3, 7, 0.9f);
addOre("Carmot", 3, 7, 0.9f);
addOre("Mithril", 3, 7, 0.9f).addNames("Mythril");
addOre("Rubracium", 3, 7, 0.9f);
addOre("Orichalcum", 3, 7, 0.9f);
addOre("Adamantine", 3, 7, 0.9f);
addOre("Atlarus", 3, 7, 0.9f);
// Metallurgy End
addOre("Eximite", 3, 7, 0.8f);
addOre("Meutoite", 3, 7, 0.8f);
// Factorization
addOre("DarkIron", 1, 5, 0.4f);
// Radioactive
addOre("Uranium", 1, 5, 0.4f);
addOre("Yellorium", 1, 5, 0.4f).addNames("Yellorite");
addOre("Osmium", 1, 5, 0.4f);
}
}