[指令日记]零基础的mc1.13指令教程

再介绍两个和方位有关的nbt
Rotation 实体的朝向(单浮点数) ---示例:Rotation:[0f,0f]
Motion 实体的瞬时移动速率(双浮点数)(范围-10~10) ---示例:Motion:[0.0,0.0,0.0] Motion:[0d,0d,0d]
在单浮点数中,所有数据后必须加上f,比如0f,双浮点数后面可以选择加d,比如0d,也可以加小数点,比如0.0,但两者必须选择一种,比如直接使用0是不可行的
Rotation和tp指令里的角度比较类似,这里不再过多解释
Motion表示沿各轴的瞬时移动速率。比如/summon creeper ^ ^ ^5 {Motion:[0.0,5.0,0.0]} 会生成一个向往蓝天的爬行者



它飞的太快,手速跟不上啊,只能截成这样了

楼主 化学爱好者_C60  发布于 2019-01-31 23:28:00 +0800 CST  
关于装备的一些nbt
ArmorItems 装备栏,例:ArmorItems:[{id:diamond_boots,Count:1,tag:{其他nbt}},{},{},{}]
HandItems 手持物品,例:HandItems:[{id:diamond_sword,Count:1,tag:{其他nbt}},{}]
LeftHanded 左撇子(布尔型数值)
其中Count是数量,id与Count必填,tag选填
注:在装备栏标签里,物品的顺序为从下到上,即第一个是脚部的装备,第四个是头部的物品。若某一个装备栏为空,将对应大括号空出即可
例:
/execute as @e[type=zombie] at @s run data merge entity @s {ArmorItems:[{id:diamond_boots,Count:1},{id:diamond_leggings,Count:1},{id:diamond_chestplate,Count:1},{id:diamond_helmet,Count:1}]} ---给所有僵尸一套钻石护甲

楼主 化学爱好者_C60  发布于 2019-01-31 23:57:00 +0800 CST  
最后介绍几个和生物自身属性有关的nbt(均为布尔型)
NoAI 没有AI(不会攻击,不会动,也不会被推动,会被别的生物无视,甚至不受重力)

Invulnerable 不会受到伤害(创造模式的玩家依然可以对其造成伤害)
Silent 生物不发出声音


还有一个会影响所有实体的nbt:NoGravity 不受重力影响
这里不再过多解释

楼主 化学爱好者_C60  发布于 2019-02-01 00:04:00 +0800 CST  
最后说一下如何在目标选择器里选择具有nbt的实体
在目标选择器中,使用nbt参数,后街nbt即可
例:
/tp @e[type=zombie,nbt={LeftHanded:1b}] @s 把所有左撇子僵尸传送到自己的位置
/kill @e[type=zombie,nbt={NoAI:1b,Slient:1b}] ---杀死所有没有AI,且不会发出声音的僵尸
注:在目标选择器里,布尔型数据必须用0b,1b,false,true的形式,不能单独使用0或1,否则会造成错误


楼主 化学爱好者_C60  发布于 2019-02-01 00:25:00 +0800 CST  
零点半了,是时候睡觉了

楼主 化学爱好者_C60  发布于 2019-02-01 00:26:00 +0800 CST  
既然已经成精品了,那我就更要认真地对待这个帖子了。加油

楼主 化学爱好者_C60  发布于 2019-02-01 20:25:00 +0800 CST  
7、物品常用nbt介绍

楼主 化学爱好者_C60  发布于 2019-02-01 20:26:00 +0800 CST  
先来讲一个比较实用的nbt吧
display 用于编辑物品的信息
这个标签内含有多个子标签,Name,Lore,color,其中color用于编辑皮革装备的颜色
使用方法为: display:{Name:"json文本",Lore:["第一行","第二行",……]}
这里直接举一个例子吧
/give @s diamond_sword{display:{Name:"{\"text\":\"一把普通的钻石剑\"}",Lore:["这真的只是一个很普通的钻石剑"]}}



这个指令可以让我们获得一个普通的钻石剑

楼主 化学爱好者_C60  发布于 2019-02-01 20:54:00 +0800 CST  
关于皮革装备的颜色
这个颜色的计算方法为:RGB颜色表示法中,红色颜色数值乘以65536,绿色颜色数值乘以256,然后把这两个结果相加,再加上蓝色的数值即可
这里举一个例子吧
橙色在RGB里的值为:红255,绿127,蓝0
那么我们需要的数值就是255×65536+127×256+0=16744192
输入指令/give @s leather_helmet{display:{color:16744192}}



