- type: entity
  parent: BaseItem
  id: FloorTileItemBase
  description: These could work as a pretty decent throwing weapon.
  abstract: true
  components:
  - type: Sprite
    sprite: Objects/Tiles/tile.rsi
  - type: Item
    sprite: Objects/Tiles/tile.rsi
    size: Normal
  - type: DamageOtherOnHit
    damage:
      types:
        Blunt: 5
  - type: Stack
    count: 1
  - type: Damageable
    damageContainer: Inorganic
  - type: Destructible
    thresholds:
    - trigger:
        !type:DamageTrigger
        damage: 30
      behaviors:
        - !type:DoActsBehavior
          acts: [ "Destruction" ]
    - trigger:
        !type:DamageTrigger
        damage: 20
      behaviors:
      - !type:PlaySoundBehavior
        sound:
          collection: MetalBreak
          params:
            volume: -8
      - !type:DoActsBehavior
        acts: [ "Destruction" ]
  - type: DamageOnLand
    damage:
      types:
        Blunt: 5
  - type: GuideHelp
    guides:
    - ExpandingRepairingStation

- type: entity
  name: steel dark checker tile
  parent: FloorTileItemSteel
  id: FloorTileItemSteelCheckerDark
  components:
  - type: Sprite
    state: checker-dark
  - type: FloorTile
    outputs:
      - Plating
      - FloorSteelCheckerDark
  - type: Stack
    stackType: FloorTileSteelCheckerDark

- type: entity
  name: steel light checker tile
  parent: FloorTileItemSteel
  id: FloorTileItemSteelCheckerLight
  components:
  - type: Sprite
    state: checker-light
  - type: FloorTile
    outputs:
      - Plating
      - FloorSteelCheckerLight
  - type: Stack
    stackType: FloorTileSteelCheckerLight

- type: entity
  name: dark tile
  parent: FloorTileItemBase
  id: FloorTileItemDark
  components:
  - type: Sprite
    state: dark
  - type: Item
    heldPrefix: dark
  - type: FloorTile
    outputs:
      - Plating
      - FloorDark
  - type: Stack
    stackType: FloorTileDark
  - type: Construction
    graph: TileDark
    node: darktile

- type: entity
  name: dark steel diagonal mini tile
  parent: FloorTileItemDark
  id: FloorTileItemDarkDiagonalMini
  components:
  - type: Sprite
    state: dark-diagonal-mini
  - type: FloorTile
    outputs:
      - Plating
      - FloorDarkDiagonalMini
  - type: Stack
    stackType: FloorTileDarkDiagonalMini

- type: entity
  name: dark steel diagonal tile
  parent: FloorTileItemDark
  id: FloorTileItemDarkDiagonal
  components:
  - type: Sprite
    state: dark-diagonal
  - type: FloorTile
    outputs:
      - Plating
      - FloorDarkDiagonal
  - type: Stack
    stackType: FloorTileDarkDiagonal

- type: entity
  name: dark steel herringbone
  parent: FloorTileItemDark
  id: FloorTileItemDarkHerringbone
  components:
  - type: Sprite
    state: dark-herringbone
  - type: FloorTile
    outputs:
      - Plating
      - FloorDarkHerringbone
  - type: Stack
    stackType: FloorTileDarkHerringbone

- type: entity
  name: dark steel mini tile
  parent: FloorTileItemDark
  id: FloorTileItemDarkMini
  components:
  - type: Sprite
    state: dark-mini
  - type: FloorTile
    outputs:
      - Plating
      - FloorDarkMini
  - type: Stack
    stackType: FloorTileDarkMini

- type: entity
  name: dark steel mono tile
  parent: FloorTileItemDark
  id: FloorTileItemDarkMono
  components:
  - type: Sprite
    state: dark-mono
  - type: FloorTile
    outputs:
      - Plating
      - FloorDarkMono
  - type: Stack
    stackType: FloorTileDarkMono

- type: entity
  name: dark steel pavement
  parent: FloorTileItemDark
  id: FloorTileItemDarkPavement
  components:
  - type: Sprite
    state: dark-pavement
  - type: FloorTile
    outputs:
      - Plating
      - FloorDarkPavement
  - type: Stack
    stackType: FloorTileDarkPavement

- type: entity
  name: dark steel vertical pavement
  parent: FloorTileItemDark
  id: FloorTileItemDarkPavementVertical
  components:
  - type: Sprite
    state: dark-pavement-vertical
  - type: FloorTile
    outputs:
      - Plating
      - FloorDarkPavementVertical
  - type: Stack
    stackType: FloorTileDarkPavementVertical

- type: entity
  parent: FloorTileItemDark
  id: FloorTileItemDarkSlatsContinuous
  name: dark steel continuous slat tile
  components:
  - type: Sprite
    state: dark-vertical-slats
  - type: FloorTile
    outputs:
    - Plating
    - FloorDarkSlatsContinuous
  - type: Stack
    stackType: FloorTileDarkSlatsContinuous

- type: entity
  parent: FloorTileItemDark
  id: FloorTileItemDarkVerticalSlatsBordered
  name: dark steel bordered vertical slat tile
  components:
  - type: Sprite
    state: dark-vertical-slats
  - type: FloorTile
    outputs:
    - Plating
    - FloorDarkVerticalSlatsBordered
  - type: Stack
    stackType: FloorTileDarkVerticalSlatsBordered

- type: entity
  parent: FloorTileItemDark
  id: FloorTileItemDarkHorizontalSlatsBordered
  name: dark steel bordered horizontal slat tile
  components:
  - type: Sprite
    state: dark-horizontal-slats
  - type: FloorTile
    outputs:
    - Plating
    - FloorDarkHorizontalSlatsBordered
  - type: Stack
    stackType: FloorTileDarkHorizontalSlatsBordered

- type: entity
  name: offset dark steel tile
  parent: FloorTileItemDark
  id: FloorTileItemDarkOffset
  components:
  - type: Sprite
    state: dark-offset
  - type: FloorTile
    outputs:
      - Plating
      - FloorDarkOffset
  - type: Stack
    stackType: FloorTileDarkOffset

