Cupelt
대표칭호 없음
Kyoee01 a88429fff0b0408e9ed2c4af2b00b5e2
게임버전 | 1.20.2, 1.20.3, 1.20.4, 1.20.5, 1.20.6, 1.21, 1.21.1 |
---|---|
원산지 | 국산 |
창작자 | Cupelt |
자료 출처 | https://www.koreaminecraft.net/ |
다중 커맨드 실행 함수입니다.
# utils:multi_commands.mcfunction
# args: { commands: [commands] }
$data modify storage minecraft:temp multi_command.commands set value $(commands)
data modify storage minecraft:temp multi_command.now_command \
set from storage minecraft:temp multi_command.commands[0]
function utils:dynamic_command_executor with storage minecraft:temp multi_command
data remove storage minecraft:temp multi_command.commands[0]
execute if data storage minecraft:temp multi_command.commands[0] \
run function utils:multi_commands with storage minecraft:temp multi_command
# utils:dynamic_command_executor.mcfunction
$$(now_command)
이걸 사용하면...
execute if score isHouseLightOn third_days matches 1 \
as @e[type=minecraft:interaction, tag=house_drawer_interection] \
on target \
run give @s iron_ingot[custom_name='{"text":"ID 카드","color":"red", "italic": false}']
execute if score isHouseLightOn third_days matches 1 \
as @e[type=minecraft:interaction, tag=house_drawer_interection] \
on target \
run tellraw @a ["",{"selector":"@a[tag=player]","color":"yellow"}," : ","ID카드를 챙겼으니 이제 출근하자.."]
execute if score isHouseLightOn third_days matches 1 \
as @e[type=minecraft:interaction, tag=house_drawer_interection] \
on target \
as @a at @s run playsound minecraft:ui.button.click master @s ~ ~ ~ 0.5 1 1
execute if score isHouseLightOn third_days matches 1 \
as @e[type=minecraft:interaction, tag=house_drawer_interection] \
on target \
run kill @e[type=minecraft:interaction, tag=house_drawer_interection]
이렇게 긴 코드를..
execute if score isHouseLightOn third_days matches 1 \
as @e[type=minecraft:interaction, tag=house_drawer_interection] \
on target \
run function utils:multi_commands { commands: [ \
"give @s iron_ingot[custom_name='{\"text\":\"ID 카드\",\"color\":\"red\", \"italic\": false}']", \
"tellraw @a [\"\",{\"selector\":\"@a[tag=player]\",\"color\":\"yellow\"},\" : \",\"ID카드를 챙겼으니 이제 출근하자..\"]", \
"playsound minecraft:ui.button.click master @a ~ ~ ~ 0.5 1 1", \
"kill @e[type=minecraft:interaction, tag=house_drawer_interection]" \
]}
다음과 같이 줄일 수 있습니다.
단점으로는..
문자열 기반이라.. "
문자가 들어간 명령어 (ex: json) 와 같은 문자는 escape (\"
) 해줘야 한다는 단점과..
VSCode 사용시 하이라이팅이 안되는 정도...?
댓글이 없습니다.
새로운 댓글을 등록해 주세요!