于是我们获得了一个橙色的帽子(计算器不争气,刚刚居然算错了

楼主 化学爱好者_C60  发布于 2019-02-01 21:10:00 +0800 CST  
然后介绍两个能在冒险模式里使用的nbt
CanDestroy 指定物品能够破坏哪些方块
CanPlaceOn 指定方块能够放置在哪些方块上
这两个是在冒险地图里常用的nbt
直接来举例子吧
/give @s stone{CanPlaceOn:[sandstone]} ---给自己一个能放在砂岩上的石头
/give @s diamond_pickaxe{CanDestroy:[sandstone,stone]} ---给自己一个能破坏砂岩和石头的钻石镐



此时当我们调成冒险模式,我们就可以使用这些标签了



楼主 化学爱好者_C60  发布于 2019-02-01 21:23:00 +0800 CST  
然后是和工具有关的两个nbt
Damage 工具的损坏值(或者说工具用了多少次)
Unbreakable 工具不消耗耐久(布尔型数值)
例:
/give @s diamond_sword{Damage:100} ---给自己一个用了100次的钻石剑
/give @s golden_pickaxe{Unbreakable:1} ---给自己一个用不坏的金镐
注:关于物品的耐久
在游戏中按下F3+H,打开高级提示框,然后将鼠标移动到一个受损的装备上,即可查看该工具的剩余耐久和总耐久


楼主 化学爱好者_C60  发布于 2019-02-01 21:36:00 +0800 CST  
再介绍两个与附魔有关的nbt
Enchantments 用于指定物品拥有哪些附魔
StoredEnchantments 附魔书里的附魔
nbt格式为:
Enchantmennts:[{id:附魔名,lvl:等级},{id:附魔名,lvl:等级},……]
StoredEnchantmennts:[{id:附魔名,lvl:等级},{id:附魔名,lvl:等级},……]
例:
/give @s diamond_sword{Enchantments:[{id:smite,lvl:10},{id:bane_of_arthropods,lvl:10}]} ---给自己一把亡灵杀手10、节肢杀手10的钻石剑
/give @s enchanted_book{StoredEnchantments:[{id:mending,lvl:1}]} ---给自己一个经验修补附魔书


以下是所有附魔id
保护 protection
火焰保护 fire_protection
弹射物保护 projectile_protection
爆炸保护 blast_protection
荆棘 thorns
水下呼吸 respiration
水下速掘 aqua_affinity
深海探索者 depth_strider
摔落保护 feather_falling
冰霜行者 frost_walker
锋利 sharpness
亡灵杀手 smite
节肢杀手 bane_of_arthropods
击退 knockback
火焰附加 fire_aspect
抢夺 looting
横扫之刃 sweeping
力量 power
冲击 punch
火矢 flame
无限 Infinity
效率 efficiency
精准采集 silk_touch
时运 fortune
饵钓 lure
海之眷顾 luck_of_the_sea
穿刺 Impaling
引雷 channeling
忠诚 loyalty
激流 riptide
耐久 unbreaking
经验修补 mending
绑定诅咒 binding_curse
消失诅咒 vanishing_curse

楼主 化学爱好者_C60  发布于 2019-02-01 22:39:00 +0800 CST  
今天的最后一个nbt了
HideFlags
这个nbt用于隐藏物品的指定nbt
用法:HideFlags:数值
讲一个场景吧~
我刚刚学习了很多nbt,我把他们全部加在一个钻石剑上~


我感觉这个信息实在太多,我不想让他们全部显示,这个时候就可以用到这个标签了
在刚刚那把钻石剑的nbt里加上HideFlags:1
再次获取这把钻石剑时,我们发现,附魔那一栏没了



但是在打僵尸的时候,能一剑打死,并且有亡灵杀手的粒子效果,说明附魔本身还在,只是不显示了而已


这里解释一下不同的数值会隐藏的东西
1 附魔
2 属性(指攻击伤害、攻击速度那部分)
4 无法破坏(Unbreakable)
8 能破坏的方块
16 可以在哪些方块上放置
32 其他(比如附魔书里的附魔,但是display不会被隐藏)
如果想要同时隐藏多个标签,将需要隐藏的标签所对应的数值相加即可,比如想要同时隐藏附魔、属性、无法破坏这3个标签,就将HideFlags的值设置为7
这里我将HideFlags设置为63后


楼主 化学爱好者_C60  发布于 2019-02-01 23:10:00 +0800 CST  
今天就到这了,大家晚安
明天讲属性

楼主 化学爱好者_C60  发布于 2019-02-01 23:14:00 +0800 CST  
7、实体属性与物品属性

楼主 化学爱好者_C60  发布于 2019-02-02 17:29:00 +0800 CST  
先来补充一个实体的nbt Health,用于指定实体的生命值
比如/summon zombie 13.5 56 32.5 {Health:0.5} 会在指定地点生成一个只有0.5点血的僵尸,碰一下就死(半颗心是1点血,0.5点血就是半颗心的一半)



但是如果我把这个值调到100
然后查看它的nbt,会发现
Health的值是20




这个时候,我们就需要调整这个僵尸的属性了

楼主 化学爱好者_C60  发布于 2019-02-02 17:41:00 +0800 CST  
要调整生物的属性,需要用到Attributes标签。这里先给出例子
/summon zombie 13.5 56 32.5 {Health:100,Attributes:[{Name:"generic.maxHealth",Base:100}]}

然后查看这个僵尸的Health标签



此时僵尸的生命值确实是100

楼主 化学爱好者_C60  发布于 2019-02-02 17:51:00 +0800 CST  
标签解析:
Attributes:[{Name:"generic.maxHealth",Base:100}]
Attributes就是生物属性的标签,一个标签内可以包含多个属性,此时多个属性在同一个中括号,不同大括号里,多个大括号用逗号隔开
Name是属性的类型,这里的generic.maxHealth就是指这个生物的最大生命值。
Base是数值大小。


这里列举出常用的实体属性
generic.armor 护甲值
generic.armorToughness 盔甲韧性
generic.attackDamage 攻击力
generic.followRange 生物追踪(生物能看到别的实体的最大范围)
generic.knockbackResistance 击退抗性(指生物在被攻击时不会被击退的概率,最大为1)
generic.maxHealth 最大生命值
generic.movementSpeed 移动速度


例:
/summon zombie ~ ~ ~ {Attributes:[{Name:"generic.attackDamage",Base:0},{Name:"generic.movementSpeed",Base:0.35}]} ---召唤一只僵尸宠物(会跟着你,不会攻击你和别的生物)

楼主 化学爱好者_C60  发布于 2019-02-02 18:20:00 +0800 CST  
现在我们试试把属性放到物品上
/give@pdiamond_sword{AttributeModifiers:[{AttributeName:generic.attackDamage,Operation:0,Amount:7d,Slot:mainhand,UUIDLeast:233,UUIDMost:233}]}


然后我们就获得了一把能增加100攻击力的剑


楼主 化学爱好者_C60  发布于 2019-02-02 18:39:00 +0800 CST  
标签解析:
AttributeModifiers:[{AttributeName:generic.attackDamage,Operation:0,Amount:7d,Slot:mainhand,UUIDLeast:233,UUIDMost:233}]
AttributeModifiers 是属性标签,包含着物品的属性
AttributeName 属性id
Operation 加成方法
Amount 数值
Slot 加成条件
UUIDLeast和UUIDMost 似乎意义不大,随便填


物品属性id和实体属性id完全一样
除此之外,考虑到物品可以被玩家所装备,因此还有两个标签可以被应用
generic.attackSpeed 攻击速度
generic.luck 幸运值,影响战利品表


加成方法有3中,分别为0,1,2
0是简单的增加对应的数值
1和2是按百分比增加对应数值
加成的算法如下
首先将原有的基础值与加成模式为0的数值相加,得到结果A
然后将模式为1的数值相加,作为增加百分比。结果A得到这个百分比的加成,得到结果B
最后结果B依次受到模式为2的数值百分比加成,得到最终结果


Amount 是要增加的数值,是双浮点数,因此要加d或小数点


Slot 决定了该物品在哪个位置可以提供加成效果
以下是所有可选位置
mainhand 惯用手
offhand 副手
head 头部
chest 身上
legs 腿部
feet 脚部
另外,Slot标签可以省略,省略后在这6个位置都会有效果

楼主 化学爱好者_C60  发布于 2019-02-02 19:46:00 +0800 CST  

楼主:化学爱好者_C60

字数:59733

发表时间:2019-01-27 01:23:00 +0800 CST

更新时间:2019-07-22 08:34:08 +0800 CST

评论数:924条评论

帖子来源:百度贴吧  访问原帖

 

热门帖子

随机列表

大家在看