OSDN Git Service

修正・更新
authorponkotate <ponkotate@users.sourceforge.jp>
Fri, 29 Mar 2013 04:46:55 +0000 (13:46 +0900)
committerponkotate <ponkotate@users.sourceforge.jp>
Fri, 29 Mar 2013 04:46:55 +0000 (13:46 +0900)
・バグ潰し

common/pcc/chemicraft/ChemiCraftData.java
common/pcc/chemicraft/base/ChemiCraftRegisterChemicalRecipe.java
common/pcc/chemicraft/core/ChemiCraftAPI.java
common/pcc/chemicraft/core/ChemiCraftCore.java
common/pcc/chemicraft/util/ListHash.java

index 9583cb5..e6f0c1f 100644 (file)
@@ -248,13 +248,13 @@ public final class ChemiCraftData {
                "Sc",  "Ti",  "V",  "Cr",  "Mn",  "Fe",  "Co",  "Ni",  "Cu",  "Zn",
                "Ga",  "Ge", "As", "Se", "Br", "Kr", "Rb", "Sr", "Y", "Zr",
                "Nb", "Mo", "Tc", "Ru", "Rh", "Pd", "Ag", "Cd", "In", "Sn",
-               "Sb", "Te", "I", "Xe", "Cs", "Ba", "La", "Ce", "Pr", "Pm",
-               "Sm", "Eu", "Gd", "Tb", "Dy", "Ho", "Er", "Tm", "Yb", "Lu",
-               "Hf", "Ta", "W", "Re", "Os", "Ir", "Pt", "Au", "Hg", "Tl",
-               "Pb", "Bi", "Po", "At", "Rn", "Fr", "Ra", "Ac", "Th", "Pa",
-               "U", "Np", "Pu", "Am", "Cm", "Bk", "Cf", "Es", "Fm", "Md",
-               "No", "Lr", "Rf", "Db", "Sg", "Bh", "Hs", "Mt", "Ds", "Rg",
-               "Cn", "Uut", "Uuq", "Uup", "Uuh", "Uus", "Uuo"
+               "Sb", "Te", "I", "Xe", "Cs", "Ba", "La", "Ce", "Pr", "Nd",
+               "Pm", "Sm", "Eu", "Gd", "Tb", "Dy", "Ho", "Er", "Tm", "Yb",
+               "Lu", "Hf", "Ta", "W", "Re", "Os", "Ir", "Pt", "Au", "Hg",
+               "Tl", "Pb", "Bi", "Po", "At", "Rn", "Fr", "Ra", "Ac", "Th",
+               "Pa", "U", "Np", "Pu", "Am", "Cm", "Bk", "Cf", "Es", "Fm",
+               "Md", "No", "Lr", "Rf", "Db", "Sg", "Bh", "Hs", "Mt", "Ds",
+               "Rg", "Cn", "Uut", "Uuq", "Uup", "Uuh", "Uus", "Uuo"
        };
 
        public static int toAtoms(String sign){
index b459e1d..86b5ad7 100644 (file)
@@ -1,5 +1,6 @@
 package pcc.chemicraft.base;
 
+import pcc.chemicraft.ChemiCraftData;
 import pcc.chemicraft.base.gen.EnumOreSpawnFrequency;
 import pcc.chemicraft.util.Formula;
 
@@ -22,221 +23,23 @@ public class ChemiCraftRegisterChemicalRecipe extends ChemiCraftBaseRegister
                // ヘリウム
                // 未定。
 
-               // ã\83ªã\83\81ã\82¦ã\83 
+               // ã\83©ã\83³ã\82¿ã\83\8eã\82¤ã\83\89é\89±ç\9f³
                this.mod.apiBase.addAtomOres(
-                               "LithiumOre",
-                               new Formula("LiAlSi4O10"),
+                               "LanthanoidOre",
+                               new Formula("LaCePrNdPmSmEuGdTbDyHoErTmYbLu"),
                                this.mod.atomOresID[this.mod.apiBase.getAtomOresLastIndex()],
-                               EnumOreSpawnFrequency.NORMAL);
-               // LiAlSi4O10
-               this.mod.apiBase.addAtomOresLanguage("LithiumOre", "リチウム鉱石", "ja_JP");
+                               EnumOreSpawnFrequency.RARE);
+               // LaCePrNdPmSmEuGdTbDyHoErTmYbLu
+               this.mod.apiBase.addAtomOresLanguage("LanthanoidOre", "ランタノイド鉱石", "ja_JP");
 
