-
Notifications
You must be signed in to change notification settings - Fork 1
MAT Enums & Draconic SurfaceProps
The Source engine has an internal system of materials referred to generally by the community as "MATs", in reference to their enumeration shorthand just being "MAT_". There is a generalized list of MAT types which are commonly found in all Source games, but each game can (and usually does) have a few special ones, most of which are undocumented. Through the course of community crowdsourcing via a console message whenever an unknown MAT gets encountered by the Draconic Base I have been able to garner a massive list of what is most surely an almost complete list of every MAT enumeration you may ever encounter in Garry's Mod.
Click to expand.
MAT_DEFAULT
MAT_DEFAULT_SILENT
MAT_ANTLION
MAT_ARMORFLESH
MAT_BLOODYFLESH
MAT_ZOMBIEFLESH
MAT_STRIDER
MAT_HUNTER
MAT_PAPER
MAT_EGGSHELL
MAT_ANTLION_EGGSHELL
MAT_FLESH
MAT_WATERMELON
MAT_ALIENFLESH
MAT_CLIP
MAT_NO_DECAL
MAT_PLASTIC
MAT_PLASTIC_BARREL
MAT_PLASTIC_BOX
MAT_PAINTCAN
MAT_POPCAN
MAT_CANISTER
MAT_VENT
MAT_GRENADE
MAT_WEAPON
MAT_CROWBAR
MAT_METAL
MAT_METALVEHICLE
MAT_COMBINE_METAL
MAT_COMBINE_GLASS
MAT_GUNSHIP
MAT_ROLLER
MAT_SOLIDMETAL
MAT_SLIPPERYMETAL
MAT_METALPANEL
MAT_METALVENT
MAT_METAL_BARREL
MAT_FLOATING_METAL_BARREL
MAT_METAL_BOX
MAT_GRATE
MAT_CHAINLINK
MAT_COMPUTER
MAT_CONCRETE
MAT_RUBBER
MAT_RUBBERTIRE
MAT_MUD
MAT_DIRT
MAT_STONE
MAT_ROCK
MAT_BOULDER
MAT_SAND
MAT_ANTLIONSAND
MAT_FOLIAGE
MAT_SLOSH
MAT_GRASS
MAT_CARPET
MAT_FABRIC
MAT_CLOTH
MAT_WOOD
MAT_WOOD_CRATE
MAT_WOOD_FURNITURE
MAT_WOOD_SOLID
MAT_WOOD_PLANK
MAT_WOOD_PANEL
MAT_CARDBOARD
MAT_TILE
MAT_POTTERY
MAT_SNOW
MAT_PORCELAIN
MAT_PLASTER
MAT_GLASS
MAT_GLASSBOTTLE
MAT_ICE
MAT_WARPSHIELD
MAT_ITEM
MAT_JALOPY
MAT_AIRBOAT
MAT_SLIME
MAT_WADE
Yeah, I agree. That's why I made a list of these in the base internally which correspond to generic strings for you to be able to pull the "substance" of a surface without needing to account for potentially up to 6 different MATs for the same effect.
- fabric
- cardboard
- bugshell
- dirt
- dust
- flesh
- gas
- glass
- liquid
- metal
- metaldrum
- metalhollow
- paint
- plastic
- rubble
- sand
- shards
- snow
- synth
- tile
- wood
- stone
If you acquire the MAT enum of the desired surface/etc, you can call DRC.SurfacePropDefinitions[MAT_ENUM]
and it will return a table of "substances" which make up the material. The first one will be the most appropriate, and anything else is additional post-stuff such as dust
intended for effects-related work within the Draconic Base itself. If you are only interested in the surface-level substance of the material, instead just call DRC.SurfacePropDefinitions[MAT_ENUM][1]
to only get the primary value.