diff options
author | miozune <miozune@gmail.com> | 2022-11-28 23:35:31 +0900 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-11-28 15:35:31 +0100 |
commit | 03462d73b5a614fb3cbecf3abd078b2f674f20b1 (patch) | |
tree | d92fcef20190d2028dbe3ee98fd2657ea788d197 /src/main/java/gregtech/api/metatileentity | |
parent | 00d68a2db9010fc3e6dfaa0aa68d41467cdb1469 (diff) | |
download | GT5-Unofficial-03462d73b5a614fb3cbecf3abd078b2f674f20b1.tar.gz GT5-Unofficial-03462d73b5a614fb3cbecf3abd078b2f674f20b1.tar.bz2 GT5-Unofficial-03462d73b5a614fb3cbecf3abd078b2f674f20b1.zip |
Make Waila show all the covers attached (#1527)
* Make Waila show all the covers attached
* Make full translatable
Diffstat (limited to 'src/main/java/gregtech/api/metatileentity')
-rw-r--r-- | src/main/java/gregtech/api/metatileentity/BaseMetaTileEntity.java | 4 | ||||
-rw-r--r-- | src/main/java/gregtech/api/metatileentity/CoverableTileEntity.java | 35 |
2 files changed, 25 insertions, 14 deletions
diff --git a/src/main/java/gregtech/api/metatileentity/BaseMetaTileEntity.java b/src/main/java/gregtech/api/metatileentity/BaseMetaTileEntity.java index 395c73570c..b5efdc8112 100644 --- a/src/main/java/gregtech/api/metatileentity/BaseMetaTileEntity.java +++ b/src/main/java/gregtech/api/metatileentity/BaseMetaTileEntity.java @@ -621,7 +621,7 @@ public class BaseMetaTileEntity extends CommonMetaTileEntity @Override public void getWailaBody( ItemStack itemStack, List<String> currenttip, IWailaDataAccessor accessor, IWailaConfigHandler config) { - if (hasValidMetaTileEntity() && getMetaTileEntity() != null) { + if (hasValidMetaTileEntity()) { getMetaTileEntity().getWailaBody(itemStack, currenttip, accessor, config); } super.getWailaBody(itemStack, currenttip, accessor, config); @@ -631,7 +631,7 @@ public class BaseMetaTileEntity extends CommonMetaTileEntity public void getWailaNBTData( EntityPlayerMP player, TileEntity tile, NBTTagCompound tag, World world, int x, int y, int z) { super.getWailaNBTData(player, tile, tag, world, x, y, z); - if (hasValidMetaTileEntity() && getMetaTileEntity() != null) { + if (hasValidMetaTileEntity()) { getMetaTileEntity().getWailaNBTData(player, tile, tag, world, x, y, z); } } diff --git a/src/main/java/gregtech/api/metatileentity/CoverableTileEntity.java b/src/main/java/gregtech/api/metatileentity/CoverableTileEntity.java index 580fc136e6..2d29c7b70d 100644 --- a/src/main/java/gregtech/api/metatileentity/CoverableTileEntity.java +++ b/src/main/java/gregtech/api/metatileentity/CoverableTileEntity.java @@ -486,21 +486,32 @@ public abstract class CoverableTileEntity extends BaseTileEntity implements ICov public void getWailaBody( ItemStack itemStack, List<String> currenttip, IWailaDataAccessor accessor, IWailaConfigHandler config) { final NBTTagCompound tag = accessor.getNBTData(); - final byte side = (byte) accessor.getSide().ordinal(); + final byte currentFacing = (byte) accessor.getSide().ordinal(); final int[] coverSides = tag.getIntArray("mCoverSides"); // Not all data is available on the client, so get it from the NBT packet - if (coverSides != null && coverSides.length == 6 && coverSides[side] != 0) { - final int coverId = coverSides[side]; - final GT_CoverBehaviorBase<?> behavior = GregTech_API.getCoverBehaviorNew(coverId); - if (behavior != null && behavior != GregTech_API.sNoBehavior) { - if (tag.hasKey(CoverableTileEntity.COVER_DATA_NBT_KEYS[side])) { - final ISerializableObject dataObject = - behavior.createDataObject(tag.getTag(CoverableTileEntity.COVER_DATA_NBT_KEYS[side])); - final ItemStack coverStack = behavior.getDisplayStack(coverId, dataObject); - if (coverStack != null) currenttip.add(String.format("Cover: %s", coverStack.getDisplayName())); - final String behaviorDesc = behavior.getDescription(side, coverId, dataObject, null); - if (!Objects.equals(behaviorDesc, E)) currenttip.add(behaviorDesc); + if (coverSides != null && coverSides.length == 6) { + for (ForgeDirection direction : ForgeDirection.VALID_DIRECTIONS) { + final byte side = (byte) direction.ordinal(); + final int coverId = coverSides[side]; + final GT_CoverBehaviorBase<?> behavior = GregTech_API.getCoverBehaviorNew(coverId); + + if (coverId != 0 && behavior != null && behavior != GregTech_API.sNoBehavior) { + if (tag.hasKey(CoverableTileEntity.COVER_DATA_NBT_KEYS[side])) { + final ISerializableObject dataObject = + behavior.createDataObject(tag.getTag(CoverableTileEntity.COVER_DATA_NBT_KEYS[side])); + final ItemStack coverStack = behavior.getDisplayStack(coverId, dataObject); + if (coverStack != null) + currenttip.add(StatCollector.translateToLocalFormatted( + "GT5U.waila.cover", + currentFacing == side + ? StatCollector.translateToLocal("GT5U.waila.cover.current_facing") + : StatCollector.translateToLocal("GT5U.interface.coverTabs." + + direction.toString().toLowerCase()), + coverStack.getDisplayName())); + final String behaviorDesc = behavior.getDescription(side, coverId, dataObject, null); + if (!Objects.equals(behaviorDesc, E)) currenttip.add(behaviorDesc); + } } } } |