summaryrefslogtreecommitdiff
path: root/src/main/java/jp/plusplus/fbs/alchemy/IAlchemyProduct.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/jp/plusplus/fbs/alchemy/IAlchemyProduct.java')
-rw-r--r--src/main/java/jp/plusplus/fbs/alchemy/IAlchemyProduct.java35
1 files changed, 35 insertions, 0 deletions
diff --git a/src/main/java/jp/plusplus/fbs/alchemy/IAlchemyProduct.java b/src/main/java/jp/plusplus/fbs/alchemy/IAlchemyProduct.java
new file mode 100644
index 0000000..1104aee
--- /dev/null
+++ b/src/main/java/jp/plusplus/fbs/alchemy/IAlchemyProduct.java
@@ -0,0 +1,35 @@
+package jp.plusplus.fbs.alchemy;
+
+import jp.plusplus.fbs.alchemy.characteristic.CharacteristicBase;
+import net.minecraft.item.ItemStack;
+
+import java.util.ArrayList;
+import java.util.Random;
+
+/**
+ * Created by plusplus_F on 2015/09/09.
+ * 大釜によって作成できるアイテムに実装すべきインターフェース
+ */
+public interface IAlchemyProduct {
+ /**
+ * その特性を引き継げるか判定する
+ * @param cb 判定したい特性
+ * @return true:引継ぎ可能
+ */
+ boolean canInherit(ItemStack itemStack, CharacteristicBase cb);
+
+ /**
+ * 特性引継ぎ時に、引継ぎ可能な特性の数を返す
+ * @param itemStack
+ * @return
+ */
+ int getMaxInheritAmount(ItemStack itemStack);
+
+ /**
+ * 調合した際に、最初から付与されている特性リストを返す
+ * (このメソッドでは特性を付与しない!)
+ * @param itemStack
+ * @return
+ */
+ ArrayList<CharacteristicBase> getDefaultCharacteristics(ItemStack itemStack, Random rand);
+}