我的世界/summon指令及NBT标签!生物篇 适用于Java版1.16.5

您所在的位置:网站首页 我的世界怎么设置血量显示 我的世界/summon指令及NBT标签!生物篇 适用于Java版1.16.5

我的世界/summon指令及NBT标签!生物篇 适用于Java版1.16.5

2024-07-12 10:27| 来源: 网络整理| 查看: 265

哈哈!我还是回来了!现在说声抱歉,因为无法回应各位的期待,这期专栏拖了那么久!

这篇是真的肝,拜托三连!!

你们是不是在玩MC时想现场生成一些生物?如果你看到这篇专栏,表示你真的走大运了!

格式:/summon

再让我们初步了解了解!

entity是啥?英文60分也应该懂吧?

entity是mc中的生物,在现实也是普及生物的范围

关于mc全部生物,这里将在Minecraft Fandom中获取

至于npc不用理他,基本属于地图制作的,我们这期只说Java版相关图片在 https://minecraft.fandom.com/wiki/Mob 中拥有

在这里再稍微的说一下:上方的图片中,左边的是Java版支持,中间是教育版,而右边的则是基岩版。当然这期我只是会讲述关于Java版的/summon指令,所以其他的版本我就不瞎掺和了!(因为我不会!*小声*)

至于,这是坐标!是物件/实体的该位置!毕竟这是仿3D的2D游戏,需要长,宽和高(x y z)

怎么看坐标?开启调试(f3),你就会在屏幕看到一堆字母和数字,让人头眼昏花!

(注:若f3没反应,那么可能是开启了fnlock,通过fn + f3可轻松解决,若需长期查看坐标可以直接fn + esc,解除fnlock,以后开启调试直接f3即可。- Mac设备通用)

此图片来源于自己的世界,并非搬运!电脑配置不好,不要在意电脑帧数和配置 :))

看见左边第10行了没?XYZ的 493 / 66 / -408 表示你的具体位置(坐标)

注:小数点可以不必理会,通常没有太大的影响,如果注意到小数点太过于接近下一位数,那么可直接进位+1,xyz轴皆是如此。

好了!现在我们来看看的部分吧!

首先呢,要先声明一件事:有大部分的生物拥有其他生物没有的特性,所以一部分生物的nbt可能会拥有其他生物不适用的nbt。

【自带NBT标签的实体】

这里只列出几个较为常见的“自带NBT标签”实体,意即以下生物存在仅同类生物/多类可使用该NBT标签

Powered - 是否为闪电爬行者Fuse - 引爆的蓄力时间ExplosionRadius - 爆炸范围

Powered若为1b,将会是闪电爬行者,引爆伤害和范围都比普通爬行者还来得强(无具体参数,≈ 2.5倍)/summon minecraft:creeper ~ ~ ~ {Powered:1b}

Fuse爬行者引爆时所蓄力的时间,以ticks为单位 (我的世界时间单位),每20ticks代表现实1秒/summon minecraft:creeper ~ ~ ~ {Fuse:50} (2.5秒,正常引爆时间)

ExplosionRadius - 爆炸范围爬行者引爆时所涉及到的范围,每+1代表爆炸的半径范围x、y、z各加1格,+5代表5x5x5格的范围/summon minecraft:creeper ~ ~ ~ {ExplosionRadius:6} (引爆时造成6x6x6格方块的爆炸范围)

LeftHanded - 使生物的主手是否为左手IsBaby - 使生物是否未成年(仅会繁殖的生物和存在未成年的敌对生物)HandItems - 使该生物手持物品ArmorItems - 使该生物穿戴盔甲HandDropChances - 手上的物品成功掉落的几率ArmorDropChances - 盔甲成功掉落的几率CanPickUpLoot - 允许生物拾取地上的物品

LeftHanded使骷髅的主手为副手(骷髅持弓的主手基本是右手,设置这个指令后骷髅将会变成左手持弓)/summon minecraft:skeleton ~ ~ ~ {LeftHanded:1b}

僵尸同理(若僵尸有携带工具/武器,主手右手持物将变成副手左手持物)/summon minecraft:zombie ~ ~ ~ {LeftHanded:1b}

