OSDN Git Service

98ee592ed9719133c7c403875685102b3d75576c
[chemicraft/chemicraft.git] / common / chemicraft / ChemiCraft.java
1 package chemicraft;\r
2 \r
3 import net.minecraft.src.Block;\r
4 import net.minecraft.src.CreativeTabs;\r
5 import net.minecraft.src.Item;\r
6 import net.minecraft.src.ItemStack;\r
7 import net.minecraft.src.Material;\r
8 import net.minecraftforge.common.Configuration;\r
9 import net.minecraftforge.common.Property;\r
10 import chemicraft.block.BlockChemicalCombinationTable;\r
11 import chemicraft.block.BlockChemicalCraftingTable;\r
12 import chemicraft.block.BlockDecompositionTable;\r
13 import chemicraft.block.BlockToolAndWeaponCraftingTable;\r
14 import chemicraft.debug.CommandDeleteItem;\r
15 import chemicraft.debug.CommandGenDebugRoom;\r
16 import chemicraft.debug.CommandSetTile;\r
17 import chemicraft.entity.EntityAtomsGrenade;\r
18 import chemicraft.item.ItemAtoms;\r
19 import chemicraft.item.ItemAtomsGrenade;\r
20 import chemicraft.item.ItemCompounds;\r
21 import chemicraft.item.ItemGasCollectingBottle;\r
22 import chemicraft.system.CommonProxy;\r
23 import chemicraft.system.PacketHandler;\r
24 import chemicraft.tileentity.TileEntityChemicalCombinationTable;\r
25 import chemicraft.tileentity.TileEntityChemicalCraftingTable;\r
26 import chemicraft.tileentity.TileEntityDecompositionTable;\r
27 import chemicraft.tileentity.TileEntityToolAndWeaponCraftingTable;\r
28 import chemicraft.util.Auxiliary;\r
29 import chemicraft.util.Auxiliary.ArrayAuxiliary;\r
30 import chemicraft.util.Auxiliary.NameAuxiliary;\r
31 import chemicraft.util.CreativeTabAtoms;\r
32 import chemicraft.util.NBTRecipeGrenade;\r
33 import cpw.mods.fml.common.Mod;\r
34 import cpw.mods.fml.common.SidedProxy;\r
35 import cpw.mods.fml.common.event.FMLPostInitializationEvent;\r
36 import cpw.mods.fml.common.event.FMLPreInitializationEvent;\r
37 import cpw.mods.fml.common.event.FMLServerStartingEvent;\r
38 import cpw.mods.fml.common.network.NetworkMod;\r
39 import cpw.mods.fml.common.network.NetworkRegistry;\r
40 import cpw.mods.fml.common.registry.EntityRegistry;\r
41 import cpw.mods.fml.common.registry.GameRegistry;\r
42 \r
43 /**\r
44  * ChemiCraft本体\r
45  * @author P.C.C.\r
46  *\r
47  */\r
48 @Mod(modid = "chemiCraft", name = "ChemiCraft", version = "beta")\r
49 // ID,名前,バージョン\r
50 @NetworkMod(clientSideRequired = true, serverSideRequired = false, versionBounds = "1.3.2", channels = "chemicraft", packetHandler = PacketHandler.class)\r
51 // クライアント、サーバー共に必要 1.3.2用\r
52 public class ChemiCraft {\r
53 \r
54         public static final String[] ATOMSNAME = {\r
55                 "Hydrogen", "Helium", "Lithium", "Beryllium", "Boron", "Carbon", "Nitrogen", "Oxygen", "Fluorine", "Neon", "Sodium", "Magnesium", "Aluminium", "Silicon",\r
56                 "Phosphorus", "Sulfur", "Chlorine", "Argon", "Potassium", "Calcium", "Scandium", "Titanium", "Vanadium", "Chromium", "Manganese", "Iron", "Cobalt", "Nickel", "Copper", "Zinc", "Gallium",\r
57                 "Germanium", "Arsenic", "Selenium", "Bromine", "Krypton", "Rubidium", "Strontium", "Yttorium", "Zirconium", "Niobium", "Molybdenum", "Technetium", "Ruthenium", "Rhodium", "Palladium",\r
58                 "Silver", "Cadmium", "Indium", "Tin", "Antimony", "Tellurium", "Iodine", "Xenon", "Caesium", "Barium", "Lanthanum", "Cerium", "Praseodymium", "Neodymium", "Promethium", "Samarium",\r
59                 "Europium", "Gadolinium", "Terbium", "Dysprosium", "Holmium", "Erbium", "Thulium", "Ytterbium", "Lutetium", "Hafnium", "Tantalum", "Tungsten", "Rhenium", "Osmium", "Iridium", "Platinum",\r
60                 "Gold", "Mercury", "Thallium", "Lead", "Bismuth", "Polonium", "Astatine", "Radon", "Francium", "Radium", "Actinium", "Thorium", "Protactinium", "Uranium", "Neptunium", "Plutonium",\r
61                 "Americium", "Curium", "Berkelium", "Californium", "Einsteinium", "Fermium", "Mendelevium", "Nobelium", "Lawrencium", "Rutherfordium", "Dubnium", "Seaborgium", "Bohrium", "Hassium",\r
62                 "Meitnerium", "Darmstadtium", "Roentgenium", "Copernicium", "Ununtrium", "Ununquadium", "Ununpentium", "Ununhexium", "Ununseptium", "Ununoctium" };\r
63 \r
64         public static final String[] ATOMSNAMEJP = {\r
65                 "水素", "ヘリウム", "リチウム", "ベリウム", "ホウ素", "炭素", "窒素", "酸素", "フッ素", "ネオン", "ナトリウム", "マグネシウム", "アルミニウム", "ケイ素", "リン", "硫黄", "塩素", "アルゴン", "カリウム", "カルシウム", "スカンジウム",\r
66                 "チタン", "バナジウム", "クロム", "マンガン", "鉄", "コバルト", "ニッケル", "銅", "亜鉛", "ガリウム", "ゲルマニウム", "ヒ素", "セレン", "臭素", "クリプトン", "ルビジウム", "ストロンチウム", "イットリウム", "ジルコニウム", "ニオブ", "モリブデン", "テクネチウム", "ルテニウム",\r
67                 "ロジウム", "パラジウム", "銀", "カドミウム", "インジウム", "スズ", "アンチモン", "テルル", "ヨウ素", "キセノン", "セシウム", "バリウム", "ランタン", "セリウム", "プラセオジム", "ネオジム", "プロメチウム", "サマリウム", "ユウロビウム", "ガドリニウム", "テルビウム", "ジスプロニウム",\r
68                 "ホルミウム", "エルビウム", "ツリウム", "イッテルビウム", "ルテチウム", "ハフニウム", "タンタル", "タングステン", "レニウム", "オスミウム", "イリジウム", "白金", "金", "水銀", "タリウム", "鉛", "ビスマス", "ポロニウム", "アスタチン", "ラドン", "フランシウム", "ラジウム",\r
69                 "アクチニウム", "トリウム", "プロトアクチウム", "ウラン", "ネプツニウム", "プルトニウム", "アメリシウム", "キュリウム", "バークリウム", "カルホルニウム", "アインスタイニウム", "フェルミウム", "メンデレビウム", "ノーベリウム", "ローレンシウム", "ラサホージウム", "ドブニウム", "シーボーギウム",\r
70                 "ボーリウム", "ハッシウム", "マイトネリウム", "ダームスタチウム", "レントゲニウム", "コペルニシウム", "ウンウントリウム", "ウンウンクアジウム", "ウンウンペンチウム", "ウンウンヘキシウム", "ウンウンセプチウム", "ウンウンオクチウム" };\r
71 \r
72         /**\r
73          * このmodのインスタンス\r
74          */\r
75         @Mod.Instance("chemiCraft")\r
76         public static ChemiCraft instance;\r
77 \r
78         /**\r
79          * ChemiCraftのProxy.\r
80          */\r
81         @SidedProxy(clientSide = "chemicraft.client.ClientProxy", serverSide = "chemicraft.system.CommonProxy")\r
82         public static CommonProxy proxy;\r
83 \r
84         /**\r
85          * ChemiCraftのCreativeTab.\r
86          */\r
87         public static final CreativeTabs creativeTab = new CreativeTabAtoms("ChemiCraft");\r
88 \r
89         /**\r
90          * ItemID.\r
91          */\r
92         public int atomsID;\r
93         public int compoundsID;\r
94         public int gasCollectingBottleID;\r
95         public int atomGrenadeID;\r
96 \r
97         /**\r
98          * BlockID.\r
99          */\r
100         public int decompositionTableID;\r
101         public int chemicalConbinationTableID;\r
102         public int toolAndWeaponCraftingTableID;\r
103         public int chemicalCraftingTableID;\r
104 \r
105         /**\r
106          * GUIID.\r
107          */\r
108         public int guiDecompositionTableID;\r
109         public int guiChemicalCombinationTableID;\r
110         public int guiToolAndWeaponCraftingTableID;\r
111         public int guiChemicalCraftingTableID;\r
112 \r
113         /**\r
114          * Block型変数.\r
115          */\r
116         public Block blockDecompositionTable;\r
117         public Block blockChemicalCombinationTable;\r
118         public Block blockToolAndWeaponCraftingTable;\r
119         public Block blockChemicalCraftingTable;\r
120 \r
121         /**\r
122          * Item型変数.\r
123          */\r
124         public Item itemAtoms;\r
125         public Item itemCompounds;\r
126         public Item itemGasCollectingBottle;\r
127         public Item itemAtomGrenade;\r
128 \r
129         /**\r
130          * このmodで使用するTextureのパス.\r
131          */\r
132         public String itemAtomsTexture = "/chemicraft/items/Atoms.png";\r
133         public String itemCompoundsTexture = "/chemicraft/items/Compounds.png";\r
134         public String itemTexture = "/chemicraft/items/items.png";\r
135         public String blockChemicalCraftingTableTexture = "/chemicraft/blocks/CCTable.png";\r
136         public String guiDecompositionTexture = "/chemicraft/guis/Decomposition.png";\r
137         public String guiChemicalCombinationTexture = "/chemicraft/guis/ChemicalCombination.png";\r
138         public String guiToolAndWeaponCraftingTexture = "/chemicraft/guis/ToolAndWeaponCrafting.png";\r
139         public String guiChemicalCraftingTexture = "/chemicraft/guis/MaterialCrafting.png";\r
140 \r
141         /**\r
142          * このmodに必要な補助クラスのインスタンス.\r
143          */\r
144         public Auxiliary auxiliary = new Auxiliary();\r
145         public NameAuxiliary nameAuxiliary = new NameAuxiliary();\r
146         public ArrayAuxiliary arrayAuxiliary = new ArrayAuxiliary();\r
147 \r
148         private ChemiCraftAPI api = ChemiCraftAPI.getInstance();\r
149 \r
150         @Mod.PreInit\r
151         public void chemiPreLoadMethod(final FMLPreInitializationEvent event) {\r
152                 Configuration cfg = new Configuration(event.getSuggestedConfigurationFile());\r
153                 cfg.load();\r
154 \r
155                 Property decompositionTableIDProp = cfg.getBlock("DecompositionTable", 2400);\r
156                 Property chemicalCombinationTableIDProp = cfg.getBlock("ChemicalCombinationID", 2401);\r
157                 Property toolAndWeaponCraftingTableIDProp = cfg.getBlock("ToolAndWeaponCraftingTableID", 2402);\r
158                 Property chemicalCraftingTableIDProp = cfg.getBlock("ChemicalCraftingTableID", 2403);\r
159 \r
160                 Property atomsIDProp = cfg.getItem("AtomsID", 25000);\r
161                 Property compoundsIDProp = cfg.getItem("CompoundsID", 25001);\r
162                 Property gasCollectingBottleIDProp = cfg.getItem("gasCollectingBottleID", 25002);\r
163                 Property atomGrenadeIDProp = cfg.getItem("AtomGrenadeID", 25003);\r
164 \r
165                 Property guiDecompositionTableIDProp = cfg.get("GUI", "GUIChemicalCraftingTableID", 1000);\r
166                 Property guiChemicalCombinationTableIDProp = cfg.get("GUI", "GUIChemicalCombinationTableID", 1001);\r
167                 Property guiToolAndWeaponCraftingTableIDProp = cfg.get("GUI", "GUIToolAndWeaponCraftingTableID", 1002);\r
168                 Property guiChemicalCraftingTableIDProp = cfg.get("GUI", "GUIChemicalCraftingTableID", 1003);\r
169 \r
170 \r
171                 this.decompositionTableID = decompositionTableIDProp.getInt();\r
172                 this.chemicalConbinationTableID = chemicalCombinationTableIDProp.getInt();\r
173                 this.toolAndWeaponCraftingTableID = toolAndWeaponCraftingTableIDProp.getInt();\r
174                 this.chemicalCraftingTableID = chemicalCraftingTableIDProp.getInt();\r
175                 this.atomsID = atomsIDProp.getInt();\r
176                 this.compoundsID = compoundsIDProp.getInt();\r
177                 this.gasCollectingBottleID = gasCollectingBottleIDProp.getInt();\r
178                 this.atomGrenadeID = atomGrenadeIDProp.getInt();\r
179                 this.guiDecompositionTableID = guiDecompositionTableIDProp.getInt();\r
180                 this.guiChemicalCombinationTableID = guiChemicalCombinationTableIDProp.getInt();\r
181                 this.guiToolAndWeaponCraftingTableID = guiToolAndWeaponCraftingTableIDProp.getInt();\r
182                 this.guiChemicalCraftingTableID = guiChemicalCraftingTableIDProp.getInt();\r
183 \r
184                 cfg.save();\r
185 \r
186                 // 描画関係の読み込み\r
187                 proxy.registerRenderInformation();\r
188         }\r
189 \r
190         @Mod.ServerStarting\r
191         public void serverStarting(final FMLServerStartingEvent event) {\r
192                 event.registerServerCommand(new CommandSetTile());\r
193                 event.registerServerCommand(new CommandDeleteItem());\r
194                 event.registerServerCommand(new CommandGenDebugRoom());\r
195         }\r
196 \r
197         @Mod.PostInit\r
198         public void chemiPostLoadMethod(final FMLPostInitializationEvent event) {\r
199                 this.settingProcessing(event);\r
200                 this.apiProcessing(event);\r
201                 this.debug(event);\r
202         }\r
203 \r
204         private void settingProcessing(final FMLPostInitializationEvent event) {\r
205 \r
206                 // Blockを追加します\r
207                 this.blockDecompositionTable = new BlockDecompositionTable(this.decompositionTableID, 0, Material.ground).\r
208                                 setHardness(2.0F).\r
209                                 setResistance(0.0F).\r
210                                 setStepSound(Block.soundStoneFootstep).\r
211                                 setBlockName("DecompositionTable");\r
212                 this.blockChemicalCombinationTable = new BlockChemicalCombinationTable(this.chemicalConbinationTableID, 0, Material.ground).\r
213                                 setHardness(2.0F).\r
214                                 setResistance(0.0F).\r
215                                 setStepSound(Block.soundStoneFootstep).\r
216                                 setBlockName("ChemicalCombinationTable");\r
217                 this.blockToolAndWeaponCraftingTable = new BlockToolAndWeaponCraftingTable(this.toolAndWeaponCraftingTableID, 0, Material.ground).\r
218                                 setHardness(2.0F).\r
219                                 setResistance(0.0F).\r
220                                 setStepSound(Block.soundStoneFootstep).\r
221                                 setBlockName("ToolAndWeaponCraftingTable");\r
222                 this.blockChemicalCraftingTable = new BlockChemicalCraftingTable(chemicalCraftingTableID, 0, Material.ground).\r
223                                 setHardness(2.0F).\r
224                                 setResistance(0.0F).\r
225                                 setStepSound(Block.soundStoneFootstep).\r
226                                 setBlockName("ChemicalCraftingTable");\r
227 \r
228 \r
229                 // Itemを追加します\r
230                 this.itemAtoms = new ItemAtoms(this.atomsID).setItemName("atoms");\r
231                 this.itemCompounds = new ItemCompounds(this.compoundsID).setItemName("compounds");\r
232                 this.itemGasCollectingBottle = new ItemGasCollectingBottle(this.gasCollectingBottleID).setItemName("gasCollectingBottle").setIconIndex(0);\r
233                 this.itemAtomGrenade = new ItemAtomsGrenade(this.atomGrenadeID).setItemName("grenade").setIconIndex(1);\r
234 \r
235                 // BlockをMinecraftに登録します\r
236                 GameRegistry.registerBlock(this.blockDecompositionTable);\r
237                 GameRegistry.registerBlock(this.blockChemicalCombinationTable);\r
238                 GameRegistry.registerBlock(this.blockToolAndWeaponCraftingTable);\r
239                 GameRegistry.registerBlock(this.blockChemicalCraftingTable);\r
240 \r
241                 // Blockの名前を設定します\r
242                 this.nameAuxiliary.addName(this.blockDecompositionTable, "DecompositionTable");\r
243                 this.nameAuxiliary.addName(this.blockDecompositionTable, "ja_JP", "分解台");\r
244                 this.nameAuxiliary.addName(this.blockChemicalCombinationTable, "ChemicalCombinationTable");\r
245                 this.nameAuxiliary.addName(this.blockChemicalCombinationTable, "ja_JP", "化合台");\r
246                 this.nameAuxiliary.addName(blockToolAndWeaponCraftingTable, "ToolAndWeaponCraftingTable");\r
247                 this.nameAuxiliary.addName(blockToolAndWeaponCraftingTable, "ja_JP", "ツール&武器製作台");\r
248                 this.nameAuxiliary.addName(blockChemicalCraftingTable, "ChemicalCraftingTable");\r
249                 this.nameAuxiliary.addName(blockChemicalCraftingTable, "ja_JP", "素材製作台");\r
250 \r
251 \r
252                 // Itemの名前を設定します\r
253                 this.nameAuxiliary.addName(this.itemAtoms, ATOMSNAME);\r
254                 this.nameAuxiliary.addName(this.itemAtoms, "ja_JP", ATOMSNAMEJP);\r
255                 this.nameAuxiliary.addName(this.itemGasCollectingBottle, "GasCollectingBottle");\r
256                 this.nameAuxiliary.addName(this.itemGasCollectingBottle, "ja_JP", "集気瓶");\r
257                 this.nameAuxiliary.addName(this.itemAtomGrenade, "AtomGrenade");\r
258                 this.nameAuxiliary.addName(this.itemAtomGrenade, "元素手榴弾");\r
259 \r
260                 // TileEntityを追加します\r
261                 GameRegistry.registerTileEntity(TileEntityDecompositionTable.class, "DecompositionTable");\r
262                 GameRegistry.registerTileEntity(TileEntityChemicalCombinationTable.class, "TileEntityChemicalCombinationTable");\r
263                 GameRegistry.registerTileEntity(TileEntityToolAndWeaponCraftingTable.class, "TileEntityToolAndWeaponCraftingTable");\r
264                 GameRegistry.registerTileEntity(TileEntityChemicalCraftingTable.class, "TileEntityChemicalCraftingTable");\r
265 \r
266                 // GUIを追加します\r
267                 NetworkRegistry.instance().registerGuiHandler(instance, proxy);\r
268 \r
269                 //Textureをpreloadします\r
270                 proxy.registerTextures();\r
271 \r
272                 //Entityを追加します\r
273                 EntityRegistry.registerModEntity(EntityAtomsGrenade.class, "EntityAtomGrenade", 1, this, 250, 5, false);\r
274                 EntityRegistry.registerGlobalEntityID(EntityAtomsGrenade.class, "EntityAtomGrenade", 220);\r
275 \r
276                 //化学作業台類のレシピを追加します\r
277                 GameRegistry.addRecipe(new ItemStack(this.blockDecompositionTable),\r
278                                 new Object[]{\r
279                         "XYX", "ZAZ", "ZZZ",\r
280                         Character.valueOf('X'), new ItemStack(Item.ingotIron),\r
281                         Character.valueOf('Y'), new ItemStack(Block.workbench),\r
282                         Character.valueOf('Z'), new ItemStack(Block.stone),\r
283                         Character.valueOf('A'), new ItemStack(Block.tnt),\r
284                 });\r
285                 GameRegistry.addRecipe(new ItemStack(this.blockChemicalCombinationTable),\r
286                                 new Object[]{\r
287                         "XYX", "ZAZ", "ZZZ",\r
288                         Character.valueOf('X'), new ItemStack(Item.ingotIron),\r
289                         Character.valueOf('Y'), new ItemStack(Block.workbench),\r
290                         Character.valueOf('Z'), new ItemStack(Block.stone),\r
291                         Character.valueOf('A'), new ItemStack(Block.obsidian),\r
292                 });\r
293                 GameRegistry.addRecipe(new ItemStack(this.blockToolAndWeaponCraftingTable),\r
294                                 new Object[]{\r
295                         "XYX", "ZAZ", "ZZZ",\r
296                         Character.valueOf('X'), new ItemStack(Item.ingotIron),\r
297                         Character.valueOf('Y'), new ItemStack(Block.workbench),\r
298                         Character.valueOf('Z'), new ItemStack(Block.stone),\r
299                         Character.valueOf('A'), new ItemStack(Item.pickaxeSteel),\r
300                 });\r
301                 GameRegistry.addRecipe(new ItemStack(this.blockChemicalCraftingTable),\r
302                                 new Object[]{\r
303                         "XYX", "ZAZ", "ZZZ",\r
304                         Character.valueOf('X'), new ItemStack(Item.ingotIron),\r
305                         Character.valueOf('Y'), new ItemStack(Block.workbench),\r
306                         Character.valueOf('Z'), new ItemStack(Block.stone),\r
307                         Character.valueOf('A'), new ItemStack(this.itemAtoms, 1, 0),\r
308                 });\r
309 \r
310                 //\r
311                 ChemiCraftAPI.getInstance().addDecompositionRecipe(new ItemStack(Block.dirt), new ItemStack[]{new ItemStack(Block.stone)});\r
312 \r
313                 // 化合物を追加します\r
314                 ChemiCraftAPI.getInstance().addLangCompound("ja_JP", "CarbonMonoxide", "一酸化炭素");\r
315                 ChemiCraftAPI.getInstance().addLangCompound("ja_JP", "CarbonDioxide", "二酸化炭素");\r
316 \r
317                 //手榴弾の追加\r
318                 ChemiCraftAPI.getInstance().addMaterialRecipe(\r
319                                 new ItemStack[]{\r
320                                                 null,\r
321                                                 new ItemStack(Block.stone),\r
322                                                 null,\r
323                                                 new ItemStack(Block.stone),\r
324                                                 new ItemStack(Item.gunpowder),\r
325                                                 new ItemStack(Block.stone),\r
326                                                 null,\r
327                                                 new ItemStack(Block.stone),\r
328                                                 null\r
329                                 },\r
330                                 new ItemStack(this.itemAtomGrenade, 16, 0),\r
331                                 new NBTRecipeGrenade()\r
332                                 );\r
333 \r
334         }\r
335 \r
336         private void apiProcessing(final FMLPostInitializationEvent event) {\r
337                 // API用の処理\r
338                 this.nameAuxiliary.addName(itemCompounds, ChemiCraftAPI.getInstance().getCompoundsName().toArray());\r
339                 this.nameAuxiliary.addName(itemCompounds, "ja_JP", ChemiCraftAPI.getInstance().getCompoundsLangName().toArray());\r
340                 ChemiCraftAPI.getInstance().addCompoundHash(ChemiCraftAPI.getInstance().getCompoundsName().toArray());\r
341         }\r
342 \r
343         private void debug(final FMLPostInitializationEvent event) {\r
344                 //デバッグ処理\r
345                 api.addChemicalCombinationRecipe(\r
346                                 new String[]{HYDROGEN_SIGN, OXYGEN_SIGN},\r
347                                 new Integer[]{2, 1},\r
348                                 new ItemStack(Block.dirt)\r
349                                 );\r
350         }\r
351 \r
352         public static final int HYDROGEN = 0;\r
353         public static final int HELIUM = 1;\r
354         public static final int LITHIUM = 2;\r
355         public static final int BERYLLIUM = 3;\r
356         public static final int BORON = 4;\r
357         public static final int CARBON = 5;\r
358         public static final int NITROGEN = 6;\r
359         public static final int OXYGEN = 7;\r
360         public static final int FLUORINE = 8;\r
361         public static final int NEON = 9;\r
362         public static final int SODIUM = 10;\r
363         public static final int MAGNESIUM = 11;\r
364         public static final int ALMINIUM = 12;\r
365         public static final int SILICON = 13;\r
366         public static final int PHOSPHORUS = 14;\r
367         public static final int SULFUR = 15;\r
368         public static final int CHLORINE = 16;\r
369         public static final int ARGON = 17;\r
370         public static final int POTASSIUM = 18;\r
371         public static final int CALCIUM = 19;\r
372         public static final int SCANDIUM = 20;\r
373         public static final int TITANIUM = 21;\r
374         public static final int VANADIUM = 22;\r
375         public static final int CHROMIUM = 23;\r
376         public static final int MANGANESE = 24;\r
377         public static final int IRON = 25;\r
378         public static final int COBALT = 26;\r
379         public static final int NICKEL = 27;\r
380         public static final int COPPER = 28;\r
381         public static final int ZINC = 29;\r
382         public static final int GALLIUM = 30;\r
383         public static final int GERMANIUM = 31;\r
384         public static final int ARSENIC = 32;\r
385         public static final int SELENIUM = 33;\r
386         public static final int BROMINE = 34;\r
387         public static final int KRYPTON = 35;\r
388         public static final int RUBIDIUM = 36;\r
389         public static final int STRONTIUM = 37;\r
390         public static final int YTTORIUM = 38;\r
391         public static final int ZIRCONIUM = 39;\r
392         public static final int NIOBIUM = 40;\r
393         public static final int MOLYBDENUM = 41;\r
394         public static final int TECHNETIUM = 42;\r
395         public static final int RUTHENIUM = 43;\r
396         public static final int RHODIUM = 44;\r
397         public static final int PALLADIUM = 45;\r
398         public static final int SILVER = 46;\r
399         public static final int CADMIUM = 47;\r
400         public static final int INDIUM = 48;\r
401         public static final int TIN = 49;\r
402         public static final int ANTIMONY = 50;\r
403         public static final int TELLURIUM = 51;\r
404         public static final int IODINE = 52;\r
405         public static final int XENON = 53;\r
406         public static final int CAESIUM = 54;\r
407         public static final int BARIUM = 55;\r
408         public static final int LANTHANUM = 56;\r
409         public static final int CERIUM = 57;\r
410         public static final int PRASEODYMIUM = 58;\r
411         public static final int NEODYMIUM = 59;\r
412         public static final int PROMETHIUM = 60;\r
413         public static final int SAMARIUM = 61;\r
414         public static final int EUROPIUM = 62;\r
415         public static final int GADOLINIUM = 63;\r
416         public static final int TERBIUM = 64;\r
417         public static final int DYSPROSIUM = 65;\r
418         public static final int HOLMIUM = 66;\r
419         public static final int ERBIUM = 67;\r
420         public static final int THULIUM = 68;\r
421         public static final int YTTERBIUM = 69;\r
422         public static final int LUTETIUM = 70;\r
423         public static final int HAFNIUM = 71;\r
424         public static final int TANTALUM = 72;\r
425         public static final int TUNGSTEN = 73;\r
426         public static final int RHENIUM = 74;\r
427         public static final int OSMIUM = 75;\r
428         public static final int IRIDIUM = 76;\r
429         public static final int PLATINUM = 77;\r
430         public static final int GOLD = 78;\r
431         public static final int MERCURY = 79;\r
432         public static final int THALLIUM = 80;\r
433         public static final int LEAD = 81;\r
434         public static final int BISMUTH = 82;\r
435         public static final int POLONIUM = 83;\r
436         public static final int ASTATINE = 84;\r
437         public static final int RADON = 85;\r
438         public static final int FRANCIUM = 86;\r
439         public static final int RADIUM = 87;\r
440         public static final int ACTINIUM = 88;\r
441         public static final int THORIUM = 89;\r
442         public static final int PROTACTINIUM = 90;\r
443         public static final int URANIUM = 91;\r
444         public static final int NEPTUNIUM = 92;\r
445         public static final int PLUTONIUM = 93;\r
446         public static final int AMERICIUM = 94;\r
447         public static final int CURIUM = 95;\r
448         public static final int BERKELIUM = 96;\r
449         public static final int CALIforNIUM = 97;\r
450         public static final int EINSTEINIUM = 98;\r
451         public static final int FERMIUM = 99;\r
452         public static final int MENDILEVIUM = 100;\r
453         public static final int NOBELIUM = 101;\r
454         public static final int LAWRENCIUM = 102;\r
455         public static final int RUTHERforDIUM = 103;\r
456         public static final int DUBNIUM = 104;\r
457         public static final int SEABORGIUM = 105;\r
458         public static final int BOHRIUM = 106;\r
459         public static final int HASSIUM = 107;\r
460         public static final int MEITNERIUM = 108;\r
461         public static final int DARMSTADTIUM = 109;\r
462         public static final int ROENTGENIUM = 110;\r
463         public static final int COPERNICIUM = 111;\r
464         public static final int UNUNTRIUM = 112;\r
465         public static final int UNUNQUADIUM = 113;\r
466         public static final int UNUNPENTIUM = 114;\r
467         public static final int UNUNHEXIUM = 115;\r
468         public static final int UNUNSEPTIUM = 116;\r
469         public static final int UNUNOCTIUM = 117;\r
470 \r
471         public static final String HYDROGEN_SIGN = "H";\r
472         public static final String HELIUM_SIGN = "He";\r
473         public static final String LITHIUM_SIGN = "Li";\r
474         public static final String BERYLLIUM_SIGN = "Be";\r
475         public static final String BORON_SIGN = "B";\r
476         public static final String CARBON_SIGN = "C";\r
477         public static final String NITROGEN_SIGN = "N";\r
478         public static final String OXYGEN_SIGN = "O";\r
479         public static final String FLUORINE_SIGN = "F";\r
480         public static final String NEON_SIGN = "Ne";\r
481         public static final String SODIUM_SIGN = "Na";\r
482         public static final String MAGNESIUM_SIGN = "Mg";\r
483         public static final String ALMINIUM_SIGN = "Al";\r
484         public static final String SILICON_SIGN = "Si";\r
485         public static final String PHOSPHORUS_SIGN = "P";\r
486         public static final String SULFUR_SIGN = "S";\r
487         public static final String CHLORINE_SIGN = "Cl";\r
488         public static final String ARGON_SIGN = "Ar";\r
489         public static final String POTASSIUM_SIGN = "K";\r
490         public static final String CALCIUM_SIGN = "Ca";\r
491         public static final String SCANDIUM_SIGN = "Sc";\r
492         public static final String TITANIUM_SIGN = "Ti";\r
493         public static final String VANADIUM_SIGN = "V";\r
494         public static final String CHROMIUM_SIGN = "Cr";\r
495         public static final String MANGANESE_SIGN = "Mn";\r
496         public static final String IRON_SIGN = "Fe";\r
497         public static final String COBALT_SIGN = "Co";\r
498         public static final String NICKEL_SIGN = "Ni";\r
499         public static final String COPPER_SIGN = "Cu";\r
500         public static final String ZINC_SIGN = "Zn";\r
501         public static final String GALLIUM_SIGN = "Ga";\r
502         public static final String GERMANIUM_SIGN = "Ge";\r
503         public static final String ARSENIC_SIGN = "As";\r
504         public static final String SELENIUM_SIGN = "Se";\r
505         public static final String BROMINE_SIGN = "Br";\r
506         public static final String KRYPTON_SIGN = "Kr";\r
507         public static final String RUBIDIUM_SIGN = "Rb";\r
508         public static final String STRONTIUM_SIGN = "Sr";\r
509         public static final String YTTORIUM_SIGN = "Y";\r
510         public static final String ZIRCONIUM_SIGN = "Zr";\r
511         public static final String NIOBIUM_SIGN = "Nb";\r
512         public static final String MOLYBDENUM_SIGN = "Mo";\r
513         public static final String TECHNETIUM_SIGN = "Tc";\r
514         public static final String RUTHENIUM_SIGN = "Ru";\r
515         public static final String RHODIUM_SIGN = "Rh";\r
516         public static final String PALLADIUM_SIGN = "Pd";\r
517         public static final String SILVER_SIGN = "Ag";\r
518         public static final String CADMIUM_SIGN = "Cd";\r
519         public static final String INDIUM_SIGN = "In";\r
520         public static final String TIN_SIGN = "Sn";\r
521         public static final String ANTIMONY_SIGN = "Sb";\r
522         public static final String TELLURIUM_SIGN = "Te";\r
523         public static final String IODINE_SIGN = "I";\r
524         public static final String XENON_SIGN = "Xe";\r
525         public static final String CAESIUM_SIGN = "Cs";\r
526         public static final String BARIUM_SIGN = "Ba";\r
527         public static final String LANTHANUM_SIGN = "La";\r
528         public static final String CERIUM_SIGN = "Ce";\r
529         public static final String PRASEODYMIUM_SIGN = "Pr";\r
530         public static final String NEODYMIUM_SIGN = "Nd";\r
531         public static final String PROMETHIUM_SIGN = "Pm";\r
532         public static final String SAMARIUM_SIGN = "Sm";\r
533         public static final String EUROPIUM_SIGN = "Eu";\r
534         public static final String GADOLINIUM_SIGN = "Gd";\r
535         public static final String TERBIUM_SIGN = "Tb";\r
536         public static final String DYSPROSIUM_SIGN = "Dy";\r
537         public static final String HOLMIUM_SIGN = "Ho";\r
538         public static final String ERBIUM_SIGN = "Er";\r
539         public static final String THULIUM_SIGN = "Tm";\r
540         public static final String YTTERBIUM_SIGN = "Yb";\r
541         public static final String LUTETIUM_SIGN = "Lu";\r
542         public static final String HAFNIUM_SIGN = "Hf";\r
543         public static final String TANTALUM_SIGN = "Ta";\r
544         public static final String TUNGSTEN_SIGN = "W";\r
545         public static final String RHENIUM_SIGN = "Re";\r
546         public static final String OSMIUM_SIGN = "Os";\r
547         public static final String IRIDIUM_SIGN = "Ir";\r
548         public static final String PLATINUM_SIGN = "Pt";\r
549         public static final String GOLD_SIGN = "Au";\r
550         public static final String MERCURY_SIGN = "Hg";\r
551         public static final String THALLIUM_SIGN = "Tl";\r
552         public static final String LEAD_SIGN = "Pb";\r
553         public static final String BISMUTH_SIGN = "Bi";\r
554         public static final String POLONIUM_SIGN = "Po";\r
555         public static final String ASTATINE_SIGN = "At";\r
556         public static final String RADON_SIGN = "Rn";\r
557         public static final String FRANCIUM_SIGN = "Fr";\r
558         public static final String RADIUM_SIGN = "Ra";\r
559         public static final String ACTINIUM_SIGN = "Ac";\r
560         public static final String THORIUM_SIGN = "Th";\r
561         public static final String PROTACTINIUM_SIGN = "Pa";\r
562         public static final String URANIUM_SIGN = "U";\r
563         public static final String NEPTUNIUM_SIGN = "Np";\r
564         public static final String PLUTONIUM_SIGN = "Pu";\r
565         public static final String AMERICIUM_SIGN = "Am";\r
566         public static final String CURIUM_SIGN = "Cm";\r
567         public static final String BERKELIUM_SIGN = "Bk";\r
568         public static final String CALIforNIUM_SIGN = "Cf";\r
569         public static final String EINSTEINIUM_SIGN = "Es";\r
570         public static final String FERMIUM_SIGN = "Fm";\r
571         public static final String MENDILEVIUM_SIGN = "Md";\r
572         public static final String NOBELIUM_SIGN = "No";\r
573         public static final String LAWRENCIUM_SIGN = "Lr";\r
574         public static final String RUTHERforDIUM_SIGN = "Rf";\r
575         public static final String DUBNIUM_SIGN = "Db";\r
576         public static final String SEABORGIUM_SIGN = "Sg";\r
577         public static final String BOHRIUM_SIGN = "Bh";\r
578         public static final String HASSIUM_SIGN = "Hs";\r
579         public static final String MEITNERIUM_SIGN = "Mt";\r
580         public static final String DARMSTADTIUM_SIGN = "Ds";\r
581         public static final String ROENTGENIUM_SIGN = "Rg";\r
582         public static final String COPERNICIUM_SIGN = "Cn";\r
583         public static final String UNUNTRIUM_SIGN = "Uut";\r
584         public static final String UNUNQUADIUM_SIGN = "Uuq";\r
585         public static final String UNUNPENTIUM_SIGN = "Uup";\r
586         public static final String UNUNHEXIUM_SIGN = "Uuh";\r
587         public static final String UNUNSEPTIUM_SIGN = "Uus";\r
588         public static final String UNUNOCTIUM_SIGN = "Uuo";\r
589 \r
590         public static final String[] ATOMSLIST = {\r
591                 "H",  "He",  "Li",  "Be",  "B",  "C",  "N",  "O",  "F",  "Ne",\r
592                 "Na",  "Mg",  "Al",  "Si",  "P",  "S",  "Cl",  "Ar",  "K",  "Ca",\r
593                 "Sc",  "Ti",  "V",  "Cr",  "Mn",  "Fe",  "Co",  "Ni",  "Cu",  "Zn",\r
594                 "Ga",  "Ge", "As", "Se", "Br", "Kr", "Rb", "Sr", "Y", "Zr",\r
595                 "Nb", "Mo", "Tc", "Ru", "Rh", "Pd", "Ag", "Cd", "In", "Sn",\r
596                 "Sb", "Te", "I", "Xe", "Cs", "Ba", "La", "Ce", "Pr", "Pm",\r
597                 "Sm", "Eu", "Gd", "Tb", "Dy", "Ho", "Er", "Tm", "Yb", "Lu",\r
598                 "Hf", "Ta", "W", "Re", "Os", "Ir", "Pt", "Au", "Hg", "Tl",\r
599                 "Pb", "Bi", "Po", "At", "Rn", "Fr", "Ra", "Ac", "Th", "Pa",\r
600                 "U", "Np", "Pu", "Am", "Cm", "Bk", "Cf", "Es", "Fm", "Md",\r
601                 "No", "Lr", "Rf", "Db", "Sg", "Bh", "Hs", "Mt", "Ds", "Rg",\r
602                 "Cn", "Uut", "Uuq", "Uup", "Uuh", "Uus", "Uuo"\r
603         };\r
604 \r
605 }