diff options
author | miozune <miozune@gmail.com> | 2022-07-02 21:50:06 +0900 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-07-02 14:50:06 +0200 |
commit | 68c88b0a08f0f914e10ed43f44d7c9b962b64f43 (patch) | |
tree | 71a86ef99a2822f72a0f7ad49f1140b24f5bde50 /src/main/java/com | |
parent | 279bbc9c42ea9f51ad107d94e1e36bd25fc0f665 (diff) | |
download | GT5-Unofficial-68c88b0a08f0f914e10ed43f44d7c9b962b64f43.tar.gz GT5-Unofficial-68c88b0a08f0f914e10ed43f44d7c9b962b64f43.tar.bz2 GT5-Unofficial-68c88b0a08f0f914e10ed43f44d7c9b962b64f43.zip |
Add material owner tooltip (#147)
* Add material owner tooltip
* Improve translation
Former-commit-id: 607f4e6d9fc61f32226e69da54b44784c4e333fb
Diffstat (limited to 'src/main/java/com')
4 files changed, 48 insertions, 2 deletions
diff --git a/src/main/java/com/github/bartimaeusnek/bartworks/system/material/BW_MetaGeneratedBlock_Item.java b/src/main/java/com/github/bartimaeusnek/bartworks/system/material/BW_MetaGeneratedBlock_Item.java index 9875da9eab..c6a6f98d83 100644 --- a/src/main/java/com/github/bartimaeusnek/bartworks/system/material/BW_MetaGeneratedBlock_Item.java +++ b/src/main/java/com/github/bartimaeusnek/bartworks/system/material/BW_MetaGeneratedBlock_Item.java @@ -78,8 +78,15 @@ public class BW_MetaGeneratedBlock_Item extends BW_ItemBlocks { Werkstoff werkstoff = Werkstoff.werkstoffHashMap.get((short) aStack.getItemDamage()); if(werkstoff != null) { aList.add(werkstoff.getLocalizedToolTip()); + String owner = werkstoff.getOwner(); + if (owner != null) { + aList.add(BW_Tooltip_Reference.ADDED_VIA_BARTWORKS.apply(owner)); + } else { + aList.add(BW_Tooltip_Reference.ADDED_BY_BARTWORKS.get()); + } + } else { + aList.add(BW_Tooltip_Reference.ADDED_BY_BARTWORKS.get()); } - aList.add(BW_Tooltip_Reference.ADDED_BY_BARTWORKS.get()); } public boolean placeBlockAt(ItemStack aStack, EntityPlayer aPlayer, World aWorld, int aX, int aY, int aZ, int side, float hitX, float hitY, float hitZ, int aMeta) { diff --git a/src/main/java/com/github/bartimaeusnek/bartworks/system/material/BW_MetaGenerated_Items.java b/src/main/java/com/github/bartimaeusnek/bartworks/system/material/BW_MetaGenerated_Items.java index 56dfb0c138..7b22069f7b 100644 --- a/src/main/java/com/github/bartimaeusnek/bartworks/system/material/BW_MetaGenerated_Items.java +++ b/src/main/java/com/github/bartimaeusnek/bartworks/system/material/BW_MetaGenerated_Items.java @@ -134,7 +134,13 @@ public class BW_MetaGenerated_Items extends GT_MetaGenerated_Item implements IRa if (aStack != null && aStack.getItem() instanceof BW_MetaGenerated_Items && aStack.getItemDamage() == WerkstoffLoader.Tiberium.getmID()) aList.add(GT_LanguageManager.getTranslation("metaitem.01.tooltip.nqgen")); - aList.add(BW_Tooltip_Reference.ADDED_BY_BARTWORKS.get()); + Werkstoff werkstoff = werkstoffHashMap.get((short) this.getDamage(aStack)); + String owner = werkstoff.getOwner(); + if (owner != null) { + aList.add(BW_Tooltip_Reference.ADDED_VIA_BARTWORKS.apply(owner)); + } else { + aList.add(BW_Tooltip_Reference.ADDED_BY_BARTWORKS.get()); + } } @Override diff --git a/src/main/java/com/github/bartimaeusnek/bartworks/system/material/Werkstoff.java b/src/main/java/com/github/bartimaeusnek/bartworks/system/material/Werkstoff.java index 9555b91ac5..ac4a381fa6 100644 --- a/src/main/java/com/github/bartimaeusnek/bartworks/system/material/Werkstoff.java +++ b/src/main/java/com/github/bartimaeusnek/bartworks/system/material/Werkstoff.java @@ -48,14 +48,18 @@ import java.nio.ByteBuffer; import java.util.ArrayList; import java.util.Arrays; import java.util.Collection; +import java.util.HashMap; import java.util.HashSet; import java.util.LinkedHashMap; import java.util.LinkedHashSet; import java.util.List; import java.util.Locale; +import java.util.Map; import java.util.Objects; import java.util.Optional; +import static net.minecraft.util.EnumChatFormatting.*; + @SuppressWarnings("ALL") public class Werkstoff implements IColorModulationContainer, ISubTagContainer { @@ -63,6 +67,15 @@ public class Werkstoff implements IColorModulationContainer, ISubTagContainer { public static final LinkedHashMap<Short, Werkstoff> werkstoffHashMap = new LinkedHashMap<>(); public static final LinkedHashMap<String, Werkstoff> werkstoffNameHashMap = new LinkedHashMap<>(); + /** + * {className, modName} + */ + public static final Map<String, String> knownModNames = new HashMap(){{ + put("goodgenerator.items", GREEN + "Good Generator"); + put("com.elisis.gtnhlanth.common.register", GREEN + "GTNH: Lanthanides"); + put("galaxyspace.core.register", DARK_PURPLE + "GalaxySpace"); + }}; + private static final HashSet<Short> idHashSet = new HashSet<>(); private static final Werkstoff.Stats DEFAULT_NULL_STATS = new Werkstoff.Stats(); @@ -83,6 +96,7 @@ public class Werkstoff implements IColorModulationContainer, ISubTagContainer { private final short mID; private final TextureSet texSet; private Materials bridgeMaterial; + private final String owner; public Materials getBridgeMaterial() { return this.bridgeMaterial; @@ -288,6 +302,8 @@ public class Werkstoff implements IColorModulationContainer, ISubTagContainer { Werkstoff.werkstoffHashSet.add(this); Werkstoff.werkstoffHashMap.put(this.mID, this); Werkstoff.werkstoffNameHashMap.put(this.defaultName, this); + + this.owner = getMaterialOwner(); } @@ -529,6 +545,21 @@ public class Werkstoff implements IColorModulationContainer, ISubTagContainer { return OreDictHandler.getItemStack(this.getDefaultName(), prefixes,1) != null; } + public String getOwner() { + return owner; + } + + private String getMaterialOwner() { + for (StackTraceElement stacktrace : Thread.currentThread().getStackTrace()) { + for (Map.Entry<String, String> entry : knownModNames.entrySet()) { + if (stacktrace.getClassName().contains(entry.getKey())) { + return entry.getValue(); + } + } + } + return null; + } + public enum Types { MATERIAL, COMPOUND, MIXTURE, BIOLOGICAL, ELEMENT, ISOTOPE, UNDEFINED; diff --git a/src/main/java/com/github/bartimaeusnek/bartworks/util/BW_Tooltip_Reference.java b/src/main/java/com/github/bartimaeusnek/bartworks/util/BW_Tooltip_Reference.java index c98d172148..5fc2a951ee 100644 --- a/src/main/java/com/github/bartimaeusnek/bartworks/util/BW_Tooltip_Reference.java +++ b/src/main/java/com/github/bartimaeusnek/bartworks/util/BW_Tooltip_Reference.java @@ -25,6 +25,7 @@ package com.github.bartimaeusnek.bartworks.util; import static net.minecraft.util.EnumChatFormatting.*; import net.minecraft.util.StatCollector; +import java.util.function.Function; import java.util.function.Supplier; public class BW_Tooltip_Reference { @@ -34,6 +35,7 @@ public class BW_Tooltip_Reference { public static final String TT = TT_NO_RESET + GRAY; public static final Supplier<String> ADDED_BY_BARTIMAEUSNEK_VIA_BARTWORKS = () -> StatCollector.translateToLocal("tooltip.bw.1.name") + " " + BW; public static final Supplier<String> ADDED_BY_BARTWORKS = () -> StatCollector.translateToLocal("tooltip.bw.0.name") + " " + BW; + public static final Function<String, String> ADDED_VIA_BARTWORKS = owner -> String.format(StatCollector.translateToLocal("tooltip.bw.via.name"), owner); public static final String ADV_STR_CHECK = "Uses an advanced "+ TT +" structure check, due to "+ BW; public static final String TT_BLUEPRINT = "To see the structure, use a "+ TT + " Blueprint on the Controller!"; |