t1546542
版本:1.14.4
如题
把一个名字为“技能”的剑固定在2号物品栏
玩家不能拖动它,不能丢它,不能用物品替换它
求大佬解答!!!
@Chelove_C60 @SPGoding

坑触可
(都是保持开启)
你没说哪种剑,就用铁剑了
:clear @a iron_sword
:replaceitem entity @a hotbar.1 iron_sword{display:{Name:"{\"text\":\"技能\"}"}} 1
(感谢spu转换命令的使用版本)

t1546542
坑触可 发表于 2020-1-16 16:35
(都是保持开启)或
你没说哪种剑,就用铁剑了 ...

这样的话如果我把物品放上去就消失了

坑触可
t1546542 发表于 2020-1-16 16:36
这样的话如果我把物品放上去就消失了

我能想到就是清完再放

t1546542
坑触可 发表于 2020-1-16 16:37
我能想到就是清完再放

???????????

t1546542
坑触可 发表于 2020-1-16 16:35
(都是保持开启)或
你没说哪种剑,就用铁剑了 ...

而且我对着物品狂按ctrl+q会丢出去

Chelover_C60
火车上网不好,wiki进不去,物品栏的Slot值查不到,那我就把思路简单说一下吧。
检测玩家的2号物品栏的物品,如果该栏位没有任何物品,说明玩家移动或丢出了该剑,此时clear该玩家的剑,并kill掉落物形式的剑,后通过replaceitem将剑重新放置于此位置。
如果检测到该栏位有物品,但不是指定的剑,说明物品栏发生了替换。此时在玩家处summon任意一个物品,并通过data modify修改为现在2号栏上的物品,clear掉剑并通过replaceitem将剑重新放到2号栏上

t1546542
Chelove_C60 发表于 2020-1-16 17:02
火车上网不好,wiki进不去,物品栏的Slot值查不到,那我就把思路简单说一下吧。
检测玩家的2号物品栏的物品 ...


等你什么时候网络好了补一下指令

Chelover_C60
t1546542 发表于 2020-1-16 17:19

等你什么时候网络好了补一下指令

你真的不打算自己写写试试吗,手机上写命令很不方便的,还不知道写的对不对
你没说是什么剑,那我默认是钻石剑吧

execure as @a unless data entity @s Inventory[{Slot:1b}] at @s run function fun1
execure as @a if data entity @s Inventory[{Slot:1b}] unless data entity @s Inventory[{id:"minecraft:diamond_sword",Slot:1b}].tag.display{Name:'{"text":"技能"}'} at @s run function fun2

fun1.mcfunction
clear @s diamond_sword{display:{Name:'{"text":"技能"}'}}
kill @e[type=item,distance=..5,nbt={Item:{display:{Name:'{"text":"技能"}'}}}]
replaceitem entity @s hotbar.1 diamond_sword{display:{Name:'{"text":"技能"}'}}

fun2.mcfunction
tag @s add mark
summon item ~ ~ ~ {Item:{id:"minecraft:stone",Count:1b},Tags:["mark"]}
data modify entity @e[type=item,tag=mark,distance=..5] Item set from entity @s Inventory[{Slot:1b}]
clear @s diamond_sword{display:{Name:'{"text":"技能"}'}}
replaceitem entity @s hotbar.1 diamond_sword{display:{Name:'{"text":"技能"}'}}
tag @e[tag=mark,distance=..5] remove mark

第一页 上一页 下一页 最后一页