Paste #49336: Edit of P#49335 - Edit of P#49334 - Edit of P#49333 - Untitled Paste

Date: 2018/08/22 07:12:51 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
      }  
    on player teleports:
    - foreach <context.origin.find.living_entitites.within[50].filter[glowing]> {
      - adjust <def[value]> glowing:false
      }

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"
        }
      }
    }