diff options
| author | Jason Mitchell <mitchej@gmail.com> | 2020-02-16 16:53:12 -0800 | 
|---|---|---|
| committer | Jason Mitchell <mitchej@gmail.com> | 2020-02-16 16:53:12 -0800 | 
| commit | e20f52a2e82e944cc38ad3955c612f2ccbb28b6a (patch) | |
| tree | 76e0aa7872987bfac72737f3346997cbb065442a /src/main/java | |
| parent | 06919f2d28179fcf8d0d5846d4a74fb1e3a86985 (diff) | |
| download | GT5-Unofficial-e20f52a2e82e944cc38ad3955c612f2ccbb28b6a.tar.gz GT5-Unofficial-e20f52a2e82e944cc38ad3955c612f2ccbb28b6a.tar.bz2 GT5-Unofficial-e20f52a2e82e944cc38ad3955c612f2ccbb28b6a.zip | |
Return default texture in case of NPE isntead of crashing
Diffstat (limited to 'src/main/java')
| -rw-r--r-- | src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch.java | 37 | 
1 files changed, 24 insertions, 13 deletions
| diff --git a/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch.java b/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch.java index d57aff8fc9..26e816a52c 100644 --- a/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch.java +++ b/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch.java @@ -43,19 +43,30 @@ public abstract class GT_MetaTileEntity_Hatch extends GT_MetaTileEntity_BasicTan      @Override      public ITexture[] getTexture(IGregTechTileEntity aBaseMetaTileEntity, byte aSide, byte aFacing, byte aColorIndex, boolean aActive, boolean aRedstone) { -        int textureIndex=actualTexture|(mTexturePage<<7);//Shift seven since one page is 128 textures! -        int texturePointer=(byte)(actualTexture&0x7F);//just to be sure, from my testing the 8th bit cannot be set clientside -        return aSide != aFacing ? -                textureIndex > 0 ? -                        new ITexture[]{Textures.BlockIcons.casingTexturePages[mTexturePage][texturePointer]} : -                        new ITexture[]{Textures.BlockIcons.MACHINE_CASINGS[mTier][aColorIndex + 1]} : -                textureIndex > 0 ? -                        aActive ? -                                getTexturesActive(Textures.BlockIcons.casingTexturePages[mTexturePage][texturePointer]) : -                                getTexturesInactive(Textures.BlockIcons.casingTexturePages[mTexturePage][texturePointer]) : -                        aActive ? -                                getTexturesActive(Textures.BlockIcons.MACHINE_CASINGS[mTier][aColorIndex + 1]) : -                                getTexturesInactive(Textures.BlockIcons.MACHINE_CASINGS[mTier][aColorIndex + 1]); +        int textureIndex = actualTexture | (mTexturePage << 7);//Shift seven since one page is 128 textures! +        int texturePointer = (byte) (actualTexture & 0x7F);//just to be sure, from my testing the 8th bit cannot be set clientside +        try { +            if (aSide != aFacing) { +                if (textureIndex > 0) +                    return new ITexture[]{Textures.BlockIcons.casingTexturePages[mTexturePage][texturePointer]}; +                else +                    return new ITexture[]{Textures.BlockIcons.MACHINE_CASINGS[mTier][aColorIndex + 1]}; +            } else { +                if (textureIndex > 0) { +                    if (aActive) +                        return getTexturesActive(Textures.BlockIcons.casingTexturePages[mTexturePage][texturePointer]); +                    else +                        return getTexturesInactive(Textures.BlockIcons.casingTexturePages[mTexturePage][texturePointer]); +                } else { +                    if (aActive) +                        return getTexturesActive(Textures.BlockIcons.MACHINE_CASINGS[mTier][aColorIndex + 1]); +                    else +                        return getTexturesInactive(Textures.BlockIcons.MACHINE_CASINGS[mTier][aColorIndex + 1]); +                } +            } +        } catch (NullPointerException npe) { +            return new ITexture[]{Textures.BlockIcons.MACHINE_CASINGS[0][0]}; +        }      }      @Override | 
