import chemicraft.block.BlockChemicalCraftingTable;\r
import chemicraft.block.BlockDecompositionTable;\r
import chemicraft.block.BlockToolAndWeaponCraftingTable;\r
+import chemicraft.compounds.CompoundWater;\r
import chemicraft.debug.CommandDeleteItem;\r
import chemicraft.debug.CommandGenDebugRoom;\r
import chemicraft.debug.CommandSetTile;\r
+import chemicraft.entity.EntityAtomsGrenade;\r
import chemicraft.item.ItemAtomGrenade;\r
import chemicraft.item.ItemAtoms;\r
+import chemicraft.item.ItemAtomsGrenade;\r
import chemicraft.item.ItemCompounds;\r
import chemicraft.item.ItemGasCollectingBottle;\r
import chemicraft.system.CommonProxy;\r
import cpw.mods.fml.common.event.FMLServerStartingEvent;\r
import cpw.mods.fml.common.network.NetworkMod;\r
import cpw.mods.fml.common.network.NetworkRegistry;\r
+import cpw.mods.fml.common.registry.EntityRegistry;\r
import cpw.mods.fml.common.registry.GameRegistry;\r
\r
/**\r
* ChemiCraft本体\r
- *\r
* @author P.C.C.\r
*\r
*/\r
@Mod(modid = "chemiCraft", name = "ChemiCraft", version = "beta")\r
// ID,名前,バージョン\r
-@NetworkMod(clientSideRequired = true, serverSideRequired = false, versionBounds = "1.3.2", channels = "chemicraft", packetHandler = PacketHandler.class)\r
+@NetworkMod(clientSideRequired = true, serverSideRequired = true, versionBounds = "1.3.2", channels = "chemicraft", packetHandler = PacketHandler.class)\r
// クライアント、サーバー共に必要 1.3.2用\r
public class ChemiCraft {\r
\r
- public final String[] atomsName = { "Hydrogen", "Helium", "Lithium", "Beryllium", "Boron", "Carbon", "Nitrogen", "Oxygen", "Fluorine", "Neon", "Sodium", "Magnesium", "Aluminium", "Silicon",\r
- "Phosphorus", "Sulfur", "Chlorine", "Argon", "Potassium", "Calcium", "Scandium", "Titanium", "Vanadium", "Chromium", "Manganese", "Iron", "Cobalt", "Nickel", "Copper", "Zinc", "Gallium",\r
- "Germanium", "Arsenic", "Selenium", "Bromine", "Krypton", "Rubidium", "Strontium", "Yttorium", "Zirconium", "Niobium", "Molybdenum", "Technetium", "Ruthenium", "Rhodium", "Palladium",\r
- "Silver", "Cadmium", "Indium", "Tin", "Antimony", "Tellurium", "Iodine", "Xenon", "Caesium", "Barium", "Lanthanum", "Cerium", "Praseodymium", "Neodymium", "Promethium", "Samarium",\r
- "Europium", "Gadolinium", "Terbium", "Dysprosium", "Holmium", "Erbium", "Thulium", "Ytterbium", "Lutetium", "Hafnium", "Tantalum", "Tungsten", "Rhenium", "Osmium", "Iridium", "Platinum",\r
- "Gold", "Mercury", "Thallium", "Lead", "Bismuth", "Polonium", "Astatine", "Radon", "Francium", "Radium", "Actinium", "Thorium", "Protactinium", "Uranium", "Neptunium", "Plutonium",\r
- "Americium", "Curium", "Berkelium", "Californium", "Einsteinium", "Fermium", "Mendelevium", "Nobelium", "Lawrencium", "Rutherfordium", "Dubnium", "Seaborgium", "Bohrium", "Hassium",\r
- "Meitnerium", "Darmstadtium", "Roentgenium", "Copernicium", "Ununtrium", "Ununquadium", "Ununpentium", "Ununhexium", "Ununseptium", "Ununoctium" };\r
-\r
- public final String[] atomsNameJP = { "水素", "ヘリウム", "リチウム", "ベリウム", "ホウ素", "炭素", "窒素", "酸素", "フッ素", "ネオン", "ナトリウム", "マグネシウム", "アルミニウム", "ケイ素", "リン", "硫黄", "塩素", "アルゴン", "カリウム", "カルシウム", "スカンジウム",\r
- "チタン", "バナジウム", "クロム", "マンガン", "鉄", "コバルト", "ニッケル", "銅", "亜鉛", "ガリウム", "ゲルマニウム", "ヒ素", "セレン", "臭素", "クリプトン", "ルビジウム", "ストロンチウム", "イットリウム", "ジルコニウム", "ニオブ", "モリブデン", "テクネチウム", "ルテニウム",\r
- "ロジウム", "パラジウム", "銀", "カドミウム", "インジウム", "スズ", "アンチモン", "テルル", "ヨウ素", "キセノン", "セシウム", "バリウム", "ランタン", "セリウム", "プラセオジム", "ネオジム", "プロメチウム", "サマリウム", "ユウロビウム", "ガドリニウム", "テルビウム", "ジスプロニウム",\r
- "ホルミウム", "エルビウム", "ツリウム", "イッテルビウム", "ルテチウム", "ハフニウム", "タンタル", "タングステン", "レニウム", "オスミウム", "イリジウム", "白金", "金", "水銀", "タリウム", "鉛", "ビスマス", "ポロニウム", "アスタチン", "ラドン", "フランシウム", "ラジウム",\r
- "アクチニウム", "トリウム", "プロトアクチウム", "ウラン", "ネプツニウム", "プルトニウム", "アメリシウム", "キュリウム", "バークリウム", "カルホルニウム", "アインスタイニウム", "フェルミウム", "メンデレビウム", "ノーベリウム", "ローレンシウム", "ラサホージウム", "ドブニウム", "シーボーギウム",\r
- "ボーリウム", "ハッシウム", "マイトネリウム", "ダームスタチウム", "レントゲニウム", "コペルニシウム", "ウンウントリウム", "ウンウンクアジウム", "ウンウンペンチウム", "ウンウンヘキシウム", "ウンウンセプチウム", "ウンウンオクチウム" };\r
+ public static final String[] ATOMSNAME = {\r
+ "Hydrogen", "Helium", "Lithium", "Beryllium", "Boron", "Carbon", "Nitrogen", "Oxygen", "Fluorine", "Neon", "Sodium", "Magnesium", "Aluminium", "Silicon",\r
+ "Phosphorus", "Sulfur", "Chlorine", "Argon", "Potassium", "Calcium", "Scandium", "Titanium", "Vanadium", "Chromium", "Manganese", "Iron", "Cobalt", "Nickel", "Copper", "Zinc", "Gallium",\r
+ "Germanium", "Arsenic", "Selenium", "Bromine", "Krypton", "Rubidium", "Strontium", "Yttorium", "Zirconium", "Niobium", "Molybdenum", "Technetium", "Ruthenium", "Rhodium", "Palladium",\r
+ "Silver", "Cadmium", "Indium", "Tin", "Antimony", "Tellurium", "Iodine", "Xenon", "Caesium", "Barium", "Lanthanum", "Cerium", "Praseodymium", "Neodymium", "Promethium", "Samarium",\r
+ "Europium", "Gadolinium", "Terbium", "Dysprosium", "Holmium", "Erbium", "Thulium", "Ytterbium", "Lutetium", "Hafnium", "Tantalum", "Tungsten", "Rhenium", "Osmium", "Iridium", "Platinum",\r
+ "Gold", "Mercury", "Thallium", "Lead", "Bismuth", "Polonium", "Astatine", "Radon", "Francium", "Radium", "Actinium", "Thorium", "Protactinium", "Uranium", "Neptunium", "Plutonium",\r
+ "Americium", "Curium", "Berkelium", "Californium", "Einsteinium", "Fermium", "Mendelevium", "Nobelium", "Lawrencium", "Rutherfordium", "Dubnium", "Seaborgium", "Bohrium", "Hassium",\r
+ "Meitnerium", "Darmstadtium", "Roentgenium", "Copernicium", "Ununtrium", "Ununquadium", "Ununpentium", "Ununhexium", "Ununseptium", "Ununoctium" };\r
+\r
+ public static final String[] ATOMSNAMEJP = {\r
+ "水素", "ヘリウム", "リチウム", "ベリウム", "ホウ素", "炭素", "窒素", "酸素", "フッ素", "ネオン", "ナトリウム", "マグネシウム", "アルミニウム", "ケイ素", "リン", "硫黄", "塩素", "アルゴン", "カリウム", "カルシウム", "スカンジウム",\r
+ "チタン", "バナジウム", "クロム", "マンガン", "鉄", "コバルト", "ニッケル", "銅", "亜鉛", "ガリウム", "ゲルマニウム", "ヒ素", "セレン", "臭素", "クリプトン", "ルビジウム", "ストロンチウム", "イットリウム", "ジルコニウム", "ニオブ", "モリブデン", "テクネチウム", "ルテニウム",\r
+ "ロジウム", "パラジウム", "銀", "カドミウム", "インジウム", "スズ", "アンチモン", "テルル", "ヨウ素", "キセノン", "セシウム", "バリウム", "ランタン", "セリウム", "プラセオジム", "ネオジム", "プロメチウム", "サマリウム", "ユウロビウム", "ガドリニウム", "テルビウム", "ジスプロニウム",\r
+ "ホルミウム", "エルビウム", "ツリウム", "イッテルビウム", "ルテチウム", "ハフニウム", "タンタル", "タングステン", "レニウム", "オスミウム", "イリジウム", "白金", "金", "水銀", "タリウム", "鉛", "ビスマス", "ポロニウム", "アスタチン", "ラドン", "フランシウム", "ラジウム",\r
+ "アクチニウム", "トリウム", "プロトアクチウム", "ウラン", "ネプツニウム", "プルトニウム", "アメリシウム", "キュリウム", "バークリウム", "カルホルニウム", "アインスタイニウム", "フェルミウム", "メンデレビウム", "ノーベリウム", "ローレンシウム", "ラサホージウム", "ドブニウム", "シーボーギウム",\r
+ "ボーリウム", "ハッシウム", "マイトネリウム", "ダームスタチウム", "レントゲニウム", "コペルニシウム", "ウンウントリウム", "ウンウンクアジウム", "ウンウンペンチウム", "ウンウンヘキシウム", "ウンウンセプチウム", "ウンウンオクチウム" };\r
\r
/**\r
* このmodのインスタンス\r
public static ChemiCraft instance;\r
\r
/**\r
- * ChemiCraftのProxy\r
+ * ChemiCraftのProxy.\r
*/\r
@SidedProxy(clientSide = "chemicraft.client.ClientProxy", serverSide = "chemicraft.system.CommonProxy")\r
public static CommonProxy proxy;\r
\r
/**\r
- * ChemiCraftのCreativeTab\r
+ * ChemiCraftのCreativeTab.\r
*/\r
public static final CreativeTabs creativeTab = new CreativeTabAtoms("ChemiCraft");\r
\r
/**\r
- * ItemID\r
+ * ItemID.\r
*/\r
public int atomsID;\r
public int compoundsID;\r
public int atomGrenadeID;\r
\r
/**\r
- * BlockID\r
+ * BlockID.\r
*/\r
public int decompositionTableID;\r
public int chemicalConbinationTableID;\r
public int chemicalCraftingTableID;\r
\r
/**\r
- * GUIID\r
+ * GUIID.\r
*/\r
public int guiDecompositionTableID;\r
public int guiChemicalCombinationTableID;\r
public int guiChemicalCraftingTableID;\r
\r
/**\r
- * Block型変数\r
+ * Block型変数.\r
*/\r
public Block blockDecompositionTable;\r
public Block blockChemicalCombinationTable;\r
public Block blockChemicalCraftingTable;\r
\r
/**\r
- * Item型変数\r
+ * Item型変数.\r
*/\r
public Item itemAtoms;\r
public Item itemCompounds;\r
public Item itemAtomGrenade;\r
\r
/**\r
- * このmodで使用するTextureのパス\r
+ * このmodで使用するTextureのパス.\r
*/\r
public String itemAtomsTexture = "/chemicraft/items/Atoms.png";\r
public String itemCompoundsTexture = "/chemicraft/items/Compounds.png";\r
public String guiChemicalCraftingTexture = "/chemicraft/guis/MaterialCrafting.png";\r
\r
/**\r
- * このmodに必要な補助クラスのインスタンス\r
+ * このmodに必要な補助クラスのインスタンス.\r
*/\r
public Auxiliary auxiliary = new Auxiliary();\r
public NameAuxiliary nameAuxiliary = new NameAuxiliary();\r
public ArrayAuxiliary arrayAuxiliary = new ArrayAuxiliary();\r
\r
- private ChemiCraftAPI api = ChemiCraftAPI.instance;\r
+ private ChemiCraftAPI api = ChemiCraftAPI.getInstance();\r
+ private ChemiCraftData chemicalData = new ChemiCraftData();\r
\r
@Mod.PreInit\r
- public void chemiPreLoadMethod(FMLPreInitializationEvent event) {\r
+ public void chemiPreLoadMethod(final FMLPreInitializationEvent event) {\r
Configuration cfg = new Configuration(event.getSuggestedConfigurationFile());\r
cfg.load();\r
\r
Property decompositionTableIDProp = cfg.getBlock("DecompositionTable", 2400);\r
Property chemicalCombinationTableIDProp = cfg.getBlock("ChemicalCombinationID", 2401);\r
Property toolAndWeaponCraftingTableIDProp = cfg.getBlock("ToolAndWeaponCraftingTableID", 2402);\r
- Property ChemicalCraftingTableIDProp = cfg.getBlock("ChemicalCraftingTableID", 2403);\r
+ Property chemicalCraftingTableIDProp = cfg.getBlock("ChemicalCraftingTableID", 2403);\r
\r
Property atomsIDProp = cfg.getItem("AtomsID", 25000);\r
Property compoundsIDProp = cfg.getItem("CompoundsID", 25001);\r
this.decompositionTableID = decompositionTableIDProp.getInt();\r
this.chemicalConbinationTableID = chemicalCombinationTableIDProp.getInt();\r
this.toolAndWeaponCraftingTableID = toolAndWeaponCraftingTableIDProp.getInt();\r
- this.chemicalCraftingTableID = ChemicalCraftingTableIDProp.getInt();\r
+ this.chemicalCraftingTableID = chemicalCraftingTableIDProp.getInt();\r
this.atomsID = atomsIDProp.getInt();\r
this.compoundsID = compoundsIDProp.getInt();\r
this.gasCollectingBottleID = gasCollectingBottleIDProp.getInt();\r
this.guiChemicalCraftingTableID = guiChemicalCraftingTableIDProp.getInt();\r
\r
cfg.save();\r
-\r
- // 描画関係の読み込み\r
- proxy.registerRenderInformation();\r
}\r
\r
@Mod.ServerStarting\r
- public void serverStarting(FMLServerStartingEvent event){\r
+ public void serverStarting(final FMLServerStartingEvent event) {\r
event.registerServerCommand(new CommandSetTile());\r
event.registerServerCommand(new CommandDeleteItem());\r
event.registerServerCommand(new CommandGenDebugRoom());\r
}\r
\r
@Mod.PostInit\r
- public void chemiPostLoadMethod(FMLPostInitializationEvent event) {\r
+ public void chemiPostLoadMethod(final FMLPostInitializationEvent event) {\r
this.settingProcessing(event);\r
this.apiProcessing(event);\r
+ this.debug(event);\r
}\r
\r
- private void settingProcessing(FMLPostInitializationEvent event){\r
+ private void settingProcessing(final FMLPostInitializationEvent event) {\r
\r
// Blockを追加します\r
- this.blockDecompositionTable = new BlockDecompositionTable(this.decompositionTableID, 0, Material.ground).setHardness(2.0F).setResistance(0.0F).setStepSound(Block.soundStoneFootstep).setBlockName("DecompositionTable");\r
- this.blockChemicalCombinationTable = new BlockChemicalCombinationTable(this.chemicalConbinationTableID, 0, Material.ground).setHardness(2.0F).setResistance(0.0F).setStepSound(Block.soundStoneFootstep).setBlockName("ChemicalCombinationTable");\r
- this.blockToolAndWeaponCraftingTable = new BlockToolAndWeaponCraftingTable(this.toolAndWeaponCraftingTableID, 0, Material.ground).setHardness(2.0F).setResistance(0.0F).setStepSound(Block.soundStoneFootstep).setBlockName("ToolAndWeaponCraftingTable");\r
- this.blockChemicalCraftingTable = new BlockChemicalCraftingTable(chemicalCraftingTableID, 0, Material.ground).setHardness(2.0F).setResistance(0.0F).setStepSound(Block.soundStoneFootstep).setBlockName("ChemicalCraftingTable");\r
-\r
+ this.blockDecompositionTable = new BlockDecompositionTable(this.decompositionTableID, 0, Material.ground).\r
+ setHardness(2.0F).\r
+ setResistance(0.0F).\r
+ setStepSound(Block.soundStoneFootstep).\r
+ setBlockName("DecompositionTable");\r
+ this.blockChemicalCombinationTable = new BlockChemicalCombinationTable(this.chemicalConbinationTableID, 0, Material.ground).\r
+ setHardness(2.0F).\r
+ setResistance(0.0F).\r
+ setStepSound(Block.soundStoneFootstep).\r
+ setBlockName("ChemicalCombinationTable");\r
+ this.blockToolAndWeaponCraftingTable = new BlockToolAndWeaponCraftingTable(this.toolAndWeaponCraftingTableID, 0, Material.ground).\r
+ setHardness(2.0F).\r
+ setResistance(0.0F).\r
+ setStepSound(Block.soundStoneFootstep).\r
+ setBlockName("ToolAndWeaponCraftingTable");\r
+ this.blockChemicalCraftingTable = new BlockChemicalCraftingTable(chemicalCraftingTableID, 0, Material.ground).\r
+ setHardness(2.0F).\r
+ setResistance(0.0F).\r
+ setStepSound(Block.soundStoneFootstep).\r
+ setBlockName("ChemicalCraftingTable");\r
\r
// Itemを追加します\r
this.itemAtoms = new ItemAtoms(this.atomsID).setItemName("atoms");\r
this.itemCompounds = new ItemCompounds(this.compoundsID).setItemName("compounds");\r
this.itemGasCollectingBottle = new ItemGasCollectingBottle(this.gasCollectingBottleID).setItemName("gasCollectingBottle").setIconIndex(0);\r
- this.itemAtomGrenade = new ItemAtomGrenade(this.atomGrenadeID).setItemName("grenade").setIconIndex(1);\r
+ this.itemAtomGrenade = new ItemAtomsGrenade(this.atomGrenadeID).setItemName("grenade").setIconIndex(1);\r
\r
// BlockをMinecraftに登録します\r
GameRegistry.registerBlock(this.blockDecompositionTable);\r
this.nameAuxiliary.addName(blockChemicalCraftingTable, "ChemicalCraftingTable");\r
this.nameAuxiliary.addName(blockChemicalCraftingTable, "ja_JP", "素材製作台");\r
\r
-\r
// Itemの名前を設定します\r
- this.nameAuxiliary.addName(this.itemAtoms, atomsName);\r
- this.nameAuxiliary.addName(this.itemAtoms, "ja_JP", atomsNameJP);\r
+ this.nameAuxiliary.addName(this.itemAtoms, ATOMSNAME);\r
+ this.nameAuxiliary.addName(this.itemAtoms, "ja_JP", ATOMSNAMEJP);\r
this.nameAuxiliary.addName(this.itemGasCollectingBottle, "GasCollectingBottle");\r
this.nameAuxiliary.addName(this.itemGasCollectingBottle, "ja_JP", "集気瓶");\r
this.nameAuxiliary.addName(this.itemAtomGrenade, "AtomGrenade");\r
// GUIを追加します\r
NetworkRegistry.instance().registerGuiHandler(instance, proxy);\r
\r
- //Textureをpreloadします\r
- proxy.registerTextures();\r
+ // 描画関係の読み込み\r
+ proxy.registerRenderInformation();\r
\r
//化学作業台類のレシピを追加します\r
GameRegistry.addRecipe(new ItemStack(this.blockDecompositionTable),\r
Character.valueOf('A'), new ItemStack(this.itemAtoms, 1, 0),\r
});\r
\r
- //\r
- ChemiCraftAPI.instance.addDecompositionRecipe(new ItemStack(Block.dirt), new ItemStack[]{new ItemStack(Block.stone)});\r
-\r
// 化合物を追加します\r
- ChemiCraftAPI.instance.addLangCompound("ja_JP", "CarbonDioxide", "二酸化炭素");\r
+ ChemiCraftAPI.getInstance().addLangCompound("ja_JP", "CarbonMonoxide", "一酸化炭素");\r
+ ChemiCraftAPI.getInstance().addLangCompound("ja_JP", "CarbonDioxide", "二酸化炭素");\r
+ ChemiCraftAPI.getInstance().addLangCompound("ja_JP", "Water", "水");\r
\r
- // 化合物のレシピを追加します\r
- ChemiCraftAPI.instance.addChemicalCombinationRecipe(new ItemStack[]{new ItemStack(this.itemAtoms, 1, CARBON), new ItemStack(this.itemAtoms, 1, OXYGEN) }, new ItemStack(this.itemCompounds, 1, api.getDamageByName("CarbonDioxide")));\r
+ //化合物のHandlerを設定します\r
+ ChemiCraftAPI.getInstance().settingCompoundHandler("Water", new CompoundWater());\r
\r
//手榴弾の追加\r
- ChemiCraftAPI.instance.addMaterialRecipe(new ItemStack[]{null, new ItemStack(Block.stone), null, new ItemStack(Block.stone), new ItemStack(Item.gunpowder), new ItemStack(Block.stone), null, new ItemStack(Block.stone), null}, new ItemStack(this.itemAtomGrenade, 16, 0), new NBTRecipeGrenade());\r
-\r
+ ChemiCraftAPI.getInstance().addMaterialRecipe(\r
+ new ItemStack[]{\r
+ null,\r
+ new ItemStack(Block.stone),\r
+ null,\r
+ new ItemStack(Block.stone),\r
+ new ItemStack(Item.gunpowder),\r
+ new ItemStack(Block.stone),\r
+ null,\r
+ new ItemStack(Block.stone),\r
+ null\r
+ },\r
+ new ItemStack(this.itemAtomGrenade, 16, 0),\r
+ new NBTRecipeGrenade()\r
+ );\r
}\r
\r
- private void apiProcessing(FMLPostInitializationEvent event){\r
+ private void apiProcessing(final FMLPostInitializationEvent event) {\r
// API用の処理\r
- this.nameAuxiliary.addName(itemCompounds, ChemiCraftAPI.instance.getCompoundsName().toArray());\r
- this.nameAuxiliary.addName(itemCompounds, "ja_JP", ChemiCraftAPI.instance.getCompoundsLangName().toArray());\r
+ this.nameAuxiliary.addName(itemCompounds, ChemiCraftAPI.getInstance().getCompoundsName().toArray());\r
+ this.nameAuxiliary.addName(itemCompounds, "ja_JP", ChemiCraftAPI.getInstance().getCompoundsLangName().toArray());\r
+ ChemiCraftAPI.getInstance().addCompoundHash(ChemiCraftAPI.getInstance().getCompoundsName().toArray());\r
}\r
\r
- public final static int HYDROGEN = 0;\r
- public final static int HELIUM = 1;\r
- public final static int LITHIUM = 2;\r
- public final static int BERYLLIUM = 3;\r
- public final static int BORON = 4;\r
- public final static int CARBON = 5;\r
- public final static int NITROGEN = 6;\r
- public final static int OXYGEN = 7;\r
- public final static int URANIUM = 91;\r
+ private void debug(final FMLPostInitializationEvent event) {\r
+ //デバッグ処理\r
+ api.addChemicalCombinationRecipe(\r
+ new String[]{ChemiCraftData.HYDROGEN_SIGN, ChemiCraftData.OXYGEN_SIGN},\r
+ new Integer[]{2, 1},\r
+ new ItemStack(Block.dirt)\r
+ );\r
+ }\r
\r
}
\ No newline at end of file