From c0cb4367977b7c596056e248b29e3b27fe42f908 Mon Sep 17 00:00:00 2001
From: Ben Blank <ben.blank@gmail.com>
Date: Sat, 31 Jan 2015 11:44:05 -0800
Subject: [PATCH] extract an interface representing the Ritual Diviner into the
 API for use by other mods

---
 .../api/items/interfaces/IRitualDiviner.java       | 14 ++++++++++++++
 .../common/items/ItemRitualDiviner.java            | 11 ++++++++++-
 2 files changed, 24 insertions(+), 1 deletion(-)
 create mode 100644 src/main/java/WayofTime/alchemicalWizardry/api/items/interfaces/IRitualDiviner.java

diff --git a/src/main/java/WayofTime/alchemicalWizardry/api/items/interfaces/IRitualDiviner.java b/src/main/java/WayofTime/alchemicalWizardry/api/items/interfaces/IRitualDiviner.java
new file mode 100644
index 00000000..03094a88
--- /dev/null
+++ b/src/main/java/WayofTime/alchemicalWizardry/api/items/interfaces/IRitualDiviner.java
@@ -0,0 +1,14 @@
+package WayofTime.alchemicalWizardry.api.items.interfaces;
+
+import net.minecraft.item.ItemStack;
+
+public interface IRitualDiviner {
+	int cycleDirection(ItemStack stack);
+	String getCurrentRitual(ItemStack stack);
+	int getDirection(ItemStack stack);
+	int getMaxRuneDisplacement(ItemStack stack);
+	String getNameForDirection(int direction);
+	void setCurrentRitual(ItemStack stack, String ritualID);
+	void setDirection(ItemStack stack, int direction);
+	void setMaxRuneDisplacement(ItemStack stack, int displacement);
+}
diff --git a/src/main/java/WayofTime/alchemicalWizardry/common/items/ItemRitualDiviner.java b/src/main/java/WayofTime/alchemicalWizardry/common/items/ItemRitualDiviner.java
index ef75415b..e08723bf 100644
--- a/src/main/java/WayofTime/alchemicalWizardry/common/items/ItemRitualDiviner.java
+++ b/src/main/java/WayofTime/alchemicalWizardry/common/items/ItemRitualDiviner.java
@@ -22,6 +22,7 @@ import org.lwjgl.input.Keyboard;
 import WayofTime.alchemicalWizardry.AlchemicalWizardry;
 import WayofTime.alchemicalWizardry.ModBlocks;
 import WayofTime.alchemicalWizardry.ModItems;
+import WayofTime.alchemicalWizardry.api.items.interfaces.IRitualDiviner;
 import WayofTime.alchemicalWizardry.api.rituals.IRitualStone;
 import WayofTime.alchemicalWizardry.api.rituals.RitualComponent;
 import WayofTime.alchemicalWizardry.api.rituals.Rituals;
@@ -29,7 +30,7 @@ import WayofTime.alchemicalWizardry.common.tileEntity.TEMasterStone;
 import cpw.mods.fml.relauncher.Side;
 import cpw.mods.fml.relauncher.SideOnly;
 
-public class ItemRitualDiviner extends EnergyItems
+public class ItemRitualDiviner extends EnergyItems implements IRitualDiviner
 {
     private int maxMetaData;
 
@@ -302,6 +303,7 @@ public class ItemRitualDiviner extends EnergyItems
         return false;
     }
 
+    @Override
     public String getCurrentRitual(ItemStack par1ItemStack)
     {
         if (par1ItemStack.getTagCompound() == null)
@@ -312,6 +314,7 @@ public class ItemRitualDiviner extends EnergyItems
         return par1ItemStack.getTagCompound().getString("ritualID");
     }
 
+    @Override
     public void setCurrentRitual(ItemStack par1ItemStack, String ritualID)
     {
         if (par1ItemStack.getTagCompound() == null)
@@ -322,6 +325,7 @@ public class ItemRitualDiviner extends EnergyItems
         par1ItemStack.getTagCompound().setString("ritualID", ritualID);
     }
 
+    @Override
     public int getMaxRuneDisplacement(ItemStack par1ItemStack) //0 indicates the starting 4 runes, 1 indicates it can use Dusk runes
     {
         if (par1ItemStack.getTagCompound() == null)
@@ -332,6 +336,7 @@ public class ItemRitualDiviner extends EnergyItems
         return par1ItemStack.getTagCompound().getInteger("maxRuneDisplacement");
     }
 
+    @Override
     public void setMaxRuneDisplacement(ItemStack par1ItemStack, int displacement)
     {
         if (par1ItemStack.getTagCompound() == null)
@@ -352,6 +357,7 @@ public class ItemRitualDiviner extends EnergyItems
         list.add(duskRitualDivinerStack);
     }
     
+    @Override
     public int getDirection(ItemStack itemStack)
     {
     	if(itemStack.getTagCompound() == null)
@@ -362,6 +368,7 @@ public class ItemRitualDiviner extends EnergyItems
     	return itemStack.getTagCompound().getInteger("direction");
     }
     
+    @Override
     public void setDirection(ItemStack itemStack, int direction)
     {
     	if(itemStack.getTagCompound() == null)
@@ -372,6 +379,7 @@ public class ItemRitualDiviner extends EnergyItems
     	itemStack.getTagCompound().setInteger("direction", direction);
     }
     
+    @Override
     public int cycleDirection(ItemStack itemStack)
     {
     	int direction = this.getDirection(itemStack);
@@ -389,6 +397,7 @@ public class ItemRitualDiviner extends EnergyItems
     	return direction;
     }
     
+    @Override
     public String getNameForDirection(int direction)
     {
     	String dir = "";