377: Animated menu using blocks. [Minecraft Map Making]

Опубликовано: 27 Март 2026
на канале: Infernal Device
647
47

Membership:    / @infernaldevice  
Ep377: Making a menu that animates as you point at different blocks.

00:00 Intro
01:10 Setup
01:50 Create menu block
10:00 Team
11:35 Controller - look
31:30 Controller - input

Version: 1.19.4

Commands, builds and ideas for people making their own Minecraft maps.

Check out my collabs on Coppit's channel:    / coppitj  

Join the CoppitCraft server that I play on and the Discord where I hang out.
Server IP: 51.81.246.145:25588
Discord:   / discord  

The following commands are prefixed with three letters which represent the settings of the command block. E.g IUN: = Impulse Unconditional Needs_Redstone. These prefixes need to be removed if copying the commands.

Since angled brackets are not allowed in YouTube descriptions you will have to replace "greater than" and "less than" with the appropriate angled bracket.

Commands used:

Setup:
IUN: scoreboard objectives add state dummy

Summon:
IUN: summon block_display 60 57 -9903 {Tags:["menu_option", "option_1"], block_state:{Name:"stone"}, transformation:{left_rotation:[0f,0f,0f,1f], right_rotation:[0f,0f,0f,1f], translation:[-0.375f,0f,-0.375f], scale:[0.75f,0.75f,0.75f]}, Passengers:[{Tags:["menu_option", "option_1"], id:"interaction", width:0.01, height:0.01, response:true},{Tags:["menu_option","option_1"],id:"slime", Size:0, NoAI:true, Silent:true, Invulnerable:true, DeathLootTable:"empty", ActiveEffects:[{Id:14, Amplifier:0, Duration:-1, ShowParticles:false}]}]}
CUA: summon block_display 59 57 -9903 {Tags:["menu_option", "option_2"], block_state:{Name:"stone"}, transformation:{left_rotation:[0f,0f,0f,1f], right_rotation:[0f,0f,0f,1f], translation:[-0.375f,0f,-0.375f], scale:[0.75f,0.75f,0.75f]}, Passengers:[{Tags:["menu_option", "option_2"], id:"interaction", width:0.01, height:0.01, response:true},{Tags:["menu_option","option_2"],id:"slime", Size:0, NoAI:true, Silent:true, Invulnerable:true, DeathLootTable:"empty", ActiveEffects:[{Id:14, Amplifier:0, Duration:-1, ShowParticles:false}]}]}
CUA: summon block_display 58 57 -9903 {Tags:["menu_option", "option_3"], block_state:{Name:"stone"}, transformation:{left_rotation:[0f,0f,0f,1f], right_rotation:[0f,0f,0f,1f], translation:[-0.375f,0f,-0.375f], scale:[0.75f,0.75f,0.75f]}, Passengers:[{Tags:["menu_option", "option_3"], id:"interaction", width:0.01, height:0.01, response:true},{Tags:["menu_option","option_3"],id:"slime", Size:0, NoAI:true, Silent:true, Invulnerable:true, DeathLootTable:"empty", ActiveEffects:[{Id:14, Amplifier:0, Duration:-1, ShowParticles:false}]}]}

Team:
IUN: team add option_highlight
CUA: team modify option_highlight color red
CUA: team join option_highlight @e[type=block_display, tag=menu_option]

Controller - Look:
RUA: execute as @a at @s if entity @e[type=block_display, tag=menu_option, distance=..5] run summon area_effect_cloud ~ ~ ~ {Duration:10,Tags:["ray"]}
CCA: execute as @a at @s run tp @e[tag=ray,limit=1,sort=nearest] ~ ~1.2 ~ ~ ~
CCA: execute as @e[tag=ray] at @s if entity @p[distance=..5] run tp @s ^ ^ ^0.9
CUA: tag @e[tag=selected] remove selected
CUA: execute at @e[tag=ray] at @e[type=slime,distance=0..0.5] run tag @e[type=block_display,tag=menu_option,sort=nearest,limit=1] add selected
CUA: execute as @e[tag=ray] at @s if entity @e[type=block_display,tag=menu_option,distance=0..0.5] run kill @s
CUA: execute as @e[tag=selected] unless score @s state matches 1 run data merge entity @s
{transformation:{left_rotation:[0f,0f,0f,1f], right_rotation:[0f,0f,0f,1f], translation:[-0.5f,0f,-0.5f], scale:[1f,1f,1f]}, start_interpolation:0, interpolation_duration:3}
CCA: execute as @e[tag=selected] run data merge entity @s {Glowing:true}
CCA: execute at @e[tag=selected] run data merge entity @e[type=interaction, tag=menu_option, limit=1, sort=nearest] {width:1.05, height:1.05}
CCA: execute as @e[tag=selected] run scoreboard players set @s state 1
CUA: execute as @e[tag=!selected, scores={state=1}] run data merge entity @s
{transformation:{left_rotation:[0f,0f,0f,1f], right_rotation:[0f,0f,0f,1f], translation:[-0.375f,0f,-0.375f], scale:[0.75f,0.75f,0.75f]}, start_interpolation:0, interpolation_duration:3}
CCA: execute as @e[tag=!selected, scores={state=1}] run data merge entity @s {Glowing:false}
CCA: execute at @e[tag=!selected, scores={state=1}] run data merge entity @e[type=interaction, tag=menu_option, limit=1, sort=nearest] {width:0.01, height:0.01}
CCA: execute as @e[tag=!selected, scores={state=1}] run scoreboard players set @s state 0

Controller - Input:
RUA: execute as @e[type=interaction, tag=option_1] store success entity @s interaction.player[] int 0 on target run say Selected: Option 1
CUA: execute as @e[type=interaction, tag=option_2] store success entity @s interaction.player[] int 0 on target run say Selected: Option 2
CUA: execute as @e[type=interaction, tag=option_3] store success entity @s interaction.player[] int 0 on target run say Selected: Option 3