魔方六色:前蓝,后绿,左橙,右红,上黄,下白
或者是: 北蓝,南绿,东橙,西红,上黄,下白
对应MC版本:26.1.2
获取交互道具:/trigger rubik_cube_3.give_items
可以使用道具进行:放置/删除魔方,复原/打乱魔方,录制/播放魔方旋转动作。
· 魔方表面自带交互判定,可以通过连续点击三个块来触发旋转。
· 可以长按鼠标进行拖动,会自动连点。
· 面向你要旋转的面进行点击会好一点,如果点错导致卡顿可以等待2~3秒CD。
· 同一个魔方单次仅可旋转一层,且一次只能转90度。
· 在魔方旋转的过程中,无法对其进行删除和录制以外的操作。
镜面魔方操作要点:
· 由于块的大小不同,尽量点靠近中心块的区域会好点
· 可按F3+B查看实际判定区域
交互作者:Squash233_
魔方实体的共同 tag:rubik_cube_3_
放置三阶魔方:execute positioned x y z run function rubik_cube_3:cube_function/set
放置二阶魔方:execute positioned x y z run function rubik_cube_2:cube_function/set
放置镜面魔方:execute positioned x y z run function mirror_cube:cube_function/set
传入执行位置 (本文中x y z皆指代魔方位置)
注:除镜面魔方外,魔方的放置位置是魔方的正中心。镜面魔方的位置是魔方的中心块的旋转中心,
传入魔方位置时不必非常精确,函数会尝试在2格范围内找到最近的魔方。
执行:execute positioned x y z run function rubik_cube_3:cube_function/delete
*二阶魔方不支持此操作
*镜面魔方不支持此操作
设置大小参数 (单位:格):data modify storage rubik_cube_3:io cube_scale set value 1.0
执行:execute positioned x y z run function rubik_cube_3:cube_function/modify_scale
*镜面魔方不支持此操作
参数设置:data modify storage rubik_cube_3:io modify_face_color set value {source:"blue", target:"light_blue_concrete", style:"concrete"}
参数:
style:可选参数,预设样式。若此值存在则优先设置魔方各个面为预设样式。
可选值:"concrete" (默认,混凝土)
"wool" (羊毛)
"ore_block" (矿物块)
"glazed_terracotta" (带釉陶瓦)
"shulker_box" (潜影盒)
source:目标面,按颜色索引。可选值:"yellow","white","blue","green","red","orange"。
若此值为空则把六个面都恢复为默认值.
target:要传入的方块精灵图的名称。若此值为空则恢复对应面为默认值。
*精灵图:格式与文本组件里的纹理图集精灵图相同。
例如羊毛系方块、陶瓦系方块、混凝土系方块,这些方块的名称加"block/"前缀就是它们自身贴图的精灵图的名称。
*默认值:
source:"blue", target:"block/light_blue_concrete"
source:"green", target:"block/lime_concrete"
source:"red", target:"block/red_concrete"
source:"orange", target:"block/orange_concrete"
source:"yellow", target:"block/yellow_concrete"
source:"white", target:"block/white_concrete"
执行:execute positioned x y z run function rubik_cube_3:cube_function/modify_color
参数设置:data modify storage rubik_cube_3:io rotation set value {face:"up", clockwise:true, interpolation_duration:10}
参数:
face:要旋转哪一面。可选值:"up", "down", "north", "south", "east", "west",
"n-s_center" (南北中间层),
"e-w_center" (东西中间层),
"u-d_center" (上下中间层)。
clockwise:是否按顺时针旋转,默认为true。若此标签没有值,则会自动设置为默认值。
interpolation_duration:魔方旋转的插值时间,单位为游戏刻,默认为0。
执行:execute positioned x y z run function rubik_cube_3:cube_function/rotation
注:
1.魔方对于上下东南西北的定义依赖于魔方实体的朝向。
2.在魔方旋转的过程中,无法对其进行删除和录制以外的操作。
执行:execute positioned x y z run function rubik_cube_3:cube_function/solve
注:会清空旋转历史记录。
设置打乱步数 (默认20步):scoreboard players set #scrambling_steps int 30
不带动画(*二阶魔方不支持此操作):execute positioned x y z run function rubik_cube_3:cube_function/scramble
带动画:execute positioned x y z run function rubik_cube_3:cube_function/scramble_2
执行:execute positioned x y z run function rubik_cube_3:cube_function/export_formula
符号版本:data get storage rubik_cube_3:io cube_formula
人话版本:data get storage rubik_cube_3:io cube_colloquial_formula
注:使用复原命令会清空旋转历史记录。
输入:data modify storage rubik_cube_3:io import_cube_formula set value {list:["U'","L","F'"],opposite:false}
参数:
list:字符串列表,旋转符号列表。默认从前往后逐次应用旋转,且始终在当前旋转的基础上叠加应用。
opposite:是否逆向应用旋转序列。
执行:execute positioned x y z run function rubik_cube_3:cube_function/import_formula
直接把导出的旋转序列写入:data modify storage rubik_cube_3:io import_cube_formula.list set from storage rubik_cube_3:io cube_formula
| 视角方向 | 坐标方向 | 颜色 | 符号 |
|---|---|---|---|
| 前 | 北 | 蓝 | F |
| 后 | 南 | 绿 | B |
| 左 | 东 | 橙 | L |
| 右 | 西 | 红 | R |
| 上 | 上 | 黄 | U |
| 下 | 下 | 白 | D |
| 上下中层 | 上下中层 | E | |
| 前后中层 | 南北中层 | S | |
| 左右中层 | 东西中层 | M |
注:默认为顺时针旋转,符号后加 ' 表示逆时针。例如 U' 表示上层逆时针旋转。
放置:execute positioned x y z run function rubik_cube_3:set_cube/rubik_cube_1/demo_1
删除:execute positioned x y z run kill @e[type=text_display,sort=nearest,tag=rubik_demo,distance=...01]


