OSDN Git Service

・mcmod.info基礎作成
[chemicraft/ChemiCraftNext.git] / common / pcc / chemicraft / core / ChemiCraftCore.java
index eaddef1..da0683f 100644 (file)
@@ -6,14 +6,19 @@ import java.util.List;
 
 import net.minecraft.block.Block;
 import net.minecraft.creativetab.CreativeTabs;
+import net.minecraft.entity.Entity;
+import net.minecraft.entity.EntityLiving;
+import net.minecraft.entity.player.EntityPlayer;
 import net.minecraft.item.Item;
 import net.minecraft.item.ItemStack;
+import net.minecraft.util.EntityDamageSource;
 import net.minecraftforge.common.Configuration;
 import net.minecraftforge.common.Property;
 import pcc.chemicraft.ChemiCraft;
 import pcc.chemicraft.ChemiCraftConfiguration;
+import pcc.chemicraft.ChemiCraftLogging;
 import pcc.chemicraft.ChemiCraftRegister;
-import pcc.chemicraft.core.compounds.CompoundDebug;
+import pcc.chemicraft.EnumLoggingType;
 import pcc.chemicraft.core.creativetab.CreativeTabChemiCraft;
 import pcc.chemicraft.core.debug.CommandDeleteItem;
 import pcc.chemicraft.core.debug.CommandGenDebugRoom;
@@ -40,8 +45,8 @@ import cpw.mods.fml.common.registry.LanguageRegistry;
  * ChemiCraft本体
  * @author P.C.C.
  */
