1 package pcc.chemicraft.base;
3 import java.util.ArrayList;
4 import java.util.HashMap;
6 import pcc.chemicraft.base.gen.EnumOreSpawnFrequency;
7 import pcc.chemicraft.base.gen.WorldGenAtomsOre;
8 import pcc.chemicraft.util.AtomInfo;
9 import pcc.chemicraft.util.Formula;
10 import pcc.chemicraft.util.ListHash;
13 * ChemiCraftBaseのAPIを提供するクラスです。<br>
14 * ChemiCraftBaseを使用したAPIを作成する場合、このクラスを使用します。
15 * @author mozipi,ponkotate
17 public class ChemiCraftBaseAPI {
22 private static ChemiCraftBaseAPI instance = new ChemiCraftBaseAPI();
29 public static ChemiCraftBaseAPI instance(){
36 private HashMap<String, Formula> atomOresFormulasHash = new HashMap<String, Formula>();
42 private ListHash<String, String> atomOresLangListHash = new ListHash<String, String>();
48 private ArrayList<WorldGenAtomsOre> atomOresList = new ArrayList<WorldGenAtomsOre>();
54 private ListHash<String, String> atomOresNameListHash = new ListHash<String, String>();
60 * @param par1Name 鉱石名(Oreは自動で語尾につけられます)
61 * @param par2Formula 化学式
63 * @param par4Size 鉱石の塊の大きさ
64 * @param par5Frequency 生成率(frequency/Chunk)
65 * @param par6PosY 鉱石が生成される高度(nowY < PosY == Generate)
67 public void addAtomOres(String par1Name, Formula par2Formula, int par3Id, int par4Size, int par5Frequency, int par6PosY){
71 getAtomOresMetaOfLastIndex(),
76 atomOresFormulasHash.put(par1Name, par2Formula);
78 String var7 = par1Name;
79 if (!var7.contains(" Ore")) {
80 var7 = var7.concat(" Ore");
83 addAtomOresLanguage(par1Name, var7, "en_US");
90 * @param par1Name 鉱石名(Oreは自動で語尾につけられます)
91 * @param par2Formula 化学式
93 * @param par4Enum 鉱石生成の情報が入ったEnum
95 public void addAtomOres(String par1Name, Formula par2Formula, int par3Id, EnumOreSpawnFrequency par4Enum){
101 par4Enum.getFrequency(),
109 * 既に登録した鉱石の新しい名前・言語を追加します
110 * @param par1Name 英語名
111 * @param par2NewName 新しい名前
112 * @param par3Language 言語
114 public void addAtomOresLanguage(String par1Name, String par2NewName, String par3Language){
115 atomOresNameListHash.add(par1Name,
117 atomOresLangListHash.add(par1Name,
123 //以下システム関連//////////////////////////////////////////////////////
125 public ArrayList<WorldGenAtomsOre> getAtomOres(){
129 public HashMap<String, Formula> getAtomOresFormulas(){
130 return atomOresFormulasHash;
135 public ListHash<String, String> getAtomOresLanguage(){
136 return atomOresLangListHash;
141 public int getAtomOresLastIndex(){
142 return atomOresNameListHash.sizeKeysList() / 16;
147 public int getAtomOresMetaOfLastIndex(){
148 return atomOresNameListHash.sizeKeysList() - getAtomOresLastIndex() * 16;
153 public ListHash<String, String> getAtomOresName(){
154 return atomOresNameListHash;