建造指南

建造指南

一个仅客户端的模组,用于在世界中投射圆形和球体等形状。它可以在单人游戏和多人游戏中运行,即使服务器没有安装该模组也能正常工作。

建造指南 (Build Guide)

一个纯客户端的模组,用于在世界中投射圆形和球体等形状。它既可以在单人游戏中使用,也可以在多人游戏中使用,即使服务器没有安装该模组。

横幅

简短使用指南

展开/收起

使用

按下“打开建造指南”键(默认为“B”)将打开建造指南 GUI,初始界面为“形状”子 GUI。勾选左上角的“启用”复选框将决定是否渲染形状。在该复选框稍下方,你可以找到两个按钮,用于循环切换可用的形状,这些形状可以在本使用指南底部的“形状”部分找到。“设置原点”按钮会将小立方体(默认为红色)的位置设置在你的脚下。这个立方体是形状的基础(例如,线的起点或圆的中心)。也可以使用“设置原点”按钮下方的文本字段和按钮来更改原点。在 GUI 的中间或右侧,是当前所选形状的属性列表,例如半径或方向。某些属性也允许负值,例如,这可以将形状朝向负轴翻转。

“可视化”按钮会带你进入一个子 GUI,其中包含滑块,用于更改形状的大立方体(默认为白色)和较小的原点立方体(默认为红色)的颜色。此子 GUI 还包含一个“深度测试”开关;禁用深度测试可以让你透过方块看到形状。

按下“形状列表”将允许你同时使用多个形状。在此子 GUI 中,按下“添加”按钮会添加上面所示形状的一个实例。同样,可以循环切换待添加的形状,以更改要添加的形状。列表中的每个形状都有自己的原点,首次添加时,原点默认在你的脚下。点击屏幕中央列表中的一个形状将选中它,由黑色条指示。选中的形状就是可以在形状 GUI 中更改的形状。勾选“可见”复选框可以临时隐藏选中的形状,并在方块总数统计中忽略它。按下“删除”将删除选中的形状。“全局原点”按钮和文本字段会像主 GUI 中的普通原点按钮一样移动选中形状的原点,但未选中形状的原点也会进行相同的相对偏移,从而保持相对原点不变。

所有形状及其设置都绑定到世界名称(单人游戏)或服务器 IP(多人游戏)以及维度。可以通过启用 persistenceEnabled 配置选项,在客户端重启之间保留形状。否则,形状将在客户端关闭时丢失。

形状

  • 悬链线:两点之间的悬链线(也称为链条线或绳索线),其弧长(绳索长度)等于这两点之间的距离加上给定的额外距离。
  • 圆形:可以围绕三个轴中的任意一个轴,并且可以堆叠形成墙壁或管道。
  • 圆锥:可以朝向三个轴中的任意一个轴,具有给定的半径和高度。
  • 长方体:一个空心长方体,墙壁可以开关。
  • 椭圆:可以围绕三个轴中的任意一个轴,并且可以堆叠形成墙壁或管道。
  • 椭球体:一个椭球体,也可以转变为沿轴方向六种可能的穹顶之一。
  • 网格:由方块组成的网格,在三个轴中的每个轴上都有给定的步长和步数。
  • 线:沿轴六个方向之一的一条线。
  • 抛物线:具有给定半宽和高度、朝向给定方向并旋转给定角度的抛物线。
  • 抛物面:朝向三个轴中任意一个轴的抛物面,具有两个给定的半宽和一个给定的高度。
  • 多边形:三角形、正方形、五边形、六边形等。可以围绕三个轴中的任意一个轴旋转,并且可以堆叠形成墙壁或管道。
  • 多边形棱锥:以多边形为底面的棱锥。可以围绕三个轴中的任意一个轴旋转。
  • 球体:一个球体,也可以转变为沿轴方向六种可能的穹顶之一。
  • 环面:一种类似甜甜圈的形状,具有可配置的半径和厚度,可以围绕三个轴中的任意一个轴。

