教程:创建多方块结构 - 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右键单击以删除所选区域!
第 2 步
放下蓝图表,只需将蓝图添加到蓝图工作台的箱子中,即可将蓝图插入到表中。蓝图工作台是 MBD 的核心,您可以通过此多方块配置有关多方块的几乎所有内容。有关如何构建它,您可以通过JEI参考或使用多方块构建器右键单击控制器以进行自动构建。
第 3 步
1.右键单击控制器以打开 GUI
2.控制器
3.选择蓝图
4.选择您希望多方块控制器所在的块,并为其选择默认面,面不能是Y轴(上/下)
5.单击按钮以打开可视化编辑器
第 4 步
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。
您可以检查(1)中形成的结构。可以在这里设置模式的细节,比如每个位置的候选块,是否使用gregtech的切片扩展结构,结构形成后是否禁用某个位置的渲染,等等。(2)中的此设置有些复杂,请参阅模式。我们在这里没有做太多的设置,只是在结构形成后禁用方块的渲染。设置如下:Andesite
图注:1选择方块 2在此设置
图注:1在此禁用渲染
设置后不要忘记保存氧吧。按 Esc 键放弃更改并返回到上一页。
S3:配方设置
如 (1) 所示,默认情况下使用空配方(内置配方) 。按按钮 (2) 创建一个新的配方 .请参阅 RecipeMap 以获取有关配方编辑器的更多详细信息。我们的设置如下:
F: 结束
您可以在此处查看/复制/美化多方块的配置。最后,不要忘记将控制器保存在(1)中,(Esc键放弃更改)。
第 5 步
不要忘记保存所有内容。现在,让我们重新启动游戏,看看情况。
版本更新(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参考或使用多方块构建器右键单击控制器以进行自动构建。
第 3 步
依然与旧版教程相同。
1.右键单击蓝图工作台的控制器以打开 GUI
2.在主菜单选择控制器
3.选择蓝图
(下图中1)
4.选择您希望多方块控制器所在的块(下图中2),并为其选择默认面,面不能是Y轴(上/下)
5.单击按钮(下图中3)以打开可视化编辑器
第 4 步
这里开始与旧版教程有区别了。
图中标记序号处的含义注释:
1.Registry Name(注册名):注册名。控制器的注册名称必须是唯一的,格式如下: group:name
。每次创建新的多方块,请务必先设置它。
2.rotateState:旋转状态,决定机器的控制器是否能旋转。此项有两个值: NONE
和NON_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
这一步与旧版教程相同
(新版的有些小问题,这里偷懒用一下旧版教程的图)
您可以(1)检查多方块结构成型/未成型的外观。也可以在这里设置模式的细节,比如每个位置的候选块,是否使用gregtech的切片扩展结构,结构形成后是否禁用某个位置的渲染等等内容。(2)中的设置有些复杂,详情见本wiki"结构模板"一节。本教程在此处没有做太多的设置,只是在结构形成后禁用Andesite
方块的渲染。
设置如下:
别忘了在设置完一切后保存结构模板。按 Esc 以退出更改界面并回到之前的页面。
S5
这一步同样与旧版教程相同
如(1)所示,默认情况下使用空配方(内置配方)。按按钮(2)创建一个新的RecipeMap
。请参阅 RecipeMap 以获取有关RecipeMap
编辑器的更多详细信息。我们的设置如下:
(这里的操作和旧版本的JEI拖动相同)
F:
在此处可以查看/复制多方块机器的设置。最后,别忘了按(1)处的按钮保存控制器并按Esc退出更改界面。
无控制器
大致步骤与有控制器版一致,除了S4处有略微区别。您可以编辑控制器位置的方块:这在有控制器版是不被允许的操作。
第 5 步
不要忘记保存所有内容。现在,让我们重新启动游戏,看看情况。
(屏幕录制gif有问题,先用旧版的图顶着)
WIP