Date: 2026/03/10 11:27:24 UTC+00:00
Type: Denizen Script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
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]>