完整使用指南

展开/收起

建造指南 GUI

可以使用快捷键访问建造指南 GUI。默认情况下,此快捷键为“B”,但与任何快捷键一样,它可以通过 Minecraft 的设置进行更改(在 GUI 关闭状态下,Minecraft 1.17 及更低版本为 Escape -> 选项 -> 控制,Minecraft 1.18 及更高版本为 Escape -> 选项 -> 控制 -> 按键绑定)。在此子 GUI 中,你一次只能处理一个形状。GUI 分为四个子 GUI,可通过顶部的四个按钮访问:“形状”、“可视化”、“形状列表”和“配置”。左上角有一个全局“启用”复选框,用于切换形状的渲染。还有一个默认未绑定的快捷键称为“切换启用”,作为“启用”复选框的替代。可以在顶部找到选中形状和所有形状的方块总数。第一行是精确的方块数量。第二行以堆叠数加余数的形式显示此数量。右上角的“X”按钮将关闭 GUI,就像按下 Escape 键一样。

形状子 GUI

形状子 GUI 分为三个部分:“形状”、“原点”和“形状属性”。

形状

“形状”部分决定显示哪个形状。初始时,将是模组知道的第一个形状,应该是一个圆形。按下当前形状名称左右两侧的箭头按钮将在可用形状之间循环切换。

原点

到目前为止,你应该有一个正在渲染的随机形状(如果你已经按下了“启用”复选框)。你很可能想要移动该形状,这正是此子 GUI 此部分的功能。假设你还没有碰过可视化 GUI,你应该会看到两种渲染的方块;大量的白色方块,它们勾勒出形状的轮廓,以及一个小的红色方块,称为形状的“原点”。这个原点是形状的基础,通常是圆心或线的起点之类的东西。初始原点将是你首次打开 GUI 时所处的位置。“原点”部分中的所有按钮都会更改原点的位置,勾勒形状的方块也会随之移动。第一个按钮“设置原点”将原点简单地移动到你的脚下。其他三行允许对位置(X、Y 和 Z)的三个分量进行更精细的控制。“-”和“+”按钮分别递增和递减相关分量。可以在黑色文本框中输入精确值。点击“设置”按钮将尝试将分量设置为文本框中的值。如果此值不是有效的整数,则该分量将不会更新,并且文本将变为红色。尝试有效的数字将使其恢复为白色。此外,存在一个默认未绑定的快捷键,其作用类似于“设置原点”按钮,并且名称相同。

形状属性

最后,“形状属性”包含形状的参数:长度、半径、方向等。每个形状的参数以及参数描述可以在本使用指南后面的“形状”部分找到。在形状之间循环时,它们的参数将被保留。

可视化子 GUI

可以通过按下“可视化”按钮打开可视化子 GUI。可视化子 GUI 主要包含两组各四个滑块和两个按钮。左侧一组控制勾勒形状的方块的颜色,右侧一组控制小的原点方块的颜色。四个滑块分别控制其各自类型方块的一个颜色分量:红色、绿色、蓝色和 Alpha。其中,Alpha 是方块的透明度。当滑块处于所需位置后,可以通过按下“设置”来应用颜色。按下“默认”将把颜色恢复为默认值:形状轮廓方块为白色,原点方块为红色。底部的“深度测试”复选框决定渲染时是否使用深度测试,这是“仅当相机和物体之间没有其他物体时才绘制它”的技术术语。换句话说,取消勾选“深度测试”将允许你透过世界看到形状轮廓方块和原点方块。这不能用作 X 光透视或任何其他形式的作弊,因为该模组不会以任何方式与世界交互。

形状列表子 GUI

按下“形状列表”按钮将带你进入形状列表子 GUI。与形状子 GUI 一样,形状列表子 GUI 分为四个部分:“添加新形状”、“选中的形状”、“全局原点”和“形状”。

