diff options
Diffstat (limited to 'src/main/java/gregtech/api')
-rw-r--r-- | src/main/java/gregtech/api/interfaces/IItemBehaviour.java | 5 | ||||
-rw-r--r-- | src/main/java/gregtech/api/items/MetaBaseItem.java | 11 |
2 files changed, 12 insertions, 4 deletions
diff --git a/src/main/java/gregtech/api/interfaces/IItemBehaviour.java b/src/main/java/gregtech/api/interfaces/IItemBehaviour.java index 3526fc716b..7a4286f638 100644 --- a/src/main/java/gregtech/api/interfaces/IItemBehaviour.java +++ b/src/main/java/gregtech/api/interfaces/IItemBehaviour.java @@ -1,6 +1,7 @@ package gregtech.api.interfaces; import java.util.List; +import java.util.Optional; import net.minecraft.dispenser.IBlockSource; import net.minecraft.entity.Entity; @@ -61,8 +62,8 @@ public interface IItemBehaviour<E extends Item> { List<String> getAdditionalToolTips(E aItem, List<String> aList, ItemStack aStack); - default List<String> getAdditionalToolTipsWhileSneaking(E aItem, List<String> aList, ItemStack aStack) { - return aList; + default Optional<List<String>> getAdditionalToolTipsWhileSneaking(E aItem, List<String> aList, ItemStack aStack) { + return Optional.empty(); } void onUpdate(E aItem, ItemStack aStack, World aWorld, Entity aPlayer, int aTimer, boolean aIsInHand); diff --git a/src/main/java/gregtech/api/items/MetaBaseItem.java b/src/main/java/gregtech/api/items/MetaBaseItem.java index 7369d5d1b2..c6751adb96 100644 --- a/src/main/java/gregtech/api/items/MetaBaseItem.java +++ b/src/main/java/gregtech/api/items/MetaBaseItem.java @@ -6,6 +6,7 @@ import static gregtech.api.util.GTUtility.formatNumbers; import java.util.ArrayList; import java.util.List; +import java.util.Optional; import java.util.concurrent.ConcurrentHashMap; import java.util.function.Predicate; @@ -269,8 +270,14 @@ public abstract class MetaBaseItem extends GTGenericItem ArrayList<IItemBehaviour<MetaBaseItem>> behaviours = mItemBehaviors.get((short) getDamage(aStack)); if (behaviours != null) { for (IItemBehaviour<MetaBaseItem> behavior : behaviours) { - aList = !KeyboardUtil.isShiftKeyDown() ? behavior.getAdditionalToolTips(this, aList, aStack) - : behavior.getAdditionalToolTipsWhileSneaking(this, aList, aStack); + final Optional<List<String>> shiftTooltips = KeyboardUtil.isShiftKeyDown() + ? behavior.getAdditionalToolTipsWhileSneaking(this, aList, aStack) + : Optional.empty(); + if (shiftTooltips.isPresent()) { + aList = shiftTooltips.get(); + } else { + aList = behavior.getAdditionalToolTips(this, aList, aStack); + } } } |