##11 前置与准备
绿萌需要一些mod, 大部分就是生电玩法常见的mod, 例如Carpet, Tweakeroo, Litematica. 但是, 你还需要一定的指令能力, 包括直接进行指令的运用和命令方块的运用. 此外, 我们还需要进行结构方块的学习.
本教程中不对World Edit做要求( 因为本人也不会 ), 所以我们需要对指令熟练.
#1.1.1 原版指令
这里讲解原版的 fill , setblock , clone 指令和 effect , enchant 指令, 比较基础, 可以选择性跳过
#a) 方块交互指令
/setblock
setblock指令基础语法为 setblock <pos> <block> , 可以在 <pos> 位置放置一个方块, 其中 <pos> 为一组 <x> <y> <z> 坐标.
绿萌中机器都在天上开始设计, 因此一般在 ~ ~ ~ 位置放一个方块, 作为开始搭建的起点.
如此输入
Keys// EXECUTABLE_BLOCK/set<tab> <tab> <tab> <tab> <tab>
你会放置一个金合欢木的按钮, 再另外放置个方块就可以开始搭建了.
/fill
fill指令的基础语法为 /fill <from> <to> <block> , 在以 <from> , <to> 这两个对角之间立方体内填充指定方块, 其中 <from> , <to> 各为一组 <x> <y> <z> 坐标.
该指令非常常用, 如清除大量方块, 为盾构机 世吞等创建场地 挖世吞沟等.
如此操作
Keys// EXECUTABLE_BLOCK<看向起点方块> /fill <tab> <tab> <tab> <Enter>
你将得到如下提示
Log// EXECUTABLE_BLOCKUnknown or incomplete command, see below for error ...<x> <y> <z> <-- [Here]
接下来
Keys// EXECUTABLE_BLOCK<看向终点方块> /<up> <tab> <tab> <tab> ...
由此可以在两个位置填充指定方块
当然第二个位置也经常为 ~ ~ ~ , 一般用于测试或清除用.
#b) 结构交互指令
/fill高级运用
fill指令在 block 后面可以再加几个参数, 完整fill指令语法为
/fill <from> <to> <block> [replace|keep|outline|hollow|destroy]
我们将逐个进行讲解
-
destroy参数添加该参数后, fill指令破坏方块, 方块会掉落.
-
hollow参数添加该参数后, fill指令只会填充外层, 内部清空, 形成一个空壳.
该指令可以直接生成一个小房子, 便于测试写其他东西, 对于绿萌来说用处可能不大.
-
keep参数添加该参数后, 填充会保留原有方块, 仅填充空气方块.
-
outline参数与
hollow参数类似, 但是内部不会清空. -
replace参数个人认为该参数为fill指令里的最强参数, 语法如下
/fill <from> <to> <block> replace <block0>该指令可以检测范围内的
<block0>, 仅替换掉指定方块.该指令给了设计者选择方块的能力, 如设计结束后把所有陶瓦换到同一个方向, 将各色玻璃换为同一种玻璃...
操作如下
MCCommand// EXECUTABLE_BLOCK/fill ... ... minecraft:white_stained_glass replace #c:glass_blocks搭配类选择器, 将范围内所有玻璃均替换为常用的白色玻璃
除这些参数外, 这里我们将学习一下方块的标签选择
例如, 我们fill一堆半砖, 即使是使用上述 replace 参数进行选择, 填充的任然是下半砖, 那么对于上半砖(一般用于附着红石粉, 中继器等), 将引起严重的问题
所以我们要学会如何选择方块的属性
打开F3, 右下角区域为 Targeted Block 区, 展示准星所 选中方块的属性. 以平滑石半砖为例, 你将看到如下信息
Info// EXECUTABLE_BLOCKTargeted Block: ..., ..., ... minecraft:smooth_stone_slab type: bottom waterlogged: false #minecraft:mineable/pixkaxe #minecraft:slabs
这些信息从上到下分别是方块坐标, 方块名称, 属性(对于展示的方块, 有 type 和 waterlogged 两种属性), 所属类(对于平滑石半砖, 有可挖掘/工具类型和半砖类两种)
上述属性就是我们可以选择的标准, 下面展示如何替换所有平滑石上半砖为平滑石英上半砖
MCCommand// EXECUTABLE_BLOCK/fill ... ... minecraft:smooth_quartz_slab[type=top] replace minecraft:smooth_stone_slab[type=top]
中间 <block> 和结尾 <block0> 都指明了 [type=top] , 意为 "半砖类型 = 上"
稍后我们会讲解如何方便的查看方块的属性, 选择正确的类型(详见 1.1.5 ).
/clone
clone基础语法有两种, 也可以添加参数, /help 中写的不太清晰, 下面仅介绍一个比较简单且常用的
/clone <begin> <end> <destination> , 其中 <begin> , <end> , <destination> 各为一组 <x> , <y> , <z> 坐标.
该指令可以将在以 <begin> , <end> 这两个对角之间立方体中的方块复制到 <destination> 位置, 其中对应关系为 <begin> 位置对应 <destination> 位置.
注意: 改指令进行复制会产生更新, 需使用Carpet内功能关闭更新(详见 1.1.2 a) ).
#c)其他
/effect
effect指令基础语法为 /effect give <targets> <effect> <seconds> 和 /effect clear [<target>] , 前者用于给予效果, 后者用于清除效果.
设计中, 可能需要给予自己夜视效果(虽然Gamma可直接调整).
-
效果给予
语法为
/effect give <target> <effect> <second> <amplifier> <hideParticles>, 其中<target>为作用对象, 例如@a;<second>为持续时间;<amplifier>为放大强度;<hideParticles>为一个bool类型值, 指是否隐藏粒子效果.较高版本中,
<second>可直接填入infinite表示无限时长; 低版本可以填入一堆9直至呈红色(超出范围)<amplifier>对于某些指令并不适用, 譬如夜视, 没有强弱之分.<hideParticles>填入true防止粒子干扰视线夜视操作如下
MCCommand// EXECUTABLE_BLOCK/effect give @a minecraft:night_vision infinite 1 true -
效果清除
语法为
effect clear <targets> <effect>, 其中<target>和<effect>均可选. 若留空, 意为自己和所有效果.
/enchant
enchant指令基础语法为 /enchant <targets> <enchantment> [<level>] , 可以给 <target> 选定玩家主手所拿物品进行附魔.
该指令貌似对绿萌一点用没有... 但如果你的机器上刷了个怪或者... 好吧确实没啥用 你可以给自己个力量效果, 再附一把锋利5的合金剑快速清除掉 那为什么不直接kill
不管了 , 获得锋利V合金剑操作如下
Keys// EXECUTABLE_BLOCK<物品栏里找把合金剑拿在主手> <关闭物品栏> /enchant @a minecraft:sharpness 5
#1.1.2 Carpet指令
Carpet Mod, 中文常直接叫做"地毯", 是由Gnembon编写的一个功能强大, 操作简单的一个辅助性模组, 下载安装这里不进行讲解.
该部分指令大部分生电教程, 视频都有所讲解, 也可选择性跳过
#a) Carpet命令面板
输入 /carpet 即可打开Carpet命令面板, 你将看到以下提示
Logs// EXECUTABLE_BLOCKCurrent Carpet Mod settings: Carpet Mod version: ... Browse categories: [dispenser] [feature] ...
-
语言
由于Carpet自带中文, 所以我们不需要"硬啃"英文 (尽管本教程讲解仍使用英文模式)
切换语言指令为
/carpet language [<value>], 其中<value>可选en_us,fr_fr,pt_br,zh_cn,zh_tw, 分别对应美式英语, 法语, 德语, 简体中文等切换简体中文方法如下
MCCommand// EXECUTABLE_BLOCK/carpet language zh_cn此时我们再使用
/carpet指令, 可得到如下信息Logs// EXECUTABLE_BLOCK目前启用的 Carpet Mod 选项: - 语言(language) [en_us] [fr_fr] [pt_br] [zh_cn] [zh_tw] Carpet Mod 版本: ... 浏览分类: [发射器] [特性] ...我们可以看到
语言中[en_us]为绿色, 意为默认;[zh_cn]带有下划线, 意为当前. -
更新
Carpet可以防止TNT放置时直接点燃(用于TNT复制机, 设计时不需要再推矿车), 防止fill等指令使用时产生更新
/carpet tntDoNotUpdate true可关闭TNT放置时的更新, 当我们在能量源旁边直接放置TNT时, TNT不会被点燃, 受到更新后才会被点燃./carpet fillUpdates false可以关闭fill时的方块更新, 除此之外,setblock,clone, 结构方块的更新均会受抑制. -
防爆
/carpet explosionNoBlockDamage true打开后, 爆炸不会破坏方块(这里的爆炸包括TNT, 苦力怕, 末影水晶等), 但是伤害和冲击还是会产生的.该指令十分常用,
你总不希望你的机器还没启动就炸膛吧 -
设置默认
再你输入上述指令后, 会弹出提示如下
Logs// EXECUTABLE_BLOCKtntDoNotUpdate: true, [Change permanently?]简体中文模式为
Logs// EXECUTABLE_BLOCKtntDoNotUpdate: true, [永久更改?]点击后, 输入框内自动填充如下指令
MCCommand// EXECUTABLE_BLOCK/carpet setDefault tntDoNotUpdate true确认后, 我们每次重进游戏, 就会一直保持这个状态.
推荐将两个更新指令设为默认, 防爆指令不建议(如果你测试基岩机, 防爆忘了关, 机器就完全粘在一起了)
-
其他
/carpet flippinCactus true仙人掌扳手, 打开后可使用仙人掌调整方块方向; 当仙人掌放在副手时, 会放置相反方向的方块./carpet creativeNoClip true创造无碰撞箱, 打开后, 创造模式飞行时, 将像旁观模式一样失去碰撞箱, 即可以穿墙, 不能推动实体.
#b) 假人指令
/player 应该是整个Carpet中使用最多的指令了, 使用该指令召唤假人, 使假人做各种动作, 踢出假人.
-
召唤与清除
使用
/player <name> spawn可以在当前位置召唤一个假人, 若想控制召唤位置和初始朝向, 使用如下指令MCCommand// EXECUTABLE_BLOCK/player molforte spawn at <pos> facing <direction> in <dimension> in <gamemode><name>:molforte不区分大小写, 优先匹配正版玩家, 其次生成不存在的玩家. 这里以另一个教程的作者莫尔为例.<pos>为一组<x>,<y>,<z>坐标;facing后面<direction>为一组<yaw>,<pitch>, 即方位角和俯仰角in后面<dimension>为游戏维度, 再后面in接<gamemode>游戏模式.使用
/player <name> kill清除一个在线的假人.你可以召唤一个假人, 向他投掷物品, 然后kill掉, 再到新位置上线杀掉, 这就是假人快递
-
行动
使用
/player <name> (stop|use|jump|attack|drop|dropStack|swapHands|sneak|unsneak|sprint|unsprint|look|turn|move)等使假人行动, 功能直接翻译即可.例如
/player Molforte attack使假人Molforte进行一次攻击/挖掘(前提是假人Molforte存在).大部分操作后面都可接参数, 以攻击为例:
/player Molforte attack后可接参数continuous,interval,once, 分别为一直攻击, 间隔攻击, 仅攻击一次, 其中间隔攻击后需接间隔tick数.
#c) tick指令
高版本该指令以整合到MC本体中, 但仍推荐安装Carpet
-
冻结
使用
/tick freeze使游戏冻结, 再次使用可解冻; 高版本下需要使用/tick unfreeze解冻.冻结后, 游戏停止运行, 但玩家不受影响.
-
调速
使用
/tick rate <rate>调整游戏tps(Ticks Per Second), 每秒的游戏刻数, 默认20, 即1s = 20ticks, 1tick = 0.05s. -
按步行动
在游戏冻结的基础上可以使用
/tick step <time>按步运行游戏. 当我们观察一个东西运动时, 可以一点一点流逝时间, 更清晰的观察.例如, 观察活塞时, 先
/tick freeze; 接下来活塞旁边放置红石块,/tick step 2发现活塞已伸出. (此处为观察到的伸出, 具体活塞运行时间有待商榷)测试时, 大多以4ticks为时间间隔进行测试, 该时间为多数情况下飞行器中粘性活塞完整伸出缩回的时间.
#1.1.3 结构方块
#a) 获取
使用 /give @s minecraft:structure_block 指令可获取一个结构方块.
结构方块有三种模式(较老版本为四种), 分别为 Load , Corner , Save 模式, 中文为 加载模式 , 角落模式 , 保存模式 . 结构方块放下默认为 Load 模式.

