教程:创建多方块结构 - mczph/Multiblocked-Wiki-zh_cn GitHub Wiki

此页面主要介绍MBD的可视化编辑器。要了解如何使用CraftTweaker/kubejs进行更详细的控制,请参阅CraftTweaker/kubejsT部分。

所有多方块定义都将保存在文件夹中。"/config/multiblocked/definition/controller/"

旧版教程

注意:以下教程适用于minecraft 1.12.2版本的multiblocked 0.7.0之前的版本(不包括0.7.0)和minecraft 1.16+ 版本的multiblocked 0.12.0(不包括0.12.0)之前的版本

让我们通过制作一个电解水的电解机示例来演示可视化编辑器。

第 1 步

首先放置多方块结构,然后使用蓝图右键单击以选择结构的区域。这会将结构保存到蓝图物品上。

提示:shift右键单击以删除所选区域!

image

第 2 步

放下蓝图表,只需将蓝图添加到蓝图工作台的箱子中,即可将蓝图插入到表中。蓝图工作台是 MBD 的核心,您可以通过此多方块配置有关多方块的几乎所有内容。有关如何构建它,您可以通过JEI参考或使用多方块构建器右键单击控制器以进行自动构建。

image

第 3 步

1.右键单击控制器以打开 GUI

2.控制器

3.选择蓝图

4.选择您希望多方块控制器所在的块,并为其选择默认面,面不能是Y轴(上/下)

5.单击按钮以打开可视化编辑器

162575479-62ea9e32-f2d8-421e-b287-da5d013a892f

第 4 步

image

1.Registry Name:控制器的注册名称必须是唯一的,格式如下,每次创建新的多块时,请务必先设置它。group:name

2.allowRotate:是否允许旋转多块的控制器,多块的相对位置将由控制器的正面决定。如果禁用,控制器始终面向NORTH ,并且对形成检查没有方向限制。

3.showInJei:是否在 JEI 中显示此多方块。

4.isOpaqueCube:这是一个重要的属性,如果您的模型(渲染器)不透明请不要检查它,否则可能会导致渲染问题。检查它以获得更好的性能(面部渲染等,尽管不是必要的)当您确定您的模型是由完整方块组成的。

5.needCatalyst:如果false,则会自动形成多方块。否则,玩家将需要提供催化剂并右键单击控制器以触发要形成的多方块。您可以通过将 JEI 拖动到Catalyst中来设置催化剂。(请注意,JEI不得处于作弊模式)

6.consumeCatalyst:如果需要催化剂,是否消耗催化剂(消耗一个)。

7.baseRenderer:多块未形成时的渲染。通过单击Settings按钮配置渲染器(有关更多详细信息,请参阅渲染器页面)。

8.formedRenderer:形成多方块时的渲染。

9.workingRenderer:多方块工作时的渲染。

baseRenderer是必须的,其他两个是可选的。渲染的优先级:baseRenderer>formedRenderer>workingRenderer。

image

您可以检查(1)中形成的结构。可以在这里设置模式的细节,比如每个位置的候选块,是否使用gregtech的切片扩展结构,结构形成后是否禁用某个位置的渲染,等等。(2)中的此设置有些复杂,请参阅模式。我们在这里没有做太多的设置,只是在结构形成后禁用方块的渲染。设置如下:Andesite

image 图注:1选择方块 2在此设置

image 图注:1在此禁用渲染

设置后不要忘记保存氧吧。按 Esc 键放弃更改并返回到上一页。

S3:配方设置

image

如 (1) 所示,默认情况下使用空配方(内置配方) 。按按钮 (2) 创建一个新的配方 .请参阅 RecipeMap 以获取有关配方编辑器的更多详细信息。我们的设置如下:

image

F: 结束

image

您可以在此处查看/复制/美化多方块的配置。最后,不要忘记将控制器保存在(1)中,(Esc键放弃更改)。

第 5 步

不要忘记保存所有内容。现在,让我们重新启动游戏,看看情况。

gif

版本更新(WIP)

multiblocked于2022/8/23进行了一次大更新,涉及版本:Multiblocked 0.7.0(适用于minecraft 1.12.2)与Multiblocked 0.12.0(适用于minecraft 1.16+) 。

