import java.util.ArrayList;
import net.minecraft.src.ItemStack;
+import chemicraft.system.ChemiCraftCraftingManager;
+import chemicraft.util.ICompoundHandler;
+import chemicraft.util.NBTRecipe;
/**
* ChemiCraftのAPI
/**
* List of compounds names.
*/
- private static ArrayList<String> compoundsNameList = new ArrayList();
+ private ArrayList<String> compoundsNameList = new ArrayList();
/**
* List of compounds names(Some kind of language).
*/
- private static ArrayList<String> compoundsLangNameList = new ArrayList();
+ private ArrayList<String> compoundsLangNameList = new ArrayList();
/**
* List of compounds the language names.
*/
- private static ArrayList<String> compoundsLangList = new ArrayList();
+ private ArrayList<String> compoundsLangList = new ArrayList();
/**
* List of compounds handlers.
*/
- private static ArrayList<ICompoundHandler> compoundHandlers = new ArrayList<ICompoundHandler>();
+ private ArrayList<ICompoundHandler> compoundHandlers = new ArrayList<ICompoundHandler>();
/**
* List of item name of handler to compounds.
*/
- private static ArrayList<String> compoundHandlerItemNames = new ArrayList<String>();
+ private ArrayList<String> compoundHandlerItemNames = new ArrayList<String>();
/**
* 分解台の素材のリスト
*/
- private static ArrayList<ItemStack> decompositionMaterial = new ArrayList<ItemStack>();
+ private ArrayList<ItemStack> decompositionMaterial = new ArrayList<ItemStack>();
/**
* 分解台の結果のリスト
*/
- private static ArrayList<ItemStack[]> decompositionResults = new ArrayList<ItemStack[]>();
+ private ArrayList<ItemStack[]> decompositionResults = new ArrayList<ItemStack[]>();
/**
* 化合台の素材のリスト
*/
- private static ArrayList<ItemStack[]> chemicalCombinationMaterials = new ArrayList<ItemStack[]>();
+ private ArrayList<ItemStack[]> chemicalCombinationMaterials = new ArrayList<ItemStack[]>();
/**
* 化合台の結果のリスト
*/
- private static ArrayList<ItemStack> chemicalCombinationResult = new ArrayList<ItemStack>();
+ private ArrayList<ItemStack> chemicalCombinationResult = new ArrayList<ItemStack>();
+
+
+
+ /**
+ * 素材製作台の効果添付素材のリスト
+ */
+ private ArrayList<ItemStack[]> materialEffectMaterials = new ArrayList<ItemStack[]>();
+
+
+
+ /**
+ * 素材製作台の素材のリスト
+ */
+ private ArrayList<ItemStack[]> materialMaterials = new ArrayList<ItemStack[]>();
+
+
+
+ /**
+ * 素材製作台の結果のリスト
+ */
+ private ArrayList<ItemStack> materialResult = new ArrayList<ItemStack>();
+
+
+
+ /**
+ * 素材製作台の効果付属用のNBTRecipeのリスト
+ */
+ private ArrayList<NBTRecipe> materialNBT = new ArrayList<NBTRecipe>();
/**
* ChemiCraftの化学作業台類のレシピのマネージャー
*/
- private static ChemiCraftCraftingManager chemiCraftCraftingManager = new ChemiCraftCraftingManager();
+ private ChemiCraftCraftingManager chemiCraftCraftingManager = new ChemiCraftCraftingManager();
* add compound.
* @param name compound name.
*/
- public static void addCompound(String name){
+ public void addCompound(String name){
compoundsNameList.add(name);
compoundsLangNameList.add("");
compoundsLangList.add("");
* @param englishName compound name
* @param langName compound name(specified language)
*/
- public static void addLangCompound(String lang, String englishName, String langName){
+ public void addLangCompound(String lang, String englishName, String langName){
compoundsNameList.add(englishName);
compoundsLangNameList.add(langName);
compoundsLangList.add(lang);
* @param handlerItemName
* @param compoundHandler
*/
- public static void settingCompoundHandler(String handlerItemName, ICompoundHandler compoundHandler){
- ChemiCraftAPI.compoundHandlers.add(compoundHandler);
+ public void settingCompoundHandler(String handlerItemName, ICompoundHandler compoundHandler){
+ compoundHandlers.add(compoundHandler);
compoundHandlerItemNames.add(handlerItemName);
}
* @param material 素材
* @param result 結果
*/
- public static void addDecompositionRecipe(ItemStack material, ItemStack[] result){
+ public void addDecompositionRecipe(ItemStack material, ItemStack[] result){
if(result.length <= 16){
decompositionMaterial.add(material);
decompositionResults.add(result);
* @param material 素材
* @param result 結果
*/
- public static void addChemicalCombinationRecipe(ItemStack[] material, ItemStack result){
+ public void addChemicalCombinationRecipe(ItemStack[] material, ItemStack result){
if(material.length <= 16){
chemicalCombinationMaterials.add(material);
chemicalCombinationResult.add(result);
System.err.println("ChemiCraft内でエラー:addChemicalCombinationRecipeの引数materialの要素数が16を超えています。" + "Material:" + material + " Result:" + result);
}
}
+
+
+
+ public void addMaterialRecipe(ItemStack[] materials, ItemStack result, NBTRecipe nbtRecipe){
+ if(materials.length <= 9){
+ materialMaterials.add(materials);
+ materialResult.add(result);
+ materialNBT.add(nbtRecipe);
+ }else{
+ System.err.println("ChemiCraft内でエラー:addMaterialRecipeの引数materialsの要素数が9を超えています。" + "Material:" + materials + " Result:" + result);
+ }
+ }
//以下システム関連//////////////////////////////////////////////////////
- public static ArrayList<ICompoundHandler> getCompoundHandler(){
+ public ArrayList<ICompoundHandler> getCompoundHandler(){
compoundHandlers.trimToSize();
return compoundHandlers;
- public static ArrayList<String> getCompoundHandlerItemName(){
+ public ArrayList<String> getCompoundHandlerItemName(){
compoundHandlerItemNames.trimToSize();
return compoundHandlerItemNames;
}
- public static ArrayList<String> getCompoundsName(){
+ public ArrayList<String> getCompoundsName(){
compoundsNameList.trimToSize();
return compoundsNameList;
}
- public static ArrayList<String> getCompoundsLangName(){
+ public ArrayList<String> getCompoundsLangName(){
compoundsLangNameList.trimToSize();
return compoundsLangNameList;
}
- public static ArrayList<String> getCompoundsLang(){
+ public ArrayList<String> getCompoundsLang(){
compoundsLangList.trimToSize();
return compoundsLangList;
}
- public static ArrayList<ItemStack> getDecompositionMaterial(){
+ public ArrayList<ItemStack> getDecompositionMaterial(){
return decompositionMaterial;
}
- public static ArrayList<ItemStack[]> getDecompositionResult(){
+ public ArrayList<ItemStack[]> getDecompositionResult(){
return decompositionResults;
}
- public static ArrayList<ItemStack[]> getChemicalCombinationMaterial(){
+ public ArrayList<ItemStack[]> getChemicalCombinationMaterial(){
return chemicalCombinationMaterials;
}
- public static ArrayList<ItemStack> getChemicalCombinationResult(){
+ public ArrayList<ItemStack> getChemicalCombinationResult(){
return chemicalCombinationResult;
}
- public static ChemiCraftCraftingManager getCraftingManager(){
+ public ArrayList<ItemStack[]> getMaterialMaterials(){
+ return materialMaterials;
+ }
+
+
+
+ public ArrayList<ItemStack> getMaterialResult(){
+ return materialResult;
+ }
+
+
+
+ public ArrayList<NBTRecipe> getMaterialNBTRecipe(){
+ return materialNBT;
+ }
+
+
+
+ public ChemiCraftCraftingManager getCraftingManager(){
return chemiCraftCraftingManager;
}