OSDN Git Service

修正・変更
[chemicraft/ChemiCraftNext.git] / common / pcc / chemicraft / base / ChemiCraftBase.java
index 94d6541..d93ddc0 100644 (file)
@@ -1,5 +1,7 @@
 package pcc.chemicraft.base;
 
+import java.util.ArrayList;
+import java.util.Iterator;
 import java.util.List;
 
 import net.minecraft.block.Block;
@@ -8,15 +10,14 @@ import net.minecraft.item.Item;
 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.gen.WorldGenAtomsOre;
 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.LoaderState.ModState;
 import cpw.mods.fml.common.Mod;
@@ -28,12 +29,11 @@ import cpw.mods.fml.common.SidedProxy;
 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.GameRegistry;
+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.
@@ -50,7 +50,6 @@ public class ChemiCraftBase extends ChemiCraft
        /**
         * API Instance.
         */
-       public ChemiCraftAPI api = ChemiCraftAPI.instance();
        public ChemiCraftBaseAPI apiBase = ChemiCraftBaseAPI.instance();
 
        /**
@@ -66,6 +65,7 @@ public class ChemiCraftBase extends ChemiCraft
        public int dustID;
        public int radiationGunID;
        public int radiationBalletID;
+       public int oreSerarcherID;
 
        /**
         * the BlockID.
@@ -85,6 +85,7 @@ public class ChemiCraftBase extends ChemiCraft
        public Item itemDust;
        public Item itemRadiationGun;
        public Item itemRadiationBallet;
+       public Item itemOreSearcher;
 
        /**
         * the Register Instances.
@@ -97,8 +98,12 @@ public class ChemiCraftBase extends ChemiCraft
        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);
@@ -125,8 +130,7 @@ public class ChemiCraftBase extends ChemiCraft
        }
 
        @Override
-       public void run()
-       {
+       public void run() {
                while (true) {
                        if (proxy != null && instance != null) {
                                this.settingProcessing((FMLPostInitializationEvent) event);
@@ -142,7 +146,8 @@ public class ChemiCraftBase extends ChemiCraft
                                        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;
                                        }
@@ -154,7 +159,7 @@ public class ChemiCraftBase extends ChemiCraft
        }
 
        /**
-        * PreInit:
+        * PreInit:<br>
         * Configをロードします。
         * @param event アノテーション呼び出しにより呼び出す必要なし
         */
@@ -178,12 +183,12 @@ public class ChemiCraftBase extends ChemiCraft
                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();
@@ -195,16 +200,20 @@ public class ChemiCraftBase extends ChemiCraft
 
        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));
-                               GameRegistry.registerWorldGenerator(apiBase.getAtomOres().get(i));
+               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));
                        }
                }
-
        }
 
 }