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.Formula;
9 import pcc.chemicraft.util.ListHash;
12 * ChemiCraftBaseのAPIを提供するクラスです。<br>
13 * ChemiCraftBaseを使用したAPIを作成する場合、このクラスを使用します。
14 * @author mozipi,ponkotate
16 public class ChemiCraftBaseAPI {
21 private static ChemiCraftBaseAPI instance = new ChemiCraftBaseAPI();
28 public static ChemiCraftBaseAPI instance(){
35 private HashMap<String, Formula> atomOresFormulasHash = new HashMap<String, Formula>();
41 private ArrayList<WorldGenAtomsOre> atomOresList = new ArrayList<WorldGenAtomsOre>();
47 private ListHash<String, String> atomOresNameListHash = new ListHash<String, String>();
53 private ArrayList<String> atomOresEnglishList = new ArrayList<String>();
57 * @param par1Name 鉱石名(Oreは自動で語尾につけられます)
58 * @param par2Formula 化学式
60 * @param par4Size 鉱石の塊の大きさ
61 * @param par5Frequency 生成率(frequency/Chunk)
62 * @param par6PosY 鉱石が生成される高度(nowY < PosY == Generate)
64 public void addAtomOres(String par1Name, Formula par2Formula, int par3Id, int par4Size, int par5Frequency, int par6PosY){
68 getAtomOresMetaOfLastIndex(),
73 atomOresFormulasHash.put(par1Name, par2Formula);
75 String var7 = par1Name;
76 if (!var7.contains(" Ore")) {
77 var7 = var7.concat(" Ore");
80 this.atomOresEnglishList.add(var7);
81 addAtomOresLanguage(var7, "en_US");
88 * @param par1Name 鉱石名(Oreは自動で語尾につけられます)
89 * @param par2Formula 化学式
91 * @param par4Enum 鉱石生成の情報が入ったEnum
93 public void addAtomOres(String par1Name, Formula par2Formula, int par3Id, EnumOreSpawnFrequency par4Enum){
99 par4Enum.getFrequency(),
107 * 既に登録した鉱石の新しい名前・言語を追加します
108 * @param par1Name 英語名
109 * @param par2NewName 新しい名前
110 * @param par3Language 言語
112 public void addAtomOresLanguage(String par1Name, String par2Language){
113 atomOresNameListHash.add(
121 //以下システム関連//////////////////////////////////////////////////////
123 public ArrayList<WorldGenAtomsOre> getAtomOres(){
127 public HashMap<String, Formula> getAtomOresFormulas(){
128 return atomOresFormulasHash;
133 public int getAtomOresLastIndex(){
134 return atomOresEnglishList.size() / 16;
139 public int getAtomOresMetaOfLastIndex(){
140 return atomOresEnglishList.size() - getAtomOresLastIndex() * 16;
145 public ListHash<String, String> getAtomOresName(){
146 return atomOresNameListHash;
151 public String getAtomOreEnglishName(int index) {
152 return this.atomOresEnglishList.get(index);