Ce que j'essaie de faire : Faire en sorte que les joueurs aient toujours un guide ou un livre de sorts particulier (un guide généré par une commande spéciale avec des liens cliquables et une étiquette spéciale).
S'ils perdent leur livre, celui-ci devrait réapparaître dans leur inventaire. S'il laisse tomber son livre, il doit le faire et le livre sur le sol doit disparaître.
J'ai réussi à faire fonctionner ce système à un niveau basique, sauf que... Chaque fois qu'un joueur essaie de déplacer son livre vers un autre emplacement, il en reçoit un nouveau, ce qui n'est pas normal. Il n'y a apparemment pas d'emplacement d'inventaire que l'on puisse détecter pour la souris. Même s'il y en avait un... Cela peut conduire à une génération rapide d'infinis si, par exemple, ils ouvrent un coffre et mettent ce livre à plusieurs reprises dans ce coffre.
L'idée est donc de faire en sorte que si le joueur a l'interface graphique d'inventaire ouverte, il soit exclu de la sélection. Il n'obtient donc pas le livre tant que l'inventaire n'est pas fermé. Cela laisse encore des vides, et ils pourraient remplir des coffres avec ces livres. Mais ils devraient essayer pour le faire déraper, et je pense qu'il se sentirait bien à ce moment-là. Et pour faire de la génération infinie, il faudrait ouvrir et fermer le coffre à plusieurs reprises.
Voici mes commandes telles qu'elles se présentent actuellement. (2 blocs de commandes par livre de sorts)
/give @a[nbt=!{Inventory:[{id:"minecraft:written_book", tag:{spellbook:basic}}]}] written_book{pages:[...yada...],title:"Spellbook",author:"Dartania @ http://minecraft.tools/",display:{Lore:["You need this for lots of stuff! Don't lose it!"]},spellbook:basic}
/kill @e[nbt={Item:{id:"minecraft:written_book", tag:{spellbook:basic}}}]
Ce que je cherche à faire, c'est ajouter à cette partie... @a[nbt=!{Inventory:[{...}]
et le rendre plus proche de @a[nbt=!{Inventory:[{...}]},nbt=!{Client:{InventoryOpen:true}}]
Je sais que Client:{InventoryOpen}
n'est pas la bonne chose à faire, mais je ne sais pas ce qui est la bonne chose à faire.
Pour référence, je construis une carte puzzle solo/multijoueur sur Vanilla Minecraft 1.14, avec un bunker bedrock/command_block sous le spawn. J'utilise http://Minecraft.tools/ pour générer des objets (comme le livre de sorts)