OSDN Git Service

fa5465e40c937bf64b5cc28ad77ccaf5929c31b2
[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.EntityAtomGrenade;\r
18 import chemicraft.item.ItemAtomGrenade;\r
19 import chemicraft.item.ItemAtoms;\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 ItemAtomGrenade(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(EntityAtomGrenade.class, "EntityAtomGrenade", 1, this, 250, 5, false);\r
274                 EntityRegistry.registerGlobalEntityID(EntityAtomGrenade.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", "CarbonDioxide", "二酸化炭素");\r
315 \r
316                 //手榴弾の追加\r
317                 ChemiCraftAPI.getInstance().addMaterialRecipe(\r
318                                 new ItemStack[]{\r
319                                                 null,\r
320                                                 new ItemStack(Block.stone),\r
321                                                 null,\r
322                                                 new ItemStack(Block.stone),\r
323                                                 new ItemStack(Item.gunpowder),\r
324                                                 new ItemStack(Block.stone),\r
325                                                 null,\r
326                                                 new ItemStack(Block.stone),\r
327                                                 null\r
328                                 },\r
329                                 new ItemStack(this.itemAtomGrenade, 16, 0),\r
330                                 new NBTRecipeGrenade()\r
331                                 );\r
332 \r
333         }\r
334 \r
335         private void apiProcessing(final FMLPostInitializationEvent event) {\r
336                 // API用の処理\r
337                 this.nameAuxiliary.addName(itemCompounds, ChemiCraftAPI.getInstance().getCompoundsName().toArray());\r
338                 this.nameAuxiliary.addName(itemCompounds, "ja_JP", ChemiCraftAPI.getInstance().getCompoundsLangName().toArray());\r
339         }\r
340 \r
341         private void debug(final FMLPostInitializationEvent event) {\r
342                 //デバッグ処理\r
343                 api.addChemicalCombinationRecipe(\r
344                                 new String[]{HYDROGEN_SIGN, OXYGEN_SIGN},\r
345                                 new Integer[]{2, 1},\r
346                                 new ItemStack(Block.dirt)\r
347                                 );\r
348         }\r
349 \r
350         public static final int HYDROGEN = 0;\r
351         public static final int HELIUM = 1;\r
352         public static final int LITHIUM = 2;\r
353         public static final int BERYLLIUM = 3;\r
354         public static final int BORON = 4;\r
355         public static final int CARBON = 5;\r
356         public static final int NITROGEN = 6;\r
357         public static final int OXYGEN = 7;\r
358         public static final int FLUORINE = 8;\r
359         public static final int NEON = 9;\r
360         public static final int SODIUM = 10;\r
361         public static final int MAGNESIUM = 11;\r
362         public static final int ALMINIUM = 12;\r
363         public static final int SILICON = 13;\r
364         public static final int PHOSPHORUS = 14;\r
365         public static final int SULFUR = 15;\r
366         public static final int CHLORINE = 16;\r
367         public static final int ARGON = 17;\r
368         public static final int POTASSIUM = 18;\r
369         public static final int CALCIUM = 19;\r
370         public static final int SCANDIUM = 20;\r
371         public static final int TITANIUM = 21;\r
372         public static final int VANADIUM = 22;\r
373         public static final int CHROMIUM = 23;\r
374         public static final int MANGANESE = 24;\r
375         public static final int IRON = 25;\r
376         public static final int COBALT = 26;\r
377         public static final int NICKEL = 27;\r
378         public static final int COPPER = 28;\r
379         public static final int ZINC = 29;\r
380         public static final int GALLIUM = 30;\r
381         public static final int GERMANIUM = 31;\r
382         public static final int ARSENIC = 32;\r
383         public static final int SELENIUM = 33;\r
384         public static final int BROMINE = 34;\r
385         public static final int KRYPTON = 35;\r
386         public static final int RUBIDIUM = 36;\r
387         public static final int STRONTIUM = 37;\r
388         public static final int YTTORIUM = 38;\r
389         public static final int ZIRCONIUM = 39;\r
390         public static final int NIOBIUM = 40;\r
391         public static final int MOLYBDENUM = 41;\r
392         public static final int TECHNETIUM = 42;\r
393         public static final int RUTHENIUM = 43;\r
394         public static final int RHODIUM = 44;\r
395         public static final int PALLADIUM = 45;\r
396         public static final int SILVER = 46;\r
397         public static final int CADMIUM = 47;\r
398         public static final int INDIUM = 48;\r
399         public static final int TIN = 49;\r
400         public static final int ANTIMONY = 50;\r
401         public static final int TELLURIUM = 51;\r
402         public static final int IODINE = 52;\r
403         public static final int XENON = 53;\r
404         public static final int CAESIUM = 54;\r
405         public static final int BARIUM = 55;\r
406         public static final int LANTHANUM = 56;\r
407         public static final int CERIUM = 57;\r
408         public static final int PRASEODYMIUM = 58;\r
409         public static final int NEODYMIUM = 59;\r
410         public static final int PROMETHIUM = 60;\r
411         public static final int SAMARIUM = 61;\r
412         public static final int EUROPIUM = 62;\r
413         public static final int GADOLINIUM = 63;\r
414         public static final int TERBIUM = 64;\r
415         public static final int DYSPROSIUM = 65;\r
416         public static final int HOLMIUM = 66;\r
417         public static final int ERBIUM = 67;\r
418         public static final int THULIUM = 68;\r
419         public static final int YTTERBIUM = 69;\r
420         public static final int LUTETIUM = 70;\r
421         public static final int HAFNIUM = 71;\r
422         public static final int TANTALUM = 72;\r
423         public static final int TUNGSTEN = 73;\r
424         public static final int RHENIUM = 74;\r
425         public static final int OSMIUM = 75;\r
426         public static final int IRIDIUM = 76;\r
427         public static final int PLATINUM = 77;\r
428         public static final int GOLD = 78;\r
429         public static final int MERCURY = 79;\r
430         public static final int THALLIUM = 80;\r
431         public static final int LEAD = 81;\r
432         public static final int BISMUTH = 82;\r
433         public static final int POLONIUM = 83;\r
434         public static final int ASTATINE = 84;\r
435         public static final int RADON = 85;\r
436         public static final int FRANCIUM = 86;\r
437         public static final int RADIUM = 87;\r
438         public static final int ACTINIUM = 88;\r
439         public static final int THORIUM = 89;\r
440         public static final int PROTACTINIUM = 90;\r
441         public static final int URANIUM = 91;\r
442         public static final int NEPTUNIUM = 92;\r
443         public static final int PLUTONIUM = 93;\r
444         public static final int AMERICIUM = 94;\r
445         public static final int CURIUM = 95;\r
446         public static final int BERKELIUM = 96;\r
447         public static final int CALIforNIUM = 97;\r
448         public static final int EINSTEINIUM = 98;\r
449         public static final int FERMIUM = 99;\r
450         public static final int MENDILEVIUM = 100;\r
451         public static final int NOBELIUM = 101;\r
452         public static final int LAWRENCIUM = 102;\r
453         public static final int RUTHERforDIUM = 103;\r
454         public static final int DUBNIUM = 104;\r
455         public static final int SEABORGIUM = 105;\r
456         public static final int BOHRIUM = 106;\r
457         public static final int HASSIUM = 107;\r
458         public static final int MEITNERIUM = 108;\r
459         public static final int DARMSTADTIUM = 109;\r
460         public static final int ROENTGENIUM = 110;\r
461         public static final int COPERNICIUM = 111;\r
462         public static final int UNUNTRIUM = 112;\r
463         public static final int UNUNQUADIUM = 113;\r
464         public static final int UNUNPENTIUM = 114;\r
465         public static final int UNUNHEXIUM = 115;\r
466         public static final int UNUNSEPTIUM = 116;\r
467         public static final int UNUNOCTIUM = 117;\r
468 \r
469         public static final String HYDROGEN_SIGN = "H";\r
470         public static final String HELIUM_SIGN = "He";\r
471         public static final String LITHIUM_SIGN = "Li";\r
472         public static final String BERYLLIUM_SIGN = "Be";\r
473         public static final String BORON_SIGN = "B";\r
474         public static final String CARBON_SIGN = "C";\r
475         public static final String NITROGEN_SIGN = "N";\r
476         public static final String OXYGEN_SIGN = "O";\r
477         public static final String FLUORINE_SIGN = "F";\r
478         public static final String NEON_SIGN = "Ne";\r
479         public static final String SODIUM_SIGN = "Na";\r
480         public static final String MAGNESIUM_SIGN = "Mg";\r
481         public static final String ALMINIUM_SIGN = "Al";\r
482         public static final String SILICON_SIGN = "Si";\r
483         public static final String PHOSPHORUS_SIGN = "P";\r
484         public static final String SULFUR_SIGN = "S";\r
485         public static final String CHLORINE_SIGN = "Cl";\r
486         public static final String ARGON_SIGN = "Ar";\r
487         public static final String POTASSIUM_SIGN = "K";\r
488         public static final String CALCIUM_SIGN = "Ca";\r
489         public static final String SCANDIUM_SIGN = "Sc";\r
490         public static final String TITANIUM_SIGN = "Ti";\r
491         public static final String VANADIUM_SIGN = "V";\r
492         public static final String CHROMIUM_SIGN = "Cr";\r
493         public static final String MANGANESE_SIGN = "Mn";\r
494         public static final String IRON_SIGN = "Fe";\r
495         public static final String COBALT_SIGN = "Co";\r
496         public static final String NICKEL_SIGN = "Ni";\r
497         public static final String COPPER_SIGN = "Cu";\r
498         public static final String ZINC_SIGN = "Zn";\r
499         public static final String GALLIUM_SIGN = "Ga";\r
500         public static final String GERMANIUM_SIGN = "Ge";\r
501         public static final String ARSENIC_SIGN = "As";\r
502         public static final String SELENIUM_SIGN = "Se";\r
503         public static final String BROMINE_SIGN = "Br";\r
504         public static final String KRYPTON_SIGN = "Kr";\r
505         public static final String RUBIDIUM_SIGN = "Rb";\r
506         public static final String STRONTIUM_SIGN = "Sr";\r
507         public static final String YTTORIUM_SIGN = "Y";\r
508         public static final String ZIRCONIUM_SIGN = "Zr";\r
509         public static final String NIOBIUM_SIGN = "Nb";\r
510         public static final String MOLYBDENUM_SIGN = "Mo";\r
511         public static final String TECHNETIUM_SIGN = "Tc";\r
512         public static final String RUTHENIUM_SIGN = "Ru";\r
513         public static final String RHODIUM_SIGN = "Rh";\r
514         public static final String PALLADIUM_SIGN = "Pd";\r
515         public static final String SILVER_SIGN = "Ag";\r
516         public static final String CADMIUM_SIGN = "Cd";\r
517         public static final String INDIUM_SIGN = "In";\r
518         public static final String TIN_SIGN = "Sn";\r
519         public static final String ANTIMONY_SIGN = "Sb";\r
520         public static final String TELLURIUM_SIGN = "Te";\r
521         public static final String IODINE_SIGN = "I";\r
522         public static final String XENON_SIGN = "Xe";\r
523         public static final String CAESIUM_SIGN = "Cs";\r
524         public static final String BARIUM_SIGN = "Ba";\r
525         public static final String LANTHANUM_SIGN = "La";\r
526         public static final String CERIUM_SIGN = "Ce";\r
527         public static final String PRASEODYMIUM_SIGN = "Pr";\r
528         public static final String NEODYMIUM_SIGN = "Nd";\r
529         public static final String PROMETHIUM_SIGN = "Pm";\r
530         public static final String SAMARIUM_SIGN = "Sm";\r
531         public static final String EUROPIUM_SIGN = "Eu";\r
532         public static final String GADOLINIUM_SIGN = "Gd";\r
533         public static final String TERBIUM_SIGN = "Tb";\r
534         public static final String DYSPROSIUM_SIGN = "Dy";\r
535         public static final String HOLMIUM_SIGN = "Ho";\r
536         public static final String ERBIUM_SIGN = "Er";\r
537         public static final String THULIUM_SIGN = "Tm";\r
538         public static final String YTTERBIUM_SIGN = "Yb";\r
539         public static final String LUTETIUM_SIGN = "Lu";\r
540         public static final String HAFNIUM_SIGN = "Hf";\r
541         public static final String TANTALUM_SIGN = "Ta";\r
542         public static final String TUNGSTEN_SIGN = "W";\r
543         public static final String RHENIUM_SIGN = "Re";\r
544         public static final String OSMIUM_SIGN = "Os";\r
545         public static final String IRIDIUM_SIGN = "Ir";\r
546         public static final String PLATINUM_SIGN = "Pt";\r
547         public static final String GOLD_SIGN = "Au";\r
548         public static final String MERCURY_SIGN = "Hg";\r
549         public static final String THALLIUM_SIGN = "Tl";\r
550         public static final String LEAD_SIGN = "Pb";\r
551         public static final String BISMUTH_SIGN = "Bi";\r
552         public static final String POLONIUM_SIGN = "Po";\r
553         public static final String ASTATINE_SIGN = "At";\r
554         public static final String RADON_SIGN = "Rn";\r
555         public static final String FRANCIUM_SIGN = "Fr";\r
556         public static final String RADIUM_SIGN = "Ra";\r
557         public static final String ACTINIUM_SIGN = "Ac";\r
558         public static final String THORIUM_SIGN = "Th";\r
559         public static final String PROTACTINIUM_SIGN = "Pa";\r
560         public static final String URANIUM_SIGN = "U";\r
561         public static final String NEPTUNIUM_SIGN = "Np";\r
562         public static final String PLUTONIUM_SIGN = "Pu";\r
563         public static final String AMERICIUM_SIGN = "Am";\r
564         public static final String CURIUM_SIGN = "Cm";\r
565         public static final String BERKELIUM_SIGN = "Bk";\r
566         public static final String CALIforNIUM_SIGN = "Cf";\r
567         public static final String EINSTEINIUM_SIGN = "Es";\r
568         public static final String FERMIUM_SIGN = "Fm";\r
569         public static final String MENDILEVIUM_SIGN = "Md";\r
570         public static final String NOBELIUM_SIGN = "No";\r
571         public static final String LAWRENCIUM_SIGN = "Lr";\r
572         public static final String RUTHERforDIUM_SIGN = "Rf";\r
573         public static final String DUBNIUM_SIGN = "Db";\r
574         public static final String SEABORGIUM_SIGN = "Sg";\r
575         public static final String BOHRIUM_SIGN = "Bh";\r
576         public static final String HASSIUM_SIGN = "Hs";\r
577         public static final String MEITNERIUM_SIGN = "Mt";\r
578         public static final String DARMSTADTIUM_SIGN = "Ds";\r
579         public static final String ROENTGENIUM_SIGN = "Rg";\r
580         public static final String COPERNICIUM_SIGN = "Cn";\r
581         public static final String UNUNTRIUM_SIGN = "Uut";\r
582         public static final String UNUNQUADIUM_SIGN = "Uuq";\r
583         public static final String UNUNPENTIUM_SIGN = "Uup";\r
584         public static final String UNUNHEXIUM_SIGN = "Uuh";\r
585         public static final String UNUNSEPTIUM_SIGN = "Uus";\r
586         public static final String UNUNOCTIUM_SIGN = "Uuo";\r
587 \r
588         public static final String[] ATOMSLIST = {\r
589                 "H",  "He",  "Li",  "Be",  "B",  "C",  "N",  "O",  "F",  "Ne",\r
590                 "Na",  "Mg",  "Al",  "Si",  "P",  "S",  "Cl",  "Ar",  "K",  "Ca",\r
591                 "Sc",  "Ti",  "V",  "Cr",  "Mn",  "Fe",  "Co",  "Ni",  "Cu",  "Zn",\r
592                 "Ga",  "Ge", "As", "Se", "Br", "Kr", "Rb", "Sr", "Y", "Zr",\r
593                 "Nb", "Mo", "Tc", "Ru", "Rh", "Pd", "Ag", "Cd", "In", "Sn",\r
594                 "Sb", "Te", "I", "Xe", "Cs", "Ba", "La", "Ce", "Pr", "Pm",\r
595                 "Sm", "Eu", "Gd", "Tb", "Dy", "Ho", "Er", "Tm", "Yb", "Lu",\r
596                 "Hf", "Ta", "W", "Re", "Os", "Ir", "Pt", "Au", "Hg", "Tl",\r
597                 "Pb", "Bi", "Po", "At", "Rn", "Fr", "Ra", "Ac", "Th", "Pa",\r
598                 "U", "Np", "Pu", "Am", "Cm", "Bk", "Cf", "Es", "Fm", "Md",\r
599                 "No", "Lr", "Rf", "Db", "Sg", "Bh", "Hs", "Mt", "Ds", "Rg",\r
600                 "Cn", "Uut", "Uuq", "Uup", "Uuh", "Uus", "Uuo"\r
601         };\r
602 \r
603 }