-               // ã\83\99ã\83ªã\83ªã\82¦ã\83 
+               // ã\82¢ã\82¯ã\83\81ã\83\8eã\82¤ã\83\89é\89±ç\9f³
                this.mod.apiBase.addAtomOres(
-                               "BerylliumOre",
-                               new Formula("Be3Al2Si6O18"),
+                               "ActinoidOre",
+                               new Formula("AcThPaUNpPuAmCmBkCfEsFmMdNoLr"),
                                this.mod.atomOresID[this.mod.apiBase.getAtomOresLastIndex()],
-                               EnumOreSpawnFrequency.NORMAL);
-               // Be3Al2Si6O18
-               this.mod.apiBase.addAtomOresLanguage("BerylliumOre", "ベリリウム鉱石", "ja_JP");
-
-               // ホウ素
-               this.mod.apiBase.addAtomOres(
-                               "BoronOre",
-                               new Formula("NaCaB5O6(OH)6・5H2O"),
-                               this.mod.atomOresID[this.mod.apiBase.getAtomOresLastIndex()],
-                               EnumOreSpawnFrequency.NORMAL);
-               // NaCaB5O6(OH)6・5H2O
-               this.mod.apiBase.addAtomOresLanguage("BoronOre", "ホウ素鉱石", "ja_JP");
-
-               // 炭素
-               // 石炭or石炭鉱石を熱分解。
-
-               // フッ素
-               this.mod.apiBase.addAtomOres(
-                               "FluorineOre",
-                               new Formula("CaF2"),
-                               this.mod.atomOresID[this.mod.apiBase.getAtomOresLastIndex()],
-                               EnumOreSpawnFrequency.NORMAL);
-               // CaF2
-               this.mod.apiBase.addAtomOresLanguage("FluorineOre", "フッ素鉱石", "ja_JP");
-
-               // ナトリウム
-               this.mod.apiBase.addAtomOres(
-                               "SodiumOre",
-                               new Formula("NaCl"),
-                               this.mod.atomOresID[this.mod.apiBase.getAtomOresLastIndex()],
-                               EnumOreSpawnFrequency.NORMAL);
-               // NaCl
-               this.mod.apiBase.addAtomOresLanguage("SodiumOre", "ナトリウム鉱石", "ja_JP");
-
-               // マグネシウム
-               this.mod.apiBase.addAtomOres(
-                               "MagnesiumOre",
-                               new Formula("CaMg(CO3)2"),
-                               this.mod.atomOresID[this.mod.apiBase.getAtomOresLastIndex()],
-                               EnumOreSpawnFrequency.NORMAL);
-               // CaMg(CO3)2
-               this.mod.apiBase.addAtomOresLanguage("MagnesiumOre", "マグネシウム鉱石", "ja_JP");
-
-               // アルミニウム
-               this.mod.apiBase.addAtomOres(
-                               "AluminiumOre",
-                               new Formula("Al(OH)3"),
-                               this.mod.atomOresID[this.mod.apiBase.getAtomOresLastIndex()],
-                               EnumOreSpawnFrequency.NORMAL);
-               // Al(OH)3
-               this.mod.apiBase.addAtomOresLanguage("AluminiumOre", "アルミニウム鉱石", "ja_JP");
-
-               // ケイ素
-               // 1.5まで保留。
-
-               // リン
-               this.mod.apiBase.addAtomOres(
-                               "PhosphorusOre",
-                               new Formula("Ca5(PO4)3F"),
-                               this.mod.atomOresID[this.mod.apiBase.getAtomOresLastIndex()],
-                               EnumOreSpawnFrequency.NORMAL);
-               // Ca5(PO4)3F
-               this.mod.apiBase.addAtomOresLanguage("PhosphorusOre", "リン鉱石", "ja_JP");
-
-               // 硫黄
-               this.mod.apiBase.addAtomOres(
-                               "SulfurOre",
-                               new Formula("S"),
-                               this.mod.atomOresID[this.mod.apiBase.getAtomOresLastIndex()],
-                               EnumOreSpawnFrequency.NORMAL);
-               // S
-               this.mod.apiBase.addAtomOresLanguage("SulfurOre", "硫黄鉱石", "ja_JP");
-
-               // カリウム
-               this.mod.apiBase.addAtomOres(
-                               "PotassiumOre",
-                               new Formula("KCl"),
-                               this.mod.atomOresID[this.mod.apiBase.getAtomOresLastIndex()],
-                               EnumOreSpawnFrequency.NORMAL);
-               // KCl
-               this.mod.apiBase.addAtomOresLanguage("PotassiumOre", "カリウム鉱石", "ja_JP");
-
-               // カルシウム
-               this.mod.apiBase.addAtomOres(
-                               "CalciumOre",
-                               new Formula("CaCO3"),
-                               this.mod.atomOresID[this.mod.apiBase.getAtomOresLastIndex()],
-                               EnumOreSpawnFrequency.NORMAL);
-               // CaCO3
-               this.mod.apiBase.addAtomOresLanguage("CalciumOre", "カルシウム鉱石", "ja_JP");
-
-               // スカンジウム
-               this.mod.apiBase.addAtomOres(
-                               "ScandiumOre",
-                               new Formula("Sc2Si2O7"),
-                               this.mod.atomOresID[this.mod.apiBase.getAtomOresLastIndex()],
-                               EnumOreSpawnFrequency.NORMAL);
-               // (Sc,Y)2Si2O7
-               this.mod.apiBase.addAtomOresLanguage("ScandiumOre", "スカンジウム鉱石", "ja_JP");
-
-               // チタン
-               this.mod.apiBase.addAtomOres(
-                               "TitaniumOre",
-                               new Formula("TiO2"),
-                               this.mod.atomOresID[this.mod.apiBase.getAtomOresLastIndex()],
-                               EnumOreSpawnFrequency.NORMAL);
-               // TiO2
-               this.mod.apiBase.addAtomOresLanguage("TitaniumOre", "チタン鉱石", "ja_JP");
-
-               // バナジウム
-               this.mod.apiBase.addAtomOres(
-                               "VanadiumOre",
-                               new Formula("K2(UO2)2V2O8・3H2O"),
-                               this.mod.atomOresID[this.mod.apiBase.getAtomOresLastIndex()],
-                               EnumOreSpawnFrequency.NORMAL);
-               // K2(UO2)2V2O8・3H2O
-               this.mod.apiBase.addAtomOresLanguage("VanadiumOre", "バナジウム鉱石", "ja_JP");
-
-               // クロム
-               this.mod.apiBase.addAtomOres(
-                               "Chromium",
-                               new Formula("FeCr2O4"),
-                               this.mod.atomOresID[this.mod.apiBase.getAtomOresLastIndex()],
-                               EnumOreSpawnFrequency.NORMAL);
-               this.mod.apiBase.addAtomOresLanguage("Chromium", "クロム鉱石", "ja_JP");
-               // FeCr2O4
-
-               // マンガン
-               this.mod.apiBase.addAtomOres(
-                               "ManganeseOre",
-                               new Formula("MnO2"),
-                               this.mod.atomOresID[this.mod.apiBase.getAtomOresLastIndex()],
-                               EnumOreSpawnFrequency.NORMAL);
-               this.mod.apiBase.addAtomOresLanguage("ManganeseOre", "マンガン鉱石", "ja_JP");
-               // MnO2
-
-               // コバルト
-               this.mod.apiBase.addAtomOres(
-                               "CobaltOre",
-                               new Formula("CoAsS"),
-                               this.mod.atomOresID[this.mod.apiBase.getAtomOresLastIndex()],
-                               EnumOreSpawnFrequency.NORMAL);
-               this.mod.apiBase.addAtomOresLanguage("CobaltOre", "コバルト鉱石", "ja_JP");
-               // CoAsS
-
-               // ニッケル
-               this.mod.apiBase.addAtomOres(
-                               "NickelOre",
-                               new Formula("Ni3Si2O5(OH)4"),
-                               this.mod.atomOresID[this.mod.apiBase.getAtomOresLastIndex()],
-                               EnumOreSpawnFrequency.NORMAL);
-               // (Ni,Mg)3Si2O5(OH)4
-               this.mod.apiBase.addAtomOresLanguage("NickelOre", "ニッケル鉱石", "ja_JP");
-
-               // 銅
-               // IC2で入手
-
-               // 亜鉛
-               this.mod.apiBase.addAtomOres(
-                               "ZincOre",
-                               new Formula("ZnS"),
-                               this.mod.atomOresID[this.mod.apiBase.getAtomOresLastIndex()],
-                               EnumOreSpawnFrequency.NORMAL);
-               this.mod.apiBase.addAtomOresLanguage("ZincOre", "亜鉛鉱石", "ja_JP");
-               // (Zn,Fe)S
-
-               // ガリウム
-               this.mod.apiBase.addAtomOres(
-                               "Gallium",
-                               new Formula("Ga"),
-                               this.mod.atomOresID[this.mod.apiBase.getAtomOresLastIndex()],
-                               EnumOreSpawnFrequency.NORMAL);
-               this.mod.apiBase.addAtomOresLanguage("Gallium", "ガリウム鉱石", "ja_JP");
-               // Ga
-
-               // ゲルマニウム
-               this.mod.apiBase.addAtomOres(
-                               "GermaniumOre",
-                               new Formula("Ge"),
-                               this.mod.atomOresID[this.mod.apiBase.getAtomOresLastIndex()],
-                               EnumOreSpawnFrequency.NORMAL);
-               this.mod.apiBase.addAtomOresLanguage("GermaniumOre", "ゲルマニウム鉱石", "ja_JP");
-               // Ge
-
-               // ヒ素
-               this.mod.apiBase.addAtomOres(
-                               "ArsenicOre",
-                               new Formula("As2S3"),
-                               this.mod.atomOresID[this.mod.apiBase.getAtomOresLastIndex()],
-                               EnumOreSpawnFrequency.NORMAL);
-               this.mod.apiBase.addAtomOresLanguage("ArsenicOre", "ヒ素鉱石", "ja_JP");
-               // As2S3
-
-               // ルビジウム
-               this.mod.apiBase.addAtomOres(
-                               "RubidiumOre",
-                               new Formula("Rb"),
-                               this.mod.atomOresID[this.mod.apiBase.getAtomOresLastIndex()],
-                               EnumOreSpawnFrequency.NORMAL);
-               this.mod.apiBase.addAtomOresLanguage("RubidiumOre", "ルビジウム鉱石", "ja_JP");
-               // Rb
+                               EnumOreSpawnFrequency.RARE);
+               // AcThPaUNpPuAmCmBkCfEsFmMdNoLr
+               this.mod.apiBase.addAtomOresLanguage("ActinoidOre", "アクチノイド鉱石", "ja_JP");
 
        }
 
