Minecraft(我的世界)中文论坛

 找回密码
 注册(register)

!header_login!

只需一步,立刻登录

查看: 3569|回复: 59

[教程] 【命令】命令教程“真”从零开始(十五)最接近神的一次:填充命令/fill[1.18]

[复制链接]
Dahesor 当前离线
积分
3116
帖子
主题
精华
贡献
爱心
钻石
人气
下界之星
最后登录
1970-1-1
注册时间
2019-2-5
查看详细资料
发表于 2021-6-26 13:24:04 | 显示全部楼层 |阅读模式

您尚未登录,立即登录享受更好的浏览体验!

您需要 登录 才可以下载或查看,没有帐号?注册(register)

x
本帖最后由 Dahesor 于 2021-12-9 01:45 编辑

☆【命令】命令教程"真"从零开始(十五)☆
☆最接近神的一次:填充命令/fill☆


     声明:
     1. 本系列教程默认读者拥有关于Minecraft游戏本身的基础了解。
     2. 本系列全部教程绝对适用于当前Java最新版(1.18)
     3. 本系列教程致力于基础原理而非使用方法,因为某些原因,这是本声明里最重要的一条。
     4. 本教程需要读者有特定的命令知识。这些这些内容在下方表格中列出


需要前置知识:
请确保你理解下列的内容。下表的所有内容一定在本系列教程的某一帖讨论过,所以若您是从本系列第一帖起阅读至今,可以不用看。
对于跳跃式阅读的读者,还请检查一番:






     本帖使用了较多的图片与GIF,可能加载较慢



     前言

在我以前(很久以前)帮别人制作地图(指帮堆方块)的时候,经常想着要是能一下填充出我想要的形状就好了。

可惜,还在1.7.10的当时……还没有我们今天要讲的这条命令。

今天的内容就是,可以在指定区域填充方块的命令,/fill,

这里提醒:用这两条命令做一些技术手段还是可以的。
但是如果你想让它们帮你盖出你想要的形状或是房子那是高估它们了。

     做好人,接近WorldEdit,远离/fill与/clone!

1. 填充命令/fill


神奇的命令/fill,可以将一个矩形区域替换为指定的方块。
格式:
  1. /fill <坐标点1> <坐标点2> <方块>
复制代码


命令/fill的逻辑十分简单:
指定两个坐标,其对角线形成的长方体就是选中的区域。该区域的所有空间均会被替换为后面指定的“<方块>”。
上面的“<坐标点1>“ 与 ”<坐标点2>”均是由3个数字所指定的坐标,所以,将格式展开显示就是这样的:
  1. /fill <x1> <y1> <z1> <x2> <y2> <z2> <方块>
复制代码
(fill格式,简化版)

两个坐标形成的长方体的内容即是选中的区域,该区域内的内容均会被替换为指定的方块。

为了给你一个“两个坐标形成的长方体”的概念,请看下图:

2021-06-14_05.19.47.png


图中,黄色方块与钻石块就是我们选中的两个坐标。红色玻璃就是它们的对角线,而绿色玻璃就是它们选中的区域。

简单地将黄色方块与钻石块的坐标填入<坐标点1> <坐标点2>,并将<方块>指定为石头(stone),即可得到:

     /fill ~ ~ ~ ~8 ~8 ~8 stone


注意这里我使用了"~"相对坐标。这是为了方便您理解。
在使用中,您应该把它们替换为坐标。(除非相对坐标就是你想要的)


命令执行后,将会把指定的区域全部替换为石头:

sup_genner_adm_21_1134_name_fill_1_destory.gif

上面的被选中的,8*8*8的区域中的内容被全部替换为石头
当然,8*8*8可能有点小?
我们也可以玩点疯狂的,比如,放置一个25×25×25的TNT堆:

     /fill ~ ~ ~ ~25 ~-25 ~25 tnt
(注意以上命令的颜色仅是为了方便阅读,与命令本身无关)


sup_genner_adm_21_1134_name_fill_2.gif




边长25!霍,这可是15625个TNT!
那我们是不是可不可以想填充多少个就填充多少个?

……不行。
/fill命令的上限是,一次最多只能填充32768个方块

这实际上并没有多少方块。所以如果你想要一次性填充大量的方块,将需要分成几次执行命令。(或者干脆点,用WorldEdit这个mod/插件)