-@Mod(modid = "ChemiCraft", name = "ChemiCraft", version = "beta")
-@NetworkMod(clientSideRequired = true, serverSideRequired = true, versionBounds = "1.4.6", channels = "chemicraftcore", packetHandler = PacketHandler.class)
+@Mod(modid = "ChemiCraft|Core", name = "ChemiCraft", version = "Beta1")
+@NetworkMod(clientSideRequired = true, serverSideRequired = true, versionBounds = "1.5", channels = "chemicraftcore", packetHandler = PacketHandler.class)
 public class ChemiCraftCore extends ChemiCraft{
 
        /**
@@ -55,23 +60,23 @@ public class ChemiCraftCore extends ChemiCraft{
                "Europium", "Gadolinium", "Terbium", "Dysprosium", "Holmium", "Erbium", "Thulium", "Ytterbium", "Lutetium", "Hafnium", "Tantalum", "Tungsten", "Rhenium", "Osmium", "Iridium", "Platinum",
                "Gold", "Mercury", "Thallium", "Lead", "Bismuth", "Polonium", "Astatine", "Radon", "Francium", "Radium", "Actinium", "Thorium", "Protactinium", "Uranium", "Neptunium", "Plutonium",
                "Americium", "Curium", "Berkelium", "Californium", "Einsteinium", "Fermium", "Mendelevium", "Nobelium", "Lawrencium", "Rutherfordium", "Dubnium", "Seaborgium", "Bohrium", "Hassium",
-               "Meitnerium", "Darmstadtium", "Roentgenium", "Copernicium", "Ununtrium", "Ununquadium", "Ununpentium", "Ununhexium", "Ununseptium", "Ununoctium" };
+               "Meitnerium", "Darmstadtium", "Roentgenium", "Copernicium", "Ununtrium", "Flerovium", "Ununpentium", "Livermorium", "Ununseptium", "Ununoctium" };
 
        /**
         * 元素名日本語版配列
         */
        public static final String[] ATOMSNAMEJP = {
-               "水素", "ヘリウム", "リチウム", "ベリウム", "ホウ素", "炭素", "窒素", "酸素", "フッ素", "ネオン", "ナトリウム", "マグネシウム", "アルミニウム", "ケイ素", "リン", "硫黄", "塩素", "アルゴン", "カリウム", "カルシウム", "スカンジウム",
+               "æ°´ç´ ", "ã\83\98ã\83ªã\82¦ã\83 ", "ã\83ªã\83\81ã\82¦ã\83 ", "ã\83\99ã\83ªã\83ªã\82¦ã\83 ", "ã\83\9bã\82¦ç´ ", "ç\82­ç´ ", "çª\92ç´ ", "é\85¸ç´ ", "ã\83\95ã\83\83ç´ ", "ã\83\8dã\82ªã\83³", "ã\83\8aã\83\88ã\83ªã\82¦ã\83 ", "ã\83\9eã\82°ã\83\8dã\82·ã\82¦ã\83 ", "ã\82¢ã\83«ã\83\9fã\83\8bã\82¦ã\83 ", "ã\82±ã\82¤ç´ ", "ã\83ªã\83³", "ç¡«é»\84", "å¡©ç´ ", "ã\82¢ã\83«ã\82´ã\83³", "ã\82«ã\83ªã\82¦ã\83 ", "ã\82«ã\83«ã\82·ã\82¦ã\83 ", "ã\82¹ã\82«ã\83³ã\82¸ã\82¦ã\83 ",
                "チタン", "バナジウム", "クロム", "マンガン", "鉄", "コバルト", "ニッケル", "銅", "亜鉛", "ガリウム", "ゲルマニウム", "ヒ素", "セレン", "臭素", "クリプトン", "ルビジウム", "ストロンチウム", "イットリウム", "ジルコニウム", "ニオブ", "モリブデン", "テクネチウム", "ルテニウム",
                "ロジウム", "パラジウム", "銀", "カドミウム", "インジウム", "スズ", "アンチモン", "テルル", "ヨウ素", "キセノン", "セシウム", "バリウム", "ランタン", "セリウム", "プラセオジム", "ネオジム", "プロメチウム", "サマリウム", "ユウロビウム", "ガドリニウム", "テルビウム", "ジスプロニウム",
                "ホルミウム", "エルビウム", "ツリウム", "イッテルビウム", "ルテチウム", "ハフニウム", "タンタル", "タングステン", "レニウム", "オスミウム", "イリジウム", "白金", "金", "水銀", "タリウム", "鉛", "ビスマス", "ポロニウム", "アスタチン", "ラドン", "フランシウム", "ラジウム",
                "アクチニウム", "トリウム", "プロトアクチウム", "ウラン", "ネプツニウム", "プルトニウム", "アメリシウム", "キュリウム", "バークリウム", "カルホルニウム", "アインスタイニウム", "フェルミウム", "メンデレビウム", "ノーベリウム", "ローレンシウム", "ラサホージウム", "ドブニウム", "シーボーギウム",
-               "ã\83\9cã\83¼ã\83ªã\82¦ã\83 ", "ã\83\8fã\83\83ã\82·ã\82¦ã\83 ", "ã\83\9eã\82¤ã\83\88ã\83\8dã\83ªã\82¦ã\83 ", "ã\83\80ã\83¼ã\83 ã\82¹ã\82¿ã\83\81ã\82¦ã\83 ", "ã\83¬ã\83³ã\83\88ã\82²ã\83\8bã\82¦ã\83 ", "ã\82³ã\83\9aã\83«ã\83\8bã\82·ã\82¦ã\83 ", "ã\82¦ã\83³ã\82¦ã\83³ã\83\88ã\83ªã\82¦ã\83 ", "ã\82¦ã\83³ã\82¦ã\83³ã\82¯ã\82¢ã\82¸ã\82¦ã\83 ", "ã\82¦ã\83³ã\82¦ã\83³ã\83\9aã\83³ã\83\81ã\82¦ã\83 ", "ã\82¦ã\83³ã\82¦ã\83³ã\83\98ã\82­ã\82·ウム", "ウンウンセプチウム", "ウンウンオクチウム" };
+               "ã\83\9cã\83¼ã\83ªã\82¦ã\83 ", "ã\83\8fã\83\83ã\82·ã\82¦ã\83 ", "ã\83\9eã\82¤ã\83\88ã\83\8dã\83ªã\82¦ã\83 ", "ã\83\80ã\83¼ã\83 ã\82¹ã\82¿ã\83\81ã\82¦ã\83 ", "ã\83¬ã\83³ã\83\88ã\82²ã\83\8bã\82¦ã\83 ", "ã\82³ã\83\9aã\83«ã\83\8bã\82·ã\82¦ã\83 ", "ã\82¦ã\83³ã\82¦ã\83³ã\83\88ã\83ªã\82¦ã\83 ", "ã\83\95ã\83¬ã\83­ã\83\93ã\82¦ã\83 ", "ã\82¦ã\83³ã\82¦ã\83³ã\83\9aã\83³ã\83\81ã\82¦ã\83 ", "ã\83ªã\83\90ã\83¢ã\83ªウム", "ウンウンセプチウム", "ウンウンオクチウム" };
 
        /**
         * this is ChemiCraft instance.
         */
-       @Instance("ChemiCraft")
+       @Instance("ChemiCraft|Core")
        public static ChemiCraftCore instance;
 
        /**
@@ -86,11 +91,6 @@ public class ChemiCraftCore extends ChemiCraft{
        public static final CreativeTabs creativeTabChemiCraft = new CreativeTabChemiCraft("ChemiCraft");
 
        /**
-        * API Instance.
-        */
-       public ChemiCraftAPI api = ChemiCraftAPI.instance();
-
-       /**
         * the ItemID.
         */
        public int atomsID;
