import java.util.ArrayList;
import java.util.HashMap;
-import net.minecraft.src.ItemStack;
+import net.minecraft.item.ItemStack;
import chemicraft.system.ChemiCraftCraftingManager;
+import chemicraft.tileentity.TileEntityPyrolysisTable;
import chemicraft.util.ChemicalNBTRecipe;
import chemicraft.util.ICompoundHandler;
import chemicraft.util.MaterialRecipe;
/**
- * 分解台の素材のリスト
- */
- private ArrayList<ItemStack> decompositionMaterial = new ArrayList<ItemStack>();
-
-
- /**
- * 分解台の結果のリスト
- */
- private ArrayList<ItemStack[]> decompositionResults = new ArrayList<ItemStack[]>();
-
-
- /**
* 化合台の原子の種類のリスト
*/
private ArrayList<String[]> chemicalCombinationAtoms = new ArrayList<String[]>();
* @param name compound name.
*/
public void addCompound(String name){
- compoundsNameList.add(name);
- compoundsLangNameList.add("");
- compoundsLangList.add("");
+ addLangCompound("", name, "");
}
compoundsNameList.add(englishName);
compoundsLangNameList.add(langName);
compoundsLangList.add(lang);
- }
-
-
-
- public int getDamageByName(String englishName){
- for(int i = 0;i < compoundsNameList.size();i++){
- if(englishName.equals(compoundsNameList.get(i))){
- return i;
- }
- }
- return -1;
- }
-
-
-
- public void addCompoundHash(String key, int value){
- compoundHash.put(key, value);
- }
-
-
-
- public void addCompoundHash(Object[] object){
- for(int i = 0;i < compoundsNameList.size();i++){
- if(object[i].equals(compoundsNameList.get(i))){
- compoundHash.put((String) object[i], i);
- }
- }
+ compoundHash.put(englishName, compoundHash.size());
}
/**
- * 分解レシピを追加します。resultの要素数は0<= n <= 16にしてください。
- * @param material 素材
- * @param result 結果
- */
- public void addDecompositionRecipe(ItemStack material, ItemStack[] result){
- if(result.length <= 16){
- decompositionMaterial.add(material);
- decompositionResults.add(result);
- }else{
- System.err.println("ChemiCraft内でエラー:addDecompositionRecipeの引数resultの要素数が16を超えています。" + "Material:" + material + " Result:" + result);
- }
- }
-
-
-
- /**
* 化合レシピを追加します。materialの要素数は0<= n <= 16にしてください。
* @param material 素材
* @param result 結果
+ public void addDecompositionRecipe(ItemStack material, int[] results, int[] stacks) {
+ ItemStack[] itemstacks = new ItemStack[results.length];
+ for (int i = 0; i < itemstacks.length; i++) {
+ itemstacks[i] = new ItemStack(ChemiCraft.instance.itemAtoms,stacks[i], results[i]);
+ }
+ TileEntityPyrolysisTable.addRecipe(material, itemstacks);
+ }
+
+
+
+ public void addDecompositionFuel(ItemStack itemstack, int burnTime) {
+ TileEntityPyrolysisTable.addFuel(itemstack, burnTime);
+ }
+
+
+
public void addSharplessMaterialRecipe(ItemStack[] materials, ItemStack result, ChemicalNBTRecipe nbtRecipe){
materialRecipe.add(new MaterialRecipe(result, materials, nbtRecipe, true));
}
+
+
public void addMaterialRecipe(ItemStack[] materials, ItemStack result, ChemicalNBTRecipe nbtRecipe){
materialRecipe.add(new MaterialRecipe(result, materials, nbtRecipe, false));
}
- public ArrayList<ItemStack> getDecompositionMaterial(){
- return decompositionMaterial;
- }
-
-
-
- public ArrayList<ItemStack[]> getDecompositionResult(){
- return decompositionResults;
- }
-
-
-
public ArrayList<String[]> getChemicalCombinationAtoms(){
return chemicalCombinationAtoms;
}