OSDN Git Service

パッケージをpcc.chemicraft.*に変更
[chemicraft/chemicraft.git] / common / pcc / chemicraft / ChemiCraftAPI.java
similarity index 70%
rename from common/chemicraft/ChemiCraftAPI.java
rename to common/pcc/chemicraft/ChemiCraftAPI.java
index a538fed..2110f73 100644 (file)
@@ -1,14 +1,14 @@
-package chemicraft;
+package pcc.chemicraft;
 
 import java.util.ArrayList;
 import java.util.HashMap;
 
 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;
+import pcc.chemicraft.system.ChemiCraftCraftingManager;
+import pcc.chemicraft.tileentity.TileEntityPyrolysisTable;
+import pcc.chemicraft.util.ChemicalNBTRecipe;
+import pcc.chemicraft.util.ICompoundHandler;
+import pcc.chemicraft.util.MaterialRecipe;
 
 /**
  * ChemiCraftのAPI
@@ -90,6 +90,24 @@ public class ChemiCraftAPI {
        private ChemiCraftCraftingManager chemiCraftCraftingManager = new ChemiCraftCraftingManager();
 
 
+       /**
+        * ツール&武器作成台の素材一覧のリスト
+        */
+       private ArrayList<ItemStack[]> toolAndWeaponMaterials = new ArrayList<ItemStack[]>();
+
+
+       /**
+        * ツール&武器作成台の結果のリスト
+        */
+       private ArrayList<ItemStack> toolAndWeaponResult = new ArrayList<ItemStack>();
+
+
+       /**
+        * ツール&武器作成台の不定形であるか
+        */
+       private ArrayList<Boolean> toolAndWeaponSharpless = new ArrayList<Boolean>();
+
+
 
        /**
         * add compound.
@@ -151,6 +169,12 @@ public class ChemiCraftAPI {
 
 
 
+       /**
+        * 分解台のレシピを追加します
+        * @param material 素材
+        * @param results 原子の元素番号の配列
+        * @param stacks 原子のできる数の配列
+        */
        public void addDecompositionRecipe(ItemStack material, int[] results, int[] stacks) {
                ItemStack[] itemstacks = new ItemStack[results.length];
                for (int i = 0; i < itemstacks.length; i++) {
@@ -161,18 +185,60 @@ public class ChemiCraftAPI {
 
 
 
+       /**
+        * 分解台の燃料を追加します
+        * @param itemstack 燃料のItemStack
+        * @param burnTime 燃焼時間(tick * rate)
+        */
        public void addDecompositionFuel(ItemStack itemstack, int burnTime) {
                TileEntityPyrolysisTable.addFuel(itemstack, burnTime);
        }
 
 
 
+       /**
+        * ツール&武器作成台のレシピを追加します
+        * @param materials 素材
+        * @param result 結果
+        */
+       public void addToolAndWeaponRecipe(ItemStack[] materials, ItemStack result) {
+               toolAndWeaponMaterials.add(materials);
+               toolAndWeaponResult.add(result);
+               toolAndWeaponSharpless.add(false);
+       }
+
+
+       /**
+        * ツール&武器作成台の不定形レシピを追加します
+        * @param materials 素材
+        * @param result 結果
+        */
+       public void addSharplessToolAndWeaponRecipe(ItemStack[] materials, ItemStack result) {
+               toolAndWeaponMaterials.add(materials);
+               toolAndWeaponResult.add(result);
+               toolAndWeaponSharpless.add(true);
+       }
+
+
+
+       /**
+        * 素材作成台の不定形レシピを追加します
+        * @param materials 素材
+        * @param result 結果
+        * @param nbtRecipe NBT(Nullの場合はなし)
+        */
        public void addSharplessMaterialRecipe(ItemStack[] materials, ItemStack result, ChemicalNBTRecipe nbtRecipe){
                materialRecipe.add(new MaterialRecipe(result, materials, nbtRecipe, true));
        }
 
 
 
+       /**
+        * 素材作成台のレシピを追加します
+        * @param materials 素材
+        * @param result 結果
+        * @param nbtRecipe NBT(Nullの場合はなし)
+        */
        public void addMaterialRecipe(ItemStack[] materials, ItemStack result, ChemicalNBTRecipe nbtRecipe){
                materialRecipe.add(new MaterialRecipe(result, materials, nbtRecipe, false));
        }
@@ -238,6 +304,24 @@ public class ChemiCraftAPI {
 
 
 
+       public ArrayList<ItemStack[]> getToolAndWeaponMaterials() {
+               return toolAndWeaponMaterials;
+       }
+
+
+
+       public ArrayList<ItemStack> getToolAndWeaponResult() {
+               return toolAndWeaponResult;
+       }
+
+
+
+       public ArrayList<Boolean> getToolAndWeaponSharpless() {
+               return toolAndWeaponSharpless;
+       }
+
+
+
        public ChemiCraftCraftingManager getCraftingManager(){
                return chemiCraftCraftingManager;
        }