Отслеживание нажатия клавиши для игрока MP

Версия Minecraft
1.12+
API
Forge
106
3
7
Привет, хочется отследить выбор предмета в главную руку и убирание у игрока. Пытался отслеживать нажатие клавиш 1-9 -> проверять итем в руке -> производить действие с игроком если в руке появился предмет или обратное если был убран. Пробовал KeyInputEvent или как его, но с него нельзя получить игрока мп, только из getMinecraft(), то есть синглплеерного.
Получилось так сделать в PlayerTickEvent проверяя Keyboard. isKeyDown(клавиши 1-9), но работает это с переменным успехом, то есть иногда работает а иногда нет. Возможно ли нормально отследить нажатие клавиш и получить игрока, или есть другой способ выполнять код если у игрока появился предмет в руке?
 
Решение
Попробуй событие LivingEquipmentChangeEvent
Попробуй каждый тик сравнивать текущий предмет и предыдущий(его нужно запоминать в свою переменную, капабилити подойдет)
Попробуй событие LivingEquipmentChangeEvent
Попробуй каждый тик сравнивать текущий предмет и предыдущий(его нужно запоминать в свою переменную, капабилити подойдет)
 
Попробуй событие LivingEquipmentChangeEvent
Попробуй каждый тик сравнивать текущий предмет и предыдущий(его нужно запоминать в свою переменную, капабилити подойдет)
С ним действительно пашет стабильно, спасибо не знал что этот эвент и на руки реагирует, только срабатывает три раза почему то, может дело в фазах? Звук не проигрывается из за этого скорее всего (результат взятия в руку предмета)
 
Назад
Сверху