- type: entity
  name: steel tile
  parent: FloorTileItemBase
  id: FloorTileItemSteel
  components:
  - type: Sprite
    state: steel
  - type: Item
    heldPrefix: steel
  - type: FloorTile
    outputs:
      - Plating
      - FloorSteel
  - type: Stack
    stackType: FloorTileSteel
  - type: Construction
    graph: TileSteel
    node: steeltile

- type: entity
  name: offset steel tile
  parent: FloorTileItemSteel
  id: FloorTileItemSteelOffset
  components:
  - type: Sprite
    state: steel-offset
  - type: FloorTile
    outputs:
      - Plating
      - FloorSteelOffset
  - type: Stack
    stackType: FloorTileSteelOffset

- type: entity
  name: steel diagonal mini tile
  parent: FloorTileItemSteel
  id: FloorTileItemSteelDiagonalMini
  components:
  - type: Sprite
    state: steel-diagonal-mini
  - type: FloorTile
    outputs:
      - Plating
      - FloorSteelDiagonalMini
  - type: Stack
    stackType: FloorTileSteelDiagonalMini

- type: entity
  name: steel diagonal tile
  parent: FloorTileItemSteel
  id: FloorTileItemSteelDiagonal
  components:
  - type: Sprite
    state: steel-diagonal
  - type: FloorTile
    outputs:
      - Plating
      - FloorSteelDiagonal
  - type: Stack
    stackType: FloorTileSteelDiagonal

- type: entity
  parent: FloorTileItemSteel
  id: FloorTileItemSteelSlatsContinuous
  name: steel continuous slat tile
  components:
  - type: Sprite
    state: steel-vertical-slats
  - type: FloorTile
    outputs:
    - Plating
    - FloorSteelSlatsContinuous
  - type: Stack
    stackType: FloorTileSteelSlatsContinuous

- type: entity
  parent: FloorTileItemSteel
  id: FloorTileItemSteelVerticalSlatsBordered
  name: steel vertical bordered slat tile
  components:
  - type: Sprite
    state: steel-vertical-slats
  - type: FloorTile
    outputs:
    - Plating
    - FloorSteelVerticalSlatsBordered
  - type: Stack
    stackType: FloorTileSteelVerticalSlatsBordered

- type: entity
  parent: FloorTileItemSteel
  id: FloorTileItemSteelHorizontalSlatsBordered
  name: steel horizontal bordered slat tile
  components:
  - type: Sprite
    state: steel-horizontal-slats
  - type: FloorTile
    outputs:
    - Plating
    - FloorSteelHorizontalSlatsBordered
  - type: Stack
    stackType: FloorTileSteelHorizontalSlatsBordered

- type: entity
  name: steel herringbone
  parent: FloorTileItemSteel
  id: FloorTileItemSteelHerringbone
  components:
  - type: Sprite
    state: steel-herringbone
  - type: FloorTile
    outputs:
      - Plating
      - FloorSteelHerringbone
  - type: Stack
    stackType: FloorTileSteelHerringbone

- type: entity
  name: steel mini tile
  parent: FloorTileItemSteel
  id: FloorTileItemSteelMini
  components:
  - type: Sprite
    state: steel-mini
  - type: FloorTile
    outputs:
      - Plating
      - FloorSteelMini
  - type: Stack
    stackType: FloorTileSteelMini

- type: entity
  name: steel mono tile
  parent: FloorTileItemSteel
  id: FloorTileItemSteelMono
  components:
  - type: Sprite
    state: steel-mono
  - type: FloorTile
    outputs:
      - Plating
      - FloorSteelMono
  - type: Stack
    stackType: FloorTileSteelMono

- type: entity
  name: steel pavement
  parent: FloorTileItemSteel
  id: FloorTileItemSteelPavement
  components:
  - type: Sprite
    state: steel-pavement
  - type: FloorTile
    outputs:
      - Plating
      - FloorSteelPavement
  - type: Stack
    stackType: FloorTileSteelPavement

- type: entity
  name: steel vertical pavement
  parent: FloorTileItemSteel
  id: FloorTileItemSteelPavementVertical
  components:
  - type: Sprite
    state: steel-pavement-vertical
  - type: FloorTile
    outputs:
      - Plating
      - FloorSteelPavementVertical
  - type: Stack
    stackType: FloorTileSteelPavementVertical

- type: entity
  name: white tile
  parent: FloorTileItemBase
  id: FloorTileItemWhite
  components:
  - type: Sprite
    state: white
  - type: Item
    heldPrefix: white
  - type: FloorTile
    outputs:
      - Plating
      - FloorWhite
  - type: Stack
    stackType: FloorTileWhite
  - type: Construction
    graph: TileWhite
    node: whitetile

- type: entity
  name: offset white steel tile
  parent: FloorTileItemWhite
  id: FloorTileItemWhiteOffset
  components:
  - type: Sprite
    state: white-offset
  - type: FloorTile
    outputs:
      - Plating
      - FloorWhiteOffset
  - type: Stack
    stackType: FloorTileWhiteOffset

- type: entity
  name: white steel diagonal mini tile
  parent: FloorTileItemWhite
  id: FloorTileItemWhiteDiagonalMini
  components:
  - type: Sprite
    state: white-diagonal-mini
  - type: FloorTile
    outputs:
      - Plating
      - FloorWhiteDiagonalMini
  - type: Stack
    stackType: FloorTileWhiteDiagonalMini

- type: entity
  name: white steel diagonal tile
  parent: FloorTileItemWhite
  id: FloorTileItemWhiteDiagonal
  components:
  - type: Sprite
    state: white-diagonal
  - type: FloorTile
    outputs:
      - Plating
      - FloorWhiteDiagonal
  - type: Stack
    stackType: FloorTileWhiteDiagonal

- type: entity
  name: white steel herringbone
  parent: FloorTileItemWhite
  id: FloorTileItemWhiteHerringbone
  components:
  - type: Sprite
    state: white-herringbone
  - type: FloorTile
    outputs:
      - Plating
      - FloorWhiteHerringbone
  - type: Stack
    stackType: FloorTileWhiteHerringbone

