mojira.dev

lbj

More than one avatar was detected! There might be multiple accounts sharing this same name.

Assigned

No issues.

Reported

MC-295994 advancement trigger minecraft:inventory_changed doesn't trigger when player dropped item. Awaiting Response

Comments

Give an item with following command:

/give @s minecraft:bow[minecraft:custom_data={'xclib:run_command':{inventory_change:{enable:true,command:"say 3"}}}]

and it triggered the advancement as well as you move it in player inventory. But when you throw it out, there will be no title and sound output.

although we can use the command:

/execute if data entity @s SelectedItem
{id:"minecraft:bedrock"}

to test that item with one count, it isn't intuitive. The command usage efficiency is reduced. I think not everyone likes the roundabout way.

 

I think there are two important change:

1.if not explicitly specifiy the 'count' field in item, the 'count' field still not exist.

2.the type of 'count' has been changed to 'int'

 

for 1. 

 if i want to test an item that 'count' = 1, the selector with nbt arg should be: [nbt={id:"...",count:1}] (format 1)  or [nbt={id:"..."}]  (format 2). In the format 1, explicitly specifiy the amount of count but it'll not work because there's no 'count' field in the item by default. In the format 2, it means that the match will succeed if the item have any value of 'count' in the old version. but because of the latest change, it only choose the item with 'count' = 1. This creates semantic confusion, and make many command players curious.

 

for 2.

 I think you should use the new type choose item, 'count:1', while not 'count:1b'