-package chemicraft;\r
+package chemicraft;\r
\r
import net.minecraft.src.Block;\r
import net.minecraft.src.CreativeTabs;\r
import net.minecraft.src.Material;\r
import net.minecraftforge.common.Configuration;\r
import net.minecraftforge.common.Property;\r
-import chemicraft.Auxiliary.NameAuxiliary;\r
+import chemicraft.block.BlockChemicalCombinationTable;\r
+import chemicraft.block.BlockDecompositionTable;\r
+import chemicraft.block.BlockMaterialCraftingTable;\r
+import chemicraft.block.BlockToolAndMaterialCraftingTable;\r
+import chemicraft.debug.CommandDeleteItem;\r
+import chemicraft.debug.CommandSetTile;\r
+import chemicraft.debug.CompoundHandlerTest;\r
+import chemicraft.item.ItemAtomGrenade;\r
+import chemicraft.item.ItemAtoms;\r
+import chemicraft.item.ItemCompounds;\r
+import chemicraft.item.ItemGasCollectingBottle;\r
+import chemicraft.system.CommonProxy;\r
+import chemicraft.system.PacketHandler;\r
+import chemicraft.tileentity.TileEntityChemicalCombinationTable;\r
+import chemicraft.tileentity.TileEntityDecompositionTable;\r
+import chemicraft.tileentity.TileEntityMaterialCraftingTable;\r
+import chemicraft.tileentity.TileEntityToolAndWeaponCraftingTable;\r
+import chemicraft.util.Auxiliary;\r
+import chemicraft.util.Auxiliary.NameAuxiliary;\r
+import chemicraft.util.CreativeTabAtoms;\r
+import chemicraft.util.NBTRecipeGrenade;\r
import cpw.mods.fml.common.Mod;\r
import cpw.mods.fml.common.SidedProxy;\r
import cpw.mods.fml.common.event.FMLPostInitializationEvent;\r
import cpw.mods.fml.common.event.FMLPreInitializationEvent;\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.GameRegistry;\r
public int atomsID;\r
public int compoundsID;\r
public int gasCollectingBottleID;\r
+ public int atomGrenadeID;\r
\r
/**\r
* BlockID\r
/**\r
* Block型変数\r
*/\r
- public Block blockDecompositionTable;\r
- public Block blockChemicalCombinationTable;\r
- public Block blockToolAndWeaponCraftingTable;\r
- public Block blockMaterialCraftingTable;\r
+ public static Block blockDecompositionTable;\r
+ public static Block blockChemicalCombinationTable;\r
+ public static Block blockToolAndWeaponCraftingTable;\r
+ public static Block blockMaterialCraftingTable;\r
\r
/**\r
* Item型変数\r
*/\r
- public Item itemAtoms;\r
- public Item itemCompounds;\r
- public Item itemGasCollectingBottle;\r
+ public static Item itemAtoms;\r
+ public static Item itemCompounds;\r
+ public static Item itemGasCollectingBottle;\r
+ public static Item itemAtomGrenade;\r
\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
private Auxiliary Auxiliary = new Auxiliary();\r
private NameAuxiliary NameAuxiliary = Auxiliary.new NameAuxiliary();\r
\r
-\r
@Mod.PreInit\r
public void chemiPreLoadMethod(FMLPreInitializationEvent event) {\r
Configuration cfg = new Configuration(event.getSuggestedConfigurationFile());\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 guiChemicalCombinationTableIDProp = cfg.get("GUI", "GUIChemicalCombinationTableID", 1001);\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.guiChemicalCombinationTableID = guiChemicalCombinationTableIDProp.getInt();\r
this.guiToolAndWeaponCraftingTableID = guiToolAndWeaponCraftingTableIDProp.getInt();\r
proxy.registerRenderInformation();\r
}\r
\r
+ @Mod.ServerStarting\r
+ public void serverStarting(FMLServerStartingEvent event){\r
+ event.registerServerCommand(new CommandSetTile());\r
+ event.registerServerCommand(new CommandDeleteItem());\r
+ }\r
\r
@Mod.PostInit\r
public void chemiPostLoadMethod(FMLPostInitializationEvent event) {\r
- // API用の処理\r
- this.NameAuxiliary.addName(itemCompounds, ChemiCraftAPI.getCompoundsName().toArray());\r
- this.NameAuxiliary.addName(itemCompounds, "ja_JP", ChemiCraftAPI.getCompoundsLangName().toArray());\r
+ this.settingProcessing(event);\r
+ this.apiProcessing(event);\r
+ }\r
+\r
+ private void settingProcessing(FMLPostInitializationEvent event){\r
+\r
+ ChemiCraftAPI.instance.addCompound("Test");\r
+ ChemiCraftAPI.instance.addCompound("Test2");\r
+ ChemiCraftAPI.instance.settingCompoundHandler("Test", new CompoundHandlerTest());\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
// 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");\r
+ this.itemGasCollectingBottle = new ItemGasCollectingBottle(this.gasCollectingBottleID).setItemName("gasCollectingBottle").setIconIndex(0);\r
+ this.itemAtomGrenade = new ItemAtomGrenade(this.atomGrenadeID).setItemName("grenade").setIconIndex(1);\r
\r
// BlockをMinecraftに登録します\r
GameRegistry.registerBlock(this.blockDecompositionTable);\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
+ this.NameAuxiliary.addName(this.itemAtomGrenade, "元素手榴弾");\r
\r
// TileEntityを追加します\r
GameRegistry.registerTileEntity(TileEntityDecompositionTable.class, "DecompositionTable");\r
// GUIを追加します\r
NetworkRegistry.instance().registerGuiHandler(instance, proxy);\r
\r
- //分解レシピを追加します\r
- ChemiCraftAPI.instance.addDecompositionRecipe(new ItemStack(Block.dirt, 1, 0), new ItemStack[]{new ItemStack(Block.stone, 16, 0)});\r
-\r
//Textureをpreloadします\r
proxy.registerTextures();\r
+\r
+ //化学作業台類のレシピを追加します\r
+ GameRegistry.addRecipe(new ItemStack(this.blockDecompositionTable),\r
+ new Object[]{\r
+ "XYX", "ZAZ", "ZZZ",\r
+ new Character('X'), new ItemStack(Item.ingotIron),\r
+ new Character('Y'), new ItemStack(Block.workbench),\r
+ new Character('Z'), new ItemStack(Block.stone),\r
+ new Character('A'), new ItemStack(Block.tnt),\r
+ });\r
+ GameRegistry.addRecipe(new ItemStack(this.blockChemicalCombinationTable),\r
+ new Object[]{\r
+ "XYX", "ZAZ", "ZZZ",\r
+ new Character('X'), new ItemStack(Item.ingotIron),\r
+ new Character('Y'), new ItemStack(Block.workbench),\r
+ new Character('Z'), new ItemStack(Block.stone),\r
+ new Character('A'), new ItemStack(Block.obsidian),\r
+ });\r
+ GameRegistry.addRecipe(new ItemStack(this.blockToolAndWeaponCraftingTable),\r
+ new Object[]{\r
+ "XYX", "ZAZ", "ZZZ",\r
+ new Character('X'), new ItemStack(Item.ingotIron),\r
+ new Character('Y'), new ItemStack(Block.workbench),\r
+ new Character('Z'), new ItemStack(Block.stone),\r
+ new Character('A'), new ItemStack(Item.pickaxeSteel),\r
+ });\r
+ GameRegistry.addRecipe(new ItemStack(this.blockMaterialCraftingTable),\r
+ new Object[]{\r
+ "XYX", "ZAZ", "ZZZ",\r
+ new Character('X'), new ItemStack(Item.ingotIron),\r
+ new Character('Y'), new ItemStack(Block.workbench),\r
+ new Character('Z'), new ItemStack(Block.stone),\r
+ new Character('A'), new ItemStack(this.itemAtoms, 1, 0),\r
+ });\r
+\r
+ //手榴弾の追加\r
+ ChemiCraftAPI.instance.addMaterialRecipe(new ItemStack[]{new ItemStack(Item.gunpowder)}, new ItemStack(this.itemAtomGrenade, 16, 0), new NBTRecipeGrenade());\r
+\r
+ }\r
+\r
+ private void apiProcessing(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
}\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
+\r
}
\ No newline at end of file