From 15180e406b561528b8e09628af6f0112d2a21be2 Mon Sep 17 00:00:00 2001 From: pahimar Date: Thu, 7 May 2015 16:18:12 -0400 Subject: [PATCH] Prevent damaged itemstacks from being learnable, and add a tooltip in the Research Station GUI to tell if you already know how to transmute an itemstack --- .../ee3/client/handler/ItemTooltipEventHandler.java | 10 ++++++++++ .../com/pahimar/ee3/knowledge/AbilityRegistry.java | 10 +++++++++- 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/pahimar/ee3/client/handler/ItemTooltipEventHandler.java b/src/main/java/com/pahimar/ee3/client/handler/ItemTooltipEventHandler.java index e25132b0..33d7459f 100644 --- a/src/main/java/com/pahimar/ee3/client/handler/ItemTooltipEventHandler.java +++ b/src/main/java/com/pahimar/ee3/client/handler/ItemTooltipEventHandler.java @@ -2,8 +2,10 @@ package com.pahimar.ee3.client.handler; import com.pahimar.ee3.api.exchange.EnergyValue; import com.pahimar.ee3.api.exchange.EnergyValueRegistryProxy; +import com.pahimar.ee3.api.knowledge.TransmutationKnowledgeRegistryProxy; import com.pahimar.ee3.exchange.WrappedStack; import com.pahimar.ee3.inventory.ContainerAlchemicalTome; +import com.pahimar.ee3.inventory.ContainerResearchStation; import com.pahimar.ee3.inventory.ContainerTransmutationTablet; import com.pahimar.ee3.reference.Messages; import com.pahimar.ee3.util.IOwnable; @@ -70,6 +72,14 @@ public class ItemTooltipEventHandler } } + if (((Keyboard.isKeyDown(Keyboard.KEY_LSHIFT) || Keyboard.isKeyDown(Keyboard.KEY_RSHIFT)) && (event.entityPlayer != null && event.entityPlayer.openContainer instanceof ContainerResearchStation))) + { + if (TransmutationKnowledgeRegistryProxy.doesPlayerKnow(event.entityPlayer, event.itemStack)) + { + event.toolTip.add("You know how to transmute this"); // TODO Localize with better phrasing + } + } + if (event.itemStack.getItem() instanceof IOwnable) { UUID playerUUID = ItemHelper.getOwnerUUID(event.itemStack); diff --git a/src/main/java/com/pahimar/ee3/knowledge/AbilityRegistry.java b/src/main/java/com/pahimar/ee3/knowledge/AbilityRegistry.java index 1017fc82..3ea9a774 100644 --- a/src/main/java/com/pahimar/ee3/knowledge/AbilityRegistry.java +++ b/src/main/java/com/pahimar/ee3/knowledge/AbilityRegistry.java @@ -93,7 +93,15 @@ public class AbilityRegistry implements JsonSerializer, JsonDes if (WrappedStack.canBeWrapped(object)) { WrappedStack wrappedObject = WrappedStack.wrap(object); - return !notLearnableSet.contains(wrappedObject) && EnergyValueRegistry.getInstance().hasEnergyValue(wrappedObject); + + if (object instanceof ItemStack && ((ItemStack) object).isItemDamaged()) + { + return false; + } + else + { + return !notLearnableSet.contains(wrappedObject) && EnergyValueRegistry.getInstance().hasEnergyValue(wrappedObject); + } } return false;