Paste #69660: Untitled Paste

Date: 2020/05/26 07:57:05 UTC-07:00
Type: Denizen Script

View Raw Paste Download This Paste
Copy Link


woodcutting_listener:
    type: world
    events:
        on player places *_log:
        - flag server woodcutting.player_made_trees.<context.location.simple>
        - narrate newflag
        on player breaks *_log:
        - if !<server.has_flag[woodcutting.player_made_trees.<context.location.simple>]>:
            - stop
        - flag server woodcutting.player_made_trees.<context.location.simple>:!
        - narrate removeflag
        on player left clicks block with item:
        - if !<context.item.has_script>:
            - stop
        #if item is not axe
        - if !<list[<item[bronze_axe]>|<item[iron_axe]>|<item[steel_axe]>|<item[branite_axe]>|<item[molmek_axe]>|<item[endos_axe]>].contains_any[<context.item>]>:
            - stop

        #check if man made log
        - if <server.has_flag[woodcutting.player_made_trees.<context.location.simple>]>:
            - stop

        #begin felling process
        - if <player.has_flag[woodcutting.cooldown]>:
            - narrate "<&c>You swing your axe and miss."
            - playsound entity_llama_spit <player.location> pitch:-2
            - stop

        - choose <context.location.material.name>:
            - case acacia_log:
                - if !<player.has_flag[woodcutting.tree.<context.location.simple>]>:
                    - flag player woodcutting.tree.<context.location.simple>
                    - flag player woodcutting.chop_count.<context.location.simple>:0
                    #wc lvl, axe sharpness, hardness
                    - flag player woodcutting.timer:<util.random.int[<player.flag[woodcuttinglvl].mul[.1].add[<context.item.nbt[sharpness]>]>].to[15]>

                - flag player woodcutting.cooldown duration:10t
                - flag player woodcutting.chop_count.<context.location.simple>:++ duration:1m
                - flag player woodcuttingxp:+:.30
                - actionbar "<&a><&l>+ .30 XP"
                - playsound block_wood_break <player.location> pitch:3
                - choose <player.flag[woodcutting.chop_count.<context.location.simple>]>:
                    - case 1:
                        - if <player.flag[woodcutting.timer]> == 1:
                            - modifyblock air <context.location>
                            - playeffect block_crack <player.location.forward[2]> special_data:acacia_log quantity:150
                            - playsound block_wood_break <player.location> pitch:-3
                            - if <proc[woodcuttinglevel_process].context[<player>]>:
                                - flag player woodcuttinglvl <player.flag[woodcuttinglvl].add[1]>
                                - playsound entity_experience_orb_pickup <player.location> pitch:-1
                                - toast "Congratulations your woodcutting level is now <player.flag[woodcuttinglvl]>!"
                            - flag player woodcutting.tree.<context.location.simple>:!
                            - flag player woodcutting.chop_count.<context.location.simple>:!
                            - stop

                        - playeffect block_crack <player.location.forward[2]> special_data:acacia_log quantity:150
                        - playsound block_wood_break <player.location> pitch:-3

                    - case 2:
                        - if <player.flag[woodcutting.timer]> == 2:
                            - modifyblock air <context.location>
                            - playeffect block_crack <player.location.forward[2]> special_data:acacia_log quantity:150
                            - playsound block_wood_break <player.location> pitch:-3
                            - if <proc[woodcuttinglevel_process].context[<player>]>:
                                - flag player woodcuttinglvl <player.flag[woodcuttinglvl].add[1]>
                                - playsound entity_experience_orb_pickup <player.location> pitch:-1
                                - toast "Congratulations your woodcutting level is now <player.flag[woodcuttinglvl]>!"
                            - flag player woodcutting.tree.<context.location.simple>:!
                            - flag player woodcutting.chop_count.<context.location.simple>:!
                            - stop

                        - playeffect block_crack <player.location.forward[2]> special_data:acacia_log quantity:150
                        - playsound block_wood_break <player.location> pitch:-3

                    - case 3:
                        - if <player.flag[woodcutting.timer]> == 3:
                            - modifyblock air <context.location>
                            - playeffect block_crack <player.location.forward[2]> special_data:acacia_log quantity:150
                            - playsound block_wood_break <player.location> pitch:-3
                            - if <proc[woodcuttinglevel_process].context[<player>]>:
                                - flag player woodcuttinglvl <player.flag[woodcuttinglvl].add[1]>
                                - playsound entity_experience_orb_pickup <player.location> pitch:-1
                                - toast "Congratulations your woodcutting level is now <player.flag[woodcuttinglvl]>!"
                            - flag player woodcutting.tree.<context.location.simple>:!
                            - flag player woodcutting.chop_count.<context.location.simple>:!
                            - stop

                        - playeffect block_crack <player.location.forward[2]> special_data:acacia_log quantity:150
                        - playsound block_wood_break <player.location> pitch:-3

                    - case 4:
                        - if <player.flag[woodcutting.timer]> == 4:
                            - modifyblock air <context.location>
                            - playeffect block_crack <player.location.forward[2]> special_data:acacia_log quantity:150
                            - playsound block_wood_break <player.location> pitch:-3
                            - if <proc[woodcuttinglevel_process].context[<player>]>:
                                - flag player woodcuttinglvl <player.flag[woodcuttinglvl].add[1]>
                                - playsound entity_experience_orb_pickup <player.location> pitch:-1
                                - toast "Congratulations your woodcutting level is now <player.flag[woodcuttinglvl]>!"
                            - flag player woodcutting.tree.<context.location.simple>:!
                            - flag player woodcutting.chop_count.<context.location.simple>:!
                            - stop

                        - playeffect block_crack <player.location.forward[2]> special_data:acacia_log quantity:150
                        - playsound block_wood_break <player.location> pitch:-3

                    - case 5:
                        - if <player.flag[woodcutting.timer]> == 5:
                            - modifyblock air <context.location>
                            - playeffect block_crack <player.location.forward[2]> special_data:acacia_log quantity:150
                            - playsound block_wood_break <player.location> pitch:-3
                            - if <proc[woodcuttinglevel_process].context[<player>]>:
                                - flag player woodcuttinglvl <player.flag[woodcuttinglvl].add[1]>
                                - playsound entity_experience_orb_pickup <player.location> pitch:-1
                                - toast "Congratulations your woodcutting level is now <player.flag[woodcuttinglvl]>!"
                            - flag player woodcutting.tree.<context.location.simple>:!
                            - flag player woodcutting.chop_count.<context.location.simple>:!
                            - stop

                        - playeffect block_crack <player.location.forward[2]> special_data:acacia_log quantity:150
                        - playsound block_wood_break <player.location> pitch:-3

                    - case 6:
                        - if <player.flag[woodcutting.timer]> == 6:
                            - modifyblock air <context.location>
                            - playeffect block_crack <player.location.forward[2]> special_data:acacia_log quantity:150
                            - playsound block_wood_break <player.location> pitch:-3
                            - if <proc[woodcuttinglevel_process].context[<player>]>:
                                - flag player woodcuttinglvl <player.flag[woodcuttinglvl].add[1]>
                                - playsound entity_experience_orb_pickup <player.location> pitch:-1
                                - toast "Congratulations your woodcutting level is now <player.flag[woodcuttinglvl]>!"
                            - flag player woodcutting.tree.<context.location.simple>:!
                            - flag player woodcutting.chop_count.<context.location.simple>:!
                            - stop

                        - playeffect block_crack <player.location.forward[2]> special_data:acacia_log quantity:150
                        - playsound block_wood_break <player.location> pitch:-3

                    - case 7:
                        - if <player.flag[woodcutting.timer]> == 7:
                            - modifyblock air <context.location>
                            - playeffect block_crack <player.location.forward[2]> special_data:acacia_log quantity:150
                            - playsound block_wood_break <player.location> pitch:-3
                            - if <proc[woodcuttinglevel_process].context[<player>]>:
                                - flag player woodcuttinglvl <player.flag[woodcuttinglvl].add[1]>
                                - playsound entity_experience_orb_pickup <player.location> pitch:-1
                                - toast "Congratulations your woodcutting level is now <player.flag[woodcuttinglvl]>!"
                            - flag player woodcutting.tree.<context.location.simple>:!
                            - flag player woodcutting.chop_count.<context.location.simple>:!
                            - stop

                        - playeffect block_crack <player.location.forward[2]> special_data:acacia_log quantity:150
                        - playsound block_wood_break <player.location> pitch:-3

                    - case 8:
                        - if <player.flag[woodcutting.timer]> == 8:
                            - modifyblock air <context.location>
                            - playeffect block_crack <player.location.forward[2]> special_data:acacia_log quantity:150
                            - playsound block_wood_break <player.location> pitch:-3
                            - if <proc[woodcuttinglevel_process].context[<player>]>:
                                - flag player woodcuttinglvl <player.flag[woodcuttinglvl].add[1]>
                                - playsound entity_experience_orb_pickup <player.location> pitch:-1
                                - toast "Congratulations your woodcutting level is now <player.flag[woodcuttinglvl]>!"
                            - flag player woodcutting.tree.<context.location.simple>:!
                            - flag player woodcutting.chop_count.<context.location.simple>:!
                            - stop

                        - playeffect block_crack <player.location.forward[2]> special_data:acacia_log quantity:150
                        - playsound block_wood_break <player.location> pitch:-3

                    - case 9:
                        - if <player.flag[woodcutting.timer]> == 9:
                            - modifyblock air <context.location>
                            - playeffect block_crack <player.location.forward[2]> special_data:acacia_log quantity:150
                            - playsound block_wood_break <player.location> pitch:-3
                            - if <proc[woodcuttinglevel_process].context[<player>]>:
                                - flag player woodcuttinglvl <player.flag[woodcuttinglvl].add[1]>
                                - playsound entity_experience_orb_pickup <player.location> pitch:-1
                                - toast "Congratulations your woodcutting level is now <player.flag[woodcuttinglvl]>!"
                            - flag player woodcutting.tree.<context.location.simple>:!
                            - flag player woodcutting.chop_count.<context.location.simple>:!
                            - stop

                        - playeffect block_crack <player.location.forward[2]> special_data:acacia_log quantity:150
                        - playsound block_wood_break <player.location> pitch:-3

                    - case 10:
                        - if <player.flag[woodcutting.timer]> == 10:
                            - modifyblock air <context.location>
                            - playeffect block_crack <player.location.forward[2]> special_data:acacia_log quantity:150
                            - playsound block_wood_break <player.location> pitch:-3
                            - if <proc[woodcuttinglevel_process].context[<player>]>:
                                - flag player woodcuttinglvl <player.flag[woodcuttinglvl].add[1]>
                                - playsound entity_experience_orb_pickup <player.location> pitch:-1
                                - toast "Congratulations your woodcutting level is now <player.flag[woodcuttinglvl]>!"
                            - flag player woodcutting.tree.<context.location.simple>:!
                            - flag player woodcutting.chop_count.<context.location.simple>:!
                            - stop

                        - playeffect block_crack <player.location.forward[2]> special_data:acacia_log quantity:150
                        - playsound block_wood_break <player.location> pitch:-3

                    - case 11:
                        - if <player.flag[woodcutting.timer]> == 11:
                            - modifyblock air <context.location>
                            - playeffect block_crack <player.location.forward[2]> special_data:acacia_log quantity:150
                            - playsound block_wood_break <player.location> pitch:-3
                            - if <proc[woodcuttinglevel_process].context[<player>]>:
                                - flag player woodcuttinglvl <player.flag[woodcuttinglvl].add[1]>
                                - playsound entity_experience_orb_pickup <player.location> pitch:-1
                                - toast "Congratulations your woodcutting level is now <player.flag[woodcuttinglvl]>!"
                            - flag player woodcutting.tree.<context.location.simple>:!
                            - flag player woodcutting.chop_count.<context.location.simple>:!
                            - stop

                        - playeffect block_crack <player.location.forward[2]> special_data:acacia_log quantity:150
                        - playsound block_wood_break <player.location> pitch:-3

                    - case 12:
                        - if <player.flag[woodcutting.timer]> == 12:
                            - modifyblock air <context.location>
                            - playeffect block_crack <player.location.forward[2]> special_data:acacia_log quantity:150
                            - playsound block_wood_break <player.location> pitch:-3
                            - if <proc[woodcuttinglevel_process].context[<player>]>:
                                - flag player woodcuttinglvl <player.flag[woodcuttinglvl].add[1]>
                                - playsound entity_experience_orb_pickup <player.location> pitch:-1
                                - toast "Congratulations your woodcutting level is now <player.flag[woodcuttinglvl]>!"
                            - flag player woodcutting.tree.<context.location.simple>:!
                            - flag player woodcutting.chop_count.<context.location.simple>:!
                            - stop

                        - playeffect block_crack <player.location.forward[2]> special_data:acacia_log quantity:150
                        - playsound block_wood_break <player.location> pitch:-3

                    - case 13:
                        - if <player.flag[woodcutting.timer]> == 13:
                            - modifyblock air <context.location>
                            - playeffect block_crack <player.location.forward[2]> special_data:acacia_log quantity:150
                            - playsound block_wood_break <player.location> pitch:-3
                            - if <proc[woodcuttinglevel_process].context[<player>]>:
                                - flag player woodcuttinglvl <player.flag[woodcuttinglvl].add[1]>
                                - playsound entity_experience_orb_pickup <player.location> pitch:-1
                                - toast "Congratulations your woodcutting level is now <player.flag[woodcuttinglvl]>!"
                            - flag player woodcutting.tree.<context.location.simple>:!
                            - flag player woodcutting.chop_count.<context.location.simple>:!
                            - stop

                        - playeffect block_crack <player.location.forward[2]> special_data:acacia_log quantity:150
                        - playsound block_wood_break <player.location> pitch:-3

                    - case 14:
                        - if <player.flag[woodcutting.timer]> == 14:
                            - modifyblock air <context.location>
                            - playeffect block_crack <player.location.forward[2]> special_data:acacia_log quantity:150
                            - playsound block_wood_break <player.location> pitch:-3
                            - if <proc[woodcuttinglevel_process].context[<player>]>:
                                - flag player woodcuttinglvl <player.flag[woodcuttinglvl].add[1]>
                                - playsound entity_experience_orb_pickup <player.location> pitch:-1
                                - toast "Congratulations your woodcutting level is now <player.flag[woodcuttinglvl]>!"
                            - flag player woodcutting.tree.<context.location.simple>:!
                            - flag player woodcutting.chop_count.<context.location.simple>:!
                            - stop

                        - playeffect block_crack <player.location.forward[2]> special_data:acacia_log quantity:150
                        - playsound block_wood_break <player.location> pitch:-3

                    - case 15:
                        - if <player.flag[woodcutting.timer]> == 15:
                            - modifyblock air <context.location>
                            - playeffect block_crack <player.location.forward[2]> special_data:acacia_log quantity:150
                            - playsound block_wood_break <player.location> pitch:-3
                            - if <proc[woodcuttinglevel_process].context[<player>]>:
                                - flag player woodcuttinglvl <player.flag[woodcuttinglvl].add[1]>
                                - playsound entity_experience_orb_pickup <player.location> pitch:-1
                                - toast "Congratulations your woodcutting level is now <player.flag[woodcuttinglvl]>!"
                            - flag player woodcutting.tree.<context.location.simple>:!
                            - flag player woodcutting.chop_count.<context.location.simple>:!
                            - stop

                        - playeffect block_crack <player.location.forward[2]> special_data:acacia_log quantity:150
                        - playsound block_wood_break <player.location> pitch:-3


                - case dark_oak_log:
                    - flag player woodcutting.tree.<context.location.simple>
                    - flag player woodcutting.chop_count.<context.location.simple>:0
                - case oak_log:
                    - flag player woodcutting.tree.<context.location.simple>
                    - flag player woodcutting.chop_count.<context.location.simple>:0
                - case birch_log:
                    - flag player woodcutting.tree.<context.location.simple>
                    - flag player woodcutting.chop_count.<context.location.simple>:0
                - case spruce_log:
                    - flag player woodcutting.tree.<context.location.simple>
                    - flag player woodcutting.chop_count.<context.location.simple>:0
                - case jungle_log:
                    - flag player woodcutting.tree.<context.location.simple>
                    - flag player woodcutting.chop_count.<context.location.simple>:0
                #leaves
                - case acacia_leaves:
                    - flag player woodcutting.leaves.<context.location.simple>
                    - flag player woodcutting.chop_count.<context.location.simple>:0
                - case dark_oak_leaves:
                    - flag player woodcutting.leaves.<context.location.simple>
                    - flag player woodcutting.chop_count.<context.location.simple>:0
                - case oak_leaves:
                    - flag player woodcutting.leaves.<context.location.simple>
                    - flag player woodcutting.chop_count.<context.location.simple>:0
                - case birch_leaves:
                    - flag player woodcutting.leaves.<context.location.simple>
                    - flag player woodcutting.chop_count.<context.location.simple>:0
                - case spruce_leaves:
                    - flag player woodcutting.leaves.<context.location.simple>
                    - flag player woodcutting.chop_count.<context.location.simple>:0
                - case jungle_leaves:
                    - flag player woodcutting.leaves.<context.location.simple>
                    - flag player woodcutting.chop_count.<context.location.simple>:0
                #woods
                - case acacia_wood:
                    - flag player woodcutting.wood.<context.location.simple>
                    - flag player woodcutting.chop_count.<context.location.simple>:0
                - case dark_oak_wood:
                    - flag player woodcutting.wood.<context.location.simple>
                    - flag player woodcutting.chop_count.<context.location.simple>:0
                - case oak_wood:
                    - flag player woodcutting.wood.<context.location.simple>
                    - flag player woodcutting.chop_count.<context.location.simple>:0
                - case birch_wood:
                    - flag player woodcutting.wood.<context.location.simple>
                    - flag player woodcutting.chop_count.<context.location.simple>:0
                - case spruce_wood:
                    - flag player woodcutting.wood.<context.location.simple>
                    - flag player woodcutting.chop_count.<context.location.simple>:0
                - case jungle_wood:
                    - flag player woodcutting.wood.<context.location.simple>
                    - flag player woodcutting.chop_count.<context.location.simple>:0
                - default:
                    - stop