1 package pcc.chemicraft.util;
3 import java.util.ArrayList;
5 import net.minecraft.block.Block;
6 import net.minecraft.item.Item;
7 import net.minecraft.item.ItemStack;
8 import cpw.mods.fml.common.registry.LanguageRegistry;
10 public class Auxiliary {
17 public static class NameAuxiliary {
24 public void addName(Object object,Object name){
25 LanguageRegistry.addName(object, (String) name);
31 * 名前を設定します(ItemStack版)
36 public void addName(ItemStack itemstack,Object name){
37 LanguageRegistry.addName(itemstack, (String) name);
48 public void addName(Object object,String lang,Object name){
49 LanguageRegistry.instance().addNameForObject(object, lang, (String) name);
55 * 指定言語にそって名前を追加します(ItemStack版)
60 public void addName(ItemStack object,String lang,Object name){
61 LanguageRegistry.instance().addNameForObject(object, lang, (String) name);
67 * メタデータごとに名前を追加します(Block版)
71 public void addName(Block object,Object[] name){
72 for(int i=0;i<name.length;i++){
73 LanguageRegistry.addName(new ItemStack(object,0,i), (String) name[i]);
80 * メタデータごとに名前を追加します(Item版)
84 public void addName(Item object,Object[] name){
85 for(int i=0;i<name.length;i++){
86 LanguageRegistry.addName(new ItemStack(object,0,i), (String) name[i]);
93 * 指定された言語にそってメタデータごとに名前を設定します(Block版)
97 public void addName(Block object,String lang,Object[] name){
98 for(int i=0;i<name.length;i++){
99 LanguageRegistry.instance().addNameForObject(new ItemStack(object,0,i), lang, (String) name[i]);
106 * 指定された言語にそってメタデータごとに名前を設定します(Item版)
110 public void addName(Item object,String lang, Object[] name){
111 for(int i=0;i<name.length;i++){
112 LanguageRegistry.instance().addNameForObject(new ItemStack(object,0,i), lang, (String) name[i]);
117 * 指定された言語にそってメタデータごとに名前を設定します(Block版)
118 * また、配列の前に任意の文字列を追加できます。
122 public void addName(Block object,String lang, String string, Object[] name){
123 for(int i=0;i<name.length;i++){
124 LanguageRegistry.instance().addNameForObject(new ItemStack(object,0,i), lang, string + (String) name[i]);
131 * 指定された言語にそってメタデータごとに名前を設定します(Item版)
132 * また、配列の前に任意の文字列を追加できます。
136 public void addName(Item object,String lang, String string, Object[] name){
137 for(int i=0;i<name.length;i++){
138 LanguageRegistry.instance().addNameForObject(new ItemStack(object,0,i), lang, string + (String) name[i]);
143 * 指定された言語にそってメタデータごとに名前を設定します(Block版)
144 * また、配列の後ろに任意の文字列を追加できます。
148 public void addName(Block object,String lang, Object[] name, String string){
149 for(int i=0;i<name.length;i++){
150 LanguageRegistry.instance().addNameForObject(new ItemStack(object,0,i), lang, (String) name[i] + string);
157 * 指定された言語にそってメタデータごとに名前を設定します(Item版)
158 * また、配列の後ろに任意の文字列を追加できます。
162 public void addName(Item object,String lang, Object[] name, String string){
163 for(int i=0;i<name.length;i++){
164 LanguageRegistry.instance().addNameForObject(new ItemStack(object,0,i), lang, (String) name[i] + string);
170 public static class ArrayAuxiliary{
172 public ItemStack[] deleteNull(ItemStack[] array){
174 ItemStack[] arrayCopy;
175 for(int i = 0;i < array.length;i++){
176 if(array[array.length - 1 - i] == null){
182 arrayCopy = new ItemStack[array.length - count];
183 for(int i = 0;i < arrayCopy.length;i++){
184 arrayCopy[i] = array[i];
186 array = arrayCopy.clone();
192 public static class Probability {
195 * Return probability(0,1,2,etc...).
197 public int getProbability(double... par1){
198 ArrayList<Double> var1 = new ArrayList<Double>();
199 for (int var2 = 0; var2 < par1.length; var2++) {
200 var1.add(par1[var2]);
202 return getProbability(var1);
205 public int getProbability(ArrayList<Double> par1){
209 for (int i = 0; i < par1.size(); i++){
214 double var3 = Math.random();
216 for (int j = 0; j < par1.size(); j++){
217 double var4 = par1.get(j) / var1;