Może ja zaproponuję to:
https://skriptlang.github.io/Skript/classes.html#inventoryaction
Wyrażenie sprawdza co dokładnie gracz zrobił - np. położył jeden item, zabrał połowę, wyrzucił wszystkie ze slota itd. przykład:
inventory click:
if clicked item is air:
clicked slot is 22:
inventory action is place one:
send "Gracz położył %cursor slot of player% w slocie 22"
jeżeli kliknięty slot jest pusty:
jeżeli kliknięty slot ma indeks 22:
jeżeli gracz położył w slocie jeden przedmiot:
send ""