对/fill命令的另一个限制是,它不能在未加载的区块中填充,关于这部分的内容,请看系列第8帖。


1.1 方块状态

以下涉及较高级内容,可跳过,对后文无影响




1.2 模式

上面我们已经讲过了/fill命令的基础逻辑。
不过,除了指定范围和方块外,这个命令还可以更长:
我们还可以指定“模式”,或者说“原方块处理方式”。

模式”指定了关于本命令的一些额外选项。这里的“模式”一共有5种:
replace(替换模式)destroy(摧毁模式)keep(保留模式)hollow(空心模式),与outline(轮廓线模式)

格式:
  1. /fill <x> <y> <z> <x2> <y2> <z2> <方块ID> [destroy|hollow|keep|outline|replace]
复制代码

将上面5种模式之中的1种填写在命令的最后,你就可以赋予命令一些额外的选项。

下面,我们将详细说明这五种不同的模式。使用不同的模式执行命令将有不同的效果。


     摧毁模式 (destroy)

在本模式下,被替换掉的方块会像是被玩家破坏掉的一样,掉落为物品(如果可能的话),发出其破碎的声音,还会出现粒子效果。
比如:

/fill ~ ~ ~ ~8 ~8 ~8 glass destroy


sup_genner_adm_21_1134.name.fill_destroy.gif


     替换模式 (replace)

本模式与摧毁模式相反,选中区域方块会被无声无息地“替换”,而不会出现声音,掉落物等:
比如:

/fill ~ ~ ~ ~8 ~8 ~8 glass replace


sup_genner_adm_21_1134.name.fill_replace.gif


注意替换模式是/fill命令的默认模式。如果你不指定模式那么游戏将会默认是替换模式。也就是说,下面的命令与上面的等价:

/fill ~ ~ ~ ~8 ~8 ~8 glass


但是replace模式除此之外还有一个神奇的功能,它能够替换一个特定的方块,而不是一股脑把区域的所有方块都替换掉。也可以叫做“方块筛选”
比如你可以说,只替换选中区域内的石头,不替换其他东西:
格式:
  1. /fill <坐标点1> <坐标点2> <方块ID> replace [<被替换的方块ID>]
复制代码


比如:
/fill ~ ~ ~ ~8 ~8 ~8 glass replace stone

将指定区域的石头替换为玻璃,其他保留不动:

sup_genner_adm_21_1134.name.fill_filter.gif


注意上面。只有石头变成了玻璃,其他的则保留不变。
蛮有趣的吧

这种“过滤”的用法只有replace拥有,其他的模式都不可以。

以下涉及较高级内容,可跳过,对后文无影响



     保留模式 (keep)


保留模式与替换模式类似,但是它只替换空气方块,其他的方块保留原样。

比如:

/fill ~ ~ ~ ~8 ~8 ~8 glass keep

sup_genner_adm_21_1134.name.fill_keep.gif


注意上面所有原有的方块不变,只有空气被替换了。

你可以发现上面的命令与这一条相同:【注1】
/fill ~ ~ ~ ~8 ~8 ~8 glass replace air


(如果你知道MC除了空气还有虚空空气和洞穴空气的话。keep对于这三种空气都是有效的)

     空心模式 (hollow)

看名字就能明白,本模式所形成的正方体是空心的:
比如:


/fill ~ ~ ~ ~8 ~8 ~8 glass hollow


sup_genner_adm_21_1134.name.fill_hoo.gif

注意其“空心内部”的物品被替换为了空气,没有保留。



     轮廓线模式 (outline)

与空心模式相似,但本模式只替换外层而不把“空心内部”替换为空气:
比如:


/fill ~ ~ ~ ~8 ~8 ~8 glass outline


sup_genner_adm_21_1134.name.fill_outline.gif

注意与hollow模式不同,本模式不会将中间的内容替换为空气。



     总结

下面对本帖的内容提供梳理:

-命令fill可以填充一片区域为指定方块,其格式为/fill <坐标点1> <坐标点2> <方块ID> [destroy|hollow|keep|outline|replace [<被替换的方块>]]
-其中坐标点1与2为由6个数字组成的两个坐标,其形成的对角线所属的长方体即为选中的区域
-方块ID为要填充的方块
  • 支持使用方块状态或NBT

