【JE1.20.4】入门指令教程 您所在的位置:网站首页 命令方块击杀玩家指令 【JE1.20.4】入门指令教程

【JE1.20.4】入门指令教程

2024-07-02 06:24| 来源: 网络整理| 查看: 265

本篇教程由作者设定未经允许禁止转载。

阅读前提示

前言

你完全不会命令是吗?你因为不会命令而被嘲笑吗?又或者是看到命令生成器给出的命令完全不理解吗?

(除非是特别高深的,那这篇教程是不能帮到你的!这篇教程仅给入门的“小萌新”提供的。)

这个教程或许可以帮到你!

Minecraft版本:JE 1.20.4

注意事项

该教程针对于Java版(Java Edition)1.20.4的Minecraft制造,如果你的游戏版本较低或为基岩版(Bedrock Edition),请酌情阅读该教程。

该教程并没有所有指令及所有语法的解析,但对于入门已经足够使用。

除表明无需开启作弊或无需拥有管理员权限也能使用,其它的所有指令都将需要2级及以上的权限等级,也就是需要打开作弊或需要管理员权限才能使用的指令!

在标题内打星的是入门必学的项目,星号越多越重要。

最好是从上往下看而不是直接使用目录来直接定位一个指令,该教程不会重复上述所解析的语法。

该教程会继续完善表明了未完成和未知的内容,以及更多的指令。(若停更,这行将会删除。预计从9月份开始不再活跃更新。)

目前正在施工NBT实体部分,原版指令部分已基本完善,虽仍有一些未知的部分,但不影响入门。

格式提醒 - 在用法中的命令

尖括号 - 应填尖括号内所对应的内容

你应该填入什么内容。例如:。

| - 选填

在众多的选项里自己选一个。例如:a|b|c。

中括号 - 可填可不填,应填中括号内所对应的内容

这个选项可以填也可以不填,不填则默认。例如:[true|false]

命令的术语

一定要熟悉这些术语,因为后面的介绍经常会用到这些。

命令执行者

执行命令的那个实体。如果你输入了一条指令,命令执行者就是你。

命令执行点

执行命令时的位置。如果你输入了一条指令,命令执行点就在你这里。

目标

执行命令后,要对其进行改变、选择等操作时的实体。

进入正题【原版指令】 - 简单的指令

/tp *

用途

可以将指定实体传送至一个指定的地点,或传送到某个实体。简单来说,就像给一个人搭一个传送门,然后直接传送到一个点位。

第一种用法 - 直接传送至目标 *

/tp 

将命令执行者传送至目标。

示例:

/tp Mc.Undy

传送到Mc.Undy。

目标选择器 **

如果你输入到/tp后空格,你会看到还有更多的选项:@a @s @p @e @r,这些都称为目标选择器。

目标选择器作用@a选择所有玩家@s选择命令执行者@p选择最近的玩家@e选择所有的实体@r随机选择玩家或实体

示例:

/tp @r

随机传送到一个玩家的位置。

注意:目标不能为多个实体,否则会提示“未知或不完整的指令”。

第二种用法 - 直接传送至指定坐标 *

/tp 

坐标是什么?点击F3键,找到XYZ,这里第一个数字表示X坐标,第二个数字表示Y坐标,第三个数字表示Z坐标。

【JE1.20.4】入门指令教程-第1张图片

示例:

/tp 20 32 14

将命令执行者传送至坐标为(20,32,14)的地方。

第三种用法 - 将需要传送的实体传送至目标 *

/tp  

这里的目标也不能选择多个实体。

将所有需要传送的实体传送至目标所在的地方。

示例:

/tp @a @s

将所有玩家传送到命令执行者的位置。

第四种用法 - 将需要传送的实体传送至指定坐标 *

/tp  

将所有需要传送的实体传送至坐标指定的位置。

示例:

/tp @e 20 30 -12

将所有实体传送至坐标(20,30,-12)的位置。

还有一些其他的可填可不填的地方:

rotation

/tp ...... 

将目标传送指定地方并朝向某个地方。

方向这里需要填两个数。

第一个数是填你左右看的视角方向(X轴旋转角度)。0就是朝着南看,180就是朝着北看,90就是朝着西看,-90就是朝着东看。

第二个数是填你上下看的视角方向(Y轴旋转角度)。-90是抬头,0是平视,90是低头。

示例:

/tp @s ~ ~ ~ 90 -45

将命令执行者面朝西方,抬头45度。

坐标里的“~” - 相对坐标

这里用到了"~",你可能会问这是什么东西。

“~”的意思就是相对坐标。简单来说,"~ ~ ~"就代表命令执行的位置。

例如,命令执行点在(1,23,31)的地方:

"~"的用法表示~ 20 121 20 1231 ~ 1231 23 3114  -8 ~14 -8 31~ ~ 11 23 1~ ~ ~1 23 31

还有更多用法:假设命令执行点在(1,0,2):

"~"的用法表示~2 31 -53 31 -5~-4 14 51-3 14 5120 ~4 120 4 1

注意:一定要先弄好第三种或第四种写法后再写方向,否则就会出错!以及以下的facing也是一样。

facing,第一种方法 - 面向一个坐标

/tp ...... facing 

将需要传送的实体传送并面朝坐标指定的地点。

示例:

/tp @s 12 60 11 facing 12 60 16

将自己传送到(12,60,11)并面朝(12,60,16)的位置。

如果你输入此示例无误,那么你应该传送到了指定地点并且直视着南方。

facing第二种方法 - 面向某一个目标

/tp ... facing entity  [eyes|feet]

将需要传送的实体传送至指定位置并面朝目标。eyes和feet代表是朝向目标的眼睛(eyes)还是脚部(feet),默认为脚部。

目标不能为多个实体。

示例:

/tp @s ~ ~ ~ facing entity Mc.Undy

将命令执行者面朝Mc.Undy。

/gamemode **

用途及用法

这是一个必须学会的指令!如果不会的话,你将无法让别的玩家或自己在各种模式中切换!(其实F3+F4更加快捷,不过这个只能针对于自己。)

/gamemode  

这里的目标允许多个实体,但是不能为非玩家的实体!

游戏模式解释 **

游戏模式如下:

游戏模式解释adventure冒险模式creative创造模式spectator旁观模式survival生存模式

示例:

/gamemode survival @a

将所有玩家的游戏模式改为生存模式。

/weather **

用途及用法

学会这个指令,你就是天气之子!

/weather  

将世界的天气改为指定的天气。天气解释如下:

天气

解释clear晴天rain下雨thunder雷雨

持续时间:

先填数字,三个后缀,t是tick(刻),d是day(天),s是秒。默认为tick。

游戏内的时间指示 **

1t(tick,游戏刻)=0.05s。

1s=20t。

1d(day)=24000tick=1200s。

示例:

/weather clear 1000s

设置为晴天持续1000秒。

/give *

用途及用法

可以给予某一个玩家某一种物品。

/give  {NBT} 

物品ID,例如钻石就是minecraft:diamond,这里不把所有的都列举出来(或许你也知道不可能全部列举)。

可以选择多个目标,但是目标不能是除玩家之外的实体。

NBT是什么?其实就是特殊的标签,例如附魔是一个NBT标签,甚至连耐久也是一个NBT标签。

