diff options
Diffstat (limited to 'src')
5 files changed, 49 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!"; diff --git a/src/main/resources/assets/bartworks/lang/en_US.lang b/src/main/resources/assets/bartworks/lang/en_US.lang index cb38553b32..d1f9bf8606 100644 --- a/src/main/resources/assets/bartworks/lang/en_US.lang +++ b/src/main/resources/assets/bartworks/lang/en_US.lang @@ -85,6 +85,7 @@ tooltip.bw.tier.name=Tier: tooltip.bw.kg.0.name=kg tooltip.bw.kg.1.name=kgs tooltip.bw.empty.name=Empty +tooltip.bw.via.name=Added by %s§7 via §2BartWorks tooltip.teslastaff.0.name=No warranty! tooltip.labmodule.0.name=A Module used to change the BioLab's working Mode |