Paste #49141: Untitled Paste

Date: 2018/08/18 05:36:21 UTC-07:00
Type: Denizen Script

View Raw Paste Download This Paste
Copy Link


WaterBubble:
    type: world
    debug: false
    events:
        on player right clicks with item:
            - if <player.has_flag[element_toggled]> {
                - queue clear
            }
            - if <player.flag[element].is[!=].to[water]> {
                - queue clear
            }
            - if <player.has_flag[WaterBubble]> {
                - flag <player> WaterBubble:!
                - flag <player> WaterBubbleLocs:!
            }
            - if <player.location.material.name.is[==].to[stationary_water]> {
                - if !<player.has_flag[WaterBubble]> {
                    - flag <player> WaterBubble
                }
            }
            - wait 1t
            - while <player.has_flag[WaterBubble]> && !<player.has_flag[element_toggled]> {
                - flag <player> WaterBubble duration:1.5s
                - flag <player> WaterBubbleLocs:<player.location.find.blocks[stationary_water].within[<player.flag[WaterIndex]>]> duration:2s
                - modifyblock <player.flag[WaterBubbleLocs]> air
                - wait 1t
            }
        on block physics:
            - foreach <server.list_online_players> {
                - if <def[value].has_flag[WaterBubble]> {
                    - narrate "found waterbubble!"
                    - if <def[value].flag[WaterBubbleLocs].contains[<context.location>]> {
                        - narrate "cancelled!"
                        - determine cancelled
                    }
                }
            }