package chemicraft; import java.util.ArrayList; import java.util.Properties; import net.minecraft.src.Block; import net.minecraft.src.CreativeTabs; import net.minecraft.src.Item; import net.minecraft.src.ItemStack; import net.minecraftforge.common.Configuration; import net.minecraftforge.common.Property; import cpw.mods.fml.common.Mod; import cpw.mods.fml.common.Mod.Instance; 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.GameRegistry; import cpw.mods.fml.common.registry.LanguageRegistry; @Mod( modid = "chemiCraft", name="ChemiCraft", version="テスト版") //ID,名前,バージョン @NetworkMod(clientSideRequired = true, serverSideRequired = true, versionBounds = "[1.3.2]", packetHandler = PacketHandler.class) //クライアント、サーバー共に必要 1.3.2用 public class ChemiCraft { public static final CreativeTabs tabAtoms = new CreativeTabAtoms("tabAtoms"); public static final String[] atomsName = { "Hydrogen", "Helium","Lithium","Beryllium","Boron","Carbon","Nitrogen","Oxygen","Fluorine","Neon", "Sodium","Magnesium","Aluminium","Silicon","Phosphorus","Sulfur","Chlorine","Argon","Potassium","Calcium", "Scandium","Titanium","Vanadium","Chromium","Manganese","Iron","Cobalt","Nickel","Copper","Zinc", "Gallium","Germanium","Arsenic","Selenium","Bromine","Krypton","Rubidium","Strontium","Yttorium","Zirconium", "Niobium","Molybdenum","Technetium","Ruthenium","Rhodium","Palladium","Silver","Cadmium","Indium","Tin", "Antimony","Tellurium","Iodine","Xenon","Caesium","Barium","Lanthanum","Cerium","Praseodymium","Neodymium", "Promethium","Samarium","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","","Ununoctium" }; public static final String[] atomsNameJP = { "水素", "ヘリウム", "リチウム", "ベリウム", "ホウ素", "炭素", "窒素", "酸素", "フッ素", "ネオン", "ナトリウム", "マグネシウム", "アルミニウム", "ケイ素", "リン", "硫黄", "塩素", "アルゴン", "カリウム", "カルシウム", "スカンジウム", "チタン", "バナジウム", "クロム", "マンガン", "鉄", "コバルト", "ニッケル", "銅", "亜鉛", "ガリウム", "ゲルマニウム", "ヒ素", "セレン", "臭素", "クリプトン", "ルビジウム", "ストロンチウム", "イットリウム", "ジルコニウム", "ニオブ", "モリブデン", "テクネチウム", "ルテニウム", "ロジウム", "パラジウム", "銀", "カドミウム", "インジウム", "スズ", "アンチモン", "テルル", "ヨウ素", "キセノン", "セシウム", "バリウム", "ランタン", "セリウム", "プラセオジム", "ネオジム", "プロメチウム", "サマリウム", "ユウロビウム", "ガドリニウム", "テルビウム", "ジスプロニウム", "ホルミウム", "エルビウム", "ツリウム", "イッテルビウム", "ルテチウム", "ハフニウム", "タンタル", "タングステン", "レニウム", "オスミウム", "イリジウム", "白金", "金", "水銀", "タリウム", "鉛", "ビスマス", "ポロニウム", "アスタチン", "ラドン", "フランシウム", "ラジウム", "アクチニウム", "トリウム", "プロトアクチウム", "ウラン", "ネプツニウム", "プルトニウム", "アメリシウム", "キュリウム", "バークリウム", "カルホルニウム", "アインスタイニウム", "フェルミウム", "メンデレビウム", "ノーベリウム", "ローレンシウム", "ラサホージウム", "ドブニウム", "シーボーギウム", "ボーリウム", "ハッシウム", "マイトネリウム", "ダームスタチウム", "レントゲニウム", "コペルニシウム", "ウンウントリウム", "フレロビウム", "ウンウンペンチウム", "リバモリウム", "ウンウンセプチウム", "ウンウンオクチウム" }; // プロキシ @SidedProxy(clientSide = "chemicraft.client.ClientProxy", serverSide = "chemicraft.CommonProxy") public static CommonProxy proxy; // このクラスのインスタンス @Instance("chemiCraft") public static ChemiCraft instance; private ChemiCraftAPI chemiCraftAPI = ChemiCraftAPI.instance; public static int gasCollectingBottleID; public static int atomsID; public static int compoundsID; public static Item itemGasCollectingBottle; public static Item itemAtoms; public static Item itemCompounds; private Auxiliary Auxiliary = new Auxiliary(); private Auxiliary.NameAuxiliary NameAuxiliary = Auxiliary.new NameAuxiliary(); // コンストラクタ @Mod.Init public void chemiLoadMethod(FMLInitializationEvent event) { //化合物の追加 ChemiCraftAPI.addLangCompound("ja_JP", "Salt", "塩"); } @Mod.PreInit // 前処理 public void chemiPreLoadMethod(FMLPreInitializationEvent event) { Configuration cfg = new Configuration(event.getSuggestedConfigurationFile()); cfg.load(); Property gasCollectingBottleIDProp = cfg.getItem("gasCollectingBottleID", 25000); Property atomsIDProp = cfg.getItem("atomsID", 25001); Property compoundsIDProp = cfg.getItem("compoundsID", 25002); gasCollectingBottleID = gasCollectingBottleIDProp.getInt(); atomsID = atomsIDProp.getInt(); compoundsID = compoundsIDProp.getInt(); cfg.save(); } @Mod.PostInit // ModLoader.loadメソッドと同等 public void chemiPostLoadMethod(FMLPostInitializationEvent event) { itemGasCollectingBottle = new ItemGasCollectingBottle(gasCollectingBottleID).setItemName("gasCollectingBottle"); itemAtoms = new ItemAtoms(atomsID).setItemName("atoms"); itemCompounds = new ItemCompounds(compoundsID).setItemName("compounds"); NameAuxiliary.addName(itemAtoms, atomsName); NameAuxiliary.addName(itemAtoms, "ja_JP", atomsNameJP); NameAuxiliary.addName(itemCompounds, ChemiCraftAPI.getCompoundsName().toArray()); NameAuxiliary.addName(itemCompounds, "ja_JP", ChemiCraftAPI.getCompoundsLangName().toArray()); NameAuxiliary.addName(itemGasCollectingBottle, "GasCollectingBottle"); NameAuxiliary.addName(itemGasCollectingBottle, "ja_JP", "集気瓶"); ChemiCraftAPI.addCompoundHandler("Salt", new CompoundHandlerTest()); } }