Il me semble que le wait est limite obligatoire. Car entre l'action et l'ouverture de l'inventaire, si tu ne met pas un "wait", l'item que tu veux mettre dans ton slot ne s'affichera pas. Il faut lui dire d'attendre un chouïa.
Par contre si on test ton skript tu as deux problèmes.
1. Le lapis est droppable quand on ferme l'inventaire.
2. Le lapis est prenable dans la table d'enchantement.
Note: Testé en 1.11.2
Pour corriger ce problème tu pourrais faire un truc random du style :
# By Doc / HalCroves
# On set une variable à 1 pour savoir si on est dans la table d'enchantement ou non
on right click on enchantment table:
wait a tick
format slot 1 of player with lapis to be unstealable
set {open.enchantment-table} to 1
# Addons Skelett
# Quand on essaye de récupérer le lapis, on cancel l'event
# pickup all = prendre
# on lui dit qu'on veut seulement bloquer le lapis
on inventory click:
if {open.enchantment-table} is 1:
if "%clicked action%" is "pickup all":
if item is lapis:
cancel event
else:
stop trigger
# On supprime le lapis de la table d'enchantement à la fermeture pour éviter le drop
on close inventory:
if {open.enchantment-table} is 1:
format slot 1 of player with air to be unstealable
delete {open.enchantment-table}
# On delete la variable pour ne pas être embêter quand on veux ouvrir un coffre/table de craft par exemple
Pour le bout de code "on inventory click" -> https://www.skunity.com/search?search=inventory+click#
Edit : Normalement ça fonctionne en 1.11.2. Je ne suis pas super à l’aise avec les variables, donc je ne suis pas sur que ce soit 100% correct.
Je ne suis pas certains non plus que ce soit une bonne méthode à utiliser.
Bon courage :)