Paste #49301: Untitled Paste

Date: 2018/08/21 09:08:35 UTC-07:00
Type: Denizen Script

View Raw Paste Download This Paste
Copy Link


SeismicSense:  
  type: world  
  debug: false  
  events:  
    on system time minutely:  
    - repeat 60 {  
      - run seismic_task  
      - wait 1s  
      - run seismic_check 
      }   

seismic_task:  
  type: task  
  script:  
  - foreach <server.list_online_players.filter[has_flag[seismic_sense_unlocked]]> {   
    - if !<def[value].as_player.has_flag[element_toggled]> && !<def[value].as_player.has_flag[ss_toggled]> {   
      - foreach <def[value].as_player.location.find.living_entities.within[20].exclude[<player>]> {   
        - if !<li@m@sand|m@clay|m@dirt|m@grass|m@gravel|m@diorite|m@cobblestone|m@stone|m@polished_diorite|m@andesite|m@polished_andesite|m@granite|m@polished_granite.contains[<def[value].location.center.add[0,-1,0].material>]> {   
            - queue clear   
          } else {   
          - adjust <def[value]> glowing:true   
          }   
        }   
      }   
    } 

seismic_check: 
  type: task 
  script: 
  - foreach <server.list_online_players.filter[has_flag[seismic_sense_unlocked]]> {   
  - define player <def[value]> 
    - foreach <def[value].as_player.location.find.living_entities.within[50].filter[glowing]> { 
      - if <def[player].location.find.living_entities.within[20]> !contains <def[value]> { 
        - adjust <def[value]> glowing:false 
        } 
      } 
    }