@@ -143,12 +143,23 @@ public class ChemiCraftCore extends ChemiCraft{
        public ChemiCraftRegister registerTileEntity;
        public ChemiCraftRegister registerRecipe;
 
+       /**
+        * Logging用のインスタンス
+        */
+       public static final ChemiCraftLogging logger = new ChemiCraftLogging(System.getProperty("user.dir"));
+
+       /**
+        * the Textures
+        */
+       public static final String CCTABLE = ChemiCraft.TEXTURE + "ChemiCraftTable_";
+
        public ChemiCraftCore() {
+               this.api.getCompoundsName().createHash("en_US");
                this.registerItem = new ChemiCraftRegisterItem(this);
                this.registerBlock = new ChemiCraftRegisterBlock(this);
                this.registerTileEntity = new ChemiCraftRegisterTileEntity(this);
                this.registerRecipe = new ChemiCraftRegisterCoreRecipe(this);
-
+               this.logger.startLogging();
                //this.sinVisualizer  = new SinVisualizer();
        }
 
@@ -166,7 +177,7 @@ public class ChemiCraftCore extends ChemiCraft{
                Property coreItemID = cfg.get("ItemID", "Base of Item ID", 25000);
 
                ChemiCraftConfiguration ccfgBlock = new ChemiCraftConfiguration(coreBlockID.getInt());
-               ChemiCraftConfiguration ccfgItem = new ChemiCraftConfiguration(coreBlockID.getInt());
+               ChemiCraftConfiguration ccfgItem = new ChemiCraftConfiguration(coreItemID.getInt());
 
                this.pyrolysisTableID = ccfgBlock.additionID();
                this.electrolysisTableID = ccfgBlock.additionID();
@@ -178,6 +189,7 @@ public class ChemiCraftCore extends ChemiCraft{
                this.compoundsID = ccfgItem.additionID();
                this.gasCollectingBottleID = ccfgItem.additionID();
                this.chemicalCellsID = ccfgItem.additionID();
+               this.pearID = ccfgItem.additionID();
 
                Property guiPyrolysisTableIDProp = cfg.get("GUI", "GUIPyrolysisID", 1000);
                Property guiElectrolysisTableIDProp = cfg.get("GUI", "GUIElectrolysisTableIDProp", 1001);
@@ -240,8 +252,10 @@ public class ChemiCraftCore 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("ChemiCraftCore>APIProcessing", EnumLoggingType.INFO);
                                                apiProcessing((FMLInitializationEvent) event);
+                                               break;
                                        }
                                }
                        }
@@ -262,41 +276,49 @@ public class ChemiCraftCore extends ChemiCraft{
                // GUIを追加します
                NetworkRegistry.instance().registerGuiHandler(instance, proxy);
 
-               //電池を追加します
-               this.api.addChemicalCell(itemChemicalCells, "ChemicalCell", 1000);
-               this.api.addChemicalCellLanguage("ja_JP", "化学電池");
-
                this.api.addPyrolysisDecompositionFuel(new ItemStack(Item.coal), 2000*8);
+               this.api.addElectrolysisDecompositionFuel(new ItemStack(this.itemChemicalCells), 1000*8);
        }
 
 
 
        private void apiProcessing(final FMLInitializationEvent event) {
-               Iterator<String> langItr = this.api.getCompoundsName().keySet().iterator();
-               while (langItr.hasNext()) {
-                       String lang = langItr.next();
+               Iterator<String> langcompoundsItr = this.api.getCompoundsName().keySet().iterator();
+               while (langcompoundsItr.hasNext()) {
+                       String lang = langcompoundsItr.next();
                        ArrayList<String> names = this.api.getCompoundsName().get(lang);
                        for (int i = 0; i < names.size(); i++) {
+                               ChemiCraftCore.logger.write("CompoundAddName:" + "Name-" + names.get(i) + "/Damage-" + i + "/Lang-" + lang,
+                                               EnumLoggingType.INFO);
+
                                LanguageRegistry.instance().addNameForObject(
                                                new ItemStack(this.itemCompounds, 1, i),
                                                lang,
                                                names.get(i));
                        }
                }
+
        }
 
 
 
-       private void debug(final FMLInitializationEvent event) {
-               this.proxy.registerTickHandler();
-               this.api.addCompound("Debug");
-               this.api.settingCompoundHandler("Debug", new CompoundDebug());
+       public static EntityDamageSource getRadiationDamageSource(Entity par1Entity){
+               return new EntityDamageSource("radiation", par1Entity){
+                       @Override
+                       public String getDeathMessage(EntityLiving par1EntityLiving) {
+                               if (par1EntityLiving instanceof EntityPlayer) {
+                                       return ((EntityPlayer) (par1EntityLiving)).username + " is dead by radiation.";
+                               } else {
+                                       return par1EntityLiving.getEntityName() + " is dead by radiation.";
+                               }
+                       }
+               };
+       }
 
-               this.api.addToolAndWeaponRecipe(new ItemStack[] {
-                               new ItemStack(Block.stone, 1, 1)
-               },
-               new ItemStack(Block.dirt, 1, 0));
 
+
+       private void debug(final FMLInitializationEvent event) {
+               //this.proxy.registerTickHandler();
        }
 
 }