- type: entity
  name: white steel mini tile
  parent: FloorTileItemWhite
  id: FloorTileItemWhiteMini
  components:
  - type: Sprite
    state: white-mini
  - type: FloorTile
    outputs:
      - Plating
      - FloorWhiteMini
  - type: Stack
    stackType: FloorTileWhiteMini

- type: entity
  name: white steel mono tile
  parent: FloorTileItemWhite
  id: FloorTileItemWhiteMono
  components:
  - type: Sprite
    state: white-mono
  - type: FloorTile
    outputs:
      - Plating
      - FloorWhiteMono
  - type: Stack
    stackType: FloorTileWhiteMono

- type: entity
  name: white steel pavement
  parent: FloorTileItemWhite
  id: FloorTileItemWhitePavement
  components:
  - type: Sprite
    state: white-pavement
  - type: FloorTile
    outputs:
      - Plating
      - FloorWhitePavement
  - type: Stack
    stackType: FloorTileWhitePavement

- type: entity
  name: white steel vertical pavement
  parent: FloorTileItemWhite
  id: FloorTileItemWhitePavementVertical
  components:
  - type: Sprite
    state: white-pavement-vertical
  - type: FloorTile
    outputs:
      - Plating
      - FloorWhitePavementVertical
  - type: Stack
    stackType: FloorTileWhitePavementVertical

- type: entity
  parent: FloorTileItemWhite
  id: FloorTileItemWhiteVerticalSlatsBordered
  name: white steel vertical bordered slat tile
  components:
  - type: Sprite
    state: white-vertical-slats
  - type: FloorTile
    outputs:
    - Plating
    - FloorWhiteVerticalSlatsBordered
  - type: Stack
    stackType: FloorTileWhiteVerticalSlatsBordered

- type: entity
  parent: FloorTileItemWhite
  id: FloorTileItemWhiteSlatsContinuous
  name: white steel continuous slat tile
  components:
  - type: Sprite
    state: white-vertical-slats
  - type: FloorTile
    outputs:
    - Plating
    - FloorWhiteSlatsContinuous
  - type: Stack
    stackType: FloorTileWhiteSlatsContinuous

- type: entity
  parent: FloorTileItemWhite
  id: FloorTileItemWhiteHorizontalSlatsBordered
  name: white steel horizontal bordered slat tile
  components:
  - type: Sprite
    state: white-horizontal-slats
  - type: FloorTile
    outputs:
    - Plating
    - FloorWhiteHorizontalSlatsBordered
  - type: Stack
    stackType: FloorTileWhiteHorizontalSlatsBordered

- type: entity
  name: steel tile
  parent: FloorTileItemBase
  id: FloorTileItemMetalDiamond
  components:
  - type: Sprite
    state: metaldiamond
  - type: Item
    heldPrefix: steel
  - type: FloorTile
    outputs:
      - Plating
      - FloorMetalDiamond
  - type: Stack
    stackType: FloorTileMetalDiamond
#  - type: Construction
#    graph: TileSteel
#    node: steeltile

- type: entity
  name: wood floor
  parent: FloorTileItemBase
  id: FloorTileItemWood
  components:
  - type: Sprite
    state: wood
  - type: Item
    heldPrefix: wood
  - type: FloorTile
    outputs:
      - Plating
      - FloorWood
  - type: Stack
    stackType: FloorTileWood
  - type: Construction
    graph: TileWood
    node: woodtile

- type: entity
  name: techmaint floor
  parent: FloorTileItemBase
  id: FloorTileItemTechmaint
  components:
  - type: Sprite
    state: techfloor
  - type: Item
    heldPrefix: dark
  - type: FloorTile
    outputs:
      - Plating
      - FloorTechMaint
  - type: Stack
    stackType: FloorTileTechmaint

- type: entity
  parent: FloorTileItemBase
  id: FloorTileItemTechmaintDark
  name: dark techmaint floor
  components:
  - type: Sprite
    state: techfloordark
  - type: Item
    heldPrefix: dark
  - type: FloorTile
    outputs:
    - Plating
    - FloorTechMaintDark
  - type: Stack
    stackType: FloorTileTechmaintDark

# TODO add a catwalk tile item once tile smoothing is supported

- type: entity
  name: mono tile
  parent: FloorTileItemBase
  id: FloorTileItemMono
  components:
  - type: Sprite
    state: monofloor
  - type: Item
    heldPrefix: steel
  - type: FloorTile
    outputs:
      - Plating
      - FloorMono
  - type: Stack
    stackType: FloorTileMono

- type: entity
  name: linoleum floor
  parent: FloorTileItemBase
  id: FloorTileItemLino
  components:
  - type: Sprite
    state: lino
  - type: Item
    heldPrefix: steel
  - type: FloorTile
    outputs:
      - Plating
      - FloorLino
  - type: Stack
    stackType: FloorTileLino

- type: entity
  name: filled brass plate
  parent: FloorTileItemBase
  id: FloorTileItemBrassFilled
  components:
  - type: Sprite
    state: brass-filled
  - type: Item
    heldPrefix: brass
  - type: FloorTile
    outputs:
      - PlatingBrass
      - FloorBrassFilled
  - type: Stack
    stackType: FloorTileBrassFilled
  - type: Construction
    graph: TilesBrass
    node: filledPlate

- type: entity
  name: smooth brass plate
  parent: FloorTileItemBase
  id: FloorTileItemBrassReebe
  components:
  - type: Sprite
    state: reebe
  - type: Item
    heldPrefix: brass
  - type: FloorTile
    outputs:
      - PlatingBrass
      - FloorBrassReebe
  - type: Stack
    stackType: FloorTileBrassReebe
  - type: Construction
    graph: TilesBrass
    node: reebe

- type: entity
  name: dirty tile
  parent: FloorTileItemBase
  id: FloorTileItemDirty
  components:
  - type: Sprite
    state: dirty
  - type: Item
    heldPrefix: dirty
  - type: FloorTile
    outputs:
      - Plating
      - FloorSteelDirty
  - type: Stack
    stackType: FloorTileDirty

