Skip to content

niMaterialProperty⚓︎

A rendering property that controls the surface properties of objects affected by the property. These surface properties include translucency, ambient reflective color, diffuse reflective color, emissive color intensity, and specular color.

This type inherits the following: niProperty, niObjectNET, niObject

Properties⚓︎

alpha⚓︎

The alpha value of the material. Value should be in [0.0, 1.0] range. Setting this value also marks the material as changed, so that renderer knows that it needs to update its copies of the material settings.

Returns:

  • result (number)

ambient⚓︎

The ambient material color. Setting this value also marks the material as changed, so that renderer knows that it needs to update its copies of the material settings.

Returns:


controller⚓︎

Read-only. The first controller available on the object.

Returns:


diffuse⚓︎

The diffuse material color. Setting this value also marks the material as changed, so that renderer knows that it needs to update its copies of the material settings.

Returns:


emissive⚓︎

The emissive material color. Setting this value also marks the material as changed, so that renderer knows that it needs to update its copies of the material settings.

Returns:


extraData⚓︎

Read-only. The first extra data available on the object.

Returns:


name⚓︎

The human-facing name of the given object.

Returns:

  • result (string)

propertyFlags⚓︎

Returns:

  • result (integer)

refCount⚓︎

Read-only. The number of references that exist for this object. When this value reaches zero, the object will be deleted.

Returns:

  • result (number)

RTTI⚓︎

Read-only. The runtime type information for this object. This is an alias for the .runTimeTypeInformation property.

Returns:


runTimeTypeInformation⚓︎

Read-only. The runtime type information for this object.

Returns:


shininess⚓︎

The shine of the material. Value should be >= 0. Higher values tend to make the material appear to have a more mirror-like finish. Setting this value also marks the material as changed, so that renderer knows that it needs to update its copies of the material settings.

Returns:

  • result (number)

specular⚓︎

The specular material color. Setting this value also marks the material as changed, so that renderer knows that it needs to update its copies of the material settings.

Returns:


type⚓︎

Read-only. The unique class identifier number of the given rendering property. The types are available in ni.propertyType table.

Returns:


Methods⚓︎

addExtraData⚓︎

Appends an extra data to the object.

myObject:addExtraData(extraData)

Parameters:


clone⚓︎

Creates a copy of this object.

local result = myObject:clone()

Returns:


getGameReference⚓︎

Searches for an niExtraData on this object to see if it has one that holds a related reference.

local reference = myObject:getGameReference(searchParents)

Parameters:

  • searchParents (boolean): Default: false. If true, all parent objects (if applicable) are also searched.

Returns:


getStringDataStartingWith⚓︎

Searches for an niExtraData on this object to see if it has niStringExtraData that has its string start with the provided value argument.

local extra = myObject:getStringDataStartingWith(value)

Parameters:

  • value (string): The first niStringExtraData starting with this value will be returned.

Returns:


getStringDataWith⚓︎

Searches for an niExtraData on this object to see if it has niStringExtraData that has the provided value argument in its string field.

local extra = myObject:getStringDataWith(value)

Parameters:

  • value (string): The first niStringExtraData with this word will be returned.

Returns:


hasStringDataStartingWith⚓︎

Searches for an niExtraData on this object to see if it has niStringExtraData that has its string start with the provided value argument. Returns true if the value was found.

local result = myObject:hasStringDataStartingWith(value)

Parameters:

  • value (string): The value to search for.

Returns:

  • result (boolean)

hasStringDataWith⚓︎

Searches for an niExtraData on this object to see if it has niStringExtraData that contains the provided value argument in its string field. Returns true if the value was found.

local result = myObject:hasStringDataWith(value)

Parameters:

  • value (string): The value to search for.

Returns:

  • result (boolean)

incrementRevisionId⚓︎

This marks the material as changed, so that the renderer knows that it needs to update the copies of the material settings.

myObject:incrementRevisionId()

isInstanceOfType⚓︎

Determines if the object is of a given type, or of a type derived from the given type.

local result = myObject:isInstanceOfType(type)

Parameters:

Returns:

  • result (boolean)

isOfType⚓︎

Determines if the object is of a given type.

local result = myObject:isOfType(type)

Parameters:

Returns:

  • result (boolean)

prependController⚓︎

Add a controller to the object as the first controller.

myObject:prependController(controller)

Parameters:


removeAllControllers⚓︎

Removes all controllers.

myObject:removeAllControllers()

removeAllExtraData⚓︎

Removes all extra data.

myObject:removeAllExtraData()

removeController⚓︎

Removes a controller from the object.

myObject:removeController(controller)

Parameters:


removeExtraData⚓︎

Removes a specific extra data from the object.

myObject:removeExtraData(extraData)

Parameters:


saveBinary⚓︎

Serializes the object, and writes it to the given file.

local success = myObject:saveBinary(path)

Parameters:

  • path (string): The path to write the file at, relative to the Morrowind installation folder.

Returns:

  • success (boolean): If true the object was successfully serialized.

setFlag⚓︎

Sets a given flag in the niObjectNET flag data. The specifics use of the flag is dependent on the real underlying type.

myObject:setFlag(state, index)

Parameters:

  • state (boolean)
  • index (number)