Paste #121376: sell hand

Date: 2024/03/30 04:02:26 UTC-07:00
Type: Denizen Script

View Raw Paste Download This Paste
Copy Link


novashop_data:
    type: data
    debug: false
    blocks:
        stone:
            buy: 10
            sell: 0.27
        granite:
            buy: 10
            sell: 0.27
        andesite:
            buy: 10
            sell: 0.27
        cobblestone:
            buy: 7.25
            sell: 0.2
        mossy_cobblestone:
            buy: 12
            sell: 0.33
        stone_bricks:
            buy: 10
            sell: 0.27
        mossy_stone_bricks:
            buy: 38.5
            sell: 1.1
    wood:
        stripped_oak_wood:
            buy: 19
            sell: 0.25
        stripped_spruce_wood:
            buy: 19
            sell: 0.25
        stripped_birch_wood:
            buy: 19
            sell: 0.25
        stripped_jungle_wood:
            buy: 19
            sell: 0.25
        stripped_acacia_wood:
            buy: 19
            sell: 0.3
        stripped_dark_oak_wood:
            buy: 19
            sell: 0.25
        mangrove_log:
            buy: 17
            sell: 5
        mangrove_slab:
            buy: 7
        mangrove_stairs:
            buy: 14
        mangrove_trapdoor:
            buy: 45
        mangrove_door:
            buy: 160
        mangrove_fence_gate:
            buy: 110
        mangrove_fence:
            buy: 19
    mobdrop:
        rotten_flesh:
            buy: 10
            sell: 0.3
        gunpowder:
            buy: 63.5
            sell: 1.8
        ender_pearl:
            buy: 38.5
            sell: 1.1
        spider_eye:
            buy: 26.5
            sell: 0.7
        string:
            buy: 5
            sell: 0.1
        bone:
            buy: 13.5
            sell: 0.4
        arrow:
            buy: 13.5
            sell: 0.4
    redstone:
        redstone:
            buy: 17
            sell: 0.5
        hopper:
            buy: 510
        redstone_torch:
            buy: 18
        redstone_block:
            buy: 145
            sell: 4
        redstone_lamp:
            buy: 21
    ores:
        coal:
            buy: 10
            sell: 0.3
        coal_block:
            buy: 84.7
            sell: 2.4
        iron_ingot:
            buy: 110
            sell: 3.1
        iron_block:
            buy: 910
            sell: 25.3
    farming:
        cake:
            buy: 510
        bread:
            buy: 26
        pumpkin_pie:
            buy: 105
        cooked_porkchop:
            buy: 16
        baked_potato:
            buy: 31
        cooked_beef:
            buy: 41
        cooked_chicken:
            buy: 16
        cooked_rabbit:
            buy: 37
        cooked_mutton:
            buy: 36

sell_cmd:
    type: command
    name: sell
    debug: true
    usage: /sell
    description: Sell Items
    script:
                - define shop_data <script[novashop_data].data_key[blocks]>
                - foreach <[shop_data]> key:item:
                    - define name <[item]>
                    - if <player.item_in_hand.material.name> matches <[item]>:
                        - define sell <script[novashop_data].data_key[blocks.<[item]>.sell].if_null[null]>
                        - define data_item <[item].if_null[null]>
                    - else:
                        - foreach next

                - define shop_data <script[novashop_data].data_key[wood]>
                - foreach <[shop_data]> key:item:
                    - define name <[item]>
                    - if <player.item_in_hand.material.name> matches <[item]>:
                        - define sell <script[novashop_data].data_key[wood.<[item]>.sell].if_null[null]>
                        - define data_item <[item].if_null[null]>
                    - else:
                        - foreach next

                - define shop_data <script[novashop_data].data_key[mobdrop]>
                - foreach <[shop_data]> key:item:
                    - define name <[item]>
                    - if <player.item_in_hand.material.name> matches <[item]>:
                        - define sell <script[novashop_data].data_key[mobdrop.<[item]>.sell].if_null[null]>
                        - define data_item <[item].if_null[null]>
                    - else:
                        - foreach next

                - define shop_data <script[novashop_data].data_key[redstone]>
                - foreach <[shop_data]> key:item:
                    - define name <[item]>
                    - if <player.item_in_hand.material.name> matches <[item]>:
                        - define sell <script[novashop_data].data_key[redstone.<[item]>.sell].if_null[null]>
                        - define data_item <[item].if_null[null]>
                    - else:
                        - foreach next

                - define shop_data <script[novashop_data].data_key[ores]>
                - foreach <[shop_data]> key:item:
                    - define name <[item]>
                    - if <player.item_in_hand.material.name> matches <[item]>:
                        - define sell <script[novashop_data].data_key[ores.<[item]>.sell].if_null[null]>
                        - define data_item <[item].if_null[null]>
                    - else:
                        - foreach next

                - define shop_data <script[novashop_data].data_key[farming]>
                - foreach <[shop_data]> key:item:
                    - define name <[item]>
                    - if <player.item_in_hand.material.name> matches <[item]>:
                        - define sell <script[novashop_data].data_key[farming.<[item]>.sell].if_null[null]>
                        - define data_item <[item].if_null[null]>
                    - else:
                        - foreach next

                - if <[data_item].equals[null]> || <[sell].equals[null]>:
                    - narrate "<&c>That Item can not be sold"
                    - stop
                - define quantity <player.item_in_hand.quantity>
                - define item <[data_item].as[item]>
                - define matchable <[item].script.name.if_null[<[item].material.name>]>
                - take item:<[matchable]> quantity:<[quantity]>
                - define price <[quantity].mul[<[sell]>]>
                - money give quantity:<[price]>
                - narrate "<&7>You have sold <[quantity]>x <[item].display.if_null[<[item].material.translated_name>]> <&7>for <&a><[price]> <server.economy.currency_name[<[price]>]><&7>."