- type: entity
  name: elevator shaft tile
  parent: FloorTileItemBase
  id: FloorTileItemElevatorShaft
  components:
  - type: Sprite
    state: dark
  - type: Item
    heldPrefix: dark
  - type: FloorTile
    outputs:
      - Plating
      - FloorElevatorShaft
  - type: Stack
    stackType: FloorTileElevatorShaft

- type: entity
  name: rock vault tile
  parent: FloorTileItemBase
  id: FloorTileItemRockVault
  components:
  - type: Sprite
    state: rockvault
  - type: Item
    heldPrefix: steel
  - type: FloorTile
    outputs:
      - Plating
      - FloorRockVault
  - type: Stack
    stackType: FloorTileRockVault

- type: entity
  name: blue tile
  parent: FloorTileItemBase
  id: FloorTileItemBlue
  components:
  - type: Sprite
    state: blue
  - type: Item
    heldPrefix: carpet-blue
  - type: FloorTile
    outputs:
      - Plating
      - FloorBlue
  - type: Stack
    stackType: FloorTileBlue

- type: entity
  name: lime tile
  parent: FloorTileItemBase
  id: FloorTileItemLime
  components:
  - type: Sprite
    state: lime
  - type: Item
    heldPrefix: steel
  - type: FloorTile
    outputs:
      - Plating
      - FloorSteelLime
  - type: Stack
    stackType: FloorTileLime

- type: entity
  name: mining tile
  parent: FloorTileItemBase
  id: FloorTileItemMining
  components:
  - type: Sprite
    state: mining
  - type: Item
    heldPrefix: mining
  - type: FloorTile
    outputs:
      - Plating
      - FloorMining
  - type: Stack
    stackType: FloorTileMining

- type: entity
  name: dark mining tile
  parent: FloorTileItemBase
  id: FloorTileItemMiningDark
  components:
  - type: Sprite
    state: miningdark
  - type: Item
    heldPrefix: miningdark
  - type: FloorTile
    outputs:
      - Plating
      - FloorMiningDark
  - type: Stack
    stackType: FloorTileMiningDark

- type: entity
  name: light mining tile
  parent: FloorTileItemBase
  id: FloorTileItemMiningLight
  components:
  - type: Sprite
    state: mininglight
  - type: Item
    heldPrefix: mininglight
  - type: FloorTile
    outputs:
      - Plating
      - FloorMiningLight
  - type: Stack
    stackType: FloorTileMiningLight

# Departmental
- type: entity
  name: freezer tile
  parent: FloorTileItemBase
  id: FloorTileItemFreezer
  components:
  - type: Sprite
    state: showroom
  - type: Item
    heldPrefix: showroom
  - type: FloorTile
    outputs:
      - Plating
      - FloorFreezer
  - type: Stack
    stackType: FloorTileFreezer

- type: entity
  name: showroom tile
  parent: FloorTileItemBase
  id: FloorTileItemShowroom
  components:
  - type: Sprite
    state: showroom
  - type: Item
    heldPrefix: showroom
  - type: FloorTile
    outputs:
      - Plating
      - FloorShowroom
  - type: Stack
    stackType: FloorTileShowroom

- type: entity
  name: hydro tile
  parent: FloorTileItemBase
  id: FloorTileItemHydro
  components:
  - type: Sprite
    state: hydro
  - type: Item
    heldPrefix: hydro
  - type: FloorTile
    outputs:
      - Plating
      - FloorHydro
  - type: Stack
    stackType: FloorTileHydro

- type: entity
  name: bar tile
  parent: FloorTileItemBase
  id: FloorTileItemBar
  components:
  - type: Sprite
    state: bar
  - type: Item
    heldPrefix: steel
  - type: FloorTile
    outputs:
      - Plating
      - FloorBar
  - type: Stack
    stackType: FloorTileBar

- type: entity
  name: clown tile
  parent: FloorTileItemBase
  id: FloorTileItemClown
  components:
  - type: Sprite
    state: clown
  - type: Item
    heldPrefix: steel
  - type: FloorTile
    outputs:
      - Plating
      - FloorClown
  - type: Stack
    stackType: FloorTileClown

- type: entity
  name: mime tile
  parent: FloorTileItemBase
  id: FloorTileItemMime
  components:
  - type: Sprite
    state: mime
  - type: Item
    heldPrefix: steel
  - type: FloorTile
    outputs:
      - Plating
      - FloorMime
  - type: Stack
    stackType: FloorTileMime

- type: entity
  name: kitchen tile
  parent: FloorTileItemBase
  id: FloorTileItemKitchen
  components:
  - type: Sprite
    state: kitchen
  - type: Item
    heldPrefix: dark
  - type: FloorTile
    outputs:
      - Plating
      - FloorKitchen
  - type: Stack
    stackType: FloorTileKitchen

- type: entity
  name: laundry tile
  parent: FloorTileItemBase
  id: FloorTileItemLaundry
  components:
  - type: Sprite
    state: laundry
  - type: Item
    heldPrefix: steel
  - type: FloorTile
    outputs:
      - Plating
      - FloorLaundry
  - type: Stack
    stackType: FloorTileLaundry

# Concrete
- type: entity
  parent: FloorTileItemBase
  id: FloorTileItemConcrete
  name: concrete tile
  components:
  - type: Sprite
    state: concrete
  - type: Item
    heldPrefix: generic
  - type: FloorTile
    outputs:
    - Plating
    - FloorConcrete
  - type: Stack
    stackType: FloorTileConcrete

- type: entity
  name: concrete mono tile
  parent: FloorTileItemConcrete
  id: FloorTileItemConcreteMono
  components:
  - type: Sprite
    state: concrete-mono
  - type: FloorTile
    outputs:
      - Plating
      - FloorConcreteMono
  - type: Stack
    stackType: FloorTileConcreteMono

- type: entity
  name: concrete smooth
  parent: FloorTileItemConcrete
  id: FloorTileItemConcreteSmooth
  components:
  - type: Sprite
    state: concrete-smooth
  - type: FloorTile
    outputs:
      - Plating
      - FloorConcreteSmooth
  - type: Stack
    stackType: FloorTileConcreteSmooth