添加新形状

在此部分中,你可以在形状之间循环。循环到所需形状并按下其下方的“添加”按钮,会将该形状添加到“形状”部分下的列表中。新添加的形状的原点会在你的脚下。你可以自由地循环和添加其他形状,而不会影响之前添加的形状。

选中的形状

禁用“可见”复选框将隐藏选中的形状,其在形状列表中会显示为被划掉。按下“删除”按钮将从形状列表中删除该形状。

全局原点

此部分的工作方式与形状子 GUI 中的普通“原点”部分类似。使用按钮和文本字段将设置当前选中形状的原点。但是,所有其他形状的原点也会发生更改,以便形状保持相同的相对位置。与普通原点处理一样,“设置全局原点”按钮也有一个同名的快捷键替代,默认未绑定。

形状

“形状”部分下方的列表列出了当前活动的形状。点击列表中的一个形状将选中它,由周围的黑色框指示。如果添加的形状太多无法在屏幕上显示,列表右侧将出现一个滚动条。拖动滚动条或使用鼠标滚轮可以滚动列表。在可视化 GUI 中设置颜色也只会影响当前选中的形状。但是,目前,深度测试复选框仍然是全局设置,这意味着它影响所有形状,而不仅仅是选中的形状。未来可能会更改此行为,以使其与其他可视化内容更加一致。如果你已从列表中删除所有形状,大多数子 GUI 中的很多按钮将被禁用,因为没有形状可以操作。添加一个形状将再次启用它们。

配置子 GUI

按下“配置”按钮将打开配置子 GUI。此子 GUI 提供配置文件的直接即时界面(请参阅模组描述末尾的配置部分)。更改值无需重启即可生效。

形状

大多数形状默认只能是奇数尺寸,因为原点以一个方块为中心(例如,这样,圆只能是 3x3、5x5、7x7 等)。像这样的形状都有一个“偶数模式”复选框,用于将原点在相关方向上移动半个方块(从前面的例子来看,圆现在只能是 4x4、6x6、8x8 等)。某些参数也允许负值,例如,这可以将形状朝向负轴翻转。

悬链线

悬链线,也称为链条线或绳索线,是绳索悬挂在两点之间的形状。悬链线所基于的两点是原点和由参数“Delta X”、“Delta Y”和“Delta Z”描述的相对于原点的点。也可以使用“设置端点”按钮设置第二个点,该按钮将此位置放置在你的脚下。悬链线的弧长(绳索长度)由两点之间的距离加上“额外距离”中的值定义,该值必须为 1 或更大。

圆形

一个简单的圆。“方向”属性决定圆围绕哪个轴。例如,当设置为“X”时,圆将向 Y 和 Z 方向延伸。“半径”将设置圆的半径,可以是任何正整数。增加“深度”将在“方向”给定的方向上创建一个圆柱形管道。

圆锥

一个圆锥。“方向”属性决定圆锥指向哪个轴。“半径”将设置圆锥的半径,可以是任何正整数。“高度”设置圆锥的高度,可以为负数。

长方体

长方体是一种空心立方体形状,每条边的长度由参数“X”、“Y”和“Z”给出,这些参数都必须是正整数。“墙壁”参数显示当前活动的墙壁,例如,“X”的存在意味着朝向负 X 方向和正 X 方向的墙壁已启用,“Y”和“Z”同理。“-”表示没有墙壁启用,长方体只是一个线框。你可以选择原点是长方体的角还是中心。

椭圆

椭圆与圆非常相似。唯一的区别是,它使用两个半轴而不是一个半径。这些半轴的工作方式类似于半径,但是,如果你认为半径在两个方向上工作,那么这些半轴仅在一个方向上工作,即参数名称中显示的那个方向。

椭球体

椭球体之于球体,就像椭圆之于圆一样。它与球体的唯一区别是,它现在有三个半轴而不是一个半径。像球体一样,它也有穹顶模式。

