From c0cb4367977b7c596056e248b29e3b27fe42f908 Mon Sep 17 00:00:00 2001 From: Ben Blank 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 = "";