- type: entity
  parent: FloorTileItemBase
  id: FloorTileItemGrayConcrete
  name: gray concrete tile
  components:
  - type: Sprite
    state: grayconcrete
  - type: Item
    heldPrefix: generic
  - type: FloorTile
    outputs:
    - Plating
    - FloorGrayConcrete
  - type: Stack
    stackType: FloorTileGrayConcrete

- type: entity
  name: gray concrete mono tile
  parent: FloorTileItemGrayConcrete
  id: FloorTileItemGrayConcreteMono
  components:
  - type: Sprite
    state: grayconcrete-mono
  - type: FloorTile
    outputs:
      - Plating
      - FloorGrayConcreteMono
  - type: Stack
    stackType: FloorTileGrayConcreteMono

- type: entity
  name: gray concrete smooth
  parent: FloorTileItemGrayConcrete
  id: FloorTileItemGrayConcreteSmooth
  components:
  - type: Sprite
    state: grayconcrete-smooth
  - type: FloorTile
    outputs:
      - Plating
      - FloorGrayConcreteSmooth
  - type: Stack
    stackType: FloorTileGrayConcreteSmooth

- type: entity
  parent: FloorTileItemBase
  id: FloorTileItemOldConcrete
  name: old concrete tile
  components:
  - type: Sprite
    state: oldconcrete
  - type: Item
    heldPrefix: generic
  - type: FloorTile
    outputs:
    - Plating
    - FloorOldConcrete
  - type: Stack
    stackType: FloorTileOldConcrete

- type: entity
  name: old concrete mono tile
  parent: FloorTileItemOldConcrete
  id: FloorTileItemOldConcreteMono
  components:
  - type: Sprite
    state: oldconcrete-mono
  - type: FloorTile
    outputs:
      - Plating
      - FloorOldConcreteMono
  - type: Stack
    stackType: FloorTileOldConcreteMono

- type: entity
  name: old concrete smooth
  parent: FloorTileItemOldConcrete
  id: FloorTileItemOldConcreteSmooth
  components:
  - type: Sprite
    state: oldconcrete-smooth
  - type: FloorTile
    outputs:
      - Plating
      - FloorOldConcreteSmooth
  - type: Stack
    stackType: FloorTileOldConcreteSmooth

- type: entity
  parent: FloorTileItemBase
  id: FloorTileItemIronsandConcrete
  name: iron sand concrete tile
  components:
  - type: Sprite
    state: ironsandconcrete
  - type: Item
    heldPrefix: ironsandconcrete
  - type: FloorTile
    outputs:
    - Plating
    - FloorIronsandConcrete
  - type: Stack
    stackType: FloorTileIronsandConcrete

- type: entity
  parent: FloorTileItemIronsandConcrete
  id: FloorTileItemIronsandConcreteMono
  name: iron sand concrete mono tile
  components:
  - type: Sprite
    state: ironsandconcrete-mono
  - type: FloorTile
    outputs:
    - Plating
    - FloorIronsandConcreteMono
  - type: Stack
    stackType: FloorTileIronsandConcreteMono

- type: entity
  parent: FloorTileItemIronsandConcrete
  id: FloorTileItemIronsandConcreteSmooth
  name: iron sand concrete smooth
  components:
  - type: Sprite
    state: ironsandconcrete-smooth
  - type: FloorTile
    outputs:
    - Plating
    - FloorIronsandConcreteSmooth
  - type: Stack
    stackType: FloorTileIronsandConcreteSmooth

# Carpets
- type: entity
  name: blue arcade floor
  parent: FloorTileItemBase
  id: FloorTileItemArcadeBlue
  components:
  - type: Sprite
    state: arcadeblue
  - type: Item
    heldPrefix: arcadeblue
  - type: FloorTile
    outputs:
      - Plating
      - FloorArcadeBlue
  - type: Stack
    stackType: FloorTileStackArcadeBlue

- type: entity
  name: blue arcade floor
  parent: FloorTileItemBase
  id: FloorTileItemArcadeBlue2
  components:
  - type: Sprite
    state: arcadeblue2
  - type: Item
    heldPrefix: generic
  - type: FloorTile
    outputs:
      - Plating
      - FloorArcadeBlue2
  - type: Stack
    stackType: FloorTileStackArcadeBlue2

- type: entity
  name: red arcade floor
  parent: FloorTileItemBase
  id: FloorTileItemArcadeRed
  components:
  - type: Sprite
    state: arcadered
  - type: Item
    heldPrefix: arcadered
  - type: FloorTile
    outputs:
      - Plating
      - FloorArcadeRed
  - type: Stack
    stackType: FloorTileStackArcadeRed

- type: entity
  name: eighties floor
  parent: FloorTileItemBase
  id: FloorTileItemEighties
  components:
  - type: Sprite
    state: eighties
  - type: Item
    heldPrefix: eighties
  - type: FloorTile
    outputs:
      - Plating
      - FloorEighties
  - type: Stack
    stackType: FloorTileStackEighties

- type: entity
  name: clown carpet floor
  parent: FloorTileItemBase
  id: FloorTileItemCarpetClown
  components:
  - type: Sprite
    state: carpetclown
  - type: Item
    heldPrefix: generic
  - type: FloorTile
    outputs:
      - Plating
      - FloorCarpetClown
  - type: Stack
    stackType: FloorTileStackCarpetClown

- type: entity
  name: office carpet floor
  parent: FloorTileItemBase
  id: FloorTileItemCarpetOffice
  components:
  - type: Sprite
    state: carpetoffice
  - type: Item
    heldPrefix: generic
  - type: FloorTile
    outputs:
      - Plating
      - FloorCarpetOffice
  - type: Stack
    stackType: FloorTileStackCarpetOffice

- type: entity
  name: boxing ring floor
  parent: FloorTileItemBase
  id: FloorTileItemBoxing
  components:
  - type: Sprite
    state: boxing
  - type: Item
    heldPrefix: generic
  - type: FloorTile
    outputs:
      - Plating
      - FloorBoxing
  - type: Stack
    stackType: FloorTileStackBoxing

