因为原来的草稿没有了,所以重发一下
众所周知,1.20.5以上版本的物品nbt迎来了大改革
从原来的give sb sth{***:***}
变成了give sb sth[***=***]
今天我就来发一个1.20.5以上的give指令nbt教程
原来如果你想得到一把锋利255的下界合金剑的话,你需要输入:
/give @s netherite_sword{Enchantments:[{id:sharpness,lvl:255}]}
但1.20.5以后,变为:
/give @s minecraft:netherite_sword[minecraft:enchantments={sharpness:255}]
如果你还想加上抢夺255,那么就可以变成:
/give @s minecraft:netherite_sword[minecraft:enchantments={sharpness:255,looting:255}]
我相信你们已经找到规律了。
1.20.5以上的nbt其实变得更加简洁,只是我们现在还不会用而已。
/give sb sth[minecraft:enchantments={ench1:lvl,ench2:lvl,ench3:lvl......enchn:lvl}]
是不是非常简单?
之前后面跟个1b或者true就行了,1.20.5简化之后还会复杂吗?
/give sb sth[Unbreakable={}]
这样就行了,大括号里面啥都不用填
也不用我多说了吧
说实话,我觉得这个标签反而变得复杂了
直接上链接指令
/give sb sth[can_break={predicates:[{blocks:block}]}]
/give sb sth[can_place_on={predicates:[{blocks:block}]}]
两个除前面的can_break、can_place_on不一样之外,别的都一样,也不用我多说了
现在,我们来到了最复杂的nbt——物品修饰符!
1.20.5之后,物品修饰符虽然也很复杂,但是相比以前简单了一些
give sb sth[attribute_modifiers={modifiers:[{type:"属性英文名",amount:值,slot:生效栏位,uuid:[I;≤32767,≥-32767的任意数,≤32767,≥-32767的任意数,≤32767,≥-32767的任意数],operation:运算模式,name:任意13位数}]}]
属性英文名有很多,但是更新了最小值和最大值,见下:

armor - 盔甲 (0(最小值),30(最大值))
armor_toughness - 盔甲韧性 (0,20)
attack_damage - 攻击伤害 (0,2048)
attack_knockback - 击退距离 (0,∞)
attack_speed - 攻击速度 (-1024,1024)
flying_speed - 飞行速度 (0,∞)
jump_strength - 马跳跃高度 (0,32)
knockback_resistance - 击退抗性 (0,1)
luck - 幸运 (-1024,1024)
max_health - 最大生命 (-1024,1024)
mob_follow_range - 生物最大跟随距离 (生物,玩家)
movement_speed - 速度 (-1024,1024)
zombie_reinforcements - 怪物侦测距离(-2048,2048)
fall_damage_multiplier - 掉落伤害倍数 (0,100)
gravity - 重力 (-1,1)
max_absorption - 最大伤害吸收 (∞,∞)
safe_fall_distance - 安全坠落高度(说人话就是最高摔下来不掉血的高度)(-1024,1024)
scale - 尺寸(就是玩家模型和碰撞箱大小)(0.0625,16)
step_height - 最大行走高度 (0,10)
block_break_speed - 方块破坏速度 (0,1024)
block_interaction_range - 方块交互范围 (0,64)
entity_interaction_range - 实体交互范围 (0,64)
spawn_reinforcements - 僵尸增援(就是僵尸增援数量)(0,1)

生效栏位就是在物品栏的某个地方时生效,见下:

Any Slot - 放在任何部位时
Mainhand - 放在主手时
Offhand - 放在副手时
Head - 戴在头上时
Chest - 戴在身上时
Legs - 戴在腿上时
Feet - 戴在脚上时

运算模式决定了值的显示形式与机制,见下:
add_value - 加法(从0开始加)
add_multiplied_base - 加百分比(从0开始加)
add_multiplied_total - 加百分比(从玩家默认属性值开始加)
重要的事情说三遍
在1.20.5以上版本,display被拆分成了两个nbt:item_name(名字)和lore(提示)
其实lore和item_name差不多的,唯一不同的就是lore还要额外在外面打一个中括号([]),就不演示了
give sb sth[item_name='["",{"text":"st","italic":b,"obfuscated":b,"strikethrough":b,"underlined":b,"bold":b,"color":"sc"}]']
italic:斜体
obfuscated:乱码
strikethrough:删除线
underlined:下划线
bold:加粗
color:颜色
就是一个很简单的nbt,决定它的稀有度(就是那些青色名字的、紫色名字的)
用法也很简单:
give sb sth[rarity:common/uncommon/rare/epic]
common:普通(白名)
uncommon:稀有(金名)
rare:罕见(青名)
epic:史诗(紫名)
当然,如果你用了item_name,那么这个nbt的作用就不大了
直接上用法:
/give sb sf[food={nutrition:c,saturation:c,can_always_eat:b,eat_seconds:st}]
nutrition:增加饱食度(必须有)
saturation:增加饱和度(可以为负数)(必须有)
can_always_eat:可以一直吃(也不知道什么作用)
eat_seconds:进食时间
上用法:
/give sb sf[food={nutrition:c,saturation:c,effects:[{effect:{id:se,duration:st,amplifier:c,ambient:b},probability:cf}]}]
标绿的两个字母cf中,c是count,代表一个数;f是格式自带的,不要弄混了!
duration:持续时间
amplifier:效果等级
ambient:这个单词是环境的意思,不知道在这里什么作用
probabilisty:这个单词是概率的意思,不知道在这里什么作用
效果id:
absorption 伤害吸收
conduit_power 潮涌能量
fire_resistance 抗火
haste 急迫
health_boost 生命提升
saturation 饱和
instant_health 瞬间治疗
jump_boost 跳跃提升
speed 速度提升
night_vision 夜视
regeneration 生命恢复
invisibility 隐身
resistance 抗性提升
slow_falling 缓降
strength 力量
village_hero 村庄英雄
water_breathing 水下呼吸
blindness 失明
nausea 反胃
mining_fatigue 挖掘疲劳
hunger 饥饿
instant_damage 瞬间伤害
slowness 缓慢
fatal_poison 剧毒
poison 中毒
levitation 漂浮
weakness 虚弱
wither 凋零
bad_omen 不详之兆
这个也是很简单,就是让物品不会被岩浆烧毁
give sb sth[fire_resistant={}]

先编到这里吧,这些nbt应该是够用了,还需要什么会继续更新的好吧
记得关注~qwq