Paste #45952: loop heaven

Date: 2017/12/12 13:05:51 UTC-08:00
Type: Denizen Script

View Raw Paste Download This Paste
Copy Link


gpa_com_skularr_mythicmobs_data:
  type: yaml data
  structures:
    overworld_1:
      triggers:
        allium:
        - '-2,-1,-2@2,3,2'
      layer_size: '5x5'
      layers:
        1: 5:stone_brick;3:stone_brick+grass*3+stone_brick;5:stone_brick
        2: 1:stone_brick;1:cobblestone_stairs,1;1:air;1:cobblestone_stairs;1:stone_brick;1:cobblestone_stairs,3;3:air;1:cobblestone_stairs,3;1:air*2+allium+air*2;1:cobblestone_stairs,2;3:air;1:cobblestone_stairs,2;1:stone_brick;1:cobblestone_stairs,1;1:air;1:cobblestone_stairs;1:stone_brick
        3: 1:stone_brick;3:air;1:stone_brick;15:air;1:stone_brick;3:air;1:stone_brick
        4: 1:stone_brick;1:cobblestone_stairs,5;1:air;1:cobblestone_stairs,4;1:stone_brick;1:cobblestone_stairs,7;3:air;1:cobblestone_stairs,7;5:air;1:cobblestone_stairs,6;3:air;1:cobblestone_stairs,6;1:stone_brick;1:cobblestone_stairs,5;1:air;1:cobblestone_stairs,4;1:stone_brick
        5: 5:stone_brick;3:stone_brick+air*3+stone_brick;5:stone_brick
  interpreter:
  - define tile_choose '<s@gpa_com_skularr_mythicmobs_data.yaml_key[structures.<def[structure]||overworld_stonebrick>.layers.<def[layer]||1>]>'
  - define tile_list 'li@'
  - foreach <def[tile_choose].split[;]> {
    - define tile_data '<def[value]>'
    - repeat <def[value].before[:]> {
      - foreach <def[tile_data].after[:].split[+]> {
        - define tile_internal '<def[value]>'
        - if <def[tile_internal].contains_text[*]> {
          - repeat <def[tile_internal].after[*]> {
            - define tile_list '<def[tile_list].include[<def[tile_internal].before[*]>]>'
          }
          - foreach next
        }
        - define tile_list '<def[tile_list].include[<def[value]>]>'
      }
    }
  }
  - define tile_list '<def[tile_list].parse[as_material]>'