- type: entity
  name: gym floor
  parent: FloorTileItemBase
  id: FloorTileItemGym
  components:
  - type: Sprite
    state: gym
  - type: Item
    heldPrefix: generic
  - type: FloorTile
    outputs:
      - Plating
      - FloorGym
  - type: Stack
    stackType: FloorTileStackGym

# Shuttles
- type: entity
  name: white shuttle floor
  parent: FloorTileItemBase
  id: FloorTileItemShuttleWhite
  components:
  - type: Sprite
    state: shuttlewhite
  - type: Item
    heldPrefix: shuttlewhite
  - type: FloorTile
    outputs:
      - Plating
      - FloorShuttleWhite
  - type: Stack
    stackType: FloorTileStackShuttleWhite

- type: entity
  name: blue shuttle floor
  parent: FloorTileItemBase
  id: FloorTileItemShuttleBlue
  components:
  - type: Sprite
    state: shuttleblue
  - type: Item
    heldPrefix: shuttleblue
  - type: FloorTile
    outputs:
      - Plating
      - FloorShuttleBlue
  - type: Stack
    stackType: FloorTileStackShuttleBlue

- type: entity
  name: orange shuttle floor
  parent: FloorTileItemBase
  id: FloorTileItemShuttleOrange
  components:
  - type: Sprite
    state: shuttleorange
  - type: Item
    heldPrefix: shuttleorange
  - type: FloorTile
    outputs:
      - Plating
      - FloorShuttleOrange
  - type: Stack
    stackType: FloorTileStackShuttleOrange

- type: entity
  name: purple shuttle floor
  parent: FloorTileItemBase
  id: FloorTileItemShuttlePurple
  components:
  - type: Sprite
    state: shuttlepurple
  - type: Item
    heldPrefix: shuttlepurple
  - type: FloorTile
    outputs:
      - Plating
      - FloorShuttlePurple
  - type: Stack
    stackType: FloorTileStackShuttlePurple

- type: entity
  name: red shuttle floor
  parent: FloorTileItemBase
  id: FloorTileItemShuttleRed
  components:
  - type: Sprite
    state: shuttlered
  - type: Item
    heldPrefix: shuttlered
  - type: FloorTile
    outputs:
      - Plating
      - FloorShuttleRed
  - type: Stack
    stackType: FloorTileStackShuttleRed

- type: entity
  name: grey shuttle floor
  parent: FloorTileItemBase
  id: FloorTileItemShuttleGrey
  components:
  - type: Sprite
    state: shuttlegrey
  - type: Item
    heldPrefix: shuttlegrey
  - type: FloorTile
    outputs:
      - Plating
      - FloorShuttleGrey
  - type: Stack
    stackType: FloorTileStackShuttleGrey

- type: entity
  name: black shuttle floor
  parent: FloorTileItemBase
  id: FloorTileItemShuttleBlack
  components:
  - type: Sprite
    state: shuttleblack
  - type: Item
    heldPrefix: shuttleblack
  - type: FloorTile
    outputs:
      - Plating
      - FloorShuttleBlack
  - type: Stack
    stackType: FloorTileStackShuttleBlack

# Materials
- type: entity
  name: gold floor
  parent: FloorTileItemBase
  id: FloorTileItemGold
  components:
  - type: Sprite
    state: gold
  - type: Item
    heldPrefix: gold
  - type: FloorTile
    outputs:
      - Plating
      - FloorGold
  - type: Stack
    stackType: FloorTileGold

- type: entity
  name: silver tile
  parent: FloorTileItemBase
  id: FloorTileItemSilver
  components:
  - type: Sprite
    state: silver
  - type: Item
    heldPrefix: silver
  - type: FloorTile
    outputs:
      - Plating
      - FloorSilver
  - type: Stack
    stackType: FloorTileSilver

# Circuits
- type: entity
  name: green circuit floor
  parent: FloorTileItemBase
  id: FloorTileItemGCircuit
  components:
  - type: Sprite
    state: gcircuit
  - type: Item
    heldPrefix: gcircuit
  - type: FloorTile
    outputs:
      - Plating
      - FloorGreenCircuit
  - type: Stack
    stackType: FloorTileGCircuit

- type: entity
  name: blue circuit floor
  parent: FloorTileItemBase
  id: FloorTileItemBCircuit
  components:
  - type: Sprite
    state: bcircuit
  - type: Item
    heldPrefix: bcircuit
  - type: FloorTile
    outputs:
      - Plating
      - FloorBlueCircuit
  - type: Stack
    stackType: FloorTileBCircuit

- type: entity
  name: red circuit floor
  parent: FloorTileItemBase
  id: FloorTileItemRCircuit
  components:
  - type: Sprite
    state: rcircuit
  - type: Item
    heldPrefix: rcircuit
  - type: FloorTile
    outputs:
      - Plating
      - FloorRedCircuit
  - type: Stack
    stackType: FloorTileRCircuit

# Terrain
- type: entity
  name: grass tile
  parent: FloorTileItemBase
  id: FloorTileItemGrass
  components:
  - type: Sprite
    state: grass
  - type: Item
    heldPrefix: grass
  - type: FloorTile
    outputs:
      - Plating
      - FloorGrass
  - type: Stack
    stackType: FloorTileGrass

- type: entity
  name: jungle grass tile
  parent: FloorTileItemBase
  id: FloorTileItemGrassJungle
  components:
  - type: Sprite
    state: grassjungle
  - type: Item
    heldPrefix: grassjungle
  - type: FloorTile
    outputs:
      - Plating
      - FloorGrassJungle
  - type: Stack
    stackType: FloorTileGrassJungle

- type: entity
  name: snow tile
  parent: FloorTileItemBase
  id: FloorTileItemSnow
  components:
  - type: Sprite
    state: snow
  - type: Item
    heldPrefix: snow
  - type: FloorTile
    outputs:
      - Plating
      - FloorSnow
  - type: Stack
    stackType: FloorTileSnow

