aboutsummaryrefslogtreecommitdiff
path: root/src/main/java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java')
-rw-r--r--src/main/java/com/github/bartimaeusnek/bartworks/system/material/BW_MetaGenerated_Items.java14
-rw-r--r--src/main/java/com/github/bartimaeusnek/bartworks/system/material/GT_Enhancement/BWGTMetaItems.java43
-rw-r--r--src/main/java/com/github/bartimaeusnek/bartworks/system/material/Werkstoff.java41
3 files changed, 76 insertions, 22 deletions
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 ab38546756..56dfb0c138 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
@@ -68,22 +68,23 @@ public class BW_MetaGenerated_Items extends GT_MetaGenerated_Item implements IRa
};
protected final OrePrefixes orePrefixes;
+ protected final String itemTypeLocalizedName;
public BW_MetaGenerated_Items(OrePrefixes orePrefixes, Object unused){
super("bwMetaGeneratedGTEnhancement" + orePrefixes.name(), (short) 32766, (short) 0);
this.orePrefixes = orePrefixes;
+ this.itemTypeLocalizedName = GT_LanguageManager.addStringLocalization("bw.itemtype." + orePrefixes, orePrefixes.mLocalizedMaterialPre + "%material" + orePrefixes.mLocalizedMaterialPost);
}
public BW_MetaGenerated_Items(OrePrefixes orePrefixes) {
super("bwMetaGenerated" + orePrefixes.name(), (short) 32766, (short) 0);
this.orePrefixes = orePrefixes;
+ this.itemTypeLocalizedName = GT_LanguageManager.addStringLocalization("bw.itemtype." + orePrefixes, orePrefixes.mLocalizedMaterialPre + "%material" + orePrefixes.mLocalizedMaterialPost);
this.setCreativeTab(BW_MetaGenerated_Items.metaTab);
for (Werkstoff w : werkstoffHashSet) {
ItemStack tStack = new ItemStack(this, 1, w.getmID());
if (!w.hasItemType(this.orePrefixes))
continue;
- GT_LanguageManager.addStringLocalization(this.getUnlocalizedName(tStack) + ".name", this.getDefaultLocalization(w));
- GT_LanguageManager.addStringLocalization(this.getUnlocalizedName(tStack) + ".tooltip", w.getToolTip());
GT_OreDictUnificator.registerOre(this.orePrefixes.name() + w.getVarName(), tStack);
}
}
@@ -136,13 +137,12 @@ public class BW_MetaGenerated_Items extends GT_MetaGenerated_Item implements IRa
aList.add(BW_Tooltip_Reference.ADDED_BY_BARTWORKS.get());
}
- public String getDefaultLocalization(Werkstoff werkstoff) {
- return werkstoff != null ? this.orePrefixes.mLocalizedMaterialPre + werkstoff.getDefaultName() + this.orePrefixes.mLocalizedMaterialPost : Werkstoff.default_null_Werkstoff.getDefaultName();
- }
-
@Override
public String getItemStackDisplayName(ItemStack aStack) {
- return GT_LanguageManager.getTranslation(this.getUnlocalizedName(aStack) + ".name");
+ int aMetaData = aStack.getItemDamage();
+ Werkstoff werkstoff = werkstoffHashMap.get((short) aMetaData);
+ if (werkstoff == null) werkstoff = Werkstoff.default_null_Werkstoff;
+ return itemTypeLocalizedName.replace("%material", werkstoff.getLocalizedName());
}
@Override
diff --git a/src/main/java/com/github/bartimaeusnek/bartworks/system/material/GT_Enhancement/BWGTMetaItems.java b/src/main/java/com/github/bartimaeusnek/bartworks/system/material/GT_Enhancement/BWGTMetaItems.java
index 4310d06156..006afcb5f9 100644
--- a/src/main/java/com/github/bartimaeusnek/bartworks/system/material/GT_Enhancement/BWGTMetaItems.java
+++ b/src/main/java/com/github/bartimaeusnek/bartworks/system/material/GT_Enhancement/BWGTMetaItems.java
@@ -27,6 +27,7 @@ import com.github.bartimaeusnek.bartworks.client.textures.PrefixTextureLinker;
import com.github.bartimaeusnek.bartworks.system.material.BW_MetaGenerated_Items;
import com.github.bartimaeusnek.bartworks.system.material.Werkstoff;
import com.github.bartimaeusnek.bartworks.system.material.WerkstoffLoader;
+import com.github.bartimaeusnek.bartworks.util.BW_Tooltip_Reference;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import gregtech.api.enums.Materials;
@@ -34,11 +35,11 @@ import gregtech.api.enums.OrePrefixes;
import gregtech.api.enums.TextureSet;
import gregtech.api.enums.Textures;
import gregtech.api.interfaces.IIconContainer;
-import gregtech.api.util.GT_LanguageManager;
import gregtech.api.util.GT_OreDictUnificator;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.entity.Entity;
import net.minecraft.entity.item.EntityItem;
+import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.world.World;
@@ -71,9 +72,6 @@ public class BWGTMetaItems extends BW_MetaGenerated_Items {
hiddenThings.add(i);
continue;
}
-
- GT_LanguageManager.addStringLocalization(this.getUnlocalizedName(tStack) + ".name", getDefaultLocalization(material));
- GT_LanguageManager.addStringLocalization(this.getUnlocalizedName(tStack) + ".tooltip", material.getToolTip());
GT_OreDictUnificator.registerOre(this.orePrefixes.name() + material.mDefaultLocalName.replaceAll(" ",""), tStack);
}
@@ -92,14 +90,43 @@ public class BWGTMetaItems extends BW_MetaGenerated_Items {
hiddenThings.add(i);
continue;
}
- GT_LanguageManager.addStringLocalization(this.getUnlocalizedName(tStack) + ".name", getDefaultLocalization(w));
- GT_LanguageManager.addStringLocalization(this.getUnlocalizedName(tStack) + ".tooltip", w.getToolTip());
GT_OreDictUnificator.registerOre(this.orePrefixes.name() + w.mDefaultLocalName.replaceAll(" ",""), tStack);
}
}
}
+ private Materials getMaterial(ItemStack is) {
+ if (is == null || is.getItem() != this)
+ return null;
+ final int meta = is.getItemDamage();
+ Materials material;
+ if (meta > 1000 && hasList)
+ material = NoMetaValue.get(meta - 1001);
+ else
+ material = Materials.values()[meta];
+ return material;
+ }
+
+ @Override
+ public String getItemStackDisplayName(ItemStack aStack) {
+ Materials material = getMaterial(aStack);
+ if (material == null) material = Materials._NULL;
+ return material.getLocalizedNameForItem(itemTypeLocalizedName);
+ }
+
+ @SuppressWarnings("unchecked")
@Override
+ protected void addAdditionalToolTips(List aList, ItemStack aStack, EntityPlayer aPlayer) {
+ Materials material = getMaterial(aStack);
+ if (material != null) {
+ if (material.getToolTip() != null) {
+ aList.add(material.getToolTip());
+ }
+ }
+ aList.add(BW_Tooltip_Reference.ADDED_BY_BARTWORKS.get());
+ }
+
+ @Override
public IIconContainer getIconContainer(int aMetaData) {
if (this.orePrefixes.mTextureIndex == -1)
return getIconContainerBartWorks(aMetaData);
@@ -110,10 +137,6 @@ public class BWGTMetaItems extends BW_MetaGenerated_Items {
return Materials.values()[(short) aMetaData].mIconSet.mTextures[this.orePrefixes.mTextureIndex];
}
- public String getDefaultLocalization(Materials werkstoff) {
- return werkstoff != null ? this.orePrefixes.mLocalizedMaterialPre + werkstoff.mDefaultLocalName + this.orePrefixes.mLocalizedMaterialPost : Materials._NULL.mDefaultLocalName;
- }
-
@Override
protected IIconContainer getIconContainerBartWorks(int aMetaData) {
if (SideReference.Side.Server || PrefixTextureLinker.texMap == null)
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 7ca4af3b6a..035f4f832c 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
@@ -23,18 +23,36 @@
package com.github.bartimaeusnek.bartworks.system.material;
import com.github.bartimaeusnek.bartworks.system.oredict.OreDictHandler;
-import com.github.bartimaeusnek.bartworks.util.*;
+import com.github.bartimaeusnek.bartworks.util.BW_ColorUtil;
+import com.github.bartimaeusnek.bartworks.util.BW_Util;
+import com.github.bartimaeusnek.bartworks.util.MurmurHash3;
+import com.github.bartimaeusnek.bartworks.util.NonNullWrappedHashMap;
+import com.github.bartimaeusnek.bartworks.util.Pair;
import com.github.bartimaeusnek.crossmod.thaumcraft.util.ThaumcraftHandler;
-import gregtech.api.enums.*;
+import gregtech.api.enums.Materials;
+import gregtech.api.enums.OrePrefixes;
+import gregtech.api.enums.SubTag;
+import gregtech.api.enums.TC_Aspects;
+import gregtech.api.enums.TextureSet;
import gregtech.api.interfaces.IColorModulationContainer;
import gregtech.api.interfaces.ISubTagContainer;
+import gregtech.api.util.GT_LanguageManager;
import gregtech.api.util.GT_OreDictUnificator;
import net.minecraft.item.ItemStack;
import net.minecraftforge.fluids.FluidStack;
import java.lang.reflect.InvocationTargetException;
import java.nio.ByteBuffer;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.HashSet;
+import java.util.LinkedHashMap;
+import java.util.LinkedHashSet;
+import java.util.List;
+import java.util.Locale;
+import java.util.Objects;
+import java.util.Optional;
@SuppressWarnings("ALL")
public class Werkstoff implements IColorModulationContainer, ISubTagContainer {
@@ -55,7 +73,9 @@ public class Werkstoff implements IColorModulationContainer, ISubTagContainer {
private final HashSet<SubTag> SUBTAGS = new HashSet<>();
private byte[] rgb = new byte[3];
private final String defaultName;
+ private final String localizedName;
private String toolTip;
+ private final String localizedToolTip;
private Werkstoff.Stats stats;
private final Werkstoff.Types type;
@@ -161,10 +181,11 @@ public class Werkstoff implements IColorModulationContainer, ISubTagContainer {
if (type == null)
type = Werkstoff.Types.UNDEFINED;
+ this.mID = (short) mID;
this.defaultName = defaultName;
+ this.localizedName = GT_LanguageManager.addStringLocalization(String.format("bw.werkstoff.%05d.name", this.mID), defaultName);
this.stats = stats;
this.type = type;
- this.mID = (short) mID;
this.generationFeatures = generationFeatures;
this.setRgb(BW_ColorUtil.correctCorlorArray(rgba));
this.CONTENTS.addAll(Arrays.asList(contents));
@@ -199,6 +220,8 @@ public class Werkstoff implements IColorModulationContainer, ISubTagContainer {
// if (this.toolTip.length() > 25)
// this.toolTip = "The formula is to long...";
+ this.localizedToolTip = GT_LanguageManager.addStringLocalization(String.format("bw.werkstoff.%05d.tooltip", this.mID), toolTip);
+
if (this.stats.protons == 0) {
long tmpprotons = 0;
for (Pair<ISubTagContainer, Integer> p : contents) {
@@ -378,6 +401,10 @@ public class Werkstoff implements IColorModulationContainer, ISubTagContainer {
return this.defaultName;
}
+ public String getLocalizedName() {
+ return this.localizedName;
+ }
+
public String getVarName() {
return this.defaultName.replaceAll(" ", "");
}
@@ -386,6 +413,10 @@ public class Werkstoff implements IColorModulationContainer, ISubTagContainer {
return this.toolTip;
}
+ public String getLocalizedToolTip() {
+ return this.localizedToolTip;
+ }
+
public Werkstoff.Stats getStats() {
return this.stats;
}
@@ -1021,4 +1052,4 @@ public class Werkstoff implements IColorModulationContainer, ISubTagContainer {
}
}
-} \ No newline at end of file
+}