Paste #42288: Explosive

Date: 2017/05/31 02:56:55 UTC-07:00
Type: Denizen Script

View Raw Paste Download This Paste
Copy Link


on c4 command:
        - determine passively FULFILLED
        - give explosive

on player places explosive:
        - define centLoc <context.location.center>
        - ^spawn ARMOR_STAND[custom_name=<&c>Explosives;custom_name_visibility=true;gravity=false] l@<def[centLoc].x>,<def[centLoc].y.sub[2]>,<def[centLoc].z>,Exodus save:newhologram
        - ^invisible <entry[newhologram].spawned_entities.get[1]> state:true
        - wait 4s
        - wait 2t
        - ^remove <entry[newhologram].spawned_entities.get[1]>
        #- remove <player.location.find.entities[armor_stand].within[10]>

        on player right clicks with explosive:
        - define loc <context.location>
        - define norm <player.eye_location.precise_impact_normal[5]>
        - wait 1s
        - playsound <player> sound:ENTITY_EXPERIENCE_ORB_PICKUP volume:0.2
        - wait 1s
        - playsound <player> sound:ENTITY_EXPERIENCE_ORB_PICKUP volume:0.2
        - wait 1s
        - playsound <player> sound:ENTITY_EXPERIENCE_ORB_PICKUP volume:0.2
        - wait 1s
        - playsound <context.location> sound:ENTITY_ENDERDRAGON_FIREBALL_EXPLODE volume:0.8
        - playeffect <context.location> effect:EXPLOSION_HUGE visibility:500 quantity:10

        - if <def[norm].x.is[==].to[1]||false> {
          - ^modifyblock l@<def[loc].x.add[1]>,<def[loc].y>,<def[loc].z>,Exodus air
          - ^modifyblock <def[loc]> air
          - ^modifyblock l@<def[loc].x>,<def[loc].y.sub[1]>,<def[loc].z>,Exodus air
          - ^modifyblock l@<def[loc].x>,<def[loc].y.add[1]>,<def[loc].z>,Exodus air
          - ^modifyblock l@<def[loc].x>,<def[loc].y>,<def[loc].z.sub[1]>,Exodus air
          - ^modifyblock l@<def[loc].x>,<def[loc].y>,<def[loc].z.add[1]>,Exodus air
        } else if <def[norm].y.is[==].to[1]||false> {
          - ^modifyblock l@<def[loc].x>,<def[loc].y.add[1]>,<def[loc].z>,Exodus air
          - ^modifyblock <def[loc]> air
          - ^modifyblock l@<def[loc].x.sub[1]>,<def[loc].y>,<def[loc].z>,Exodus air
          - ^modifyblock l@<def[loc].x.add[1]>,<def[loc].y>,<def[loc].z>,Exodus air
          - ^modifyblock l@<def[loc].x>,<def[loc].y>,<def[loc].z.sub[1]>,Exodus air
          - ^modifyblock l@<def[loc].x>,<def[loc].y>,<def[loc].z.add[1]>,Exodus air
        } else if <def[norm].z.is[==].to[1]||false> {
          - ^modifyblock l@<def[loc].x>,<def[loc].y>,<def[loc].z.add[1]>,Exodus air
          - ^modifyblock <def[loc]> air
          - ^modifyblock l@<def[loc].x.sub[1]>,<def[loc].y>,<def[loc].z>,Exodus air
          - ^modifyblock l@<def[loc].x.add[1]>,<def[loc].y>,<def[loc].z>,Exodus air
          - ^modifyblock l@<def[loc].x>,<def[loc].y.sub[1]>,<def[loc].z>,Exodus air
          - ^modifyblock l@<def[loc].x>,<def[loc].y.add[1]>,<def[loc].z>,Exodus air
        } else if <def[norm].x.is[==].to[-1]||false> {
          - ^modifyblock l@<def[loc].x.sub[1]>,<def[loc].y>,<def[loc].z>,Exodus air
          - ^modifyblock <def[loc]> air
          - ^modifyblock l@<def[loc].x>,<def[loc].y.sub[1]>,<def[loc].z>,Exodus air
          - ^modifyblock l@<def[loc].x>,<def[loc].y.add[1]>,<def[loc].z>,Exodus air
          - ^modifyblock l@<def[loc].x>,<def[loc].y>,<def[loc].z.sub[1]>,Exodus air
          - ^modifyblock l@<def[loc].x>,<def[loc].y>,<def[loc].z.add[1]>,Exodus air
        } else if <def[norm].y.is[==].to[-1]||false> {
          - ^modifyblock l@<def[loc].x>,<def[loc].y.sub[1]>,<def[loc].z>,Exodus air
          - ^modifyblock <def[loc]> air
          - ^modifyblock l@<def[loc].x.add[1]>,<def[loc].y>,<def[loc].z>,Exodus air
          - ^modifyblock l@<def[loc].x.sub[1]>,<def[loc].y>,<def[loc].z>,Exodus air
          - ^modifyblock l@<def[loc].x>,<def[loc].y>,<def[loc].z.sub[1]>,Exodus air
          - ^modifyblock l@<def[loc].x>,<def[loc].y>,<def[loc].z.add[1]>,Exodus air
        } else if <def[norm].z.is[==].to[-1]||false> {
          - ^modifyblock l@<def[loc].x>,<def[loc].y>,<def[loc].z.sub[1]>,Exodus air
          - ^modifyblock <def[loc]> air
          - ^modifyblock l@<def[loc].x.sub[1]>,<def[loc].y>,<def[loc].z>,Exodus air
          - ^modifyblock l@<def[loc].x.add[1]>,<def[loc].y>,<def[loc].z>,Exodus air
          - ^modifyblock l@<def[loc].x>,<def[loc].y.sub[1]>,<def[loc].z>,Exodus air
          - ^modifyblock l@<def[loc].x>,<def[loc].y.add[1]>,<def[loc].z>,Exodus air
        } else {
            - determine cancelled
        }

explosive:
    type: item
    debug: false 
    material: 77
    display name: <&6>Explosives
    lore:
    - '<&5><&l>RIGHT-CLICK <&r><&d>to blast into someone<&sq>s base!'