- type: entity
  parent: Bookshelf
  id: BookshelfFilled
  suffix: random filled
  components:
  - type: EntityTableContainerFill
    containers:
      storagebase: !type:NestedSelector
        tableId: BookshelfEntityTable

# Entity tables
- type: entityTable
  id: BookshelfEntityTable
  table: !type:AllSelector
    children:
    # Randomly generated books
    - id: BookRandomStory
      amount: !type:RangeNumberSelector
        range: 0, 8
    # Guidebooks
    - !type:NestedSelector
      rolls: !type:RangeNumberSelector
        range: 0, 2
      tableId: RandomGuidebookTable
    # Handwritten books
    - !type:NestedSelector
      rolls: !type:RangeNumberSelector
        range: 0, 3
      tableId: RandomHandwrittenBookTable

- type: entityTable
  id: RandomHandwrittenBookTable
  table: !type:GroupSelector
    children:
    - id: BookAurora
    - id: BookCafe
    - id: BookEarth
    - id: BookFeather
    - id: BookIanAntarctica
    - id: BookIanArctic
    - id: BookIanCity
    - id: BookIanDesert
    - id: BookIanLostWolfPup
    - id: BookIanMountain
    - id: BookIanOcean
    - id: BookIanRanch
    - id: BookInspiration
    - id: BookJourney
    - id: BookMap
    - id: BookMedicalOfficer
    - id: BookMorgue
    - id: BookNames
    - id: BookNarsieLegend
    - id: BookPossum
    - id: BookRufus
    - id: BookSlothClownMMD
    - id: BookSlothClownPranks
    - id: BookSlothClownSSS
    - id: BookStruck
    - id: BookSun
    - id: BookTemple
    - id: BookTruth
    - id: BookWatched
    - id: BookWorld

- type: entityTable
  id: RandomGuidebookTable
  table: !type:GroupSelector
    children:
    - id: BookBartendersManual
    - id: BookChemicalCompendium
    - id: BookEngineersHandbook
    - id: BookHowToCookForFortySpaceman
    - id: BookHowToKeepStationClean
    - id: BookHowToRockAndStone
    - id: BookHowToSurvive
    - id: BookLeafLoversSecret
    - id: BookMedicalReferenceBook
    - id: BookScientistsGuidebook
    - id: BookSecurity
    - id: BookSpaceEncyclopedia
    - id: BookSpaceLaw
    - id: BookTheBookOfControl

- type: entityTable
  id: RandomBookTable
  table: !type:GroupSelector
    children:
    - id: BookRandomStory
    - !type:NestedSelector
      tableId: RandomGuidebookTable
    - !type:NestedSelector
      tableId: RandomHandwrittenBookTable