示例:

/give @s minecraft:apple 16

给予命令执行者16个苹果。

/effect *

用途

给予或清除某实体的状态效果。

第一种用法 - 给予效果 *

/effect give    

目标可选多个实体。

给予目标指定状态,持续指定时间秒,等级为指定等级。

注意:时间不能大于1000000秒,等级不能超过255级,或目标若有更强的效果或免疫此效果则无法给予。

指令中的等级要比实际等级少一级,例如等级填1则实际为II级(2级)。

状态ID,例如minecraft:health_boost是生命提升。

若版本≥1.19.4,则持续时间可填infinte,就代表无限时长。

后面可以填true或者false,如果填true则不显示效果粒子且不在右上角显示状态;false则显示粒子效果,在右上角显示状态。如果不填默认为false。

示例:

/effect give @s minecraft:health_boost 99999 4 true

给予命令执行者99999秒的V级(5级)生命提升效果,并且不显示粒子效果。

第二种用法 - 清除效果 *

/effect clear  

清除目标的指定效果,如果效果ID未填则清除目标所有效果。

目标可选多个实体。

示例:

/effect clear @a minecraft:invisibility

清理所有玩家的隐身效果。

/kill *

用途及用法

这个指令可以直接杀死目标,甚至可以杀死创造模式的玩家。

/kill 

杀死目标。目标可选多个实体。

示例:

/kill @e[type=item]

清理所有掉落物。

目标选择器的中括号 - 目标选择器参数 **

为什么这里的目标选择器右边多了一个[type=item]?

简单来说,就是给目标选择器加一个“过滤器”,通过中括号内的内容筛选符合要求的实体并选择它们。

注意:实体必须要符合所有要求才能被选定。

加粗的部分将详细讲述。

名字意思advancements玩家拥有的进度distance实体间的距离dx,dy,dz分别代表x+dx之间的区域、y+dy之间的区域、z+dz之间的区域gamemode玩家的游戏模式level经验等级limit最大实体返回数(简单来说就是最多只选择几个实体)name实体的名称predicate自定义谓词scores实体分数sort对实体排序tag实体拥有的标签team实体所在队伍type实体类型x,y,z分别代表X轴、Y轴、Z轴的位置x_rotation,y_ratation分别代表X轴、Y轴的旋转角度

x,y,z,dx,dy,dz **

这六种在确定一个长方体区域时必不可少,除非特殊情况。如果不写x、y、z,那么默认位置为命令方块或命令执行者所在的位置。

x、y、z可以改变命令方块的命令执行地点。可以单独和distance、sort、limit等搭配。

dx、dy、dz分别指:

x坐标x到dx+x、y坐标y到dy+y、z坐标z与z+dz之间的空间内的实体全部被选择器筛选。

示例:

/kill @e[x=-7,y=60,z=-8,dx=12,dy=12,dz=14]

杀死从(-7,60,-8)到(5,72,6)的区域内的所有实体。

注意:如果你需要找一个原点,最好是找xz延伸都为正数的地方(X轴旋转角度为-45),如下图所示。

这样的好处是:

你无需考虑正负数的问题

修改的时候可以更加轻松

【JE1.20.4】入门指令教程-第2张图片

gamemode *

这个很好理解,就是指定玩家的游戏模式,只有与指定的游戏模式相同的玩家的游戏模式才能被选中。

[gamemode=]

至于四个游戏模式的解释已经在/gamemode指令里讲述了。注意目标需要为玩家。

可以在等号后面加个“!”,意思就是除了这个模式的玩家可以被选中。

示例:

@a[gamemode=creative]

选择所有创造模式的玩家。

level *

选择与指定等级相符的玩家。

[level=]

示例:

@a[level=5..]

选择所有等级大于等于5的玩家。

“..”的解释 **

这里用到了“..”。你可能不理解是什么意思,简单来说,如果把它放在数字的后面就是大于等于,例如:5..就是大于等于5的,1..就是大于等于1的,符合这些条件的也会被选择器筛选;如果把它放在数字的前面就是小于等于,例如:..2就是小于等于2的,..-3的就是小于等于-3的。

也可以这么写:例如在2~9之间,写作2..9。

实际上的意思就是a~b写成了a..b,如果省略其中一个数,例如a..就代表a以及后面所有的数,..b就代表b以及前面所有的数。

distance *

[distance=]

筛选所有命令执行点与实体的距离和指定距离相同的实体。简单来说就是画了个圈,这个圈的半径就是你所填的距离,如果实体正好碰到了这个“圈”,那么就会被选择到。

也可以使用上一个level里的“..”来实现在区域以内或区域之外也能选择到实体。

示例:

@e[distance=..6]

选择命令执行地点的6半径内的所有的实体。

limit *

简单来说,就是限制只能几个实体在这个选择器内,如果超过了则直接不选择那些其他的实体。

[limit=]

不要以为没有什么作用,在只能限定一个实体的指令中可以发挥很大的作用的!

注意:默认排序的方法是看第几个实体,假设你一次都没有死,那你就是这个世界的第一个实体,那么limit将会优先选择你!除非你已经使用"sort"进行排序。sort后面会有介绍。又或者你使用的目标选择器为@p,那么它的默认排序就是看距离命令执行者最近的几个实体。

可以使用负号来进行逆转,例如@p[limit=-1]就是距离最远的那个实体。

示例:

@e[limit=4]

最多只选择4个实体在这个目标选择器内。

name *

选定与指定名字相同名字的实体。

[name=]

最好是给名字打上双引号,虽然不打有时也能成功执行,但是如果名字之间有空格等就必须要打双引号。

示例:

@e[name="Herobrine 3"]

选择所有名字为Herobrine 3的实体。

sort

对其进行排序,最好是与limit一同使用!

[sort=]

排序类型解释如下:

排序类型解释arbitrary根据世界上第几个出现的实体来判断假设你没有死一次,你就是第一个实体,那么生成的第二个实体则被视为第二个实体如果前一个实体死亡则往前补充前一个实体的位置furthest从距离命令执行点最远的实体开始排序,一直到最近的实体nearest与furthest相反,从距离命令执行点最近的实体开始排序,一直到最远的实体random完全随机排序(俄罗斯轮盘赌?猴子排序法?)

示例:

@e[sort=furthest,limit=1]

选择距离命令执行点最远的那一个实体。

tag *

选定与指定标签相同标签的实体。

[tag=]

或许你想问标签是什么?标签其实就是给一个实体挂一个看不见摸不着的“标签”,只有指令才能调用、调整、控制等。至于如何设置标签,在后面的/tag指令会讲到。

示例:

@e[tag=hurt]

选择所有标签为hurt的实体。

scores *

选定所有符合设定分数的实体。

[scores={=}]

你又会问:分数?计分板?这些东西是什么?这些东西会在后面的/scoreboard指令中解释。

这里简单的说一下:其实就是一个隐形的“计分板”,上面可以记录实体的分数。然后仍然可以使用指令来调用、控制等。

示例:

@a[scores={Coin=20..}]

选定所有"Coin"计分板内分数大于等于20的玩家。

team *

选定所有与选定队伍相同队伍的实体。

[team=]

