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
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>,
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 !=
.
Auto Trait Implementations
impl RefUnwindSafe for ElementFace
impl Send for ElementFace
impl Sync for ElementFace
impl Unpin for ElementFace
impl UnwindSafe for ElementFace
Blanket Implementations
Mutably borrows from an owned value. Read more