如何使用 MakeCode 在 Minecraft 中放置半块板

Posted

技术标签:

【中文标题】如何使用 MakeCode 在 Minecraft 中放置半块板【英文标题】:How to place half-block slabs in Minecraft with MakeCode 【发布时间】:2019-11-14 23:59:48 【问题描述】:

这有点远。我真的不知道在哪里问这个问题。

我一直在用 Minecraft 尝试 CodeConnection + MakeCode,但我无法弄清楚是否有正确的方法以 0.5 步 y 轴增量放置半板。

我尝试在 2 个点之间使用一条线,但它在每个板之间留下了间隙。

如果我尝试向上移动 0.5,则会将其向上舍入为 1,然后再次留下空隙。

似乎所有构建器功能似乎都以 1 块的分辨率运行。但是在游戏中我显然可以以 0.5 块的增量放置台阶来制作楼梯等。

【问题讨论】:

【参考方案1】:

方块只存在于整数坐标处。存在于其空间上半部分的半板仍处于完整整数坐标处。它们只有一个 BlockStatebottom=top(或基岩上的top_slot_bit=true,由整数值8 表示为位标志,例如:0b1... 其中. 位是代表什么类型的板坯(木头、石头、石英...))的整数表示。

您正在寻找的是这个小部件,在 Blocks 下:

您可以设置块,然后在数字槽中设置所需数据值的整数表示(请参阅the wiki on data values)。然后可以将此小部件拖入任何块小部件的(block) 部分:

您可能需要进行一些变量调整才能根据需要来回交换数据值,但这应该可以解决您一直面临的障碍。

【讨论】:

谢谢。这解决了我的问题。我花了一些时间来理解位标志的计算,但我的代码现在工作正常。 是的,这很烦人,这就是为什么(从 1.14 开始)块状态不再由元数据幻数支持,而是作为真实值存储(内部和序列化)。

以上是关于如何使用 MakeCode 在 Minecraft 中放置半块板的主要内容,如果未能解决你的问题,请参考以下文章

构建 MakeCode 包

如何制作 MicroBit MakeCode 批量代码创建器?

MakeCode EV3 电机反转不适用于 motor.xx.tank

在本地托管 EV3 Mindstorms 编辑器的 MakeCode

一些适合程序员玩的游戏

MakeCode 递归生成资源文件