或许你还会问队伍是什么。这将会在后面的/team指令介绍。起床战争玩过吧?红队就是一个队伍。队伍是由一个或多个实体组成的,也一样可以使用指令来控制它们。例如改变其规则等。

示例:

@e[team="Garden Club"]

选定所有在"Garden Club"队伍里的所有实体。

type **

选定指定实体类型的实体。

[type=]

这里的实体ID前面可以加一个“!”来选择除了这个实体外的实体。

@e与其它目标选择器需要区分 **

@a与@e[type=player]需要区分,@e在选择方面是关系到死与活的,当该目标死亡后将不会被选中。如果和@a一样,那么游戏还得保存所有死亡的实体,肯定要消耗大量的内存和更多的计算量。这肯定不行。而@a、@p、@s、@r就无论死活了,除非你选定的不是玩家。

示例:

@e[type=item]

选择所有的物品。

小心,别踩到雷了 - 不可使用多个相同的目标选择器参数

有的人可能会问:为什么我的目标选择器不能选定多个实体,一选就报错。

有可能你就踩到雷了!下面是一个错误示范。

/…… @e[type=pig,type=zombie,type=cow]

这是不行的!如果按照逻辑来看,选定了猪就排除了猪以外的实体,而此时又要在猪里面选定僵尸,这肯定会出大问题。因此,我们只能分条写指令或者使用“!”来排除实体,可以排除多个实体。

/…… @e[type=pig]/…… @e[type=zombie]/…… @e[type=cow]

/kill可不能乱用 - /kill指令的危险性

/kill是一个简单且非常危险的指令,一旦出错就没有后悔药。如果你觉得游戏越来越卡,实体可能是其中的一点,但并不是所有的卡顿都来源于实体。有可能来源于常加载区域过多,或者某些大型红石机器正在运行。除非到了万不得已的时候才能使用/kill @e来清除所有实体。

为什么/kill指令不能乱用?因为,有的实体例如盔甲架也会被/kill指令清除,且盔甲架在指令上面可以发挥巨大的作用,就像是一个锚点。在一个大型的地图中,你觉得太卡输入了/kill @e,如果命令区没有做对盔甲架损坏的修复,那么命令区就废掉了一片。这么做虽缓解了卡顿,但损坏了地图。

还有些实体甚至不是生物:例如画、物品展示框、矿车等,都会被/kill指令一同收割。/kill指令还可以击杀创造模式的玩家。

/clear *

用途

清理玩家的背包或指定物品。目标均不能为除玩家以外的实体!

第一种用法 - 清理命令执行者的背包 *

/clear

没错,就只有/clear!但是小心,千万不要只输入这一个小小的/clear!它会让你自己的背包内的物品全部消失!

第二种用法 - 清理指定目标的背包 *

/clear 

清空目标所选的玩家的背包。

小心点,如果你是一个房间或服务器的管理员,千万不要用这个乱弄一些什么东西!这可是清理背包里所有的物品啊!事实上,如果这个玩家喜欢把东西存在其他地方,其实损失不是很大,不过不建议直接清空背包,除非你一定要干或已经过同意。

示例:

/clear @a

清空所有玩家的背包。

第三种用法 - 清理指定玩家的指定物品 **

/clear   

最大数量指的是最多只清理你几个指定物品,即使没有按照最大数量清理仍然算运行成功。不填则清理所有!

示例1:

/clear @a minecraft:tnt

清理所有玩家背包里的TNT。

示例2:

/clear @s wooden_sword 1

清理自己身上的一个木剑。

/fill & /setblock **

用途

这两个指令均可以放置方块,而/fill可以直接填充一个立方体,/setblock只能放置一个方块。

这需要看情况,如果你仅仅只是放置一个方块那么建议使用/setblock,因为这样你将少写一个坐标并且修改的时候更加便捷。

如果你需要放置一个立方体而不仅仅是一个方块,那么需要用到/fill。

/fill - 用法 *

/fill       {NBT} 

第一个xyz则在红色羊毛处,第二个xyz则在蓝色羊毛处,两点形成立方体。(那个浮空的蓝色羊毛不是!)

【JE1.20.4】入门指令教程-第3张图片

特殊状态如下:

特殊状态解释destory破坏原有方块,再替换指定方块hollow空心立方体,但是内部直接替换为空气keep只填充空气部分outline空心立方体,但是内部不直接替换为空气,与hollow需要区分!replace替换指定的方块(/fill ...... replace )

示例:

/fill ~-2 ~-1 ~-2 ~2 ~-1 ~2 minecraft:wool keep

还记得之前的"~"吗?在fill这里,可以起到很大的作用了!

如果该示例未输入错误,则应为:脚底下一格将空气部分填充了5*5*1的羊毛平台。如果你是站在地上的请删除后面的keep。

/setblock - 用法 *

/setblock    {NBT} 

/setblock只能改变一个方块,如下图的铁块就是使用/setblock所放置。

指令:

/setblock 1000 100 1000 minecraft:iron_block

【JE1.20.4】入门指令教程-第4张图片

与fill不同的是:

只能放置一个方块

特殊状态没有hollow和outline,replace为直接放置而不是替换指定方块

destory和keep的作用和fill的是一样的!

示例:

/setblock 90 100 100 minecraft:air destory

破坏(90,100,100)位置的方块。

/time **

用途

修改或查询时间。

第一种用法 - 仅修改时间 **

/time set 

直接把时间修改至指定的时间。

也可以使用上述/weather 的后缀。

忘了?先填数字,三个后缀,t是tick(刻),d是day(天),s是秒。默认为tick。

这里还能填noon等,它们代表:

文字解释day第1000刻midnight第18000刻night第13000刻noon第6000刻

第二种用法 - 时间快进 *

/time add 

将时间快进指定的时间。当然,仅仅只是调一下太阳和月亮罢了。

这里快进的时间仍然可以使用那三个后缀。

示例:

/time add 2s

将时间快进2秒(40tick)。

第三种用法 - 查询时间

/time query 

查询指定类型的时间。解释如下:

类型解释day这个存档的第几天(从第0天开始)daytime这一天到了第几刻gametime这个存档经过了多少刻

示例:

/time query day

查询这个存档目前是第几天。

/summon *

用途及用法

召唤指定实体。

/summon     {NBT}

将指定实体生成至坐标指定的地点,如果没有指定则默认为命令执行点的位置。

示例:

/summon minecraft:lightning_bolt 82 90 17

召唤一道闪电在(82,90,17)处。

/enchant *

用法及用途

给指定玩家手上物品进行附魔。

/enchant   

必须符合以下要求才能成功附魔:

该附魔可以正常附魔在手上的物品上

无其他冲突附魔

没有原有附魔

等级未超出最大等级

附魔ID,例如minecraft:sharpness就是锋利。

示例:

/enchant @a[level=8..] minecraft:sharpness 5

给所有等级大于等于8的玩家手上可附魔锋利的物品附魔锋利V。

/gamerule **

用途及用法

修改或查询游戏规则。

/gamerule  

如果不填后面的启用或关闭则查询游戏规则的开关或数值。

游戏规则,例如keepInventory就是死亡不掉落,commandBlockOutput就是命令方块执行时是否输出执行消息。

示例:

/gamerule commandBlockOutput false

关闭命令方块每次执行显示的消息。

/xp *

用途

可以修改、增加、扣除、查询玩家的经验等级。