单击左下角 Load 可切换模式.
#b) 存储与加载
Save 模式下, 首先写入 Structure Name 结构名称, 然后调整 Relative Position 和 Structure Size 框定选区(前者为选区基准点与结构方块的相对位置, 后者为选区大小), 单击 DETECT 开始探测.
此时, 你将看到一个白框标记选区. 此时右下角单击 SAVE 即可保存选区, 聊天区提示如下:
Log// EXECUTABLE_BLOCKStructure saved as 'minecraft:...'
此时我们准备一个 Load 模式的结构方块, Structure Name 结构名称中填入刚才保存的名称, 然后调整 Relative Position 相对位置.
单击右下角 LOAD , 游戏中出现白框标记选区范围, 并且得到如下提示:
Log// EXECUTABLE_BLOCKStructure 'minecraft:...' position prepared
此时打开结构方块, 再次单击 LOAD 按钮, 结构即被加载出来.
该加载会产生更新, 详见 1.1.2 a)
此外, Load 模式还可以进行旋转和镜像

下方 [0] [90] [|] [180] [270] 按钮中, [0] [90] [180] [270] 互相单选, 表示结构绕基准点顺时针旋转角度
如图所示为四个箭头不同旋转角度, 其中白框标记的为0度

[|] 为选择按钮, 共有 [|] , [← →] , [↑ ↓] 三种模式. 分别意为正常, 左右镜像, 前后镜像, 请自行尝试.
此外, Save 模式框选大小时, 可以使用 Corner 模式进行框选. 将 Corner 和 Save 中写入相同的 Structure Name , 然后两个 Corner 模式结构方块放置于结构两个对角, 再次点击探测, 会发现结构已被成功探测起来.
注意: Corner 模式探测大小, 不包括结构方块本身

