diff options
Diffstat (limited to 'src/main/java/gregtech/common/blocks/GT_Item_Machines.java')
-rw-r--r-- | src/main/java/gregtech/common/blocks/GT_Item_Machines.java | 27 |
1 files changed, 26 insertions, 1 deletions
diff --git a/src/main/java/gregtech/common/blocks/GT_Item_Machines.java b/src/main/java/gregtech/common/blocks/GT_Item_Machines.java index ed0236fcd3..cc49cefa2b 100644 --- a/src/main/java/gregtech/common/blocks/GT_Item_Machines.java +++ b/src/main/java/gregtech/common/blocks/GT_Item_Machines.java @@ -3,6 +3,7 @@ package gregtech.common.blocks; import gregtech.api.GregTech_API; import gregtech.api.enums.GT_Values; import gregtech.api.enums.Materials; +import gregtech.api.interfaces.ISecondaryDescribable; import gregtech.api.interfaces.metatileentity.IConnectable; import gregtech.api.interfaces.metatileentity.IMetaTileEntity; import gregtech.api.interfaces.tileentity.IGregTechTileEntity; @@ -66,10 +67,34 @@ public class GT_Item_Machines extends ItemBlock implements IFluidContainerItem { if (GregTech_API.METATILEENTITIES[tDamage] != null) { IGregTechTileEntity tTileEntity = GregTech_API.METATILEENTITIES[tDamage].getBaseMetaTileEntity(); + if (!GregTech_API.sPostloadFinished && tTileEntity.getMetaTileEntity() instanceof ISecondaryDescribable) { + final String[] secondaryDescription = ((ISecondaryDescribable) tTileEntity.getMetaTileEntity()).getSecondaryDescription(); + if (secondaryDescription != null) { + int i = 0; + for (String tDescription : secondaryDescription) { + if (GT_Utility.isStringValid(tDescription)) { + if (tDescription.contains("%%%")) { + String[] tString = tDescription.split("%%%"); + if (tString.length >= 2) { + StringBuilder tBuffer = new StringBuilder(); + for (int j = 0; j < tString.length; j++) + if (j % 2 == 0) tBuffer.append(tString[j]); + else { + tBuffer.append(" %s"); + } + GT_LanguageManager.addStringLocalization("TileEntity_DESCRIPTION_" + tDamage + "_Secondary" + "_Index_" + i++, tBuffer.toString(), true); + } + } else { + GT_LanguageManager.addStringLocalization("TileEntity_DESCRIPTION_" + tDamage + "_Secondary" + "_Index_" + i++, tDescription, true); + } + } else i++; + } + } + } if (tTileEntity.getDescription() != null) { int i = 0; IMetaTileEntity metaTileEntity = tTileEntity.getMetaTileEntity(); - String suffix = (metaTileEntity instanceof MetaTileEntity && ((MetaTileEntity) metaTileEntity).isDisplaySecondaryDescription()) ? "_Secondary" : ""; + String suffix = (metaTileEntity instanceof ISecondaryDescribable && ((ISecondaryDescribable) metaTileEntity).isDisplaySecondaryDescription()) ? "_Secondary" : ""; for (String tDescription : tTileEntity.getDescription()) { if (GT_Utility.isStringValid(tDescription)) { if(tDescription.contains("%%%")){ |