第一种用法 - 增加经验等级 *

/xp add   

数值可为负数,就是负增长。

如果后面填的是levels那么就是以等级做单位,如果是points则以经验值做单位!

示例:

/xp add @a[level=7..] -1 levels

扣除所有7级及以上的玩家1级经验。

第二种用法 - 查询经验等级情况

/xp query  

示例:

/xp query Mc.Undy levels

查询Mc.Undy有多少级。

第三种用法 - 直接调整经验等级 *

/xp set   

和第一种用法的格式差不了多少,但是这个是直接修改。

示例:

/xp set @s 99999 levels

将命令执行者的等级设置为99999级。

/clone **

用途及用法

复制一个立方体区域内的方块到一个指定坐标。

/clone    [masked|replace|filtered ] [force|move|nomal]

选择立方体区域和fill一样。

至于怎么粘贴的:

指令:

/clone 99 56 99 101 56 97 103 56 99

效果如图:

【JE1.20.4】入门指令教程-第5张图片

其实就是第一点和第二点围成的立方体粘贴到指定地点,不过粘贴点是从第一点开始粘贴的。

还有后面的那些文字,解释如下,若不填则默认:

第一块

特殊效果解释filtered 仅复制filtered选定的方块masked不复制空气replace复制空气(默认)

第二块

特殊效果解释force允许粘贴部分包含复制部分move类似于剪切,粘贴后清除复制部分normal不允许粘贴部分包含复制部分(默认)

注意:一定要先输入第一块再填第二块。

/tag *

用途

给予实体一个“标签”。

第一种用法 - 添加标签

/tag  add 

给目标添加一个标签,名字为设定的名字。

示例:

/tag @e[name=herobrine] add god

给予所有名字为herobrine的实体标签,名字为"god"。

第二种用法 - 查询目标所拥有的标签

/tag  list

查询目标所拥有的标签。

第三种用法 - 清除标签

/tag  remove 

移除目标的标签,注意该目标需要拥有该标签才能清除该标签,否则将执行失败。

示例:

/tag @e remove aaa

清除所有实体的名为"aaa"的标签。

/setworldspawn

用途及用法

更改世界出生点,也就是最初始的出生点。

/setworldspawn [xyz]

将世界出生点更改为指定的位置。若不填写位置则默认为命令执行者当前位置。

/defaultgamemode

用途及用法

将默认的游戏模式改为指定的游戏模式。

可应用于服务器中,所有新来的玩家的游戏模式将会是这个模式。

游戏模式的介绍已经在前面的/gamemode所介绍。

/defaultgamemode 

/spawnpoint

用途及用法

修改指定玩家的出生点。

注意:与/setworldspawn需要区分,请不要把该指令当作/setworldspawn,这个指令仅修改指定玩家的出生点,而/setworldspawn是作为全局的修改,所有玩家第一次进入游戏或未设置其它重生点时重生将会在此处。

/spawnpoint [目标] [xyz]

目标需为玩家。

将指定玩家的传送点设置为指定位置。不填位置则默认命令执行点的位置,不填目标则默认命令执行者的命令执行点的位置。

/worldborder

用途

修改世界的边界。默认为59999968格,且最大也是这个值。

这里的大小是边界的边长,中间的空间是一个正方形,玩家不能正常走出这个边界,在边界外也不能破坏方块、放置方块、攻击生物等。离开边界越远,扣除的生命值越多。

【JE1.20.4】入门指令教程-第6张图片

【JE1.20.4】入门指令教程-第7张图片边界效果展示

用法

add

将边界大小增加多少格。可为负数。可填入所需时间,就像缩圈一样,不填就是瞬间修改。

/worldborder add  [持续时间]

center

修改边界的中心点,这个中心点一旦改变整个边界的位置会随着中心位置的变化而变化。坐标仅需填入x和z坐标。

注意,中心点建议不手动填入小数(除非是x.5),因为边界即使不满一格,它也算一格,如果填入小数,那么将难以判断边界大小和中心点。建议直接输入整数,游戏会自动调整。

/worldborder center  

damage

修改边界所造成的伤害。

amount

超出缓冲区后,每多出几格,伤害就增加1点。

/worldborder damage amount 

buffer

设置缓冲区范围,也就是超出边界后的缓冲区,在缓冲区范围内不会受到伤害,但超出后将会造成伤害。

/worldborder damage buffer 

get

获取当前边界大小。

/worldborder get

set

直接调整边界大小。可填入调整时间,不填入则瞬间修改。

/worldborder set  [时间]

warning

距离边界较近时,则会触发警告。这个语句可以调整它。

【JE1.20.4】入门指令教程-第8张图片

警告状态如图,周围有红色的晕影

distance

当距离边界的距离到达一定的时候,则开始触发警告。

/worldborder warning distance 

time

当边界变化且有时间要求的时候,它可以“预测”边界是否即将到来。把它拉到一个非常大的数值的话,相当于判断你是否进入了边界变化后的地方。如果填入其它的值,例如你填的是20,那么边界如果20秒后将会变化到这个位置,就会触发警告。

/worldborder warning time 

/item

用途

这个指令可以修改某一个实体某一槽位的物品。可用来替换实体武器等。

用法

注意:方块必须是容器。

modify

赋予修饰器,不过这里只讲用法,修饰器不介绍。

block

赋予某一位置的方块的某一槽位的物品一个修饰器。

/item modify block   

entity

赋予目标某一槽位的物品一个修饰器。

/item modify entity   

replace

替换某一位置的方块或目标某一槽位的物品。

/item replace block   from   /item replace block   with {NBT} [物品数量]/item replace entity   from   /item replace entity   with {NBT} [物品数量]

from是将from后面的某一位置的方块或目标的某一个槽位替换到from前面的某一位置的方块或目标的某一个槽位。

with是直接选定一个物品替换指定槽位。

/difficulty

用途及用法

调整存档的难度。

难度解释如下:

难度解释easy简单normal普通hard困难peaceful和平

/difficulty 

可能就只是本体长一点吧,基本没有复杂度。

示例:

/difficulty easy

调成简单模式。

/locate

用途

查询指定的群系、结构和兴趣点的位置。只能查到距离最近的那个地方,位置一般都是这个地方的中心点。

执行命令后,点击输出的坐标,便会自动在聊天框内输入tp指令。

注意:不会确定y坐标。

用法

structrue

/locate structrue 

查询指定的最近的结构的位置。有的ID前面拥有“#”,这是代表不管哪个种类的只要是这个就可以找到,例如村庄。

示例:

/locate structure #minecraft:village

查询距离最近的村庄的位置。

poi

/locate poi 

查询距离最近的指定的兴趣点位置。

biome

/locate biome 

查询距离最近的指定的群系位置。

学会使用命令方块 ***

获取命令方块 *

第一种方法 - 直接使用give指令

/give @s minecraft:command_block

给予命令执行者一个命令方块。

第二种方法 - 管理员用品标签页

进入“选项...”,找到“控制”,打开“管理员用品标签页”,即可在创造模式直接提取命令方块。

【JE1.20.4】入门指令教程-第9张图片

【JE1.20.4】入门指令教程-第10张图片

【JE1.20.4】入门指令教程-第11张图片

命令方块界面解析

