Paste #49027: Untitled Paste

Date: 2018/08/13 20:06:58 UTC-07:00
Type: Denizen Script

View Raw Paste Download This Paste
Copy Link


EarthBoulderJazz:
    type: world
    debug: true
    events:
        on player starts sneaking:
            - if <player.has_flag[element_toggled]> {
                - queue clear
            }
            - if <player.flag[element]> != earth {
                - queue clear
            }
            - 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[<player.location.cursor_on[3].material]> {

            }
        on player stops sneaking:
            - if <player.has_flag[earth_stage]> {
                - flag <player> boulder_up

                - flag <player> earth_stage:!
            }

EarthArmor:
    type: world
    debug: true
    events:
        on player right clicks with item:
            - if <player.has_flag[element_toggled]> {
                - queue clear
            }
            - if <player.flag[element]> == earth {
                - if <player.location.cursor_on[3].material> == m@air {
                    - if <player.has_flag[armorcooldown]> {
                        - playsound <player.location> sound:BLOCK_ANVIL_PLACE volume:0.15
                        - queue clear
                    }
                    - if <player.has_flag[armorhealth]> {
                        - queue clear
                    }
                    - define hardscale <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>
                    - if !<def[hardscale].contains[<player.location.center.add[0,-1,0].material>]> {
                        - queue clear
                    }
                    - flag <player> source:<player.location.add[0,-1,0].material>
                    - flag <player> sourceloc:<player.location.add[0,-1,0]>
                    - playeffect <player.location> effect:blockdust_<player.location.add[0,-1,0].material.id> quantity:250
                    - repeat 15 {
                        - playsound <player.location> sound:BLOCK_STONE_BREAK volume:100000000000
                    }
                    - modifyblock <player.flag[sourceloc]> m@air
                    - flag <player> armorhealth:<def[hardscale].find[<player.flag[source]>].mul[3]>
                }
            }
        on player damaged:
            - if <context.cause> == FALL {
                - queue clear
            }
            - if <player.has_flag[armorhealth]> {
                - flag <player> armorhealth:<player.flag[armorhealth].sub[<context.damage>]>
                - determine passively cancelled
                - if <player.flag[armorhealth]> <= 0 {
                    - modifyblock <player.flag[sourceloc]> <player.flag[source]>
                    - playeffect <player.location.points_between[<player.flag[sourceloc]>]> effect:blockdust_<player.flag[source].as_material.id> quantity:250 offset:0,0,0
                    - repeat 15 {
                        - playsound <player.location> sound:BLOCK_STONE_BREAK volume:100000000000
                    }
                    - flag <player> armorhealth:!
                    - flag <player> source:!
                    - flag <player> sourceloc:!
                    - flag <player> armorcooldown duration:30s
                }
            }

EarthFall:
    type: world
    debug: true
    events:
        on player damaged:
            - if <player.has_flag[element_toggled]> {
                - queue clear
            }
            - if <player.flag[element]> == earth {
                - if <context.cause> == FALL {
                    - 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[<player.location.add[0,-1,0].material>]> {
                        - determine passively cancelled
                    }
                }
            }

EarthLaunch:
    type: world
    debug: true
    events:
        on player starts sneaking:
            - if <player.has_flag[launch_cooldown]> {
                - playsound <player.location> sound:BLOCK_ANVIL_PLACE volume:0.15
                - queue clear
            }
            - if <player.has_flag[element_toggled]> {
                - queue clear
            }
            - if <player.location.cursor_on[5].material> != m@air {
                - queue clear
            }
            - if <player.flag[element]> == earth {
                - 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[<player.location.add[0,-1,0].material>]> {
                    - playeffect <player.location> effect:blockdust_<player.location.add[0,-1,0].material.id> quantity:250
                    - adjust <player> "velocity:<player.location.direction.vector.x.mul[1.5]>,1,<player.location.direction.vector.z.mul[1.5]>"
                    - showfake <player.location.add[0,-1,0].material> <player.location> players:<server.list_online_players> duration:5s
                    - playsound <player.location> sound:ENTITY_GHAST_SHOOT volume:10000000000000
                    - flag <player> launch_cooldown duration:5s
                }
            }


#EarthBoulder > EarthArmor > EarthLaunch > EarthSlide > EarthRide > Small Shockwave > Large Shockwave > Fissure > EarthWall
#sand, clay, dirt, gravel, diorite, cobblestone, stone, polished diorite, andesite, polished andesite, granite, polished granite