-命令可以添加模式
  • 替换模式为直接替换
  • 摧毁模式会模拟被玩家破坏的情况
  • 保留模式只替换空气
  • 空心模式生成空心结构
  • 轮廓线模式只替换轮廓线

-使用替换模式时可加入方块筛选,使命令只替换指定的方块
  • 筛选支持方方块状态,NBT,与标签




以上就是本帖的全部内容了。本来是打算和clone二合一放在一起的……但是……我……我……算了。




     附录,注释,与外部链接


注释

【1】由于另两种空气的存在,该命令不完全等价,但列举该命令只是为了方便理解,所以就不细究了。


#更新日志

Java 1.17/a  页面发布
Java 1.17/b  感谢chixvv的提醒,改正了一处误导信息
Java 1.17.1/a  感谢ruhuasiyu,现在修改了空气的信息(我第一次知道虚空空气是可以放的诶)

Java 1.18/a 1.18版本升级完成


彩蛋:






前往来自 麻瓜草稿簿系列教程索引



评分

参与人数 3人气 +5 金粒 +70 收起 理由
buhuichongfu + 2 用心教程,人气+收藏。
磨砺 + 2 + 50 MCBBS有你更精彩~
mGHLy + 1 + 20 MCBBS有你更精彩~

查看全部评分

watchxam 当前离线
积分
33
帖子
主题
精华
贡献
爱心
钻石
人气
下界之星
最后登录
1970-1-1
注册时间
2021-6-26
查看详细资料
发表于 2021-6-26 14:12:49 | 显示全部楼层
哎呦呵,真神奇

评分

参与人数 1人气 -1 金粒 -10 收起 理由
SHEEP_REALMS -1 -10 请仔细阅读版规,本版严禁灌水!.

查看全部评分

回复

使用道具 举报

曉楓業火 当前离线
积分
25
帖子
主题
精华
贡献
爱心
钻石
人气
下界之星
最后登录
1970-1-1
注册时间
2021-6-25
查看详细资料
发表于 2021-6-26 15:16:45 | 显示全部楼层
支持,写得很好

评分

参与人数 1人气 -1 金粒 -10 收起 理由
SHEEP_REALMS -1 -10 请仔细阅读版规,本版严禁灌水!.

查看全部评分

回复

使用道具 举报

Dahesor 当前离线
积分
3116
帖子
主题
精华
贡献
爱心
钻石
人气
下界之星
最后登录
1970-1-1
注册时间
2019-2-5
查看详细资料
 楼主| 发表于 2021-7-1 12:21:15 | 显示全部楼层
鱼宝放心飞 发表于 2021-6-30 22:15
也可以换一个角度来理解,例如:这里涉及了两个坐标 (3,4,2) 和 (6,1,5)。
x 轴坐标是 3 和 6,也就是说长 ...

这是另一种理解的方法,但显然地,这不适合放在教程里。

不过,仍然感谢
回复

使用道具 举报

1762990096 当前离线
积分
41
帖子
主题
精华
贡献
爱心
钻石
人气
下界之星
最后登录
1970-1-1
注册时间
2016-11-27
查看详细资料
发表于 2021-7-1 13:13:19 | 显示全部楼层
6666666666666666666666666

评分

参与人数 1人气 -1 金粒 -10 收起 理由
SHEEP_REALMS -1 -10 请仔细阅读版规,本版严禁灌水!.

查看全部评分

回复

使用道具 举报

Moe-moo 当前离线
积分
523
帖子
主题
精华
贡献
爱心
钻石
人气
下界之星
最后登录
1970-1-1
注册时间
2021-6-10
查看详细资料
发表于 2021-7-1 18:44:06 | 显示全部楼层
1.17貌似添加了许多的指令呀
回复

使用道具 举报

koner. 当前离线
积分
50
帖子
主题
精华
贡献
爱心
钻石
人气
下界之星
最后登录
1970-1-1
注册时间
2021-2-1
查看详细资料
发表于 2021-7-1 19:00:52 | 显示全部楼层
懂了懂了

评分

参与人数 1人气 -1 金粒 -10 收起 理由
SHEEP_REALMS -1 -10 请仔细阅读版规,本版严禁灌水!.