【JE1.20.4】入门指令教程-第12张图片

命令方块的三种形态 *

脉冲

脉冲命令方块外表呈橙色。“红石控制”状态输入红石信号或“保持开启”时只会执行一次。

连锁

连锁命令方块外表呈青色。只有指向它的命令方块执行成功后,它才能被执行。

若为“红石控制”,则还需要输入红石信号才能执行。一般情况下建议使用“保持开启”。重复

重复命令方块外表呈紫色。“红石控制”状态输入红石信号或“保持开启”时,会一直执行,直到红石信号消失或不再使用“保持开启”。

请谨慎使用重复命令方块执行生成实体(/summon)、清除实体(/kill)、传送(/tp)等指令。

命令方块的“条件” *

不受制约

简单点说就是管你怎么样,满足自己的条件就直接执行。

条件制约

只有后面的命令方块执行成功后,并且满足条件才能执行。条件制约的命令方块的箭头平的那个底会少一块。

【JE1.20.4】入门指令教程-第13张图片

如图,左边的是普通命令方块,右边的是条件制约命令方块

命令方块的激活条件

红石控制

可以用红石信号来控制命令方块。当输入红石信号则执行。

保持开启

无论如何,只要该区域被加载,就一直执行。除非打开了条件制约。

连锁命令方块的摆法 *

【JE1.20.4】入门指令教程-第14张图片

直线摆放 √

【JE1.20.4】入门指令教程-第15张图片

折角摆放(请注意,折角处的命令方块若为条件制约命令方块,那么该命令方块的后方也得有命令方块成功执行) √

【JE1.20.4】入门指令教程-第16张图片

逆转(这样会导致断开) ×

【JE1.20.4】入门指令教程-第17张图片

  循环利用(除非使用的是循环命令方块) ×

【JE1.20.4】入门指令教程-第18张图片

“放生摆法”×

命令方块的工作 *

每个命令方块在激活状态下每tick只会执行1次。即使是保持开启的循环命令方块。但是可以1tick有多个命令方块执行。

连锁命令方块在与其他命令方块(例如脉冲)搭配时,它们均为1tick内执行完毕。不过有先后顺序,例如“折角摆放”的图片,就是这样的。不过如果TPS(实际上游戏1秒执行多少tick的一个标准,最高20)低或锁链命令方块个数太多,仍然有概率出现乱序的情况。

1tick=0.05s,在TPS为20的情况下(完全不卡顿)。

回归主题 - 稍复杂的指令

/execute ***

用途

自1.13+的/execute扁平化,execute可变成了一个巨大的工具箱。

/execute不仅继承了1.12.2-的/execute的用途,还将/testfor等检测指令也一块融入进去,甚至还有更多的功能,例如计算实体、血量显示,还有更加酷炫的指令效果。

但是,全新的/execute可难倒了不少的MC老玩家!这一个模块将专门介绍/execute。

只有高深的语法不会详细介绍,基础用法会详细介绍。

as **

as是什么?很多人从第一步就开始懵了。

/execute ... as  ...

as的意思是:将as选定的目标作为命令执行者,这个目标允许多个实体。相当于把命令方块“插入”进了目标的“身体”内。

从允许多个实体来看,可见execute的恐怖性。若有多个实体,那么将会执行多次。但小心点,要是用在只允许一个实体你选择了多个实体还用了@s,有可能仍然会出现问题。

示例:

/execute as @e[name="herobrine"]

将所有名为"herobrine"的实体选定为命令执行者。

当你在测试的时候,你可能会出现这样的情况:明明命令执行者是它,为什么执行命令的位置还是在我这里?这将要使用下面的“at”。一般情况下as和at是搭配的,除非特殊情况。

at **

/execute ... at  ...

将命令执行的位置切换到指定目标的位置。与as搭配最佳。目标允许多个实体。

示例:

/execute as @a at @s

将所有玩家设置为命令执行者并将命令执行点全部分别切换给那些玩家。相当于老版本的execute——1.12.2及以下的/execute @a。

run **

/execute .... run 

执行命令。当然,这个执行命令将包含前面所确定的条件。

示例1 - 雷电雪球(需要使用循环保持开启命令方块):

/execute as @e[type=snowball] at @s run summon lightning_bolt

将所有雪球设为命令执行者;将命令执行点设置为所有雪球所在的地方;召唤闪电。

如果将该实例输入于保持开启、不受制约的循环命令方块,那么你丢出去的雪球将会不断的召唤闪电。

示例2 - “杀戮光环”(需要使用循环保持开启命令方块):

/execute as Mc.Undy() at @s run kill @e[distance=1..4.5]

将Mc.Undy设为命令执行者,将执行地点设置为命令执行者所在的位置,杀死所有距离命令执行者1格~4.5格的实体。

如果将该实例输入于保持开启、不受制约的循环命令方块,那么你半径为4.5格内的所有实体将全部杀死,除了半径1格内的实体,也就是你。如果你觉得不保守,可以加上“type=!player”。

align *

/execute ... align 

执行命令时,将指定的轴的坐标化为整数(去尾法)。

例如x就是将x坐标化整,xy就是将x和y坐标化整,yz就是将y和z坐标化整。

下图就是效果。最后一条消息是使用下面这个指令执行的。

/execute as @s align xyz run tp ~ ~ ~

【JE1.20.4】入门指令教程-第19张图片注意:一定要贴紧,不能写成/execute ... align x y z。

示例:

/execute as @s align xyz run tp 1.14 5.14 191.981

将自己设为命令执行者,传送至(1,5,191),而不是(1.14,5.14,191.981)。

anchored *

/execute ... anchored 

你可能不知道feet和eyes选了有什么用,如果你尝试使用它的话,会发现根本就没什么稀奇事。

局部坐标 - "^" **

但是,除了“~”,还有一个:“^”(局部坐标)。

“^”的作用是什么?如果你使用 ^ ^ ^ ,那么效果和 ~ ~ ~ 差不多。不过不能和世界坐标混合。

“^”的用法:

“^”的用法解析^1 ^ ^命令执行点左手边1格^ ^1 ^命令执行点上方1格^ ^ ^1命令执行点前面1格^-1 ^ ^命令执行点右手边1格

局部坐标会随着视角的变化而变化,你面朝哪,它就变到哪(除非你直接使用^ ^ ^,那还不如使用~ ~ ~)。

简单来说,相当于从你脚底下(默认)射出3道“激光”,向前射出的“激光”的方向与你的视角朝向相同,且其它两个“激光”将会以一个类似XYZ坐标轴一样跟随变化。

“激光”就相当于一个轴,向前射出的这个“激光”对应局部坐标的第三个值,向左射出的“激光”对应局部坐标的第一个值,向上射出的“激光”对应局部坐标第二个值。这些值可以为负数,它就会变到右边去。

上面的用法,也就是指“激光”延伸了几格,例如^ ^ ^3就是按前方的激光开始延伸,延伸3格就是那个位置。

【JE1.20.4】入门指令教程-第20张图片

如图,使用简单的画图来说明其三个激光表达的意思。

如果你仍然不理解“^”的用法,那么:

【JE1.20.4】入门指令教程-第21张图片

这里图片标错了,应该是^1 ^ ^

【JE1.20.4】入门指令教程-第22张图片