网格

一个由方块组成的网格。每个方向的方块数量和方块之间的步长都可以更改。

线

一条简单的线。线所基于的两点是原点和由参数“Delta X”、“Delta Y”和“Delta Z”描述的相对于原点的点。也可以使用“设置端点”按钮设置第二个点,该按钮将此位置放置在你的脚下。

抛物线

一条抛物线。其形状由参数“半宽”和“高度”描述,使得点(半宽,高度)是抛物线的一部分。“方向”和“旋转”允许抛物线面向特定方向并按给定角度旋转。“深度”将向“方向”方向添加层,可以为负数。

抛物面

一个抛物面。它与抛物线的工作方式类似,但现在在参数名称给定的方向上有两个半宽。旋转现在仅由“方向”参数给出。

多边形

多边形是具有给定边数的规则形状。此边数由“边数”参数给出;3 给出三角形,4 给出正方形,5 给出五边形,等等。“边数”参数必须是 3 或更高的整数。“半径”是半径的松散解释,是原点与其中一条边之间的距离。“半径”必须是正整数。“方向”与圆类似,它决定多边形围绕哪个轴。“旋转”是多边形将旋转的 90° 的倍数。最后,“高度”再次与圆类似。

多边形棱锥

以多边形为底面的棱锥。它与普通多边形的工作方式相同,但不是“深度”,而是有“高度”用于棱锥的高度。请注意,给定的高度可能不是最终高度。

球体

一个具有“半径”给定半径的球体,“半径”是一个正整数。“穹顶”设置球体的穹顶模式:“-”表示禁用,任何其他选项将只显示球体朝其描述方向的一个半球。

环面

也称为甜甜圈。像圆一样,“方向”参数决定它围绕哪个轴。如果你将环面想象成一个环绕在圆环上的管道,那么“外半径”是圆环的半径,“内半径”是管道的半径。两者都必须是正整数,并且“外半径”必须始终大于或等于“内半径”。如果“外半径”设置得小于“内半径”,或者“内半径”设置得大于“外半径”,则另一个参数将被设置为相同的值。

在世界、服务器和维度之间移动

规划形状通常是在非常特定的环境中进行的;你在单人游戏世界中的形状在喜欢的服务器或另一个世界中可能没有意义,而你在主世界规划的建筑在末地完全无用,因为它漂浮在离你 500 个方块的虚空中。因此,模组的最新版本将为世界/服务器 IP 和维度的每个独特组合提供不同的状态。在撰写本文时,无论如何都无法将这些状态转移到另一个世界/服务器/维度,但模组的未来版本将实现此行为的切换以及移动/复制状态。默认情况下,形状和状态会在客户端重启之间丢失。启用配置选项 persistenceEnabled 允许模组将形状和状态保存到文件,并在客户端重启时恢复它们。由于技术限制,状态恢复将在你打开 GUI 时开始。

最低要求

例如,标记为 1.21/1.21.1 的版本是在 1.21 上构建的,但应适用于 1.21.1。

Forge:

  • Forge 1.20/1.20.1: Minecraft Forge 46.0.14.
  • Forge 1.20.2/1.20.3: Minecraft Forge 48.1.0.
  • Forge 1.20.4/1.20.5: Minecraft Forge 49.2.8.
  • Forge 1.20.6: Minecraft Forge 50.2.9.
  • Forge 1.21/1.21.1: Minecraft Forge 51.0.33.
  • Forge 1.21.3: Minecraft Forge 53.1.11.
  • Forge 1.21.4: Minecraft Forge 54.1.17.
  • Forge 1.21.5: Minecraft Forge 55.1.11.
  • Forge 1.21.8: Minecraft Forge 58.1.19.
  • Forge 1.21.10: Minecraft Forge 60.1.11.
  • Forge 1.21.11: Minecraft Forge 61.1.9.
  • Forge 26.1.2: Minecraft Forge 64.0.11.
  • Forge 26.2: Minecraft Forge 65.0.4.

