From f7026a0800b56bba86ee66df52299645167b1917 Mon Sep 17 00:00:00 2001 From: Berknam Date: Thu, 9 Oct 2014 00:17:13 +0100 Subject: [PATCH] Implemented "Shift + Left Click" for ItemDiviner to get previous Ritual --- .../api/rituals/Rituals.java | 21 ++++++++++++++ .../common/items/ItemRitualDiviner.java | 28 +++++++++++++++++++ 2 files changed, 49 insertions(+) diff --git a/1.7.10/main/java/WayofTime/alchemicalWizardry/api/rituals/Rituals.java b/1.7.10/main/java/WayofTime/alchemicalWizardry/api/rituals/Rituals.java index 44efbc83..212a43e0 100644 --- a/1.7.10/main/java/WayofTime/alchemicalWizardry/api/rituals/Rituals.java +++ b/1.7.10/main/java/WayofTime/alchemicalWizardry/api/rituals/Rituals.java @@ -384,6 +384,27 @@ public class Rituals return firstKey; } + + public static String getPreviousRitualKey(String key) + { + boolean hasSpotted = false; + String lastKey = keyList.get(keyList.size()-1); + + for(String str : keyList) + { + if(str.equals(key)) + { + hasSpotted = true; + } + if(hasSpotted) + { + return lastKey; + } + lastKey = str; + } + + return lastKey; + } public static MRSRenderer getRendererForKey(String ritualID) { diff --git a/1.7.10/main/java/WayofTime/alchemicalWizardry/common/items/ItemRitualDiviner.java b/1.7.10/main/java/WayofTime/alchemicalWizardry/common/items/ItemRitualDiviner.java index 0e74a674..64061cf9 100644 --- a/1.7.10/main/java/WayofTime/alchemicalWizardry/common/items/ItemRitualDiviner.java +++ b/1.7.10/main/java/WayofTime/alchemicalWizardry/common/items/ItemRitualDiviner.java @@ -5,6 +5,7 @@ import java.util.List; import net.minecraft.block.Block; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.creativetab.CreativeTabs; +import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; @@ -257,6 +258,33 @@ public class ItemRitualDiviner extends EnergyItems return par1ItemStack; } + @Override + public boolean onEntitySwing(EntityLivingBase entityLiving, ItemStack stack) + { + if(entityLiving instanceof EntityPlayer) + { + EntityPlayer player = (EntityPlayer) entityLiving; + + if(player.isSneaking() && !player.isSwingInProgress) + { + int maxRitualID = Rituals.getNumberOfRituals(); + String currentRitualID = this.getCurrentRitual(stack); + + this.setCurrentRitual(stack, Rituals.getPreviousRitualKey(currentRitualID)); + + if (entityLiving.worldObj.isRemote) + { + IChatComponent chatmessagecomponent = new ChatComponentText("Current Ritual: " + Rituals.getNameOfRitual(this.getCurrentRitual(stack))); + //chatmessagecomponent.func_111072_b("Current Essence: " + data.currentEssence + "LP"); + //chatmessagecomponent.addText("Current Ritual: " + Rituals.getNameOfRitual(this.getCurrentRitual(par1ItemStack))); + player.addChatComponentMessage(chatmessagecomponent); + } + } + } + + return false; + } + public String getCurrentRitual(ItemStack par1ItemStack) { if (par1ItemStack.stackTagCompound == null)