Поменять предмет из руки и предмет из инвентаря местами

Версия Minecraft
1.12.2
API
Forge
В определенный момент сервер меняет местами предмет у игрока из руки на случайный из инвентаря(может даже из хотбара). Задача следующая. Мод должен поменять предметы обратно. Отлавливание этого момента у меня реализовано, осталось только реализовать в том месте перемещение предметов обратно, и вот как раз с этим у меня возникли проблемы. Не могу найти нормального способа как можно это сделать. Запоминать, какой предмет был в руке до подмены его на случаный, нужно во время каждой атаки, эта часть у меня реализована.
Java:
public static void onAttack(AttackEntityEvent e) {
        lastWeaponBeforeSwap = e.getEntityPlayer().getActiveItemStack();
}

Собственно, осталось только найти как-то этот предмет в инвентаре, и поменять его местами с предметом, который находится в активном слоте на хотбаре.
 
7,099
324
1,510
Это должен быть клиентский мод? Очевидно, нужно эмулировать действия пользователя.
Можно при помощи класса Robot прямо таки делать нажатия клавиатуры и мыши куда надо.
Можно отсылать ванильные пакеты, такие, которые отсылаются при требуемых действиях клавиатуры и мыши.
С точки зрения сервера оба решения будут выглядеть одинаково.

Посмотри в InventoryTweaks, там же всякие фичи автоматической манипуляции инвентарем
 
Сверху