这里图片标错了,应该是^ ^2 ^

【JE1.20.4】入门指令教程-第23张图片

^ ^ ^3 (图中那只鸡就代表该位置)

那么回到正题:这里“^”默认从脚开始延伸,那么这个就可以改变:

eyes - 从眼睛处开始延伸(头)

feet - 从脚部开始延伸(默认)

示例:

/execute anchored eyes as @s at @s run summon chicken ^ ^ ^3 {NoAI:1}

NoAI是一个NBT,若该值为非0,那么这个生物将没有AI且无法正常移动。下图是展示结果。框中的鸡是使用上述指令生成的。

【JE1.20.4】入门指令教程-第24张图片facing *

第一种用法 - 朝向一个坐标

/execute ... facing 

这里的facing不仅仅针对于tp,还针对于更多:例如/summon、/setblock等等。使用上述的“^”,facing就可以发挥巨大的作用。

第二种用法 - 朝向一个实体

/execute ... facing entity  

目标不允许多个实体。

这里不建议将它放在后面,因为放到后面可能会受到as的影响,除非其他情况。放到后面的话问题也不是很大。

eyes和feet的作用和anchored差不多,不同点在于是朝向目标的脚还是眼睛。

if *

若符合条件则正常执行execute。

相当于你写程序的if。不过if里面有很多个条件,解释如下,粗体的将详细介绍:

if条件解释biome你所在的群系block与选定方块相比较blocks与选定区域内的方块和选定的一个点相比较data目标是否拥有选定的数据dimension命令执行者是否处于所选定的维度entity类似于/testfor,命令执行者是否与选定的目标类型一致fuction*未知*loaded选定位置是否被加载predicate*未知,可能是谓词*score选定的目标与另一个选定目标的分数是否符合要求

biome

选定的位置是否在于该群系。

返回为测试通过(1)或测试失败(0)。

/execute ... if biome  

不做示例。

block

选定位置的方块是否与选定方块相符。

返回为测试通过(1)或测试失败(0)。

/execute ... if block  

示例:

/execute if block 1 1 1 minecraft:sandstone

(1,1,1)处是否为沙石。

blocks

和clone的位置计算差不多,这里不再多说,仅仅只是粘贴地点变为了检测地点,若不知道请回去看/clone的指令教程。

/execute if blocks   

all代表包含所有方块,masked则不包含空气。

返回值为符合要求的方块数量,但凡有一个不符合则直接测试失败(0)。

dimension

命令执行者是否在指定的维度。

返回值为测试成功或测试失败。

minecraft:overworld是主世界,minecraft:the_nether是下界,minecraft:the_end是末地。有的模组可能添加了更多维度。

/execute ... if dimension 

entity

命令执行者是否与指定目标相符(目标可为多个实体)。

返回值为与之对应的实体个数(也就是目标的个数),但凡有一个不符合则为测试失败(0)。

/execute ... if entity 

loaded

选定的坐标是否被加载。

返回值为测试成功或测试失败。

/execute ... if loaded 

score

第一种方法 - 比较

/execute ... if score     

目标的分数与另一个目标的分数相比较。分数的知识将会在后面的/scoreboard里讲述。

关系运算符:>是大于,>=是大于等于,=为等于,< —— 交换两者的分数

示例:

/scoreboard players operation Steve Coin += Alex Coin

将Steve的Coin分数加上Alex的Coin分数。假设此时Steve的分数为5,Alex的分数为8,输入该示例后,Steve的分数将变为13。

remove

把add换成remove,然后就是把加变成了减,和add格式一样。

扣除目标计分板分数。

reset *

重置目标计分板,也就是直接清除该目标。

/scoreboard players reset  

set **

直接修改目标计分板分数。

/scoreboard players set  

/team **

用途

/execute很难,/scoreboard可以说更上一层楼。经过两大指令的碾压后,又有一个大型指令——/team!

想制作一个帝国?想制作起床战争?想制作枪战?想制作类似于战桥的小游戏?要是不学/team指令,你想得美!

/team指令可以让多个实体在一个队伍里,这些实体不会互相引起仇恨,甚至可以让它们不会互相造成伤害,还可以给名字添加前缀、后缀,乃至给实体一点颜色!

/team指令可以干的事也不少,想用好也是相当的困难,那么这个板块将专门介绍/team指令。

add **

/team add  [队伍显示名称]

显示名称需要使用JSON文本。

添加一个指定的队伍。

empty *

/team empty 

清空该队伍的所有成员。

join **

/team join  

让指定目标进入一个队伍。

leave *

/team leave 

让目标退出所有队伍。我突然发现麻将写的这些指令好极端

list

/team list /team list 

不添加队伍名称则查询所有队伍,添加队伍名称则查询该队伍的所有成员。

modify *

改变指定队伍的属性。解释如下:

属性解释collisionRule碰撞规则:always|所有 never|都不 pushOtherTeams|仅其他队伍玩家 pushOwnTeam|仅队友好队友color颜色:在后面添加指定的颜色deathMessageVisibility死亡消息对谁可见:always|所有 never|都不 hideForOtherTeams|仅队友 hideForOwnTeam|仅敌方好队友2.0displayName修改显示名称——使用JSON文本friendlyFire是否开启友伤 false关,true开好队友3.0+营养师perfix名字前缀——使用JSON文本seeFriendlyInvisibles队友隐身是否可见 false关,true开nametagVisibility名字对谁可见:always|所有 never|都不 hideForOtherTeams|仅队友 hideForOwnTeam|仅敌方好队友4.0suffix名字后缀——使用JSON文本

remove **

清除一个队伍。让一个队伍灭亡

/team remove 

中场休息 - 非作弊可用的指令

被三个大指令轰的头晕脑胀了吧!休息一下,让我们看看那些纯生存不开作弊的玩家到底能用什么好指令。

/help

用途及用法

你有了教程还要help干什么?

/help 

/me & /tell & /w & /msg & /teammsg

用途

/me是一个发送消息的指令。你说话时,名字将不再被尖括号括中,而是换成前面一个星号,然后空一格,再是你的名字,最后是你发送的消息。

/tell、/w、/msg、/teammsg(/tm  这里的tm不是骂人的意思,是teammsg的简写)都属于私聊。

/teammsg仅用于队伍聊天,内容将直接发送给所有队友,只有队友可见。

/tell、/w、/msg用途全都一样。

用法

/me:

/me 

/w & /tell & /msg

/w(/tell、/msg)  

/teammsg:

/teammsg 

/seed

单人游戏该指令无需作弊使用,但多人游戏则需要管理员权限,原因是怕你抢了种子自己玩。

直接输入/seed即可获得种子码。单击输出的数字即可复制。

/trigger

只能修改你的trigger类型计分板的分数。而且你还得被启用触发器才能进行修改。

add为增加,set为调整。

/trigger   

/random

随机数生成器。如果你闲的没事,可以玩一下这个MC自带的骰子。

/random roll  —— 掷筛/random value  —— 仅随机数

建议使用之前介绍的“..”。

/list

只需输入该指令即可查询服务器内的所有玩家和最大人数。

中场休息结束!继续开始指令之旅——输出

做一个解密地图,你不输出点东西打算用方块表达你此时的情感吗?这个大板块将介绍输出文字的指令。

