package chemicraft;\r
\r
-import net.minecraft.src.Block;\r
-import net.minecraft.src.CreativeTabs;\r
-import net.minecraft.src.Item;\r
-import net.minecraft.src.ItemStack;\r
-import net.minecraft.src.Material;\r
+import net.minecraft.block.Block;\r
+import net.minecraft.block.material.Material;\r
+import net.minecraft.client.audio.SoundManager;\r
+import net.minecraft.creativetab.CreativeTabs;\r
+import net.minecraft.item.Item;\r
+import net.minecraft.item.ItemStack;\r
import net.minecraftforge.common.Configuration;\r
import net.minecraftforge.common.Property;\r
import chemicraft.block.BlockChemicalCombinationTable;\r
import chemicraft.block.BlockChemicalCraftingTable;\r
-import chemicraft.block.BlockDecompositionTable;\r
+import chemicraft.block.BlockElectrolysisTable;\r
+import chemicraft.block.BlockPyrolysisTable;\r
import chemicraft.block.BlockToolAndWeaponCraftingTable;\r
+import chemicraft.compounds.CompoundDebug;\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.system.PacketHandler;\r
import chemicraft.tileentity.TileEntityChemicalCombinationTable;\r
import chemicraft.tileentity.TileEntityChemicalCraftingTable;\r
-import chemicraft.tileentity.TileEntityDecompositionTable;\r
+import chemicraft.tileentity.TileEntityElectrolysisTable;\r
+import chemicraft.tileentity.TileEntityPyrolysisTable;\r
import chemicraft.tileentity.TileEntityToolAndWeaponCraftingTable;\r
import chemicraft.util.Auxiliary;\r
import chemicraft.util.Auxiliary.ArrayAuxiliary;\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
*\r
*/\r
@Mod(modid = "chemiCraft", name = "ChemiCraft", version = "beta")\r
-// ID,名前,バージョン\r
-@NetworkMod(clientSideRequired = true, serverSideRequired = true, versionBounds = "1.3.2", channels = "chemicraft", packetHandler = PacketHandler.class)\r
-// クライアント、サーバー共に必要 1.3.2用\r
+@NetworkMod(clientSideRequired = true, serverSideRequired = true, versionBounds = "1.4.6", channels = "chemicraft", packetHandler = PacketHandler.class)\r
public class ChemiCraft {\r
\r
public static final String[] ATOMSNAME = {\r
/**\r
* BlockID.\r
*/\r
- public int decompositionTableID;\r
+ public int pyrolysisTableID;\r
public int chemicalConbinationTableID;\r
public int toolAndWeaponCraftingTableID;\r
public int chemicalCraftingTableID;\r
+ public int electrolysisTableID;\r
\r
/**\r
* GUIID.\r
*/\r
- public int guiDecompositionTableID;\r
+ public int guiPyrolysisTableID;\r
public int guiChemicalCombinationTableID;\r
public int guiToolAndWeaponCraftingTableID;\r
public int guiChemicalCraftingTableID;\r
+ public int guiElectrolysisTableID;\r
\r
/**\r
* Block型変数.\r
*/\r
- public Block blockDecompositionTable;\r
+ public Block blockPyrolysisTable;\r
public Block blockChemicalCombinationTable;\r
public Block blockToolAndWeaponCraftingTable;\r
public Block blockChemicalCraftingTable;\r
+ public Block blockElectrolysisTable;\r
\r
/**\r
* Item型変数.\r
/**\r
* このmodで使用するTextureのパス.\r
*/\r
- public String itemAtomsTexture = "/chemicraft/items/Atoms.png";\r
- public String itemCompoundsTexture = "/chemicraft/items/Compounds.png";\r
- public String itemTexture = "/chemicraft/items/items.png";\r
- public String blockChemicalCraftingTableTexture = "/chemicraft/blocks/CCTable.png";\r
- public String guiDecompositionTexture = "/chemicraft/guis/Decomposition.png";\r
- public String guiChemicalCombinationTexture = "/chemicraft/guis/ChemicalCombination.png";\r
- public String guiToolAndWeaponCraftingTexture = "/chemicraft/guis/ToolAndWeaponCrafting.png";\r
- public String guiChemicalCraftingTexture = "/chemicraft/guis/MaterialCrafting.png";\r
+ public final String ITEM_ATOMS_TEXTURE = "/chemicraft/items/Atoms.png";\r
+ public final String ITEM_COMPOUNDS_TEXTURE = "/chemicraft/items/Compounds.png";\r
+ public final String ITEM_TEXTURE = "/chemicraft/items/items.png";\r
+ public final String BLOCK_CHEMICALCRAFTING_TABLE_TEXTURE = "/chemicraft/blocks/cctable.png";\r
+ public final String GUI_PYROLYSIS_TEXTURE = "/chemicraft/guis/Pyrolysis.png";\r
+ public final String GUI_ELECTROLYSIS_TEXTURE = "/chemicraft/guis/Electrolysis.png";\r
+ public final String GUI_CHEMICALCOMBINATION_TEXTURE = "/chemicraft/guis/ChemicalCombination.png";\r
+ public final String GUI_TOOLANDWEAPONCRAFTING_TEXTURE = "/chemicraft/guis/ToolAndWeaponCrafting.png";\r
+ public final String GUI_CHEMICALCRAFTING_TEXTURE = "/chemicraft/guis/MaterialCrafting.png";\r
\r
/**\r
* このmodに必要な補助クラスのインスタンス.\r
Configuration cfg = new Configuration(event.getSuggestedConfigurationFile());\r
cfg.load();\r
\r
- Property decompositionTableIDProp = cfg.getBlock("DecompositionTable", 2400);\r
+ Property pyrolysisTableIDProp = cfg.getBlock("PyrolysisTable", 2400);\r
Property chemicalCombinationTableIDProp = cfg.getBlock("ChemicalCombinationID", 2401);\r
Property toolAndWeaponCraftingTableIDProp = cfg.getBlock("ToolAndWeaponCraftingTableID", 2402);\r
Property chemicalCraftingTableIDProp = cfg.getBlock("ChemicalCraftingTableID", 2403);\r
+ Property electrolysisTableIDProp = cfg.getBlock("ElectrolysisTableID", 2404);\r
\r
Property atomsIDProp = cfg.getItem("AtomsID", 25000);\r
Property compoundsIDProp = cfg.getItem("CompoundsID", 25001);\r
Property gasCollectingBottleIDProp = cfg.getItem("gasCollectingBottleID", 25002);\r
Property atomGrenadeIDProp = cfg.getItem("AtomGrenadeID", 25003);\r
\r
- Property guiDecompositionTableIDProp = cfg.get("GUI", "GUIChemicalCraftingTableID", 1000);\r
+ Property guiPyrolysisTableIDProp = cfg.get("GUI", "GUIPyrolysisID", 1000);\r
Property guiChemicalCombinationTableIDProp = cfg.get("GUI", "GUIChemicalCombinationTableID", 1001);\r
Property guiToolAndWeaponCraftingTableIDProp = cfg.get("GUI", "GUIToolAndWeaponCraftingTableID", 1002);\r
Property guiChemicalCraftingTableIDProp = cfg.get("GUI", "GUIChemicalCraftingTableID", 1003);\r
+ Property guiElectrolysisTableIDProp = cfg.get("GUI", "GUIElectrolysisTableID", 1004);\r
\r
\r
- this.decompositionTableID = decompositionTableIDProp.getInt();\r
+ this.pyrolysisTableID = pyrolysisTableIDProp.getInt();\r
this.chemicalConbinationTableID = chemicalCombinationTableIDProp.getInt();\r
this.toolAndWeaponCraftingTableID = toolAndWeaponCraftingTableIDProp.getInt();\r
this.chemicalCraftingTableID = chemicalCraftingTableIDProp.getInt();\r
+ this.electrolysisTableID = electrolysisTableIDProp.getInt();\r
this.atomsID = atomsIDProp.getInt();\r
this.compoundsID = compoundsIDProp.getInt();\r
this.gasCollectingBottleID = gasCollectingBottleIDProp.getInt();\r
this.atomGrenadeID = atomGrenadeIDProp.getInt();\r
- this.guiDecompositionTableID = guiDecompositionTableIDProp.getInt();\r
+ this.guiPyrolysisTableID = guiPyrolysisTableIDProp.getInt();\r
this.guiChemicalCombinationTableID = guiChemicalCombinationTableIDProp.getInt();\r
this.guiToolAndWeaponCraftingTableID = guiToolAndWeaponCraftingTableIDProp.getInt();\r
this.guiChemicalCraftingTableID = guiChemicalCraftingTableIDProp.getInt();\r
+ this.guiElectrolysisTableID = guiElectrolysisTableIDProp.getInt();\r
\r
cfg.save();\r
}\r
private void settingProcessing(final FMLPostInitializationEvent event) {\r
\r
// Blockを追加します\r
- this.blockDecompositionTable = new BlockDecompositionTable(this.decompositionTableID, 0, Material.ground).\r
+ this.blockPyrolysisTable = new BlockPyrolysisTable(this.pyrolysisTableID, 0, Material.ground).\r
setHardness(2.0F).\r
setResistance(0.0F).\r
setStepSound(Block.soundStoneFootstep).\r
- setBlockName("DecompositionTable");\r
+ setBlockName("PyrolysisTable");\r
this.blockChemicalCombinationTable = new BlockChemicalCombinationTable(this.chemicalConbinationTableID, 0, Material.ground).\r
setHardness(2.0F).\r
setResistance(0.0F).\r
setResistance(0.0F).\r
setStepSound(Block.soundStoneFootstep).\r
setBlockName("ToolAndWeaponCraftingTable");\r
- this.blockChemicalCraftingTable = new BlockChemicalCraftingTable(chemicalCraftingTableID, 0, Material.ground).\r
+ this.blockChemicalCraftingTable = new BlockChemicalCraftingTable(this.chemicalCraftingTableID, 0, Material.ground).\r
setHardness(2.0F).\r
setResistance(0.0F).\r
setStepSound(Block.soundStoneFootstep).\r
setBlockName("ChemicalCraftingTable");\r
+ this.blockElectrolysisTable = new BlockElectrolysisTable(this.electrolysisTableID, 0, Material.ground).\r
+ setHardness(2.0F).\r
+ setResistance(0.0F).\r
+ setStepSound(Block.soundStoneFootstep).\r
+ setBlockName("ElectrolysisTable");\r
\r
// Itemを追加します\r
this.itemAtoms = new ItemAtoms(this.atomsID).setItemName("atoms");\r
this.itemAtomGrenade = new ItemAtomsGrenade(this.atomGrenadeID).setItemName("grenade").setIconIndex(1);\r
\r
// BlockをMinecraftに登録します\r
- GameRegistry.registerBlock(this.blockDecompositionTable);\r
- GameRegistry.registerBlock(this.blockChemicalCombinationTable);\r
- GameRegistry.registerBlock(this.blockToolAndWeaponCraftingTable);\r
- GameRegistry.registerBlock(this.blockChemicalCraftingTable);\r
+ GameRegistry.registerBlock(this.blockPyrolysisTable, "BlockPyrolysisTable");\r
+ GameRegistry.registerBlock(this.blockChemicalCombinationTable, "BlockChemicalCombinationTable");\r
+ GameRegistry.registerBlock(this.blockToolAndWeaponCraftingTable, "BlockToolAndWeaponCraftingTable");\r
+ GameRegistry.registerBlock(this.blockChemicalCraftingTable, "BlockMaterialCraftingTable");\r
+ GameRegistry.registerBlock(this.blockElectrolysisTable, "BlockElectrolysisTable");\r
\r
// Blockの名前を設定します\r
- this.nameAuxiliary.addName(this.blockDecompositionTable, "DecompositionTable");\r
- this.nameAuxiliary.addName(this.blockDecompositionTable, "ja_JP", "分解台");\r
+ this.nameAuxiliary.addName(this.blockPyrolysisTable, "PyrolysisTable");\r
+ this.nameAuxiliary.addName(this.blockPyrolysisTable, "ja_JP", "熱分解台");\r
this.nameAuxiliary.addName(this.blockChemicalCombinationTable, "ChemicalCombinationTable");\r
this.nameAuxiliary.addName(this.blockChemicalCombinationTable, "ja_JP", "化合台");\r
- this.nameAuxiliary.addName(blockToolAndWeaponCraftingTable, "ToolAndWeaponCraftingTable");\r
- this.nameAuxiliary.addName(blockToolAndWeaponCraftingTable, "ja_JP", "ツール&武器製作台");\r
- this.nameAuxiliary.addName(blockChemicalCraftingTable, "ChemicalCraftingTable");\r
- this.nameAuxiliary.addName(blockChemicalCraftingTable, "ja_JP", "素材製作台");\r
+ this.nameAuxiliary.addName(this.blockToolAndWeaponCraftingTable, "ToolAndWeaponCraftingTable");\r
+ this.nameAuxiliary.addName(this.blockToolAndWeaponCraftingTable, "ja_JP", "ツール&武器製作台");\r
+ this.nameAuxiliary.addName(this.blockChemicalCraftingTable, "ChemicalCraftingTable");\r
+ this.nameAuxiliary.addName(this.blockChemicalCraftingTable, "ja_JP", "素材製作台");\r
+ this.nameAuxiliary.addName(this.blockElectrolysisTable, "ElectrolysisTable");\r
+ this.nameAuxiliary.addName(this.blockElectrolysisTable, "ja_JP", "電気分解台");\r
\r
// Itemの名前を設定します\r
this.nameAuxiliary.addName(this.itemAtoms, ATOMSNAME);\r
this.nameAuxiliary.addName(this.itemAtomGrenade, "元素手榴弾");\r
\r
// TileEntityを追加します\r
- GameRegistry.registerTileEntity(TileEntityDecompositionTable.class, "DecompositionTable");\r
+ GameRegistry.registerTileEntity(TileEntityPyrolysisTable.class, "TileEntityPyrolysisTable");\r
GameRegistry.registerTileEntity(TileEntityChemicalCombinationTable.class, "TileEntityChemicalCombinationTable");\r
GameRegistry.registerTileEntity(TileEntityToolAndWeaponCraftingTable.class, "TileEntityToolAndWeaponCraftingTable");\r
GameRegistry.registerTileEntity(TileEntityChemicalCraftingTable.class, "TileEntityChemicalCraftingTable");\r
+ GameRegistry.registerTileEntity(TileEntityElectrolysisTable.class, "TileEntityElectrolysisTable");\r
\r
// GUIを追加します\r
NetworkRegistry.instance().registerGuiHandler(instance, proxy);\r
proxy.registerRenderInformation();\r
\r
//化学作業台類のレシピを追加します\r
- GameRegistry.addRecipe(new ItemStack(this.blockDecompositionTable),\r
+ GameRegistry.addRecipe(new ItemStack(this.blockPyrolysisTable),\r
new Object[]{\r
"XYX", "ZAZ", "ZZZ",\r
Character.valueOf('X'), new ItemStack(Item.ingotIron),\r
Character.valueOf('Y'), new ItemStack(Block.workbench),\r
Character.valueOf('Z'), new ItemStack(Block.stone),\r
- Character.valueOf('A'), new ItemStack(Block.tnt),\r
+ Character.valueOf('A'), new ItemStack(Item.bucketLava),\r
});\r
GameRegistry.addRecipe(new ItemStack(this.blockChemicalCombinationTable),\r
new Object[]{\r
});\r
\r
// 化合物を追加します\r
- ChemiCraftAPI.getInstance().addLangCompound("ja_JP", "CarbonMonoxide", "一酸化炭素");\r
- ChemiCraftAPI.getInstance().addLangCompound("ja_JP", "CarbonDioxide", "二酸化炭素");\r
- ChemiCraftAPI.getInstance().addLangCompound("ja_JP", "Water", "水");\r
+ api.addLangCompound("ja_JP", "CarbonMonoxide", "一酸化炭素");\r
+ api.addLangCompound("ja_JP", "CarbonDioxide", "二酸化炭素");\r
+ api.addLangCompound("ja_JP", "Water", "水");\r
+
\r
//化合物のHandlerを設定します\r
- ChemiCraftAPI.getInstance().settingCompoundHandler("Water", new CompoundWater());\r
+ api.settingCompoundHandler("Water", new CompoundWater());\r
+\r
+ //化合物のレシピを追加します\r
+ api.addChemicalCombinationRecipe(new String[]{"H", "O"}, new Integer[]{2, 1}, new ItemStack(this.itemCompounds, 1, api.getCompound("Water")));\r
\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
+ api.addMaterialRecipe(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
+ api.addDecompositionRecipe(new ItemStack(Item.potion, 1, 0),\r
+ new int[] {ChemiCraftData.HYDROGEN, ChemiCraftData.OXYGEN},\r
+ new int[] {2, 1});\r
+\r
+ api.addDecompositionRecipe(new ItemStack(this.itemCompounds, 1, api.getCompound("Water")),\r
+ new int[] {ChemiCraftData.HYDROGEN, ChemiCraftData.OXYGEN},\r
+ new int[] {2, 1});\r
+\r
+ api.addDecompositionFuel(new ItemStack(Item.coal), 2000*8);\r
}\r
\r
private void apiProcessing(final FMLPostInitializationEvent event) {\r
// API用の処理\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
+ this.nameAuxiliary.addName(itemCompounds, api.getInstance().getCompoundsName().toArray());\r
+ for (int i = 0; i < api.getCompoundsLang().size(); i++) {\r
+ this.nameAuxiliary.addName(itemCompounds, api.getCompoundsLang().get(i), api.getInstance().getCompoundsLangName().toArray());\r
+ }\r
}\r
\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
+ //DebugTickingの追加\r
+ this.proxy.registerTickHandler();\r
+ api.addCompound("Debug");\r
+ this.api.settingCompoundHandler("Debug", new CompoundDebug());\r
}\r
\r
-}
\ No newline at end of file
+}\r