OSDN Git Service

Merge branch 'master' of https://scm.sourceforge.jp/gitroot/chemicraft/chemicraft
[chemicraft/chemicraft.git] / common / chemicraft / ChemiCraft.java
index fa5465e..fe7ebf5 100644 (file)
@@ -11,12 +11,14 @@ import chemicraft.block.BlockChemicalCombinationTable;
 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.EntityAtomGrenade;\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
@@ -47,7 +49,7 @@ import cpw.mods.fml.common.registry.GameRegistry;
  */\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
@@ -146,6 +148,7 @@ public class ChemiCraft {
        public ArrayAuxiliary arrayAuxiliary = new ArrayAuxiliary();\r
 \r
        private ChemiCraftAPI api = ChemiCraftAPI.getInstance();\r
+       private ChemiCraftData chemicalData = new ChemiCraftData();\r
 \r
        @Mod.PreInit\r
        public void chemiPreLoadMethod(final FMLPreInitializationEvent event) {\r
@@ -182,9 +185,6 @@ public class ChemiCraft {
                this.guiChemicalCraftingTableID = guiChemicalCraftingTableIDProp.getInt();\r
 \r
                cfg.save();\r
-\r
-               // 描画関係の読み込み\r
-               proxy.registerRenderInformation();\r
        }\r
 \r
        @Mod.ServerStarting\r
@@ -225,12 +225,11 @@ public class ChemiCraft {
                                setStepSound(Block.soundStoneFootstep).\r
                                setBlockName("ChemicalCraftingTable");\r
 \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
@@ -248,7 +247,6 @@ public class ChemiCraft {
                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
@@ -266,12 +264,8 @@ public class ChemiCraft {
                // GUIを追加します\r
                NetworkRegistry.instance().registerGuiHandler(instance, proxy);\r
 \r
-               //Textureをpreloadします\r
-               proxy.registerTextures();\r
-\r
-               //Entityを追加します\r
-               EntityRegistry.registerModEntity(EntityAtomGrenade.class, "EntityAtomGrenade", 1, this, 250, 5, false);\r
-               EntityRegistry.registerGlobalEntityID(EntityAtomGrenade.class, "EntityAtomGrenade", 220);\r
+               // 描画関係の読み込み\r
+               proxy.registerRenderInformation();\r
 \r
                //化学作業台類のレシピを追加します\r
                GameRegistry.addRecipe(new ItemStack(this.blockDecompositionTable),\r
@@ -307,11 +301,13 @@ public class ChemiCraft {
                        Character.valueOf('A'), new ItemStack(this.itemAtoms, 1, 0),\r
                });\r
 \r
-               //\r
-               ChemiCraftAPI.getInstance().addDecompositionRecipe(new ItemStack(Block.dirt), new ItemStack[]{new ItemStack(Block.stone)});\r
-\r
                // 化合物を追加します\r
+               ChemiCraftAPI.getInstance().addLangCompound("ja_JP", "CarbonMonoxide", "一酸化炭素");\r
                ChemiCraftAPI.getInstance().addLangCompound("ja_JP", "CarbonDioxide", "二酸化炭素");\r
+               ChemiCraftAPI.getInstance().addLangCompound("ja_JP", "Water", "水");\r
+\r
+               //化合物のHandlerを設定します\r
+               ChemiCraftAPI.getInstance().settingCompoundHandler("Water", new CompoundWater());\r
 \r
                //手榴弾の追加\r
                ChemiCraftAPI.getInstance().addMaterialRecipe(\r
@@ -329,275 +325,22 @@ public class ChemiCraft {
                                new ItemStack(this.itemAtomGrenade, 16, 0),\r
                                new NBTRecipeGrenade()\r
                                );\r
-\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
        }\r
 \r
        private void debug(final FMLPostInitializationEvent event) {\r
                //デバッグ処理\r
                api.addChemicalCombinationRecipe(\r
-                               new String[]{HYDROGEN_SIGN, OXYGEN_SIGN},\r
+                               new String[]{ChemiCraftData.HYDROGEN_SIGN, ChemiCraftData.OXYGEN_SIGN},\r
                                new Integer[]{2, 1},\r
                                new ItemStack(Block.dirt)\r
                                );\r
        }\r
 \r
-       public static final int HYDROGEN = 0;\r
-       public static final int HELIUM = 1;\r
-       public static final int LITHIUM = 2;\r
-       public static final int BERYLLIUM = 3;\r
-       public static final int BORON = 4;\r
-       public static final int CARBON = 5;\r
-       public static final int NITROGEN = 6;\r
-       public static final int OXYGEN = 7;\r
-       public static final int FLUORINE = 8;\r
-       public static final int NEON = 9;\r
-       public static final int SODIUM = 10;\r
-       public static final int MAGNESIUM = 11;\r
-       public static final int ALMINIUM = 12;\r
-       public static final int SILICON = 13;\r
-       public static final int PHOSPHORUS = 14;\r
-       public static final int SULFUR = 15;\r
-       public static final int CHLORINE = 16;\r
-       public static final int ARGON = 17;\r
-       public static final int POTASSIUM = 18;\r
-       public static final int CALCIUM = 19;\r
-       public static final int SCANDIUM = 20;\r
-       public static final int TITANIUM = 21;\r
-       public static final int VANADIUM = 22;\r
-       public static final int CHROMIUM = 23;\r
-       public static final int MANGANESE = 24;\r
-       public static final int IRON = 25;\r
-       public static final int COBALT = 26;\r
-       public static final int NICKEL = 27;\r
-       public static final int COPPER = 28;\r
-       public static final int ZINC = 29;\r
-       public static final int GALLIUM = 30;\r
-       public static final int GERMANIUM = 31;\r
-       public static final int ARSENIC = 32;\r
-       public static final int SELENIUM = 33;\r
-       public static final int BROMINE = 34;\r
-       public static final int KRYPTON = 35;\r
-       public static final int RUBIDIUM = 36;\r
-       public static final int STRONTIUM = 37;\r
-       public static final int YTTORIUM = 38;\r
-       public static final int ZIRCONIUM = 39;\r
-       public static final int NIOBIUM = 40;\r
-       public static final int MOLYBDENUM = 41;\r
-       public static final int TECHNETIUM = 42;\r
-       public static final int RUTHENIUM = 43;\r
-       public static final int RHODIUM = 44;\r
-       public static final int PALLADIUM = 45;\r
-       public static final int SILVER = 46;\r
-       public static final int CADMIUM = 47;\r
-       public static final int INDIUM = 48;\r
-       public static final int TIN = 49;\r
-       public static final int ANTIMONY = 50;\r
-       public static final int TELLURIUM = 51;\r
-       public static final int IODINE = 52;\r
-       public static final int XENON = 53;\r
-       public static final int CAESIUM = 54;\r
-       public static final int BARIUM = 55;\r
-       public static final int LANTHANUM = 56;\r
-       public static final int CERIUM = 57;\r
-       public static final int PRASEODYMIUM = 58;\r
-       public static final int NEODYMIUM = 59;\r
-       public static final int PROMETHIUM = 60;\r
-       public static final int SAMARIUM = 61;\r
-       public static final int EUROPIUM = 62;\r
-       public static final int GADOLINIUM = 63;\r
-       public static final int TERBIUM = 64;\r
-       public static final int DYSPROSIUM = 65;\r
-       public static final int HOLMIUM = 66;\r
-       public static final int ERBIUM = 67;\r
-       public static final int THULIUM = 68;\r
-       public static final int YTTERBIUM = 69;\r
-       public static final int LUTETIUM = 70;\r
-       public static final int HAFNIUM = 71;\r
-       public static final int TANTALUM = 72;\r
-       public static final int TUNGSTEN = 73;\r
-       public static final int RHENIUM = 74;\r
-       public static final int OSMIUM = 75;\r
-       public static final int IRIDIUM = 76;\r
-       public static final int PLATINUM = 77;\r
-       public static final int GOLD = 78;\r
-       public static final int MERCURY = 79;\r
-       public static final int THALLIUM = 80;\r
-       public static final int LEAD = 81;\r
-       public static final int BISMUTH = 82;\r
-       public static final int POLONIUM = 83;\r
-       public static final int ASTATINE = 84;\r
-       public static final int RADON = 85;\r
-       public static final int FRANCIUM = 86;\r
-       public static final int RADIUM = 87;\r
-       public static final int ACTINIUM = 88;\r
-       public static final int THORIUM = 89;\r
-       public static final int PROTACTINIUM = 90;\r
-       public static final int URANIUM = 91;\r
-       public static final int NEPTUNIUM = 92;\r
-       public static final int PLUTONIUM = 93;\r
-       public static final int AMERICIUM = 94;\r
-       public static final int CURIUM = 95;\r
-       public static final int BERKELIUM = 96;\r
-       public static final int CALIforNIUM = 97;\r
-       public static final int EINSTEINIUM = 98;\r
-       public static final int FERMIUM = 99;\r
-       public static final int MENDILEVIUM = 100;\r
-       public static final int NOBELIUM = 101;\r
-       public static final int LAWRENCIUM = 102;\r
-       public static final int RUTHERforDIUM = 103;\r
-       public static final int DUBNIUM = 104;\r
-       public static final int SEABORGIUM = 105;\r
-       public static final int BOHRIUM = 106;\r
-       public static final int HASSIUM = 107;\r
-       public static final int MEITNERIUM = 108;\r
-       public static final int DARMSTADTIUM = 109;\r
-       public static final int ROENTGENIUM = 110;\r
-       public static final int COPERNICIUM = 111;\r
-       public static final int UNUNTRIUM = 112;\r
-       public static final int UNUNQUADIUM = 113;\r
-       public static final int UNUNPENTIUM = 114;\r
-       public static final int UNUNHEXIUM = 115;\r
-       public static final int UNUNSEPTIUM = 116;\r
-       public static final int UNUNOCTIUM = 117;\r
-\r
-       public static final String HYDROGEN_SIGN = "H";\r
-       public static final String HELIUM_SIGN = "He";\r
-       public static final String LITHIUM_SIGN = "Li";\r
-       public static final String BERYLLIUM_SIGN = "Be";\r
-       public static final String BORON_SIGN = "B";\r
-       public static final String CARBON_SIGN = "C";\r
-       public static final String NITROGEN_SIGN = "N";\r
-       public static final String OXYGEN_SIGN = "O";\r
-       public static final String FLUORINE_SIGN = "F";\r
-       public static final String NEON_SIGN = "Ne";\r
-       public static final String SODIUM_SIGN = "Na";\r
-       public static final String MAGNESIUM_SIGN = "Mg";\r
-       public static final String ALMINIUM_SIGN = "Al";\r
-       public static final String SILICON_SIGN = "Si";\r
-       public static final String PHOSPHORUS_SIGN = "P";\r
-       public static final String SULFUR_SIGN = "S";\r
-       public static final String CHLORINE_SIGN = "Cl";\r
-       public static final String ARGON_SIGN = "Ar";\r
-       public static final String POTASSIUM_SIGN = "K";\r
-       public static final String CALCIUM_SIGN = "Ca";\r
-       public static final String SCANDIUM_SIGN = "Sc";\r
-       public static final String TITANIUM_SIGN = "Ti";\r
-       public static final String VANADIUM_SIGN = "V";\r
-       public static final String CHROMIUM_SIGN = "Cr";\r
-       public static final String MANGANESE_SIGN = "Mn";\r
-       public static final String IRON_SIGN = "Fe";\r
-       public static final String COBALT_SIGN = "Co";\r
-       public static final String NICKEL_SIGN = "Ni";\r
-       public static final String COPPER_SIGN = "Cu";\r
-       public static final String ZINC_SIGN = "Zn";\r
-       public static final String GALLIUM_SIGN = "Ga";\r
-       public static final String GERMANIUM_SIGN = "Ge";\r
-       public static final String ARSENIC_SIGN = "As";\r
-       public static final String SELENIUM_SIGN = "Se";\r
-       public static final String BROMINE_SIGN = "Br";\r
-       public static final String KRYPTON_SIGN = "Kr";\r
-       public static final String RUBIDIUM_SIGN = "Rb";\r
-       public static final String STRONTIUM_SIGN = "Sr";\r
-       public static final String YTTORIUM_SIGN = "Y";\r
-       public static final String ZIRCONIUM_SIGN = "Zr";\r
-       public static final String NIOBIUM_SIGN = "Nb";\r
-       public static final String MOLYBDENUM_SIGN = "Mo";\r
-       public static final String TECHNETIUM_SIGN = "Tc";\r
-       public static final String RUTHENIUM_SIGN = "Ru";\r
-       public static final String RHODIUM_SIGN = "Rh";\r
-       public static final String PALLADIUM_SIGN = "Pd";\r
-       public static final String SILVER_SIGN = "Ag";\r
-       public static final String CADMIUM_SIGN = "Cd";\r
-       public static final String INDIUM_SIGN = "In";\r
-       public static final String TIN_SIGN = "Sn";\r
-       public static final String ANTIMONY_SIGN = "Sb";\r
-       public static final String TELLURIUM_SIGN = "Te";\r
-       public static final String IODINE_SIGN = "I";\r
-       public static final String XENON_SIGN = "Xe";\r
-       public static final String CAESIUM_SIGN = "Cs";\r
-       public static final String BARIUM_SIGN = "Ba";\r
-       public static final String LANTHANUM_SIGN = "La";\r
-       public static final String CERIUM_SIGN = "Ce";\r
-       public static final String PRASEODYMIUM_SIGN = "Pr";\r
-       public static final String NEODYMIUM_SIGN = "Nd";\r
-       public static final String PROMETHIUM_SIGN = "Pm";\r
-       public static final String SAMARIUM_SIGN = "Sm";\r
-       public static final String EUROPIUM_SIGN = "Eu";\r
-       public static final String GADOLINIUM_SIGN = "Gd";\r
-       public static final String TERBIUM_SIGN = "Tb";\r
-       public static final String DYSPROSIUM_SIGN = "Dy";\r
-       public static final String HOLMIUM_SIGN = "Ho";\r
-       public static final String ERBIUM_SIGN = "Er";\r
-       public static final String THULIUM_SIGN = "Tm";\r
-       public static final String YTTERBIUM_SIGN = "Yb";\r
-       public static final String LUTETIUM_SIGN = "Lu";\r
-       public static final String HAFNIUM_SIGN = "Hf";\r
-       public static final String TANTALUM_SIGN = "Ta";\r
-       public static final String TUNGSTEN_SIGN = "W";\r
-       public static final String RHENIUM_SIGN = "Re";\r
-       public static final String OSMIUM_SIGN = "Os";\r
-       public static final String IRIDIUM_SIGN = "Ir";\r
-       public static final String PLATINUM_SIGN = "Pt";\r
-       public static final String GOLD_SIGN = "Au";\r
-       public static final String MERCURY_SIGN = "Hg";\r
-       public static final String THALLIUM_SIGN = "Tl";\r
-       public static final String LEAD_SIGN = "Pb";\r
-       public static final String BISMUTH_SIGN = "Bi";\r
-       public static final String POLONIUM_SIGN = "Po";\r
-       public static final String ASTATINE_SIGN = "At";\r
-       public static final String RADON_SIGN = "Rn";\r
-       public static final String FRANCIUM_SIGN = "Fr";\r
-       public static final String RADIUM_SIGN = "Ra";\r
-       public static final String ACTINIUM_SIGN = "Ac";\r
-       public static final String THORIUM_SIGN = "Th";\r
-       public static final String PROTACTINIUM_SIGN = "Pa";\r
-       public static final String URANIUM_SIGN = "U";\r
-       public static final String NEPTUNIUM_SIGN = "Np";\r
-       public static final String PLUTONIUM_SIGN = "Pu";\r
-       public static final String AMERICIUM_SIGN = "Am";\r
-       public static final String CURIUM_SIGN = "Cm";\r
-       public static final String BERKELIUM_SIGN = "Bk";\r
-       public static final String CALIforNIUM_SIGN = "Cf";\r
-       public static final String EINSTEINIUM_SIGN = "Es";\r
-       public static final String FERMIUM_SIGN = "Fm";\r
-       public static final String MENDILEVIUM_SIGN = "Md";\r
-       public static final String NOBELIUM_SIGN = "No";\r
-       public static final String LAWRENCIUM_SIGN = "Lr";\r
-       public static final String RUTHERforDIUM_SIGN = "Rf";\r
-       public static final String DUBNIUM_SIGN = "Db";\r
-       public static final String SEABORGIUM_SIGN = "Sg";\r
-       public static final String BOHRIUM_SIGN = "Bh";\r
-       public static final String HASSIUM_SIGN = "Hs";\r
-       public static final String MEITNERIUM_SIGN = "Mt";\r
-       public static final String DARMSTADTIUM_SIGN = "Ds";\r
-       public static final String ROENTGENIUM_SIGN = "Rg";\r
-       public static final String COPERNICIUM_SIGN = "Cn";\r
-       public static final String UNUNTRIUM_SIGN = "Uut";\r
-       public static final String UNUNQUADIUM_SIGN = "Uuq";\r
-       public static final String UNUNPENTIUM_SIGN = "Uup";\r
-       public static final String UNUNHEXIUM_SIGN = "Uuh";\r
-       public static final String UNUNSEPTIUM_SIGN = "Uus";\r
-       public static final String UNUNOCTIUM_SIGN = "Uuo";\r
-\r
-       public static final String[] ATOMSLIST = {\r
-               "H",  "He",  "Li",  "Be",  "B",  "C",  "N",  "O",  "F",  "Ne",\r
-               "Na",  "Mg",  "Al",  "Si",  "P",  "S",  "Cl",  "Ar",  "K",  "Ca",\r
-               "Sc",  "Ti",  "V",  "Cr",  "Mn",  "Fe",  "Co",  "Ni",  "Cu",  "Zn",\r
-               "Ga",  "Ge", "As", "Se", "Br", "Kr", "Rb", "Sr", "Y", "Zr",\r
-               "Nb", "Mo", "Tc", "Ru", "Rh", "Pd", "Ag", "Cd", "In", "Sn",\r
-               "Sb", "Te", "I", "Xe", "Cs", "Ba", "La", "Ce", "Pr", "Pm",\r
-               "Sm", "Eu", "Gd", "Tb", "Dy", "Ho", "Er", "Tm", "Yb", "Lu",\r
-               "Hf", "Ta", "W", "Re", "Os", "Ir", "Pt", "Au", "Hg", "Tl",\r
-               "Pb", "Bi", "Po", "At", "Rn", "Fr", "Ra", "Ac", "Th", "Pa",\r
-               "U", "Np", "Pu", "Am", "Cm", "Bk", "Cf", "Es", "Fm", "Md",\r
-               "No", "Lr", "Rf", "Db", "Sg", "Bh", "Hs", "Mt", "Ds", "Rg",\r
-               "Cn", "Uut", "Uuq", "Uup", "Uuh", "Uus", "Uuo"\r
-       };\r
-\r
 }
\ No newline at end of file