aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/main/java/com/github/bartimaeusnek/bartworks/system/material/BW_MetaGeneratedBlock_Item.java9
-rw-r--r--src/main/java/com/github/bartimaeusnek/bartworks/system/material/BW_MetaGenerated_Items.java8
-rw-r--r--src/main/java/com/github/bartimaeusnek/bartworks/system/material/Werkstoff.java31
-rw-r--r--src/main/java/com/github/bartimaeusnek/bartworks/util/BW_Tooltip_Reference.java2
-rw-r--r--src/main/resources/assets/bartworks/lang/en_US.lang1
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