aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gregtech
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/gregtech')
-rw-r--r--src/main/java/gregtech/api/interfaces/IItemBehaviour.java5
-rw-r--r--src/main/java/gregtech/api/items/MetaBaseItem.java11
-rw-r--r--src/main/java/gregtech/common/items/behaviors/BehaviourSprayColorInfinite.java8
3 files changed, 18 insertions, 6 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);
+ }
}
}
diff --git a/src/main/java/gregtech/common/items/behaviors/BehaviourSprayColorInfinite.java b/src/main/java/gregtech/common/items/behaviors/BehaviourSprayColorInfinite.java
index 7a625afc41..924d160f2d 100644
--- a/src/main/java/gregtech/common/items/behaviors/BehaviourSprayColorInfinite.java
+++ b/src/main/java/gregtech/common/items/behaviors/BehaviourSprayColorInfinite.java
@@ -4,6 +4,7 @@ import static gregtech.api.enums.GTValues.AuthorQuerns;
import static net.minecraft.util.MovingObjectPosition.MovingObjectType.BLOCK;
import java.util.List;
+import java.util.Optional;
import java.util.function.Consumer;
import net.minecraft.entity.player.EntityPlayer;
@@ -114,8 +115,10 @@ public class BehaviourSprayColorInfinite extends BehaviourSprayColor {
}
@Override
- public List<String> getAdditionalToolTipsWhileSneaking(final MetaBaseItem aItem, final List<String> aList,
+ public Optional<List<String>> getAdditionalToolTipsWhileSneaking(final MetaBaseItem aItem, final List<String> aList,
final ItemStack aStack) {
+ aList.add(StatCollector.translateToLocal("gt.behaviour.paintspray.infinite.tooltip.infinite"));
+ aList.add(mTooltipChain);
aList.add(" ");
aList.add(StatCollector.translateToLocal("gt.behaviour.paintspray.infinite.tooltip.switch"));
aList.add(StatCollector.translateToLocal("gt.behaviour.paintspray.infinite.tooltip.gui"));
@@ -123,7 +126,8 @@ public class BehaviourSprayColorInfinite extends BehaviourSprayColor {
aList.add(StatCollector.translateToLocal("gt.behaviour.paintspray.infinite.tooltip.lock"));
aList.add(" ");
aList.add(AuthorQuerns);
- return aList;
+
+ return Optional.of(aList);
}
// endregion