IsBaby使会繁殖的生物(畜生、朋友)和存在未成年的敌对生物(僵尸)成为未成年形态/summon minecraft:pig ~ ~ ~ {IsBaby:1b}/summon minecraft:cow ~ ~ ~ {IsBaby:1b}/summon minecraft:zombie ~ ~ ~ {IsBaby:1b}如果你想要“动物自由”但仅限成年动物,你也是可以通过设置"0b"来决定生成时一定不会生成未成年的动物(通过/summon指令生成生物时有几率会生出未成年的生物)/summon minecraft:chicken ~ ~ ~ {IsBaby:0b}

HandItems & ArmorItems这个NBT标签能够允许生物手持何物、穿戴何甲!

我想要一只僵尸手持三叉戟可以吗哼哼,简单!/summon minecraft:zombie ~ ~ ~ {HandItems:[{Count:1b,id:trident}]}

这样就生成了一个手持三叉戟的僵尸啦!如果想要手持的物品添加NBT标签呢?

/summon minecraft:zombie ~ ~ ~ {HandItems:[{Count:1b,id:trident,tag:{Enchantments:[{id:"unbreaking", lvl:10}]}}]}

这样就生成了一个手持附魔耐久X (耐久10级) 的三叉戟僵尸啦!(更多物品NBT标签详情请看我的世界 /give指令及NBT标签! 物品篇)

顺带一提,HandItems这个NBT标签不但可以让生物手持物品,同时也能让生物的副手手持物品哦~

/summon minecraft:zombie ~ ~ ~ {HandItems:[{Count:1b,id:trident},{Count:1b,id:sheild}]}这样就生成了一只主手持三叉戟,副手持盾牌的僵尸了!!

当然主手副手想放什么随你的意啦~

而ArmorItems同理!

