OSDN Git Service

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