查看全部评分

回复

使用道具 举报

_23333_ 当前离线
积分
898
帖子
主题
精华
贡献
爱心
钻石
人气
下界之星
最后登录
1970-1-1
注册时间
2018-8-27
查看详细资料
发表于 2021-7-3 10:28:39 | 显示全部楼层
fill同样支持NBT,但不做举例。有兴趣可以查看本列第11帖

错字受,是“本系列”

评分

参与人数 1人气 +2 收起 理由
Dahesor + 2 感谢

查看全部评分

回复

使用道具 举报

muyu来了 当前离线
积分
54
帖子
主题
精华
贡献
爱心
钻石
人气
下界之星
最后登录
1970-1-1
注册时间
2021-3-29
查看详细资料
发表于 2021-7-3 11:34:34 | 显示全部楼层
VHBKFKGHKXKXKGH

评分

参与人数 1人气 -1 金粒 -10 收起 理由
SHEEP_REALMS -1 -10 请仔细阅读版规,本版严禁灌水!.

查看全部评分

回复

使用道具 举报

磨砺 当前离线
积分
6176
帖子
主题
精华
贡献
爱心
钻石
人气
下界之星
最后登录
1970-1-1
注册时间
2020-3-13
查看详细资料
发表于 2021-7-4 13:53:35 | 显示全部楼层
定期回来补指令课的磨砺.jpg
好用了,之前还不知道这玩意傻傻的自己摆方块
回复

使用道具 举报

hzz_sama 当前离线
积分
34
帖子
主题
精华
贡献
爱心
钻石
人气
下界之星
最后登录
1970-1-1
注册时间
2021-7-3
查看详细资料
发表于 2021-7-4 16:20:23 | 显示全部楼层
好家伙,命令方块我都玩不懂

评分

参与人数 1人气 -1 金粒 -10 收起 理由
SHEEP_REALMS -1 -10 请仔细阅读版规,本版严禁灌水!.

查看全部评分

回复

使用道具 举报

ssd123a 当前离线
积分
97
帖子
主题
精华
贡献
爱心
钻石
人气
下界之星
最后登录
1970-1-1
注册时间
2020-4-8
查看详细资料
发表于 2021-7-4 19:51:09 | 显示全部楼层
感觉1.17好像大改版了一样
回复

使用道具 举报

Amiyaa 当前离线
积分
221
帖子
主题
精华
贡献
爱心
钻石
人气
下界之星
最后登录
1970-1-1
注册时间
2021-5-20
查看详细资料
头像被屏蔽
发表于 2021-7-4 21:04:38 | 显示全部楼层
以前还不知道有这些

评分

参与人数 1人气 -1 金粒 -10 收起 理由
SHEEP_REALMS -1 -10 请仔细阅读版规,本版严禁灌水!.

查看全部评分

回复

使用道具 举报

ruhuasiyu 当前离线
积分
22469
帖子
主题
精华
贡献
爱心
钻石
人气
下界之星
最后登录
1970-1-1
注册时间
2014-10-16
查看详细资料
发表于 2021-7-8 23:14:09 | 显示全部楼层
keep那个,其它两种空气也会被替换吧
回复

使用道具 举报

Dahesor 当前离线
积分
3116
帖子
主题
精华
贡献
爱心
钻石
人气
下界之星
最后登录
1970-1-1
注册时间
2019-2-5
查看详细资料
 楼主| 发表于 2021-7-9 12:34:19 | 显示全部楼层
ruhuasiyu 发表于 2021-7-8 23:14
keep那个,其它两种空气也会被替换吧

会吧

(虚空空气会么?)
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册(register)

本版积分规则

Archiver|小黑屋|Mcbbs.net ( 京ICP备15023768号-1 ) | 京公网安备 11010502037624号 | 手机版

GMT+8, 2022-5-29 20:46 , Processed in 0.055688 second(s), Total 27, Slave 26 queries, Release: Build.2022.05.24 1725, Gzip On, Redis On.

"Minecraft"以及"我的世界"为美国微软公司的商标 本站与微软公司没有从属关系

© 2010-2022 我的世界中文论坛 版权所有 本站内原创内容版权属于其原创作者,除作者或版规特别声明外未经许可不得转载

快速回复 返回顶部 返回列表