Fabric:

  • Fabric 1.20/1.20.1: Fabric Loader 0.19.3 and Fabric API 0.83.0.
  • Fabric 1.20.2/1.20.3: Fabric Loader 0.19.3 and Fabric API 0.91.6.
  • Fabric 1.20.4/1.20.5: Fabric Loader 0.19.3 and Fabric API 0.97.3.
  • Fabric 1.20.6: Fabric Loader 0.19.3 and Fabric API 0.100.8.
  • Fabric 1.21/1.21.1: Fabric Loader 0.19.3 and Fabric API 0.102.0.
  • Fabric 1.21.3: Fabric Loader 0.19.3 and Fabric API 0.114.1.
  • Fabric 1.21.4: Fabric Loader 0.19.3 and Fabric API 0.119.4.
  • Fabric 1.21.5: Fabric Loader 0.19.3 and Fabric API 0.128.2.
  • Fabric 1.21.8: Fabric Loader 0.19.3 and Fabric API 0.136.1.
  • Fabric 1.21.10: Fabric Loader 0.19.3 and Fabric API 0.138.4.
  • Fabric 1.21.11: Fabric Loader 0.19.3 and Fabric API 0.141.4.
  • Fabric 26.1.2: Fabric Loader 0.19.3 and Fabric API 0.154.2.
  • Fabric 26.2: Fabric Loader 0.19.3 and Fabric API 0.154.2.

NeoForge:

  • NeoForge 1.21/1.21.1: NeoForge 21.0.167.
  • NeoForge 1.21.3: NeoForge 21.3.96.
  • NeoForge 1.21.4: NeoForge 21.4.157.
  • NeoForge 1.21.5: NeoForge 21.5.97.
  • NeoForge 1.21.8: NeoForge 21.8.53.
  • NeoForge 1.21.10: NeoForge 21.10.64.
  • NeoForge 1.21.11: NeoForge 21.11.42.
  • NeoForge 26.1.2: NeoForge 26.1.2.80.
  • NeoForge 26.2: NeoForge 26.2.0.18-beta.

兼容性

不保证与 Optifine 的着色器兼容。已知 Optifine 中的着色器会因为一个似乎是 Optifine 方面的问题而破坏投影。Optifine 中的非着色器功能似乎工作得很好。

从 Minecraft 1.21.5 开始,该模组应明确与 Iris 兼容,即使启用了着色器。

该模组旨在仅在客户端上运行。不鼓励在服务器上安装该模组,但已尝试防止服务器立即崩溃,并且不应因未安装(正确版本的)模组而拒绝客户端访问,尽管这种服务器端行为既不受支持也不保证。

配置

配置文件可以在你游戏目录中名为 config 的文件夹中找到,文件名为 buildguide.cfg。也可以使用“配置”子 GUI 进行编辑。可以配置以下选项:

  • debugGenerationTimingsEnabled (默认: false) 一个调试选项,用于将生成形状所花费的时间打印到日志中。
  • asyncEnabled (默认: true) 启用此选项后,形状将异步生成,这意味着形状将在后台组合,而不会阻塞你的客户端。启用此选项可能会导致形状投射出现一些闪烁,因此如果你对闪烁图像敏感,尤其是在使用模组时感到不适,请考虑禁用此选项。此问题应在某个时候得到解决。
  • shapeListRandomColorsDefaultEnabled (默认: false) 如果启用此选项,向形状列表子 GUI 添加新形状将随机生成它们的颜色,而不是使用默认的白色和红色。
  • persistenceEnabled (默认: false) 实验性选项,由于 Forge 上的一些奇怪问题,默认禁用。启用此选项后,形状和状态将保存到文件中,这将允许模组在客户端重启时恢复形状。

模组包

随意将其添加到模组包中!