在本次更新中,机器状态系统与自定义机器状态,还有无控制器的多方块结构被引入,且创建机器时存在其他一些变动,导致过去版本部分教程不再那么合适,故笔者撰写本篇新教程。

以下我们同样以创建一个电解水的电解机为例,演示新版的可视化编辑器。使用版本:minecraft 1.12.2的mulitblocked 0.7.3。

注意:以下教程适用于minecraft 1.12.2版本的multiblocked 0.7.0之后的版本(包括0.7.0)和minecraft 1.16+ 版本的multiblocked 0.12.0(包括0.12.0)之后的版本

第 1 步

与旧版教程一致,首先放置多方块结构,然后使用蓝图右键单击以选择结构的区域。这会将结构保存到蓝图物品上。

提示:shift右键单击以删除所选区域!

磨制安山岩(图中玩家准星所指位置)可以是任意方块。这一方块只影响之后创建机器基础渲染的默认模型,不影响机器功能。

第 2 步

同样与旧版教程一致,放下蓝图表,只需将蓝图添加到蓝图工作台的箱子中,即可将蓝图插入到表中。蓝图工作台是 MBD 的核心,您可以通过此多方块配置有关多方块的几乎所有内容。有关如何构建它,您可以通过JEI参考或使用多方块构建器右键单击控制器以进行自动构建。

step2

第 3 步

依然与旧版教程相同。

1.右键单击蓝图工作台的控制器以打开 GUI

2.在主菜单选择控制器

3.选择蓝图(下图中1)

4.选择您希望多方块控制器所在的块(下图中2),并为其选择默认面,面不能是Y轴(上/下)

5.单击按钮(下图中3)以打开可视化编辑器

第 4 步

这里开始与旧版教程有区别了。

图中标记序号处的含义注释:

1.Registry Name(注册名):注册名。控制器的注册名称必须是唯一的,格式如下: group:name。每次创建新的多方块,请务必先设置它。

2.rotateState:旋转状态,决定机器的控制器是否能旋转。此项有两个值: NONENON_Y_AXIS,其中NONE表示控制器不能旋转,它将始终面向NORTH,且对成型检查没有方向限制;而NON_Y_AXIS表示控制器可以绕Y轴旋转(也就是可以面向东南西北)。

3.showInJei:是否在JEI中显示此多方块结构。

4.isOpaqueCube:是否为不透明方块。这是一个重要的属性,如果您的模型(渲染器)是透明的请不要勾选它,否则可能导致渲染问题。当确定您的模型是由完整方块组成的时,勾选它以获得更佳的性能表现(面部渲染等,尽管并非必要的)。

5.hasCollision:是否有碰撞箱。

6.destroyTime:控制器方块的破坏时间

7.explosionResistance:控制器方块爆炸抗性

8.harvestLevel:控制器方块的挖掘等级

9.stackSize:控制器在物品栏中的最大物品堆叠数量

10.tabGroup:控制器所在的创造模式物品栏分组

11.needCatalyst:是否需要催化剂来使多方块结构成型。如果为false(不勾选),则会多方块结构在摆放正确后将会自动成型。否则(换言之,如果勾选上了),玩家将需要提供催化剂并右键单击控制器以触发多方块结构的成型。勾选上之后右边会出现一个白色方框,您可以通过从JEI中将您要作为催化剂的物品拖动到Catalyst(即勾选后出现的白色方框)中来设置催化剂。(请注意,此时JEI不能处于作弊模式)。如果您勾选了needCatalyst但是不在Catalyst一栏放任何物品(也就是无催化剂),那么,您需要右键单击控制器来使多方块结构成型。

12.consumeCatalyst:是否消耗催化剂。如果上一条被勾选,即使多方块结构成型需要催化剂时,是否消耗催化剂(消耗一个)。勾选此项时,若要使多方块结构成型,使用的催化剂将被消耗。

细心的读者可能已经注意到了,新版的创建机器的编辑器页面相比旧版,上方还多了一步。这一步,也就是S2,就涉及了本次更新引入的状态系统。

在勾选了needCatalyst并且将您的催化剂拖入Catalyst方框后,您会发现,又多出了一项:noNeedController(下图中红框),这是本次更新中引入的另一个变化:无控制器的多方块结构。

