Petit truc : Pourquoi chercher à détecter l'obsi dans l'inventaire du joueur? Il suffit de remplacer l'obsidienne au moment où elle est droppée! Plus précisément, avec un petit /data (1.13 aïe aïe aïe)! En plus, ça ne modifie pas le nombre d'items droppés en stacks, ni même sa motion et tous ses autres effets!
Voici comment procéder : Extrèmement facile à faire et réglable, un seul bloc de commande suffit.
La commande, que tu placeras dans un bloc de commande réglé sur répétition-inconditionnel-par la redstone :
Code:
/data merge entity @e[type=minecraft:item,limit=1,nbt={Item:{id:"minecraft:obsidian"}},tag=!Obsidienne] {Tags:["Obsidienne"],Item:{tag:{HideFlags:16,CanPlaceOn:["minecraft:dirt","minecraft:obsidian"]}}}
Pour régler l'obsidienne modifiée :
-ici, l'obsidienne pourra être placée sur de la terre et de l'obsidienne. si tu veux changer ça, c'est dans le "CanPlaceOn".tu peux remplacer "minecraft:dirt" par "minecraft:sand", ou ajouter plus de blocs sur lesquels on pourra placer.
-Si tu veux que les blocs sur lesquels on pourra poser l'obsidienne s'affichent dans la description de l'item, il suffit d'enlever "HideFlags:16,"dans la commande,
sans oublier la virgule.
Comment ça marche :
Dès que ça détecte un bloc d'obsidienne droppé n'ayant pas le tag "Obsidienne", ses données sont instantanément changées (avant même d'être récupéré par un joueur ou par un entonnoir) :
-Il obtient le tag "Obsidienne" (Pour ne pas recevoir la commande plusieurs fois, risque de bug)
-Il devient plaçable sur certains blocs (là, j'ai mis la terre et l'obsidienne)
Et voilà! Avec ça, le seul moyen d'obtenir de l'obsidienne sans modification, c'est le /give!
À ton service!