package pcc.chemicraft.base;
+import java.util.ArrayList;
+import java.util.Iterator;
import java.util.List;
import net.minecraft.block.Block;
import net.minecraft.item.ItemStack;
import net.minecraftforge.common.Configuration;
import net.minecraftforge.common.Property;
-import net.minecraftforge.oredict.OreDictionary;
import pcc.chemicraft.ChemiCraft;
import pcc.chemicraft.ChemiCraftConfiguration;
import pcc.chemicraft.ChemiCraftRegister;
+import pcc.chemicraft.EnumLoggingType;
import pcc.chemicraft.base.creativetab.CreativeTabAtomOres;
import pcc.chemicraft.base.system.CommonProxy;
import pcc.chemicraft.base.system.PacketHandler;
-import pcc.chemicraft.core.ChemiCraftAPI;
+import pcc.chemicraft.core.ChemiCraftCore;
import cpw.mods.fml.common.Loader;
-import cpw.mods.fml.common.Mod;
-import cpw.mods.fml.common.ModContainer;
import cpw.mods.fml.common.LoaderState.ModState;
+import cpw.mods.fml.common.Mod;
import cpw.mods.fml.common.Mod.Instance;
import cpw.mods.fml.common.Mod.PostInit;
import cpw.mods.fml.common.Mod.PreInit;
+import cpw.mods.fml.common.ModContainer;
import cpw.mods.fml.common.SidedProxy;
-import cpw.mods.fml.common.event.FMLInitializationEvent;
import cpw.mods.fml.common.event.FMLPostInitializationEvent;
import cpw.mods.fml.common.event.FMLPreInitializationEvent;
import cpw.mods.fml.common.network.NetworkMod;
+import cpw.mods.fml.common.registry.LanguageRegistry;
-@Mod(modid = "ChemiCraftBase", name = "ChemiCraftBase", version = "beta")
-@NetworkMod(clientSideRequired = true, serverSideRequired = true, versionBounds = "1.4.6", channels = "chemicraftbase", packetHandler = PacketHandler.class)
-public class ChemiCraftBase extends ChemiCraft
-{
+@Mod(modid = "ChemiCraftBase", name = "ChemiCraftBase", version = "beta1")
+@NetworkMod(clientSideRequired = true, serverSideRequired = true, versionBounds = "1.5", channels = "chemicraftbase", packetHandler = PacketHandler.class)
+public class ChemiCraftBase extends ChemiCraft {
/**
* this is ChemiCraft instance.
/**
* API Instance.
*/
- public ChemiCraftAPI api = ChemiCraftAPI.instance();
public ChemiCraftBaseAPI apiBase = ChemiCraftBaseAPI.instance();
/**
public int dustID;
public int radiationGunID;
public int radiationBalletID;
+ public int oreSerarcherID;
/**
* the BlockID.
*/
- public int[] atomOresID = new int[3];
+ public int[] atomOresID = new int[4];
/**
* Variables of Block type.
public Item itemDust;
public Item itemRadiationGun;
public Item itemRadiationBallet;
+ public Item itemOreSearcher;
/**
* the Register Instances.
public ChemiCraftRegister registerRecipe;
public ChemiCraftRegister registerEntitys;
- public ChemiCraftBase()
- {
+ /**
+ * the Textures
+ */
+ public static final String ORE = ChemiCraft.TEXTURE + "AtomsOre_";
+
+ public ChemiCraftBase() {
this.registerCompounds = new ChemiCraftRegisterCompounds(this);
this.registerCompoundsHandler = new ChemiCraftRegisterCompoundsHandler(this);
this.registerItem = new ChemiCraftRegisterItem(this);
}
@Override
- public void run()
- {
+ public void run() {
while (true) {
if (proxy != null && instance != null) {
this.settingProcessing((FMLPostInitializationEvent) event);
List<ModContainer> mod = Loader.instance().getModList();
ModContainer finalMod = mod.get(mod.size()-1);
ModState finalModState = Loader.instance().getModState(finalMod);
- if (finalModState == ModState.AVAILABLE) {
+ if (finalModState == ModState.POSTINITIALIZED) {
+ ChemiCraftCore.logger.write("ChemiCraftBase>APIProcessing", EnumLoggingType.INFO);
apiProcessing((FMLPostInitializationEvent) event);
break;
}
}
/**
- * PreInit:
+ * PreInit:<br>
* Configをロードします。
* @param event アノテーション呼び出しにより呼び出す必要なし
*/
this.radiationGunID = ccfgItem.additionID();
this.radiationBalletID = ccfgItem.additionID();
this.blackSmokeID = ccfgItem.additionID();
+ this.oreSerarcherID = ccfgItem.additionID();
cfg.save();
}
- protected void settingProcessing(FMLPostInitializationEvent event)
- {
+ protected void settingProcessing(FMLPostInitializationEvent event) {
this.registerCompounds.start();
this.registerCompoundsHandler.start();
this.registerItem.start();
private void apiProcessing(final FMLPostInitializationEvent event) {
// API用の処理
- for (int i = 0; i < apiBase.getAtomOresName().sizeKeysList(); i++)
- {
- for (int j = 0; j < apiBase.getAtomOresName().sizeElementsList(apiBase.getAtomOresName().getKeyList(i)); j++)
- {
- this.nameAuxiliary.addName(new ItemStack(blockAtomOres[i / 16], 0, i - i / 16 * 16), apiBase.getAtomOresLanguage().get(apiBase.getAtomOresName().getKeyList(i), j), apiBase.getAtomOresName().get(apiBase.getAtomOresName().getKeyList(i), j));
- OreDictionary.registerOre("ore" + apiBase.getAtomOresName().getKeyList(i), new ItemStack(blockAtomOres[i / 16], 1, i - i / 16 * 16));
+ Iterator<String> langoresItr = this.apiBase.getAtomOresName().iterator();
+ while (langoresItr.hasNext()){
+ String lang = langoresItr.next();
+ ArrayList<String> names = this.apiBase.getAtomOresName().get(lang);
+ for (int i = 0; i < names.size(); i++) {
+ ChemiCraftCore.logger.write("AtomOresAddName:" + "Name-" + names.get(i) + "ID-" + (i / 16)+ "/Damage-" + (i - i / 16 * 16) + "/Lang-" + lang,
+ EnumLoggingType.INFO);
+
+ LanguageRegistry.instance().addNameForObject(
+ new ItemStack(this.blockAtomOres[i / 16], 1, i - i / 16 * 16),
+ lang,
+ names.get(i));
}
}
-
}
}