接下来的教程,笔者将分有控制器版和无控制器版两种情况,分别讲解这两种情况下如何创建一个多方块机器。

有控制器

为了区分以及教程演示的方便,笔者将有控制器版本的机器命名为mbd:test_electrolytic_1

S2

1.点击S2选项卡。

2.下图中红框内,就是机器默认存在的4个状态。

3.向下滑动,可以看到机器默认存在四个状态

unformed

idle

working

suspend

4.编辑机器状态

图注解释:

每种机器状态都有右侧几项

(1)注册名:状态的注册名

(2)Parent:父类。父类可以为空(null),也可以是其他机器状态(例如:unformed)。如果不单独设置,此机器状态将从父类的状态继承一些设置,如:如果不单独设置渲染器,它将使用父状态的渲染(也就是默认条件下,它“看”起来和父状态是一样的)。

(3)render:渲染器。和旧版一样,可以选择:

       java模型(自己创建模型)

       blockstate模型(直接用已有方块的模型)

       gregtech模型(类似于格雷科技的渲染方式(或许,就是本人!就是本人!),需要提供一张基底材质,然后定义每个面的覆盖板材质)

       obj模型(需要单独在assets下建立文件夹)

       b3d模型(需要单独在assets下建立文件夹)

       材质粒子特效

       geckolib模型(需要安装geckolib)。

(4)lightEmissive:是否发光。勾选后,当前编辑的机器状态下,机器将会发光(真的有光照的发光!不是材质效果)。勾选后,右边可以设置发光的亮度(不知道什么是亮度的,给我去看minecraft wiki,三回啊三回)。

(5)shape:勾选后,机器控制器的碰撞箱将可以编辑。

(6)sound:勾选后,机器在此状态时将会发出声音(比如,工作时发出熔炉的声音)。

5.接下来演示如何编辑某一机器状态下的渲染器。选中您要编辑的机器状态,勾上右侧的renderer(下图红框)。

6.点击图中红框处,会出现一个下拉框,在这里选择您想要使用的渲染器。这里,我们选择"Java模型"。

7.选中java模型后,点击右边的"F"打开模型文件夹,选择您想使用的模型(里面默认是空的,模型要自己添加)。

这里我们选择electrolytic.json。

(题外话:好孩子要学会自己查资料,这里不会告诉你怎么做模型哦)

8.选完之后,点击刷新(下图中1),就会显示模型。如果发现模型材质全是紫黑块,在确认的确不是您的模型存在问题时,可以尝试点击刷新(图中2,这将重载minecraft游戏资源,将会花费比较长的时间)。

模型效果:

完成之后,千万别忘了保存

关于渲染器的更多信息,请查阅本wiki的"渲染器"一节。

S3

这一步我们先跳过,以默认配置进入下一步。

S4

这一步与旧版教程相同

image

(新版的有些小问题,这里偷懒用一下旧版教程的图)

您可以(1)检查多方块结构成型/未成型的外观。也可以在这里设置模式的细节,比如每个位置的候选块,是否使用gregtech的切片扩展结构,结构形成后是否禁用某个位置的渲染等等内容。(2)中的设置有些复杂,详情见本wiki"结构模板"一节。本教程在此处没有做太多的设置,只是在结构形成后禁用Andesite方块的渲染。

设置如下:

别忘了在设置完一切后保存结构模板。按 Esc 以退出更改界面并回到之前的页面。

S5

这一步同样与旧版教程相同

如(1)所示,默认情况下使用空配方(内置配方)。按按钮(2)创建一个新的RecipeMap。请参阅 RecipeMap 以获取有关RecipeMap编辑器的更多详细信息。我们的设置如下:

(这里的操作和旧版本的JEI拖动相同)

F:

在此处可以查看/复制多方块机器的设置。最后,别忘了按(1)处的按钮保存控制器并按Esc退出更改界面。

无控制器

大致步骤与有控制器版一致,除了S4处有略微区别。您可以编辑控制器位置的方块:这在有控制器版是不被允许的操作。

第 5 步

不要忘记保存所有内容。现在,让我们重新启动游戏,看看情况。

gif

(屏幕录制gif有问题,先用旧版的图顶着)

WIP