- type: entity
  name: wood pattern floor
  parent: FloorTileItemBase
  id: FloorTileItemWoodPattern
  components:
  - type: Sprite
    state: woodpatternfloor
  - type: Item
    heldPrefix: wood
  - type: FloorTile
    outputs:
      - Plating
      - FloorWoodTile
  - type: Stack
    stackType: FloorTileWoodPattern

- type: entity
  id: FloorTileItemFlesh
  parent: FloorTileItemBase
  name: flesh floor
  components:
  - type: Sprite
    state: meat
  - type: Item
    heldPrefix: meat
  - type: FloorTile
    outputs:
    - Plating
    - FloorFlesh
  - type: Stack
    stackType: FloorTileFlesh
  - type: Construction
    graph: TileFlesh
    node: fleshTile

- type: entity
  name: steel maint floor
  parent: FloorTileItemBase
  id: FloorTileItemSteelMaint
  components:
  - type: Sprite
    state: steelmaintfloor
  - type: Item
    heldPrefix: steel
  - type: FloorTile
    outputs:
      - Plating
      - FloorTechMaint2
  - type: Stack
    stackType: FloorTileSteelMaint

- type: entity
  name: grating maint floor
  parent: FloorTileItemBase
  id: FloorTileItemGratingMaint
  components:
  - type: Sprite
    state: gratingmaintfloor
  - type: Item
    heldPrefix: steel
  - type: FloorTile
    outputs:
      - Plating
      - FloorTechMaint3
  - type: Stack
    stackType: FloorTileGratingMaint

- type: entity
  name: web tile
  parent: FloorTileItemBase
  id: FloorTileItemWeb
  components:
  - type: Sprite
    sprite: Objects/Tiles/web.rsi
    state: icon
  - type: FloorTile
    outputs:
      - FloorWebTile
  - type: Stack
    stackType: FloorTileWeb
  - type: Construction
    graph: WebObjects
    node: tile

# Faux science tiles

- type: entity
  id: FloorTileItemAstroGrass
  parent: FloorTileItemBase
  name: astro-grass
  description: Fake grass that covers up wires and even comes with realistic NanoTrimmings!
  components:
  - type: Sprite
    state: astrograss
  - type: Item
    heldPrefix: grass
  - type: FloorTile
    outputs:
    - Plating
    - FloorAstroGrass
  - type: Stack
    stackType: FloorTileAstroGrass

- type: entity
  id: FloorTileItemMowedAstroGrass
  parent: FloorTileItemBase
  name: mowed astro-grass
  description: Fake grass that covers up wires and even comes with realistic NanoTrimmings!
  components:
  - type: Sprite
    state: grass
  - type: Item
    heldPrefix: grass
  - type: FloorTile
    outputs:
    - Plating
    - FloorMowedAstroGrass
  - type: Stack
    stackType: FloorTileAstroGrass

- type: entity
  id: FloorTileItemJungleAstroGrass
  parent: FloorTileItemBase
  name: jungle astro-grass
  description: Fake grass that covers up wires and even comes with realistic NanoTrimmings!
  components:
  - type: Sprite
    state: grassjungle
  - type: Item
    heldPrefix: grass
  - type: FloorTile
    outputs:
    - Plating
    - FloorJungleAstroGrass
  - type: Stack
    stackType: FloorTileAstroGrass

- type: entity
  parent: FloorTileItemBase
  id: FloorTileItemDarkAstroGrass
  name: dark astro-grass
  description: Fake grass that covers up wires and even comes with realistic NanoTrimmings!
  components:
  - type: Sprite
    state: grassdark
  - type: Item
    heldPrefix: darkgrass
  - type: FloorTile
    outputs:
    - Plating
    - FloorDarkAstroGrass
  - type: Stack
    stackType: FloorTileDarkAstroGrass

- type: entity
  parent: FloorTileItemBase
  id: FloorTileItemLightAstroGrass
  name: light astro-grass
  description: Fake grass that covers up wires and even comes with realistic NanoTrimmings!
  components:
  - type: Sprite
    state: grasslight
  - type: Item
    heldPrefix: lightgrass
  - type: FloorTile
    outputs:
    - Plating
    - FloorLightAstroGrass
  - type: Stack
    stackType: FloorTileLightAstroGrass

- type: entity
  id: FloorTileItemAstroIce
  parent: FloorTileItemBase
  name: astro-ice
  description: Fake ice that's as slippery as the real thing, while being easily removable!
  components:
  - type: Sprite
    state: astroice
  - type: Item
    heldPrefix: snow
  - type: FloorTile
    outputs:
    - Plating
    - FloorAstroIce
  - type: Stack
    stackType: FloorTileAstroIce

- type: entity
  id: FloorTileItemAstroSnow
  parent: FloorTileItemBase
  name: astro-snow
  description: Fake snow that's as fluffy as the real thing, while being easily removable!
  components:
  - type: Sprite
    state: snow
  - type: Item
    heldPrefix: snow
  - type: FloorTile
    outputs:
    - Plating
    - FloorAstroSnow
  - type: Stack
    stackType: FloorTileAstroSnow

- type: entity
  id: FloorTileItemAstroAsteroidSand
  parent: FloorTileItemBase
  name: asteroid astro-sand
  description: Fake sand. Luckily, it's not as coarse as the real thing.
  components:
  - type: Sprite
    state: astro-asteroid
  - type: Item
    heldPrefix: asteroid
  - type: FloorTile
    outputs:
    - Plating
    - FloorAstroAsteroidSand
  - type: Stack
    stackType: FloorTileAstroAsteroidSand

- type: entity
  id: FloorTileItemAstroAsteroidSandBorderless
  parent: FloorTileItemBase
  name: borderless asteroid astro-sand
  description: Fake sand. Luckily, it's not as coarse as the real thing.
  components:
  - type: Sprite
    state: asteroid
  - type: Item
    heldPrefix: asteroid
  - type: FloorTile
    outputs:
    - Plating
    - FloorAstroAsteroidSandBorderless
  - type: Stack
    stackType: FloorTileAstroAsteroidSand

