Fixes DriveBakedModel to not crash when SLOT_STATE is null (#3545)
Uses a null object in case the TE is not available for whichever reason.
This commit is contained in:
@@ -74,13 +74,8 @@ public class BlockDrive extends AEBaseTileBlock
|
|||||||
public IBlockState getExtendedState( IBlockState state, IBlockAccess world, BlockPos pos )
|
public IBlockState getExtendedState( IBlockState state, IBlockAccess world, BlockPos pos )
|
||||||
{
|
{
|
||||||
TileDrive te = this.getTileEntity( world, pos );
|
TileDrive te = this.getTileEntity( world, pos );
|
||||||
if( te == null )
|
|
||||||
{
|
|
||||||
return super.getExtendedState( state, world, pos );
|
|
||||||
}
|
|
||||||
|
|
||||||
IExtendedBlockState extState = (IExtendedBlockState) super.getExtendedState( state, world, pos );
|
IExtendedBlockState extState = (IExtendedBlockState) super.getExtendedState( state, world, pos );
|
||||||
return extState.withProperty( SLOTS_STATE, DriveSlotsState.fromChestOrDrive( te ) );
|
return extState.withProperty( SLOTS_STATE, te == null ? DriveSlotsState.createEmpty( 10 ) : DriveSlotsState.fromChestOrDrive( te ) );
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -75,4 +75,14 @@ public class DriveSlotsState
|
|||||||
}
|
}
|
||||||
return new DriveSlotsState( slots );
|
return new DriveSlotsState( slots );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static DriveSlotsState createEmpty( int slotCount )
|
||||||
|
{
|
||||||
|
DriveSlotState[] slots = new DriveSlotState[slotCount];
|
||||||
|
for( int i = 0; i < slotCount; i++ )
|
||||||
|
{
|
||||||
|
slots[i] = DriveSlotState.EMPTY;
|
||||||
|
}
|
||||||
|
return new DriveSlotsState( slots );
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user