diff options
author | r4phael <albus.zly@gmail.com> | 2021-01-17 19:13:01 +0800 |
---|---|---|
committer | r4phael <albus.zly@gmail.com> | 2021-01-17 19:13:01 +0800 |
commit | e00f56ab06e9b3fc14046c8700b0b015eeaf5a3b (patch) | |
tree | cfced70edd8a4ab903dbae7c51bfe0a6f293e180 /src/main/java | |
parent | 2e6578e9dfa5bd860d5478f969ace24481e0cca9 (diff) | |
download | GT5-Unofficial-e00f56ab06e9b3fc14046c8700b0b015eeaf5a3b.tar.gz GT5-Unofficial-e00f56ab06e9b3fc14046c8700b0b015eeaf5a3b.tar.bz2 GT5-Unofficial-e00f56ab06e9b3fc14046c8700b0b015eeaf5a3b.zip |
Fix multiblock machine tooltip error
Diffstat (limited to 'src/main/java')
9 files changed, 53 insertions, 14 deletions
diff --git a/src/main/java/gregtech/api/interfaces/IDescribable.java b/src/main/java/gregtech/api/interfaces/IDescribable.java index 3e72f587db..cdd3b36fcd 100644 --- a/src/main/java/gregtech/api/interfaces/IDescribable.java +++ b/src/main/java/gregtech/api/interfaces/IDescribable.java @@ -8,4 +8,6 @@ public interface IDescribable { * The Tooltip Text */ String[] getDescription(); + + boolean isDisplaySecondaryDescription(); } diff --git a/src/main/java/gregtech/api/metatileentity/BaseMetaPipeEntity.java b/src/main/java/gregtech/api/metatileentity/BaseMetaPipeEntity.java index 6025e7eb13..3f26fce7d8 100644 --- a/src/main/java/gregtech/api/metatileentity/BaseMetaPipeEntity.java +++ b/src/main/java/gregtech/api/metatileentity/BaseMetaPipeEntity.java @@ -741,6 +741,12 @@ public class BaseMetaPipeEntity extends BaseTileEntity implements IGregTechTileE } @Override + public boolean isDisplaySecondaryDescription() { + if (canAccessData()) return mMetaTileEntity.isDisplaySecondaryDescription(); + return false; + } + + @Override public boolean isValidSlot(int aIndex) { if (canAccessData()) return mMetaTileEntity.isValidSlot(aIndex); return false; diff --git a/src/main/java/gregtech/api/metatileentity/BaseMetaTileEntity.java b/src/main/java/gregtech/api/metatileentity/BaseMetaTileEntity.java index f5bcf8bfbd..d1d27d97e5 100644 --- a/src/main/java/gregtech/api/metatileentity/BaseMetaTileEntity.java +++ b/src/main/java/gregtech/api/metatileentity/BaseMetaTileEntity.java @@ -1111,6 +1111,12 @@ public class BaseMetaTileEntity extends BaseTileEntity implements IGregTechTileE } @Override + public boolean isDisplaySecondaryDescription() { + if (canAccessData()) return mMetaTileEntity.isDisplaySecondaryDescription(); + return false; + } + + @Override public boolean isValidSlot(int aIndex) { if (canAccessData()) return mMetaTileEntity.isValidSlot(aIndex); return false; diff --git a/src/main/java/gregtech/api/metatileentity/MetaPipeEntity.java b/src/main/java/gregtech/api/metatileentity/MetaPipeEntity.java index 9fa16b9890..31ec73d04b 100644 --- a/src/main/java/gregtech/api/metatileentity/MetaPipeEntity.java +++ b/src/main/java/gregtech/api/metatileentity/MetaPipeEntity.java @@ -130,6 +130,10 @@ public abstract class MetaPipeEntity implements IMetaTileEntity, IConnectable { */ public abstract boolean renderInside(byte aSide); + public boolean isDisplaySecondaryDescription() { + return false; + } + @Override public IGregTechTileEntity getBaseMetaTileEntity() { return mBaseMetaTileEntity; diff --git a/src/main/java/gregtech/api/metatileentity/MetaTileEntity.java b/src/main/java/gregtech/api/metatileentity/MetaTileEntity.java index d873627e21..e1b29e941d 100644 --- a/src/main/java/gregtech/api/metatileentity/MetaTileEntity.java +++ b/src/main/java/gregtech/api/metatileentity/MetaTileEntity.java @@ -95,6 +95,10 @@ public abstract class MetaTileEntity implements IMetaTileEntity { mName = aName; } + public boolean isDisplaySecondaryDescription() { + return false; + } + @Override public IGregTechTileEntity getBaseMetaTileEntity() { return mBaseMetaTileEntity; diff --git a/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_MultiBlockBase.java b/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_MultiBlockBase.java index e15166cf62..986ce23975 100644 --- a/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_MultiBlockBase.java +++ b/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_MultiBlockBase.java @@ -23,6 +23,7 @@ import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.EnumChatFormatting; import net.minecraft.util.StatCollector; import net.minecraftforge.fluids.FluidStack; +import org.lwjgl.input.Keyboard; import java.util.ArrayList; @@ -70,6 +71,11 @@ public abstract class GT_MetaTileEntity_MultiBlockBase extends MetaTileEntity { } @Override + public boolean isDisplaySecondaryDescription() { + return Keyboard.isKeyDown(Keyboard.KEY_LSHIFT); + } + + @Override public boolean allowCoverOnSide(byte aSide, GT_ItemStack aCoverID) { return aSide != getBaseMetaTileEntity().getFrontFacing(); } diff --git a/src/main/java/gregtech/api/util/GT_LanguageManager.java b/src/main/java/gregtech/api/util/GT_LanguageManager.java index c87e0f7417..59c4d178b4 100644 --- a/src/main/java/gregtech/api/util/GT_LanguageManager.java +++ b/src/main/java/gregtech/api/util/GT_LanguageManager.java @@ -33,8 +33,12 @@ public class GT_LanguageManager { TEMPMAP.put(aKey.trim(), aEnglish); LanguageRegistry.instance().injectLanguage("en_US", TEMPMAP); TEMPMAP.clear(); - if(sUseEnglishFile && !aWriteIntoLangFile && LANGMAP.containsKey(aKey)){ - aEnglish = LANGMAP.get(aKey); + if(sUseEnglishFile && !aWriteIntoLangFile){ + if (!LANGMAP.containsKey(aKey)) { + Property tProperty = sEnglishFile.get("LanguageFile", aKey, aEnglish); + aEnglish = tProperty.getString(); + LANGMAP.put(aKey, aEnglish); + } else aEnglish = LANGMAP.get(aKey); } return aEnglish; } 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 917f31f9ce..6809f7970d 100644 --- a/src/main/java/gregtech/common/blocks/GT_Item_Machines.java +++ b/src/main/java/gregtech/common/blocks/GT_Item_Machines.java @@ -45,20 +45,21 @@ public class GT_Item_Machines extends ItemBlock { IGregTechTileEntity tTileEntity = GregTech_API.METATILEENTITIES[tDamage].getBaseMetaTileEntity(); if (tTileEntity.getDescription() != null) { int i = 0; + String suffix = tTileEntity.isDisplaySecondaryDescription() ? "Secondary_" : ""; for (String tDescription : tTileEntity.getDescription()) { if (GT_Utility.isStringValid(tDescription)) { - if(tDescription.contains("%%%")){ - String[] tString = tDescription.split("%%%"); - if(tString.length>=2){ - StringBuffer tBuffer = new StringBuffer(); - Object tRep[] = new String[tString.length / 2]; - for (int j = 0; j < tString.length; j++) - if (j % 2 == 0) tBuffer.append(tString[j]); - else {tBuffer.append(" %s"); tRep[j / 2] = tString[j];} - aList.add(String.format(GT_LanguageManager.addStringLocalization("TileEntity_DESCRIPTION_" + tDamage + "_Index_" + i++, tBuffer.toString(), !GregTech_API.sPostloadFinished), tRep)); - } - }else{String tTranslated = GT_LanguageManager.addStringLocalization("TileEntity_DESCRIPTION_" + tDamage + "_Index_" + i++, tDescription, !GregTech_API.sPostloadFinished ); - aList.add(tTranslated.equals("") ? tDescription : tTranslated);} + if(tDescription.contains("%%%")){ + String[] tString = tDescription.split("%%%"); + if(tString.length>=2){ + StringBuffer tBuffer = new StringBuffer(); + Object tRep[] = new String[tString.length / 2]; + for (int j = 0; j < tString.length; j++) + if (j % 2 == 0) tBuffer.append(tString[j]); + else {tBuffer.append(" %s"); tRep[j / 2] = tString[j];} + aList.add(String.format(GT_LanguageManager.addStringLocalization("TileEntity_" + suffix + "DESCRIPTION_" + tDamage + "_Index_" + i++, tBuffer.toString(), !GregTech_API.sPostloadFinished ), tRep)); + } + }else{String tTranslated = GT_LanguageManager.addStringLocalization("TileEntity_" + suffix + "DESCRIPTION_" + tDamage + "_Index_" + i++, tDescription, !GregTech_API.sPostloadFinished ); + aList.add(tTranslated.equals("") ? tDescription : tTranslated);} }else i++; } } diff --git a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_PrimitiveBlastFurnace.java b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_PrimitiveBlastFurnace.java index eeeef95dc3..225cd24e3e 100644 --- a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_PrimitiveBlastFurnace.java +++ b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_PrimitiveBlastFurnace.java @@ -18,6 +18,7 @@ import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.world.ChunkPosition; import net.minecraftforge.common.util.ForgeDirection; +import org.lwjgl.input.Keyboard; import static gregtech.api.objects.XSTR.XSTR_INSTANCE; @@ -317,4 +318,9 @@ public abstract class GT_MetaTileEntity_PrimitiveBlastFurnace extends MetaTileEn } public abstract String getName(); + + @Override + public boolean isDisplaySecondaryDescription() { + return Keyboard.isKeyDown(Keyboard.KEY_LSHIFT); + } } |