Paste #139444: Unnamed Denizen Script Paste

Date: 2026/03/10 11:27:24 UTC+00:00
Type: Denizen Script

View Raw Paste Download This Paste
Copy Link


glove_item:
    type: item
    material: trial_key
    display name: <&color[#ffffff]>Перчатка
    allow in material recipes: true
    mechanisms:
        custom_model_data: 1340
        components_patch:
            max_stack_size: int:1
    lore:
    - <&color[#8a817c]>«Используется для скрытия отпечатков»

paper_item:
    type: item
    material: trial_key
    display name: <&color[#ffffff]>Бумага
    allow in material recipes: true
    mechanisms:
        custom_model_data: 1340
        components_patch:
            max_stack_size: int:1
    lore:
    - <&color[#8a817c]>«<&o> ... »

lupa_item:
    type: item
    material: trial_key
    display name: <&color[#ffffff]>Лупа
    mechanisms:
        custom_model_data: 1340
        components_patch:
            max_stack_size: int:1
    lore:
    - <&color[#8a817c]>«Используется для снятия образцов отпечатков»

lupa:
    type: world
    debug: true
    events:
        on player right clicks block with:lupa_item:
        - if <player.item_in_offhand.script.name.if_null[null].equals[paper_item]>:
            - determine cancelled passively
            #
            - define block_to_check <context.location.if_null[air]>
            - define log_to_check <[block_to_check].coreprotect_logs[30d]>
            #
            - if <player.has_flag[lupa.Searching]>:
                - stop
            #
            - if !<player.has_flag[lupa.Searching]>:
                - animate <player> arm_swing
                - flag player lupa.Searching expire:3s
                - narrate "<&color[#8a817c]>«Вы начали поиск»"
                - playsound <player> sound:entity_villager_ambient pitch:1 volume:1
                - wait 2s
            #
            - if <[block_to_check]> == air:
                - narrate "<&color[#8a817c]>«Похоже нечего не обнаружено»"
                - playsound <player> sound:entity_villager_no pitch:1 volume:1
                - stop
            #
            - if <[log_to_check].is_empty> && <[block_to_check].other_block.exists>:
                - define block_to_check <[block_to_check].other_block>
                - define log_to_check <[block_to_check].coreprotect_logs[30d]>
            #
            - if <[log_to_check].is_empty>:
                - narrate "<&color[#8a817c]>«Вы ничего не обнаружили»"
                - playsound <player> sound:entity_villager_no pitch:1 volume:1
                - stop
            #
            - foreach <[log_to_check]> as:log_entry:
                - define lore:|:<element[<&color[#8a817c]>«<&color[#8a817c]> - <&color[#778da9]>Игрок:<&color[#d3d3d3]><&o> <[log_entry.player_name]><&color[#778da9]> Время: <&color[#d3d3d3]><&o><[log_entry.time].from_now.formatted><&color[#778da9]> Блок: <&color[#d3d3d3]><&o><[log_entry.material].translated_name><&color[#8a817c]>»<n>]>
            - inventory adjust slot:offhand lore:<[lore].last[3]>

        - if <player.item_in_offhand.script.name.if_null[null].equals[glove_item]>:
            - determine cancelled passively
            #
            - define block_to_check <context.location.if_null[air]>
            - define log_to_check <[block_to_check].coreprotect_logs[30d]>
            #
            - if <player.has_flag[glove.Searching]>:
                - stop
            #
            - if !<player.has_flag[glove.Searching]>:
                - animate <player> arm_swing
                - flag player glove.Searching expire:3s
                - narrate "<&color[#8a817c]>«Вы скрыли следы»"
                - playsound <player> sound:entity_villager_ambient pitch:1 volume:1
                - wait 2s
            #
            - if <[block_to_check]> == air:
                - narrate "<&color[#8a817c]>«Похоже нечего не удалось скрыть»"
                - playsound <player> sound:entity_villager_no pitch:1 volume:1
                - stop
            #
            - if <[log_to_check].is_empty> && <[block_to_check].other_block.exists>:
                - define block_to_check <[block_to_check].other_block>
                - define log_to_check <[block_to_check].coreprotect_logs[30d]>

            - foreach <[log_to_check]> as:log_entry:
                - determine passively cancelled
                - define lore:|:<element[<&color[#8a817c]>«<&color[#8a817c]> - <&color[#778da9]>Игрок:<&color[#d3d3d3]><&o> <[log_entry.player_name]><&color[#778da9]> Время: <&color[#d3d3d3]><&o><[log_entry.time].from_now.formatted><&color[#778da9]> Блок: <&color[#d3d3d3]><&o><[log_entry.material].translated_name><&color[#8a817c]>»<n>]>
                - inventory adjust slot:offhand lore:<[lore].last[4]>