summaryrefslogtreecommitdiff
path: root/src/main/java/jp/plusplus/fbs/container/slot/SlotInventory.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/jp/plusplus/fbs/container/slot/SlotInventory.java')
-rw-r--r--src/main/java/jp/plusplus/fbs/container/slot/SlotInventory.java49
1 files changed, 49 insertions, 0 deletions
diff --git a/src/main/java/jp/plusplus/fbs/container/slot/SlotInventory.java b/src/main/java/jp/plusplus/fbs/container/slot/SlotInventory.java
new file mode 100644
index 0000000..76a7c5a
--- /dev/null
+++ b/src/main/java/jp/plusplus/fbs/container/slot/SlotInventory.java
@@ -0,0 +1,49 @@
+package jp.plusplus.fbs.container.slot;
+
+import jp.plusplus.fbs.alchemy.AlchemyRegistry;
+import jp.plusplus.fbs.alchemy.IAlchemyMaterial;
+import jp.plusplus.fbs.alchemy.IAlchemyProduct;
+import jp.plusplus.fbs.item.ItemBookSorcery;
+import jp.plusplus.fbs.item.ItemCore;
+import jp.plusplus.fbs.item.ItemStaff;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.inventory.IInventory;
+import net.minecraft.inventory.Slot;
+import net.minecraft.item.Item;
+import net.minecraft.item.ItemStack;
+import net.minecraftforge.oredict.OreDictionary;
+
+import java.util.ArrayList;
+
+/**
+ * Createdby pluslus_Fon 2015/06/15.
+ */
+public class SlotInventory extends Slot {
+ private int type;//0 book, 1 charm,book, 2 inv, 3 alchemy
+ public SlotInventory(IInventory p_i1824_1_, int p_i1824_2_, int p_i1824_3_, int p_i1824_4_, int type) {
+ super(p_i1824_1_, p_i1824_2_, p_i1824_3_, p_i1824_4_);
+ this.type=type;
+ }
+
+
+ public boolean isItemValid(ItemStack p_75214_1_) {
+ if (type == 0) return p_75214_1_.getItem() == ItemCore.bookSorcery;
+ if (type == 1){
+ ArrayList<ItemStack> list=OreDictionary.getOres("fbs.charm");
+ for(ItemStack item : list){
+ if(OreDictionary.itemMatches(item, p_75214_1_, false)) return true;
+ }
+ return false;
+ }
+ if(type==3){
+ Item it=p_75214_1_.getItem();
+ return it instanceof IAlchemyMaterial || it instanceof IAlchemyProduct || AlchemyRegistry.isBasketItem(p_75214_1_);
+ }
+ return true;
+ }
+
+ @Override
+ public boolean canTakeStack(EntityPlayer p_82869_1_) {
+ return !(getHasStack() && getStack().getItem() instanceof ItemStaff);
+ }
+}