diff options
| author | MuXiu1997 <MuXiu1997@Gmail.com> | 2022-04-24 17:20:11 +0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-04-24 11:20:11 +0200 |
| commit | c4a686a4f7c733c96194148ed087465cf1297378 (patch) | |
| tree | 16c913a6292a618391b1b3c31390be8430ed6ddd /src/main/java | |
| parent | 35d6cdfa50e85e2cd37301732879c32e577b9186 (diff) | |
| download | GT5-Unofficial-c4a686a4f7c733c96194148ed087465cf1297378.tar.gz GT5-Unofficial-c4a686a4f7c733c96194148ed087465cf1297378.tar.bz2 GT5-Unofficial-c4a686a4f7c733c96194148ed087465cf1297378.zip | |
Modify the localization of `Werkstoff` and `BWGTMetaItems` (#115)
* Modify the localization of `Werkstoff` and `BWGTMetaItems`
* Ascending
Former-commit-id: d3b111eb8923cf18f3f41309d34a1febdca63f03
Diffstat (limited to 'src/main/java')
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 +} |
