Struct minecraft_assets::schemas::models::ElementFace[][src]

pub struct ElementFace {
    pub uv: Option<[f32; 4]>,
    pub texture: Texture,
    pub cull_face: Option<BlockFace>,
    pub rotation: u32,
    pub tint_index: i32,
}
Expand description

Specifies the details of a single face in a cuboid Element.

Fields

uv: Option<[f32; 4]>

Defines the area of the image that should be sampled for this texture.

The UV coordinates are specified as [x1, y1, x2, y2].

UV is optional, and if not supplied it defaults to values equal to the xyz position of the element.

The texture behavior is inconsistent if UV extends below 0 or above 16. If the numbers of x1 and x2 are swapped (e.g. from 0, 0, 16, 16 to 16, 0, 0, 16), the texture flips.

texture: Texture

Specifies the texture as texture variable prepended with a #.

cull_face: Option<BlockFace>

Specifies whether a face does not need to be rendered when there is a block touching it in the specified position.

The position can be: down, up, north, south, west, or east.

It also determines the side of the block to use the light level from for lighting the face, and if unset, defaults to the side.

bottom may also be used in the latest versions instead of down, despite appearing only once in the actual game assets.

rotation: u32

Rotates the texture by the specified number of degrees.

Can be 0, 90, 180, or 270. Defaults to 0. Rotation does not affect which part of the texture is used. Instead, it amounts to a permutation of the selected texture vertexes (selected implicitly, or explicitly though uv).

tint_index: i32

Determines whether to tint the texture using a hardcoded tint index.

The default value, -1, indicates not to use the tint. Any other number is provided to BlockColors to get the tint value corresponding to that index. However, most blocks do not have a tint value defined (in which case white is used). Furthermore, no vanilla block currently uses multiple tint values, and thus the tint index value is ignored (as long as it is set to something other than -1); it could be used for modded blocks that need multiple distinct tint values in the same block though.

Trait Implementations

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

Formats the value using the given formatter. Read more

Returns the “default value” for a type. Read more

Deserialize this value from the given Serde deserializer. Read more

This method tests for self and other values to be equal, and is used by ==. Read more

This method tests for !=.

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Performs the conversion.

Performs the conversion.

The resulting type after obtaining ownership.

Creates owned data from borrowed data, usually by cloning. Read more

🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.