From e00f56ab06e9b3fc14046c8700b0b015eeaf5a3b Mon Sep 17 00:00:00 2001 From: r4phael Date: Sun, 17 Jan 2021 19:13:01 +0800 Subject: Fix multiblock machine tooltip error --- src/main/java/gregtech/api/metatileentity/BaseMetaPipeEntity.java | 6 ++++++ src/main/java/gregtech/api/metatileentity/BaseMetaTileEntity.java | 6 ++++++ src/main/java/gregtech/api/metatileentity/MetaPipeEntity.java | 4 ++++ src/main/java/gregtech/api/metatileentity/MetaTileEntity.java | 4 ++++ .../implementations/GT_MetaTileEntity_MultiBlockBase.java | 6 ++++++ 5 files changed, 26 insertions(+) (limited to 'src/main/java/gregtech/api/metatileentity') 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 @@ -740,6 +740,12 @@ public class BaseMetaPipeEntity extends BaseTileEntity implements IGregTechTileE return new String[0]; } + @Override + public boolean isDisplaySecondaryDescription() { + if (canAccessData()) return mMetaTileEntity.isDisplaySecondaryDescription(); + return false; + } + @Override public boolean isValidSlot(int aIndex) { if (canAccessData()) return mMetaTileEntity.isValidSlot(aIndex); 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 @@ -1110,6 +1110,12 @@ public class BaseMetaTileEntity extends BaseTileEntity implements IGregTechTileE return new String[0]; } + @Override + public boolean isDisplaySecondaryDescription() { + if (canAccessData()) return mMetaTileEntity.isDisplaySecondaryDescription(); + return false; + } + @Override public boolean isValidSlot(int aIndex) { if (canAccessData()) return mMetaTileEntity.isValidSlot(aIndex); 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; @@ -69,6 +70,11 @@ public abstract class GT_MetaTileEntity_MultiBlockBase extends MetaTileEntity { return aMetaTileEntity.getBaseMetaTileEntity() != null && aMetaTileEntity.getBaseMetaTileEntity().getMetaTileEntity() == aMetaTileEntity && !aMetaTileEntity.getBaseMetaTileEntity().isDead(); } + @Override + public boolean isDisplaySecondaryDescription() { + return Keyboard.isKeyDown(Keyboard.KEY_LSHIFT); + } + @Override public boolean allowCoverOnSide(byte aSide, GT_ItemStack aCoverID) { return aSide != getBaseMetaTileEntity().getFrontFacing(); -- cgit From cd3ddba6ec3f1a4a9397a781c40a2e96a8d0b5d3 Mon Sep 17 00:00:00 2001 From: r4phael Date: Mon, 18 Jan 2021 09:13:18 +0800 Subject: Remove additional method in IDescribable --- src/main/java/gregtech/api/interfaces/IDescribable.java | 2 -- src/main/java/gregtech/api/metatileentity/BaseMetaPipeEntity.java | 6 ------ src/main/java/gregtech/api/metatileentity/BaseMetaTileEntity.java | 6 ------ src/main/java/gregtech/api/metatileentity/MetaTileEntity.java | 4 ++++ src/main/java/gregtech/common/blocks/GT_Item_Machines.java | 5 ++++- 5 files changed, 8 insertions(+), 15 deletions(-) (limited to 'src/main/java/gregtech/api/metatileentity') diff --git a/src/main/java/gregtech/api/interfaces/IDescribable.java b/src/main/java/gregtech/api/interfaces/IDescribable.java index cdd3b36fcd..3e72f587db 100644 --- a/src/main/java/gregtech/api/interfaces/IDescribable.java +++ b/src/main/java/gregtech/api/interfaces/IDescribable.java @@ -8,6 +8,4 @@ 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 3f26fce7d8..6025e7eb13 100644 --- a/src/main/java/gregtech/api/metatileentity/BaseMetaPipeEntity.java +++ b/src/main/java/gregtech/api/metatileentity/BaseMetaPipeEntity.java @@ -740,12 +740,6 @@ public class BaseMetaPipeEntity extends BaseTileEntity implements IGregTechTileE return new String[0]; } - @Override - public boolean isDisplaySecondaryDescription() { - if (canAccessData()) return mMetaTileEntity.isDisplaySecondaryDescription(); - return false; - } - @Override public boolean isValidSlot(int aIndex) { if (canAccessData()) return mMetaTileEntity.isValidSlot(aIndex); diff --git a/src/main/java/gregtech/api/metatileentity/BaseMetaTileEntity.java b/src/main/java/gregtech/api/metatileentity/BaseMetaTileEntity.java index d1d27d97e5..f5bcf8bfbd 100644 --- a/src/main/java/gregtech/api/metatileentity/BaseMetaTileEntity.java +++ b/src/main/java/gregtech/api/metatileentity/BaseMetaTileEntity.java @@ -1110,12 +1110,6 @@ public class BaseMetaTileEntity extends BaseTileEntity implements IGregTechTileE return new String[0]; } - @Override - public boolean isDisplaySecondaryDescription() { - if (canAccessData()) return mMetaTileEntity.isDisplaySecondaryDescription(); - return false; - } - @Override public boolean isValidSlot(int aIndex) { if (canAccessData()) return mMetaTileEntity.isValidSlot(aIndex); diff --git a/src/main/java/gregtech/api/metatileentity/MetaTileEntity.java b/src/main/java/gregtech/api/metatileentity/MetaTileEntity.java index e1b29e941d..243aceb2d2 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; } + /** + * This method will only be called on client side + * @return whether the secondary description should be display. default is false + */ public boolean isDisplaySecondaryDescription() { return false; } 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 6809f7970d..61879a2253 100644 --- a/src/main/java/gregtech/common/blocks/GT_Item_Machines.java +++ b/src/main/java/gregtech/common/blocks/GT_Item_Machines.java @@ -4,7 +4,9 @@ import gregtech.api.GregTech_API; import gregtech.api.enums.GT_Values; import gregtech.api.enums.Materials; import gregtech.api.interfaces.metatileentity.IConnectable; +import gregtech.api.interfaces.metatileentity.IMetaTileEntity; import gregtech.api.interfaces.tileentity.IGregTechTileEntity; +import gregtech.api.metatileentity.MetaTileEntity; import gregtech.api.metatileentity.implementations.GT_MetaPipeEntity_Cable; import gregtech.api.metatileentity.implementations.GT_MetaPipeEntity_Fluid; import gregtech.api.metatileentity.implementations.GT_MetaPipeEntity_Frame; @@ -45,7 +47,8 @@ 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_" : ""; + IMetaTileEntity metaTileEntity = tTileEntity.getMetaTileEntity(); + String suffix = (metaTileEntity instanceof MetaTileEntity && ((MetaTileEntity) metaTileEntity).isDisplaySecondaryDescription()) ? "Secondary_" : ""; for (String tDescription : tTileEntity.getDescription()) { if (GT_Utility.isStringValid(tDescription)) { if(tDescription.contains("%%%")){ -- cgit