/say

用途及用法

最简单的输出也是最差的一个输出。虽然输出指定实体名称以及文字十分简单,但它却不兼容颜色、加粗等格式,/say指令仅仅只是给那些不会指令的人用的。

可以直接使用目标选择器输出实体名称。输出后,前面的[]里面填写的是命令执行者的名字。就是因为这一点导致/say变得十分低端。不仅不稳定,还无法移除。

/say 

/tellraw **

/tellraw  

使用JSON文本来输出文字。这个是效果最好同时也是最难的一个文字输出。不仅自定义、毫无破绽,还可以加粗、变色等等。

[] - 当有多个文本数据,请使用这个框起来

{} - 一个文本数据

"text" - 文本。后面应该加上—— :""

"score" - 计分板。后面应该加上——:{"objective":"","name":""}

"selector" - 目标选择器。后面应该加上——:""

……

修饰:如果你不会的话,先加一个英文逗号,然后粘贴在上面的三个文本内容后面:

"color":"","bold":false,"italic":false,"underlined":false,"strikethrough":false,"obfuscated":false

color - 设定指定颜色

bold - 粗体

italic - 斜体

underlined - 下划线

strikethrough - 删除线

obfuscated - 乱码

粘贴后,如果想调用粗体就把bold后面改为true即可,后面的都是如此。

例如:

/tellraw @a {"text":"Hello world!","color":"green","bold":true,"italic":false,"underlined":true,"strikethrough":false,"obfuscated":false}

输出一个绿色加粗加下划线的Hello world 给所有玩家。

【JE1.20.4】入门指令教程-第25张图片

/title **

用途

显示标题。使用JSON文本。

用法

actionbar

在物品栏上方显示文本。

【JE1.20.4】入门指令教程-第26张图片

/title  actionbar 

title

在屏幕中间显示文本。

【JE1.20.4】入门指令教程-第27张图片

/title  title 

subtitle

首先要显示title标题再显示subtitle标题。生成于title的下方。

【JE1.20.4】入门指令教程-第28张图片

/title  subtitle 

clear

清除目标玩家的title和subtitle。仅这两个显示的时候才能清除。

/title  clear

reset

重置目标玩家淡入、显示、淡出的时间。

/title  reset

times

修改玩家的标题淡出、淡入、显示时间。

/title  times   

/playsound

用途

输出声音,让你的命令不再单调无趣。

用法

/playsound     [音量] [音调]

音调在0~2之间选,超出就会报错。

示例:

/playsound minecraft:block.anvil.use ambient @a ~ ~ ~ 100 2

播放一个铁砧被使用的声音,音调为2,声音大小为100,给所有玩家播放,声音类型ambient(主音量)。

/particle

用途

可以用指令召唤粒子效果,让你的指令质量更进一步!

用法

/particle  [xyz] [分散程度-xyz] [分散速度] [数量] [force|normal] [可见的目标]

注意:这里可填可不填处必须前一个填了才能填这一个。

不填位置默认命令执行点,不填分散就不分散,不填分散速度就只分散不往外分散,不填数量就只生成一个,不填force|normal默认normal,不填可见的目标则所有人可见。

/bossbar

用途

显示像凋灵那样的血条在屏幕上。

用法

add

/bossbar add  

添加一个bossbar。

get

获取bossbar的数据。解释如下:

数据解释max最大值players可以看见的玩家value当前值visible是否可见

list

查询有哪些bossbar。

remove

删除bossbar。

/bossbar remove 

set

可以修改bossbar的数据,解释如下:

数据解释color 修改颜色max 修改最大值name 修改名称players 修改可见玩家style 修改类型 notched_(数字)|一个条几格   progress|没有格子value 修改当前值visible 是否可见/bossbar  set 

来点新花样!

/tick

用途

想体验时间加速、暂停的感觉吗?tick指令可以帮到你!

但是请注意,tick指令为性能优先,如果性能不足以满足其要求,那么指令也无法满足。

freeze

简单点说,就是时间暂停。The World/咋瓦鲁多

冻结游戏的tick,输入后整个游戏都会暂停,但你仍然可以进行操作。

/tick freeze

query

查询目前的tick情况。

/tick query

sprint

简单点说,就是快进时间。性能越好,加速越快。不过这个有时间限制。

/tick sprint 

rate

强行修改最大TPS。默认20。简单来说就是修改游戏速度,但你本人不变(除非你调低了TPS)。

/tick rate 

step

在冻结状态下使用该指令,世界会运行你所指定的时间,时间结束后继续冻结。

/tick step 

unfreeze

取消冻结。

/tick unfreeze

/damage

用途

对指定实体造成伤害,还可以让指定目标对目标造成伤害。

用法

/damage   /damage    at /damage    by 

第一个指令是单纯的对目标造成指定伤害。

第二个指令是在某一个位置对目标造成指定伤害。

第三个指令是一个攻击者目标对一个目标造成指定伤害。

一些指令模板

搭桥蛋

需要达成的效果:投出去的鸡蛋的下面会不断生成方块。

需要用到的指令:/execute。

知识点包含:/execute、/fill、目标选择器参数、“~”的运用、命令方块。

首先需要放置一个命令方块,调成循环、不受制约、保持开启的状态。

在命令方块里使用/execute来确定命令执行者和命令执行点。命令执行者应当是一个鸡蛋,鸡蛋的ID是minecraft:egg。

/execute as @e[type=minecraft:egg] at @s

然后就可以执行命令了。使用fill来放置方块。

这里如果使用/setblock的话,那么效果会比较差。丢出鸡蛋后,你只会看到一根细线,在上面走路会十分艰难。

大小需要为2*1*2。这是大多数起床战争中搭路蛋生成的平台的大小。使用之前的“~”即可完成2*1*2的平台。

注意:这里的y坐标需要往下调一格,否则丢出去的鸡蛋会立即破碎。

然后只替换空气,这将会用到keep。方块可按自己的爱好挑选。

/execute as @e[type=minecraft:egg] at @s run fill ~ ~-1 ~ ~1 ~-1 ~1 minecraft:white_wool(或者其它的方块都可以) keep

你可能不理解坐标部分 ~ ~-1 ~ ~1 ~-1 ~1 的意思:

例如鸡蛋现在正好在(0,0,0)的位置,那么选定的第一个坐标将是(0,-1,0),第二个坐标将是(1,-1,1),两点形成立方体,就是一个2*1*2的平台了。

可以使用这个指令关闭命令方块总是发出的消息。

/gamerule commandBlockOutput false

简单防熊机构

需要达成的效果:不能让玩家获取TNT、重生锚、末影水晶等会对地图造成破坏的物品。

需要用到的指令:/clear。

知识点包含:/clear、命令方块的运用。

首先放置若干个命令方块,这取决于你需要禁用的物品种类数量。

将这些命令方块设置为 循环、不受制约、保持开启。

若想禁用TNT,请在命令方块下输入这条指令:

/clear @a minecraft:tnt

禁用重生锚:

/clear @a minecraft:respawn_anchor

禁用末影水晶:

/clear @a minecraft:end_crystal

常用NBT列表

大部分入门指令玩家都只知道普普通通的给予物品、召唤生物等。

这个板块会介绍一些常用的NBT。

NBT常常用花括号装起来。

