EverambleGAME API / 1

CONTENT CONTRACT · VERSION 1

material

A native material selecting one fixed engine shader family.

Signature

{ color_rgb: {ColorChannel}, hardness: PositiveCount, id: ContentId, kind: "material", shader: MaterialShader, solid: boolean, surface: (TerrainSurface)?, voxel_material: (Name)? }

Fields

NameTypeMeaning
color_rgb{ColorChannel}Red, green and blue channels in that order.
Items: 3…3
hardnessPositiveCountPositive resistance to harvesting or destruction.
Range: 1…2147483647; Unit: count
idContentIdPackage-qualified identity; unique within its declaring namespace.
Length: 1…129; Pattern: ^[a-z][a-z0-9_]{0,31}:[a-z][a-z0-9_]{0,95}$
kind"material"Discriminant
shaderMaterialShaderRendering family used for this material.
solidbooleanWhether this material contributes solid collision geometry.
surfaceTerrainSurfaceEngine terrain surface; required for and only allowed with the terrain shader.
voxel_materialNameVoxel material of the map's world library; required for and only allowed with the voxel shader.
Length: 1…96; Pattern: ^[a-z][a-z0-9_]{0,95}$

Validated example

{
  "color_rgb": [
    222,
    193,
    134
  ],
  "hardness": 1,
  "id": "core:beach_sand",
  "kind": "material",
  "shader": "terrain",
  "solid": true,
  "surface": "sand"
}