Materials - originalfoo/Prison-Architect-API GitHub Wiki
Objects that use
PropertiesMaterialare referred to as "Consumables" throughout the entirety of this wiki to avoid confusion with the real Materials discussed below (terrain, floor and building materials, etc.).
##Overview

Materials define foundations, terrain, floors, walls and a few other things.
A list of all foundations and materials from the base game can be found in the sidebar.
[
](Building (Material))
[
](BuildingConcrete (Material))
[
](BuildingFrame (Material))
[
](BurntFloor (Material))
[
](BurntWall (Material))
[
](BrickWall (Material))
[
](ConcreteWall (Material))
[
](Fence (Material))
[
](PerimeterWall (Material))
[
](Roof (Material))
[
](CeramicFloor (Material))
[
](ConcreteFloor (Material))
[
](FancyTiles (Material))
[
](MarbleTiles (Material))
[
](MetalFloor (Material))
[
](MosaicFloor (Material))
[
](WhiteTiles (Material))
[
](WoodenFloor (Material))
[
](ConcreteTiles (Material))
[
](Gravel (Material))
[
](PavingStone (Material))
[
](Stone (Material))
[
](Dirt (Material))
[
](Grass (Material))
[
](LongGrass (Material))
[
](Mud (Material))
[
](Sand (Material))
[
](Water (Material))
[
](Road (Material))
[
](RoadCrossing (Material))
[
](RoadMarkings (Material))
##Modding
The following modding options are available...
###Menus
It is not currently possible to add materials to the "Foundations" menu (it's hard-coded in the base game).
To add a material to the "Materials" menu, ensure it has the following settings in its definition block (see later):
-
Name<materialId> -
ConstructionTime<number>- must be0or above (-1hides from menu)
Stuff on other menus is defined elsewhere, see Menus for details.
Menu Icons
To add or update icons in the "Foundations" or "Materials" menus, use data/tileset.png
Note: You can view the base game's tileset.png for reference.
The icon is set by the Sprite0 setting in the materials' definition block.
It is not currently possible to use sprites.png for the icons.
###Sprites
Sprites define how the foundation or material will look when it is placed on the map.
To add or update foundation or material sprites, use data/tileset.png
Note: You can view the base game's tileset.png for reference.
See SpriteType for details about how the sprites must be arranged and defined.
###Material Definitions
Add or replace materials using BEGIN Material... definition blocks within data/materials.txt
Note: You can replace foundation definitions the same way, but you can't add new foundations.
A list of known settings is shown below (bullet points are just for aesthetics don't include them in your definition). Bold settings are mandatory.
BEGIN Material
Name<materialId>-
BlockMovementtrue|false -
BlockVisibilitytrue|false -
ConstructionTime<number> -
IndoorOutdoor<mode> -
MoveCost<number> -
NumSprites<number> -
ObjectRequired<consumableId> -
Price<number> -
SoftEdged<mode> -
Sprite0..N ... *- at least one blockx <x> y <y>
-
SpriteType<mode> -
SpriteOverlayScale<number>
END
###Scripting
It's not currently possible to script the actual foundations or materials themselves.
- Find adjacent walls using
.Walls - Determine the foundation or material at any given map location using
Object.GetMaterial() -
Entities respect the
BlockMovementsetting -
Vehicles seem to ignore the
BlockMovementsetting
todo: grants.lua
todo: campaign scripting
##Notes
Any material with the BlockMovement true setting (or maybe just having Wall appear in it's <materialId>?) is added to Group Wall and can subsequently be used to block Object placement via its BlockedBy setting.
The fire damage materials are automatically placed by the game in areas that have suffered fire damage, replacing walls and ground affected by the [Fire (Special Effect)](Fire (Special Effect)).
The non-placeable materials listed in the sidebar are mostly used in the campaign. There are numerous mods available to make them available in normal prisons.
The total cost of placing a material is the material cost plus the cost of the RequiredObject. For example, PerimeterWall costs $200 per tile ($150 for PerimeterWall, $50 for its RequiredObject of Brick).
##See Also