index c608bea..d70783e 100644 (file)
@@ -33,13 +33,6 @@ public class ChemiCraftAPI {
        }
 
 
-
-       /**
-        * 電池言語リスト
-        */
-       private ListHash<String, String> chemicalCellsLangListHash = new ListHash<String, String>();
-
-
        /**
         * 電池
         */
@@ -98,12 +91,6 @@ public class ChemiCraftAPI {
 
 
        /**
-        * List of compounds the language names.
-        */
-       private ListHash<String, String> compoundsLangListHash = new ListHash<String, String>();
-
-
-       /**
         * List of compounds names.
         */
        private ListHash<String, String> compoundsNameListHash = new ListHash<String, String>();
@@ -164,7 +151,6 @@ public class ChemiCraftAPI {
                                                chemicalCellsNameListHash.sizeKeysList()),
                                                par3OperationTime);
                addChemicalCellLanguage(
-                               par2Name,
                                "en_US",
                                par2Name);
        }
@@ -176,9 +162,8 @@ public class ChemiCraftAPI {
         * @param par2NewName 新しい名前
         * @param par3Language 言語
         */
-       public void addChemicalCellLanguage(String par1Name, String par3NewLanguage, String par2NewName){
-               chemicalCellsNameListHash.add(par1Name, par2NewName);
-               chemicalCellsLangListHash.add(par1Name, par3NewLanguage);
+       public void addChemicalCellLanguage(String par1NewLanguage, String par2NewName){
+               chemicalCellsNameListHash.add(par1NewLanguage, par2NewName);
        }
 
 
@@ -201,8 +186,7 @@ public class ChemiCraftAPI {
         * @param name compound name.
         */
        public void addCompound(String name){
-               compoundsNameListHash.add(name, name);
-               compoundsLangListHash.add(name, "en_US");
+               compoundsNameListHash.add("en_US", name);
                compoundHash.put(name, compoundHash.size());
        }
 
@@ -215,18 +199,15 @@ public class ChemiCraftAPI {
         */
        public void addCompound(String lang, String englishName, String langName){
                addCompound(englishName);
-               addCompoundLanguage(lang, englishName, langName);
+               addCompoundLanguage(lang, langName);
        }
 
 
 
-       public void addCompoundLanguage(String lang, String englishName, String langName){
+       public void addCompoundLanguage(String lang, String langName){
                compoundsNameListHash.add(
-                               englishName,
+                               lang,
                                langName);
-               compoundsLangListHash.add(
-                               englishName,
-                               lang);
        }
 
 
@@ -249,8 +230,8 @@ public class ChemiCraftAPI {
                        itemstacks[i] =
                                        new ItemStack(
                                                        ChemiCraftCore.instance.itemAtoms,
-                                                       ChemiCraftData.toAtoms(formula.getAtoms()[i]),
-                                                       formula.getAmonts()[i]);
+                                                       formula.getAmonts()[i],
+                                                       ChemiCraftData.toAtoms(formula.getAtoms()[i]));
                }
                this.electrolysisRecipeList.put(
                                material,
@@ -314,8 +295,8 @@ public class ChemiCraftAPI {
                        itemstacks[i] =
                                        new ItemStack(
                                                        ChemiCraftCore.instance.itemAtoms,
-                                                       ChemiCraftData.toAtoms(formula.getAtoms()[i]),
-                                                       formula.getAmonts()[i]);
+                                                       formula.getAmonts()[i],
+                                                       ChemiCraftData.toAtoms(formula.getAtoms()[i]));
                }
                this.pyrolysisRecipeList.put(
                                material,
@@ -388,12 +369,6 @@ public class ChemiCraftAPI {
 
 
 
-       public ListHash<String, String> getChemicalCellsLanguage(){
-               return chemicalCellsLangListHash;
-       }
-
-
-
        public HashMap<ItemStack, Integer> getChemicalCellsList(){
                return chemicalCellsList;
        }
@@ -449,12 +424,6 @@ public class ChemiCraftAPI {
 
 
 
-       public ListHash<String, String> getCompoundsLang(){
-               return compoundsLangListHash;
-       }
-
-
-
        public ListHash<String, String> getCompoundsName(){
                return compoundsNameListHash;
        }
index 563dce4..1b9f288 100644 (file)
@@ -258,14 +258,6 @@ public class ChemiCraftCore extends ChemiCraft{
                        }
                }
 
-               for (int i = 0; i < api.getCompoundsName().sizeKeysList(); i++)
-               {
-                       for (int j = 0; j < api.getCompoundsName().sizeElementsList(api.getCompoundsName().getKeyList(i)); j++)
-                       {
-                               this.nameAuxiliary.addName(new ItemStack(itemCompounds, 0, i), api.getCompoundsLang().get(api.getCompoundsName().getKeyList(i), j), api.getCompoundsName().get(api.getCompoundsName().getKeyList(i), j));
-                       }
-               }
-
        }
 
 
index 9040d1f..7ee1298 100644 (file)
@@ -11,193 +11,198 @@ import java.util.Set;
 
 public class ListHash<K, E>
 {
-   /**
-    * @author Ponkotate version:1.0.0 dev
-    * 
-    *         Create ArrayList in HashMap.
-    */
-
-   protected ArrayList<K> keysList = new ArrayList<K>();
-   protected HashMap<K, ArrayList<E>> elementsHash = new HashMap<K, ArrayList<E>>();
-
-   public boolean add(K par1Key, E par2Element)
-   {
-      try
-      {
-         return this.elementsHash.get(par1Key).add(par2Element);
-      } catch (Exception e)
-      {
-         return this.put(par1Key, par2Element);
-      }
-   }
-
-   public boolean addAll(K par1Key, Collection<? extends E> par2Collection)
-   {
-      return this.elementsHash.get(par1Key).addAll(par2Collection);
-   }
-
-   public boolean addAll(K par1Key, int par2Index, Collection<? extends E> par3Collection)
-   {
-      return this.elementsHash.get(par1Key).addAll(par2Index, par3Collection);
-   }
-
-   public void clear()
-   {
-      this.elementsHash.clear();
-   }
-
-   public boolean containsKey(K par1Key)
-   {
-      return this.elementsHash.containsKey(par1Key);
-   }
-
-   public boolean containsValue(K par1Key)
-   {
-      return this.elementsHash.containsValue(par1Key);
-   }
-
-   public boolean contains(K par1Key, E par2Element)
-   {
-      return this.elementsHash.get(par1Key).contains(par2Element);
-   }
-
-   public boolean containsAll(K par1Key, Collection<?> par2Collection)
-   {
-      return this.elementsHash.get(par1Key).containsAll(par2Collection);
-   }
-
-   public Set<java.util.Map.Entry<K, E>> entrySet()
-   {
-      return this.entrySet();
-   }
-
-   public K getKeyList(int par1Index)
-   {
-      return this.keysList.get(par1Index);
-   }
-
-   public E get(K par1Key, int par2Index)
-   {
-      return this.elementsHash.get(par1Key).get(par2Index);
-   }
-
-   public int indexOf(K par1Key, E par2Element)
-   {
-      return this.elementsHash.get(par1Key).indexOf(par2Element);
-   }
-
-   public boolean isKeysListEmpty(K par1Key)
-   {
-      return this.elementsHash.get(par1Key).isEmpty();
-   }
-
-   public boolean isElementsHashEmpty()
-   {
-      return this.elementsHash.isEmpty();
-   }
-
-   public Iterator<E> iterator(K par1Key)
-   {
-      return this.elementsHash.get(par1Key).iterator();
-   }
-
-   public int lastIndexOf(K par1Key, E par2Element)
-   {
-      return this.elementsHash.get(par1Key).lastIndexOf(par2Element);
-   }
-
-   public ListIterator<E> listIterator(K par1Key)
-   {
-      return this.elementsHash.get(par1Key).listIterator();
-   }
-
-   public ListIterator<E> listIterator(K par1Key, int par2Index)
-   {
-      return this.elementsHash.get(par1Key).listIterator(par2Index);
-   }
-
-   public Set<K> keySet()
-   {
-      return this.elementsHash.keySet();
-   }
-
-   public boolean put(K par1Key, E par2Element)
-   {
-      this.keysList.add(par1Key);
-
-      ArrayList<E> elementList = new ArrayList<E>();
-      this.elementsHash.put(par1Key, elementList);
-      return this.add(par1Key, par2Element);
-   }
-
-   public void putAll(Map<? extends K, ? extends ArrayList<E>> par1Map)
-   {
-      this.elementsHash.putAll(par1Map);
-   }
-
-   public ArrayList<E> remove(K par1Key)
-   {
-      return this.elementsHash.remove(par1Key);
-   }
-
-   public boolean remove(K par1Key, E par2Element)
-   {
-      return this.elementsHash.get(par1Key).remove(par2Element);
-   }
-
-   public E remove(K par1Key, int par2Index)
-   {
-      return this.elementsHash.get(par1Key).remove(par2Index);
-   }
-
-   public boolean removeAll(K par1Key, Collection<?> par2Collection)
-   {
-      return this.elementsHash.get(par1Key).removeAll(par2Collection);
-   }
-
-   public boolean retainAll(K par1Key, Collection<?> par2Collection)
-   {
-      return this.elementsHash.get(par1Key).retainAll(par2Collection);
-   }
-
-   public E set(K par1Key, int par2Index, E par3Element)
-   {
-      return this.elementsHash.get(par1Key).set(par2Index, par3Element);
-   }
-
-   public int sizeElementsHash()
-   {
-      return this.elementsHash.size();
-   }
-
-   public int sizeKeysList()
-   {
-      return this.keysList.size();
-   }
-
-   public int sizeElementsList(K par1Key)
-   {
-      return this.elementsHash.get(par1Key).size();
-   }
-
-   public List<E> subList(K par1Key, int par2FromIndex, int par3ToIndex)
-   {
-      return this.elementsHash.get(par1Key).subList(par2FromIndex, par3ToIndex);
-   }
-
-   public E[] toArray(K par1Key)
-   {
-      return (E[])this.elementsHash.get(par1Key).toArray();
-   }
-
-   public <T> T[] toArray(K par1Key, T[] par2Array)
-   {
-      return this.elementsHash.get(par1Key).toArray(par2Array);
-   }
-
-   public Collection<ArrayList<E>> values()
-   {
-      return this.elementsHash.values();
-   }
+       /**
+        * @author Ponkotate version:1.0.0 dev
+        * 
+        *         Create ArrayList in HashMap.
+        */
+
+       protected ArrayList<K> keysList = new ArrayList<K>();
+       protected HashMap<K, ArrayList<E>> elementsHash = new HashMap<K, ArrayList<E>>();
+
+       public boolean add(K par1Key, E par2Element)
+       {
+               try {
+                       return this.elementsHash.get(par1Key).add(par2Element);
+               } catch (Exception e) {
+                       return this.put(par1Key, par2Element);
+               }
+       }
+
+       public boolean addAll(K par1Key, Collection<? extends E> par2Collection)
+       {
+               return this.elementsHash.get(par1Key).addAll(par2Collection);
+       }
+
+       public boolean addAll(K par1Key, int par2Index, Collection<? extends E> par3Collection)
+       {
+               return this.elementsHash.get(par1Key).addAll(par2Index, par3Collection);
+       }
+
+       public void clear()
+       {
+               this.elementsHash.clear();
+       }
+
+       public boolean containsKey(K par1Key)
+       {
+               return this.elementsHash.containsKey(par1Key);
+       }
+
+       public boolean containsValue(K par1Key)
+       {
+               return this.elementsHash.containsValue(par1Key);
+       }
+
+       public boolean contains(K par1Key, E par2Element)
+       {
+               return this.elementsHash.get(par1Key).contains(par2Element);
+       }
+
+       public boolean containsAll(K par1Key, Collection<?> par2Collection)
+       {
+               return this.elementsHash.get(par1Key).containsAll(par2Collection);
+       }
+
+       public Set<java.util.Map.Entry<K, E>> entrySet()
+       {
+               return this.entrySet();
+       }
+
+       public K getKeyList(int par1Index)
+       {
+               return this.keysList.get(par1Index);
+       }
+
+       public E get(K par1Key, int par2Index)
+       {
+               return this.elementsHash.get(par1Key).get(par2Index);
+       }
+
+       public int indexOf(K par1Key, E par2Element)
+       {
+               return this.elementsHash.get(par1Key).indexOf(par2Element);
+       }
+
+       public boolean isKeysListEmpty(K par1Key)
+       {
+               return this.elementsHash.get(par1Key).isEmpty();
+       }
+
+       public boolean isElementsHashEmpty()
+       {
+               return this.elementsHash.isEmpty();
+       }
+
+       public Iterator<K> iterator()
+       {
+               return this.keysList.iterator();
+       }
+
+       public Iterator<E> iterator(K par1Key)
+       {
+               return this.elementsHash.get(par1Key).iterator();
+       }
+
+       public int lastIndexOf(K par1Key, E par2Element)
+       {
+               return this.elementsHash.get(par1Key).lastIndexOf(par2Element);
+       }
+
+       public ListIterator<E> listIterator(K par1Key)
+       {
+               return this.elementsHash.get(par1Key).listIterator();
+       }
+
+       public ListIterator<E> listIterator(K par1Key, int par2Index)
+       {
+               return this.elementsHash.get(par1Key).listIterator(par2Index);
+       }
+
+       public Set<K> keySet()
+       {
+               return this.elementsHash.keySet();
+       }
+
+       public boolean put(K par1Key, E par2Element)
+       {
+               this.keysList.add(par1Key);
+
+               ArrayList<E> elementList = new ArrayList<E>();
+               this.elementsHash.put(par1Key, elementList);
+               return this.add(par1Key, par2Element);
+       }
+
+       public void putAll(Map<? extends K, ? extends ArrayList<E>> par1Map)
+       {
+               this.elementsHash.putAll(par1Map);
+       }
+
+       public ArrayList<E> remove(K par1Key)
+       {
+               return this.elementsHash.remove(par1Key);
+       }
+
+       public boolean remove(K par1Key, E par2Element)
+       {
+               return this.elementsHash.get(par1Key).remove(par2Element);
+       }
+
+       public E remove(K par1Key, int par2Index)
+       {
+               return this.elementsHash.get(par1Key).remove(par2Index);
+       }
+
+       public boolean removeAll(K par1Key, Collection<?> par2Collection)
+       {
+               return this.elementsHash.get(par1Key).removeAll(par2Collection);
+       }
+
+       public boolean retainAll(K par1Key, Collection<?> par2Collection)
+       {
+               return this.elementsHash.get(par1Key).retainAll(par2Collection);
+       }
+
+       public E set(K par1Key, int par2Index, E par3Element)
+       {
+               return this.elementsHash.get(par1Key).set(par2Index, par3Element);
+       }
+
+       public int sizeElementsHash()
+       {
+               return this.elementsHash.size();
+       }
+
+       public int sizeKeysList()
+       {
+               return this.keysList.size();
+       }
+
+       public int sizeElementsList(K par1Key)
+       {
+               return this.elementsHash.get(par1Key).size();
+       }
+
+       public List<E> subList(K par1Key, int par2FromIndex, int par3ToIndex)
+       {
+               return this.elementsHash.get(par1Key).subList(
+                               par2FromIndex,
+                               par3ToIndex);
+       }
+
+       public E[] toArray(K par1Key)
+       {
+               return (E[])this.elementsHash.get(par1Key).toArray();
+       }
+
+       public <T> T[] toArray(K par1Key, T[] par2Array)
+       {
+               return this.elementsHash.get(par1Key).toArray(par2Array);
+       }
+
+       public Collection<ArrayList<E>> values()
+       {
+               return this.elementsHash.values();
+       }
 
 }