物品

物品的NBT需要接在物品的ID后面,例如/give的物品ID。

AttributeModifiers

这个物品附加的属性。

请注意:下面五项缺一不可!

Amount

增加的数值。(可为负数)

AttributeName

附加的指定属性。需要加上英文双引号。

minecraft:generic.armor —— 护甲值

minecraft:generic.armor_toughness —— 盔甲韧性

minecraft:generic.attack_damage —— 攻击伤害

minecraft:generic.attack_knockback —— 攻击的击退

minecraft:generic.attack_speed —— 攻击速度

minecraft:generic.flying_speed —— 飞行速度

minecraft:generic.follow_range —— 生物跟随距离

minecraft:generic.knockback_resistance —— 击退抗性

minecraft:generic.luck —— 幸运值

minecraft:generic.max_absorption —— 最大伤害吸收值

minecraft:generic.max_health —— 最大生命值

minecraft:generic.movement_speed —— 速度

minecraft:horse.jump_strength —— 马的跳跃高度

minecraft:zombie.spawn_reinforcements —— 僵尸增援

Slot

在哪个位置会触发增加属性。

【JE1.20.4】入门指令教程-第29张图片offhand是副手。

Operation

确定数值的增加方式。

0 —— 直接加

1 —— 乘其

2 —— 百分比

UUID

如果你实在不会的话,就可以像这样填:

在后面填上:[I;(随便填一个较大的数字例如123123123),(仍旧),(仍旧),(仍旧)]

即使是随便填仍然可以成功获得带属性的物品。但是太小的值仍然不行。

组合示例

按照示例的格式来写,否则就会报错或者没有达到预想效果。

示例1(带甲钻石):

/give @s minecraft:diamond{AttributeModifiers:[{Amount:4,Slot:offhand,AttributeName:"minecraft:generic.armor",Operation:0,UUID:[I;-665357231, 150618986, -1750808770, -61087036]}]}

输入该示例无误,你会获得一个放在副手上能增加4点护甲值的钻石。

示例2(血量翻倍器):

/give @s minecraft:diamond_helmet{AttributeModifiers:[{Amount:1,Operation:1,Slot:head,AttributeName:"minecraft:generic.max_health",UUID:[I;-1351781095, 898646926, -2023483278, -421624943]}]}

输入该示例无误,你会获得一个戴到头上能将你的血量翻倍的钻石头盔。

示例3(沉重的砖头):

/give @p brick{AttributeModifiers:[{Amount:13,AttributeName:"minecraft:generic.attack_damage",Operation:0,Slot:mainhand,UUID:[I;-143699112, 515654588, -1783992746, 675479606]},{Amount:-3.5,AttributeName:"minecraft:generic.attack_speed",Operation:0,Slot:mainhand,UUID:[I;-1974180994, 1545554443, -2039068235, 143229125]}]}

请注意,该示例不能直接输入至聊天框。请使用命令方块。

输入该实例无误,你会获得一个攻速0.5,伤害为13的砖头。

CanDestory

指定该物品在冒险模式能破坏什么方块。

示例:

/give @s minecraft:diamond{CanDestroy:["minecraft:sand","minecraft:red_sand","minecraft:gravel"]}

获得一个能破坏红沙、沙子、沙砾的钻石。

可以用在解密地图中。

BlockStateTag

只有方块才能使用该NBT,且只有一部分方块对该NBT有效。

设置该方块的标签。

例如TNT,它有一个unstable的标签,意思是是否能破坏激活TNT。

BlockEntityTag

只有方块才能使用该NBT,且只有部分实体方块对该NBT有效。

设置该实体方块的标签。

例如箱子,它有一个Lock的标签,意思是只有指定名字的物品才能打开这个箱子。

【JE1.20.4】入门指令教程-第30张图片

【JE1.20.4】入门指令教程-第31张图片

如图,正常情况下无法打开,只有手持指定名字物品才可打开,但仍可以摧毁

CanPlaceOn

只有方块可以使用该NBT。

该方块可以放在哪个方块上面。其格式与CanDestory相似。

display

设置物品的名字及描述。

color

仅对皮革套装的装备有效,若是其它的物品则只会像下图这样。

输入一个整数,然后转化为像#ffffff那样的颜色格式。

【JE1.20.4】入门指令教程-第32张图片

Lore

对该物品的描述。

后面的内容需要使用中括号括起来。

首先需要一个成对的单引号,在内部填入JSON文本。若需要多个描述则需要逗号隔开,新添加的描述会换行。

例如:……Lore:[ ' {"text":"介绍"} ',' {"text":"介绍第二行"} ',…… ]……

默认格式为深紫色+斜体,你可以通过JSON文本的修饰来修改这一项。

Name

设置该物品的名称。

和Lore的格式差不多一致,但只能添加一个且不需要中括号。

例如:……Name:' {"text":"介绍"} '……

默认格式为白色+斜体,你可以通过JSON文本的修饰来修改这一项。

组合示例

示例:机密文件(?

/give @s minecraft:music_disc_pigstep{display:{Name:' {"text":"机密文件","italic":false} ',Lore:['{"text":"[→ 暗区物资","italic":false,"color":"white"}','{"text":"传闻与某场事件的真相有关,是暗区中最神秘的文件,各方势力都不惜花大价钱在市场中购买这份文件","italic":false,"color":"white"}']}}

【JE1.20.4】入门指令教程-第33张图片Enchantments(必学NBT)

该物品将带上什么附魔。

格式如下:

……{Enchantments:[{lvl:,id:""},{...}],……}

附魔ID,例如锋利就是minecraft:sharpness,你可以在B站的附魔ID对照大全或Wiki来查找它们。填入附魔ID时可省略命名空间(minecraft:),但保险起见建议填入(需要英文双引号,就像格式那样括起来)。

示例:

/give @a minecraft:diamond_sword{Enchantments:[{lvl:10,id:"minecraft:looting"}]}

获得一把抢夺X的钻石剑。

附魔无视任何限制(除了最大上限为255级,最低不低于0级)。

HideFlags

用作隐藏物品的某些资料,比如附魔、能否损坏、能放在的方块等。

1=附魔;2=属性修饰符;4=无法损坏;8=能破坏的方块;16=能放在的方块;32=其他,比如药水效果;64=皮革盔甲染色信息;128=盔甲纹饰的工具提示;255=所有资料,除了物品名称和介绍。 如果要隐藏多种信息,你只需要把那些标签的数值加起来。比如你想把附魔和属性修饰符的资料隐藏,你需要写3(即1+2)。[摘自Minecraft Wiki]

Unbreakable

字面意思,使该物品无法破坏,不会消耗耐久。

拥有这个NBT的物品会有一个“无法破坏”的文本提示。

例如:

/give @s minecraft:diamond_sword{Unbreakable:true}

就可以获得一把无法破坏的钻石剑。

Damage

只有工具才能使用该NBT,后面填入整数。

代表该工具已经扣除了多少耐久度。

格式:……{Damage:,……}

generation

用来分辨成书是“原作”(值为0)、“原作的副本”(值为1)、“副本的副本”(值为2)还是“破烂不堪”(值为3)。值大于1将导致成书无法被复制。[摘自Minecraft Wiki]

实体(正在制作……)

*施工中……*



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有