#1.1.4 Litematica
Litematica Mod, 中文常叫做"投影", 是一款功能强大, 使用频繁, 上手简单的mod.
由于Litematica Mod十分常用, 教程众多, 本教程中不再讲解此mod的下载安装, 以及框选/投影/粘贴等简单功能, 只讲解本人在使用过程中使用的一些比较冷门的功能.
#a) 轻松放置协议
easyPlace 轻松放置是投影中一个非常常用的功能, 但是对于楼梯, 半砖, 甚至音符盒, 轻松放置可能出现问题. 下面讲解如何选择轻松放置协议.
easyPlaceProtocolVersion 轻松放置协议路径为 投影主菜单/Configuration menu/Generic/easyPlaceProtocolVersion , 对应中文 投影主菜单/配置菜单/通用/轻松放置协议 (也有译为"简单放置协议"的)
easyPlaceProtocolVersion 有 Auto , Version 3 , Version 2 , Slabs only , None 五种, 默认为 Auto . 如果你搞不清楚这些协议的区别, 这边推荐无脑选最大的, 也就是优先 Version 3 , 若服务器不支持 Version 3 则使用 Version 2 . 其他模式一般不使用.
#b) 方块信息
renderInfoOverlay 方块信息可以展示所选中方块的属性信息, 有些mod(例如jade)也可以显示方块信息, 但我不推荐新人安装大量mod, 且投影方块信息展示也完全足够.
renderInfoOverlay 方块信息路径为 投影主菜单/Configuration menu/Hotkeys/renderInfoOverlay , 对应中文 投影主菜单/配置菜单/热键/方块信息 .
由于 hotkey (热键) 栏目功能众多, 建议直接搜索 info 关键词, 注意搜索结果非 toggleInfoOverRendering ( 方块信息展示 )), 避免混淆.
本人将快捷键设为 LAlt , 使用时直接准星对准方块, 按下左Alt即可, 如图所示.



图示为1.14以下版本堆叠村庄刷铁机的门控计数器
可以看到方块缩略图, 方块名称, 注册表名称, 接下来是方块属性. 我们以比较器为例分析一下.

Info// EXECUTABLE_BLOCKClient World Block State ... Redstone Comparator minecraft:comparator facing = north mode = subtract powered = true
这与 F3 中 Targeted Block 信息是一样的. 属性直接翻译即可, 分别为朝向 = 北, 模式 = 减法, 已充能 = 是.