- type: entity
  parent: FloorTileItemBase
  id: FloorTileItemAstroIronsand
  name: astro-ironsand
  description: Fake red sand. Imported from fake Mars.
  components:
  - type: Sprite
    state: astro-ironsand
  - type: Item
    heldPrefix: ironsand
  - type: FloorTile
    outputs:
    - Plating
    - FloorAstroIronsand
  - type: Stack
    stackType: FloorTileAstroIronsand

- type: entity
  parent: FloorTileItemBase
  id: FloorTileItemAstroIronsandBorderless
  name: borderless astro-ironsand
  description: Fake red sand. Imported from fake Mars.
  components:
  - type: Sprite
    state: ironsand
  - type: Item
    heldPrefix: ironsand
  - type: FloorTile
    outputs:
    - Plating
    - FloorAstroIronsandBorderless
  - type: Stack
    stackType: FloorTileAstroIronsandBorderless

- type: entity
  parent: FloorTileItemBase
  id: FloorTileItemDesertAstroSand
  name: desert astro-sand
  description: Fake sand, designed to be fine.
  components:
  - type: Sprite
    state: desertsand
  - type: Item
    heldPrefix: desertsand
  - type: FloorTile
    outputs:
    - Plating
    - FloorDesertAstroSand
  - type: Stack
    stackType: FloorTileDesertAstroSand

- type: entity
  name: large wood floor
  parent: FloorTileItemBase
  id: FloorTileItemWoodLarge
  components:
  - type: Sprite
    state: wood-large
  - type: Item
    heldPrefix: wood
  - type: FloorTile
    outputs:
      - Plating
      - FloorWoodLarge
  - type: Stack
    stackType: FloorTileWoodLarge
  - type: Construction
    graph: TileWoodLarge
    node: woodtilelarge

# Marble

- type: entity
  name: white marble tile
  description: A chiseled, polished square of the finest Space Marble. Best not to lose it.
  parent: FloorTileItemBase
  id: FloorTileItemWhiteMarble
  components:
  - type: Sprite
    state: white-marble
  - type: Item
    heldPrefix: white-marble
  - type: FloorTile
    outputs:
      - Plating
      - FloorWhiteMarble
  - type: Stack
    stackType: FloorTileWhiteMarble

- type: entity
  name: dark marble tile
  description: A chiseled, polished square of the finest Space Marble. Best not to lose it.
  parent: FloorTileItemWhiteMarble
  id: FloorTileItemDarkMarble
  components:
  - type: Sprite
    state: dark-marble
  - type: Item
    heldPrefix: dark-marble
  - type: FloorTile
    outputs:
      - Plating
      - FloorDarkMarble
  - type: Stack
    stackType: FloorTileDarkMarble

- type: entity
  name: plasmarble tile
  description: A chiseled, polished square of the finest Space Marble. Plasma-infused for extra... something.
  parent: FloorTileItemWhiteMarble
  id: FloorTileItemPlasmaMarble
  components:
  - type: Sprite
    state: plasmarble
  - type: Item
    heldPrefix: plasmarble
  - type: FloorTile
    outputs:
      - Plating
      - FloorPlasmaMarble
  - type: Stack
    stackType: FloorTilePlasmaMarble
  - type: DamageOtherOnHit
    damage:
      types:
        Blunt: 6

- type: entity
  name: uranium marble tile
  description: A chiseled, polished square of the finest Space Marble. Uranium-infused to make it extra rad! Pun intended!
  parent: FloorTileItemWhiteMarble
  id: FloorTileItemUraniumMarble
  components:
  - type: Sprite
    state: uranium-marble
  - type: Item
    heldPrefix: uranium-marble
  - type: FloorTile
    outputs:
      - Plating
      - FloorUraniumMarble
  - type: Stack
    stackType: FloorTileUraniumMarble
  - type: DamageOtherOnHit
    damage:
      types:
        Blunt: 5
        Radiation: 1
  - type: PointLight
    radius: 1.2
    energy: 0.8
    castShadows: false
    color: "#9be792"

- type: entity
  id: FloorTileItemXeno
  parent: FloorTileItemBase
  name: xeno floor
  components:
  - type: Sprite
    state: xenofloor
  - type: Item
    heldPrefix: steel
  - type: FloorTile
    outputs:
    - Plating
    - FloorXeno
  - type: Stack
    stackType: FloorTileXeno

- type: entity
  id: FloorTileItemXenoSteel
  parent: FloorTileItemBase
  name: xeno steel floor
  components:
  - type: Sprite
    state: xeno-steel
  - type: Item
    heldPrefix: steel
  - type: FloorTile
    outputs:
    - Plating
    - FloorXenoSteel
  - type: Stack
    stackType: FloorTileXenoSteel

- type: entity
  id: FloorTileItemXenoSteelCorner
  parent: FloorTileItemBase
  name: xeno steel corner floor
  components:
  - type: Sprite
    state: xeno-steel-corner
  - type: Item
    heldPrefix: steel
  - type: FloorTile
    outputs:
    - Plating
    - FloorXenoSteelCorner
  - type: Stack
    stackType: FloorTileXenoSteelCorner

- type: entity
  name: xeno techmaint floor
  parent: FloorTileItemBase
  id: FloorTileItemXenoMaint
  components:
  - type: Sprite
    state: xeno-techmaint
  - type: Item
    heldPrefix: dark
  - type: FloorTile
    outputs:
    - Plating
    - FloorXenoMaint
  - type: Stack
    stackType: FloorTileXenoMaint

- type: entity
  id: FloorTileItemXenoborg
  parent: FloorTileItemBase
  name: xenoborg floor
  components:
  - type: Sprite
    state: xenoborg-floor
  - type: FloorTile
    outputs:
    - Plating
    - FloorXenoborg
  - type: Stack
    stackType: FloorTileXenoborg

- type: entity
  parent: FloorTileItemDark
  id: FloorTileItemDarkSquiggly
  name: dark steel squiggly tile
  components:
  - type: Sprite
    state: dark-squiggly
  - type: FloorTile
    outputs:
    - Plating
    - FloorDarkSquiggly
  - type: Stack
    stackType: FloorTileDarkSquiggly