ArmorItems和HandItems是一样的,不过一个是用的,一个是穿的!/summon minecraft:zombie ~ ~ ~ {ArmorItems:[{Count:1b,id:netherite_boots}, {Count:1b,id:nethrite_leggings}, {Count:1b,id:netherite_chestplate}, {Count:1b,id:netherite_helmet}]}注:顺序必须一样,否则会无效化(相应部位会出现相应装备):靴>腿>甲>头,不可 /summon minecraft:zombie ~ ~ ~ {ArmorItems:[{Count:1b,id:netherite_helmet},{Count:1b,id:netherite_chestplate},{Count:1b,id:netherite_leggings},{Count:1b,id:netherite_boots} (头>甲>腿>靴),这样的话将会无效化!

当然,Armor和上面的HandItems一样,可以加NBT标签!详情请看上面HandItems!

HandDropChances & ArmorDropChances

好的!这玩意呢,你可以控制生物死亡后成功掉落出手持物品/穿戴的盔甲的几率/summon minecraft:zombie ~ ~ ~ {ArmorDropChances:[1.0f,1.0f,1.0f,1.0f]}这样就会召唤出死亡后将一定会掉落盔甲的僵尸了!

其中[1.0f,1.0f,1.0f,1.0f]中列出的4个1.0f 分别代表头盔~护靴所掉落的几率,1.0f 值表示僵尸被杀死时有100%的几率掉落该物品,0.5f 表示 50%或1/2,0.2f 表示 20%或1/5,依此类推

HandDropChances同理,不过由于HandItems只能放主手和副手,所以就只有2个几率框啦!

/summon minecraft:zombie ~ ~ ~ {HandDropChances:[1.0f,1.0f]}

一样,1.0f 是100%,0.5f 是50%或1/2,0.2f 则是20%或 1/5,以此类推。

CanPickUpLoot那么比起上面的,这个标签简单多了。意即是否允许生物拾取地上的物品以(1或0)b做开关,若为1b,将会允许生物拾取地上的东西

/summon minecraft:zombie ~ ~ ~ {CanPickUpLoot:1b}默认状态下,自然生成的生物是不会拾取的。( 0b )

DisabledSlots - 禁用插槽ShowArms - 显示手臂Small - 小型盔甲架Pose - 盔甲架姿势NoBasePlate - 盔甲架的底盘

DisableSlots0(启用所有插槽,这意味着可以添加、更改或删除盔甲架上的物品)1(禁用添加或更改手部物品)2(禁用添加或更改靴子物品)4(禁用添加或更改护腿物品)8(禁用添加或更改胸甲项目)16(禁用添加或更改头盔项目)256(禁用移除或更改手部项目)512(禁用移除或更改靴子项目)1024(禁用移除或更改护腿项目)2048(禁用移除或更换胸甲物品)4096(禁用移除或更换头盔物品)65536(禁用添加手部物品)131072(禁用添加靴子物品)262144(禁用添加护腿项目)524288(禁用添加胸甲项目)1048576(禁用添加头盔项目)通常禁用部分于/data指令/summon minecraft:armor_stand ~ ~ ~ {DisableSlots:65536}(无法添加或移除手部物品)/summon minecraft armor_stand ~ ~ ~ {DisableSlots:16} (无法添加或更改头部物品)

ShowArms使盔甲架拥有手臂/summon minecraft:armor_stand ~ ~ ~ {ShowArms:1b} (盔甲架进化出了手臂啦!)

*注:基岩版、手机版和教育版默认存在手臂哦~ 太偏心了java! /(ㄒoㄒ)/~~

Small使盔甲架是否为迷你形态 /summon minecraft:armor_stand ~ ~ ~ {Small:1b} (迷你版盔甲架!真可爱~)

Pose调整盔甲架的姿势/summon minecraft:armor_stand ~ ~ ~ {Pose:{Body:[0f,0f,0f],Head:[0f,0f,0f],LeftArm:[0f,0f,0f],RightArm:[0f,0f,120f],LeftLeg:[0f,0f,0f],RightLeg:[0f,0f,0f]}}可以通过不同局部来针对该局部的姿势,从而达到全身的整体姿势

以下是一部分在可能的范围下制的盔甲架姿势(MC版舞蹈老师)

/summon minecraft:armor_stand ~ ~ ~ {Invisible:1b,NoBasePlate:1b,ShowArms:1b,Pose:{Body:[-5f,30f,0f],Head:[-20f,70f,0f],LeftArm:[20f,0f,-50f],RightArm:[0f,100f,120f],LeftLeg:[0f,30f,-30f],RightLeg:[-15f,20f,27.5f]}

/summon minecraft:armor_stand ~ ~ ~ {Invisible:1b,NoBasePlate:1b,ShowArms:1b,Pose:{Body:[0f,0f,0f],Head:[35f,0f,0f],LeftArm:[-30f,0f,35f],RightArm:[-30f,0f,-35f],LeftLeg:[0f,-30f,0f],RightLeg:[0f,30f,0f]}}

/summon minecraft:armor_stand ~ ~ ~ {Invisible:1b,NoBasePlate:1b,ShowArms:1b,Pose:{Body:[-5f,0f,0f],Head:[-35f,0f,0f],LeftArm:[125f,60f,0f],RightArm:[125f,-60f,0f],LeftLeg:[50f,110f,0f],RightLeg:[50f,-100f,0f]}}

/summon minecraft:armor_stand ~ ~ ~ {Invisible:1b,NoBasePlate:1b,ShowArms:1b,Pose:{Body:[3f,0f,0f],Head:[10f,0f,0f],LeftArm:[40f,0f,0f],RightArm:[-90f,-10f,0f],LeftLeg:[30f,30f,10f],RightLeg:[-30f,25f,12.5f]}}

/summon minecraft:armor_stand ~ ~ ~ {Invisible:1b,NoBasePlate:1b,ShowArms:1b,Pose:{Body:[0f,0f,0f],Head:[50f,0f,0f],LeftArm:[-100f,-30f,0f],RightArm:[-100f,-30f,0f],LeftLeg:[0f,0f,0f],RightLeg:[0f,0f,0f]}}(以上指令均源由网络生成)

建议为它穿上头盔、盔甲、护腿、护靴、武器和盾牌。

NoBasePlate这数据允许你使盔甲架的底盘消失,这样就可以让盔甲架显得更加真实化。

VillagerData - 村民数据        Profession - 村民的职业/无        Level - 村民当前等级        Type - 村民类型Offer - 村民的交易物品        Recipes - 交易框架                Demand - 需求水平                PriceMultiplier - 价格乘数                SpecialPrice - 特惠                maxUses - 最大交易次数上限                buy - 交易物框架                        id - 交易物品id                        count - 交易物品数量                        tag - 交易物的nbt标签                sell - 获得物框架                        id - 交易物品id                        count - 交易物品数量                        tag - 交易物的nbt标签Age - 年龄

~VillagerData~

    Profession

    这数据可以让你对村民是否有职业/职业等级进行调整

    以下是MC中所有的村民职位:

    farmer - 农夫 (主要交易农产类)    fisherman - 渔翁 (主要交易鱼类)    shepherd - 牧羊人 (主要交易羊毛、旗帜类)    fletcher - 制箭师 (主要交易弓箭类)    librarian - 图书管理员 (主要交易附魔书)    cartographer - 制图师 (主要交易地图类)    cleric - 牧师 (主要交易腐肉类)    armorer - 装甲匠 (主要交易装备)    weaponsmith - 武器匠 (主要交易武器)    toolsmith - 工具匠 (主要交易工具)    butcher - 屠夫 (主要交易食物、肉类)    leatherworker - 皮革匠 (主要交易皮革产物)    mason - 石匠 (主要交易建筑方块类)    nitwit - 傻子 (无主要交易,最为适合作为自定义交易选项的村民职位类型)不知为什么不是stupid,idiot,foolish - 傻子(开玩笑切勿当真)

    例:/summon minecraft:villager ~ ~ ~ {VillageData:{profession:farmer}}    生成了一个职业为农夫的村民    以此类推

    Level    等级为村民职位的交易等级,等级越高,售物越多越稀有    等级需要有职位,若该村民无职,则无效    等级上限为5,超过5将停留在等级5,包括更大的等级数字    通常用于/data的指令,因为若直接生成出等级5的有职村民,仍然无法交易

    例:/summon minecraft:villager ~ ~ ~ {VillageData:{profession:weaponsmith,level:5}}    生成一只等级5的武器匠村民,可以交易(若直接/summon指令则无法交易)有附魔的高级铁剑/钻石剑

    注:若生成的非傻子村民需要存在交易物,等级必须为2级以上,0和1级为无职,无法交易

Type这个NBT数据允许你生成一个不同生态环境下的村民以下是MC中所有已知生态环境下的村民:

plains - 橡木丛林taiga - 针叶林savanna - 金合欢丛林jungle - 丛林desert - 沙漠snow - 雪地swamp - 红树林

例:/summon minecraft:villager ~ ~ ~ {VillageData:{type:snow}}生成了一只生态环境为雪地的村民

~Age~该NBT数据可以让你决定村民的年龄0~负数以下为村民婴儿1~以上为成年村民

例1:/summon minecraft:villager ~ ~ ~ {Age:-12345}生成了一只婴儿村民例2:/summon minecraft:villager ~ ~ ~ {Age:12345}生成了一只成年村民(可能年龄12345?开玩笑切勿当真)

Offer - Recipes这是一个较为复杂的NBT标签和数据,可以对村民调整交易物品在使用这个数据时,必须要先输入关于VillageData的Profession和Age(除非是傻子村民,那么Level可以不输入。若是有职位同时不是傻子的情况下,请设置 Level:2b 及以上)的数据若不使用VillageData数据,会导致该村民无法正常交易Profession可以改成nitwit(傻子),这样交易时就不会出现原有的职业交易选项Age需改成1或1以上,婴儿村民无法交易

Offer - Recipes的格式:{Offers:{Recipes:[{buy:{id:, Count:, tag:{}}, sell:{id:, Count:}, tag:{}, maxUses:, priceMultipliers:, demand:, SpecialPrice:特惠价格}]}

让我们一个一个慢慢来吧!

~Buy~

        交易物是你需给予村民的物品    在输入交易物时需输入其物品的id,不可输入前缀(minecraft: 和模组注册名如ironchest:)    格式: Buy:{id:diamond}

        数量是你需给予村民物品的数量    可使用“b”作为所需物品的数量    格式: Buy:{id:diamond, Count:2b}

        nbt标签是该交易物的NBT标签    若不希望交易物存在nbt标签,可直接删除 tag:{}     格式: Buy:{id:diamond, Count:2b, tag{Enchantments:[{id:"sharpness", lvl:5}]}}        无nbt标签: Buy:{id:diamond, Count:2b}

若想将交易物品设置成多种需交易物,也不是特别的难!格式: Buy:{id:stick, Count:1}, buyB:{id:diamond, Count:2}交易物需要一根木棍(1) 和2颗钻石(2)注:交易物的最大交易物品上限为2

~Sell~

        交易完成后,村民给予你的物品    在输入交易物时需输入其物品的id,不可输入前缀(minecraft: 和模组注册名如ironchest:)    格式: Sell:{id:diamond}

        交易完成后,村民给予你物品的数量    可使用“b”作为所需物品的数量    格式: Sell:{id:diamond, Count:2b}

        交易完成后,村民会将该nbt标签赋予在给予你的物品    若不希望交易物存在nbt标签,可直接删除 tag:{}     格式: Sell:{id:diamond, Count:2b, tag{Enchantments:[{id:"sharpness", lvl:5}]}}        无nbt标签: Sell:{id:diamond, Count:2b}

注:售出物无法多个,上限为1个

例1: /summon villager ~ ~ ~ {VillagerData:{type:plains,profession:nitwit,level:2},Offers:{Recipes:[{maxUses:99999,rewardExp:15b,buy:{id:diamond,Count:16},sell:{id:netherite_ingot,Count:1}}]}}

~MaxUses~

        配置该村民每日的最大交易上限,若为0则表示已售完 (即不可交易,而非拒绝交易)    设置为99999即可无限交易

    格式:MaxUses:50

~PriceMultipliers、Demand & SpecialPrice~

    、和    这两个实在是有够难搞,直接把我CPU给干烧了    为了观众的体验,我只要冒着生命危险去解释了!

    那么,我们先来了解demand,需求水平!

    demand标签用于定义村民对交易物品的需求水平,水平越高,村民对这些物品的价值相对      越高    而需求水平就像是村民对某种物品的渴望程度,高需求水平表示村民迫切需要这些物品,    而低需求水平则表示需求相对较低。        我们可以理解成:有一名村民,今天他急需绿宝石,所以会将原来绿宝石的物价(数量)      抬高以满足今天的需求量。相对的,如果今天他对绿宝石的急需程度不高,则原来绿宝        石物价将会抬高小于等于急需程度的绿宝石物价量。

    希望我的解释不会太晦涩~

    格式:demand:5    例:/summon villager ~ ~ ~{VillagerData:{profession:nitwit,level:2,type:plains},Offers:{Recipes:[{buy:{id:diamond,Count:16},sell:{id:netherite_ingot,Count:1},priceMultipliers:0.5f, demand:3}]}}    - 生成了一名交易物为16颗钻石,售卖物为1颗下界合金锭,但需求水平为3,价格乘数为        0.5级(由于价格乘数和需求水平必须同时出现) 。更新交易物为40颗钻石换一颗下界合金        锭的村民。

    那么接下来就了解一下priceMultipliers标签!

    价格乘数标签用于调整交易价格的因子。它直接影响了村民在进行买卖时设定的价格。          具有较高值的价格乘数的村民,其要价相对高;反之更低。    价格乘数是一个用于调整村民交易价格的系数。通过设置不同的数值,可以直接影响村民        对物品的买卖价格。

    格式:priceMultipliers:0.2f    例:/summon villager ~ ~ ~ {VillagerData:{profession:nitwit,level:2,type:plains},Offers:{Recipes:[{buy:{id:emerald,Count:10},sell:{id:diamond, Count:1},priceMultipliers:0.05f, demand:2}]}}    - 生成了一名交易物为10颗绿宝石,售卖物为1颗钻石,但价格乘数为0.05f,需求水平为2级。更新交易物为11颗绿宝石换一颗钻石的村民。

而这些关系我们可以用一个公式的四角关系来概括他们:

价格乘数 × 需求水平 × 交易价 (数量) = 价格增量(需求水平×交易价) / 价格增量 = 价格乘数(价格乘数×交易价) / 价格增量 = 需求水平(价格乘数×需求水平) / 价格增量 = 交易价

我知道很难懂,但我将会一步步来解释!

我们需要将得出的价格增量+原价=最终价。在相同情况下,需求水平越高,价格乘数越大,则最终价越高。通过我的观察,得出2个总结:

将需求水平、价格乘数和物品数量相乘,我们可以得到村民设定的最终价。

计算结果会被向下舍入到最接近的整数,确保价格是整数而没有小数部分。

注:demand标签不可输入小数,若输出最终价大于64,最终价则为64。

那么接下来是我们的SpecialPrice标签啦!

比起demand,这个相对简单多了。SpecialPrice,即特别标价,也就是优惠价,能以比原价更低的价格收购物品若想比原来价便宜7个交易物,参数为-7。

格式:SpecialPrice:-7

例:/summon villager ~ ~ ~ {VillagerData:{profession:nitwit,level:2,type:plains},Offers:{Recipes:[{buy:{id:emerald,Count:7},sell:{id:emerald_block,Count:5},MaxUses:99999,specialPrice:-3}]}}生成了一名交易物为7颗绿宝石,售卖物为5个绿宝石砖,但存在特惠价减少3颗绿宝石,更新交易物为4颗绿宝石即可得到售卖物5个绿宝石砖的村民。

让我们列出生物的全部NBT吧!

(可能有一些隐藏的NBT或遗忘了的一些NBT没找到,勿喷 >A



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3