Посадить/снять игрока. Проблемы на стороне клиента

Версия Minecraft
1.12.2
192
2
9
Суть вопроса по названию скорее всего будет не совсем ясна, потому описываю более подробно.
Необходимо посадить игрока себе на голову, нажав по нему ПКМ. Это прекрасно работает, все это видят, всё отлично.
Необходимо снять игрока обратно со своей головы. Тут уже трудность. Когда снимаешь игрока, то у всех на сервере отображается, что игрок снят и спокойно играет дальше, а вот сам носитель(тот, кто нес игрока на своей голове) продолжает видеть, как снятый игрок сидит и дальше на его голове.

Как думаете, в каком месте возникает проблема именно? Все-таки изменения происходят у всех, кроме одного игрока.

Дополняю сорцом, должно помочь
Код:
@Override
    public boolean itemInteractionForEntity(ItemStack stack, EntityPlayer player, EntityLivingBase base, EnumHand hand) {
        if(stack.getItem() != CGSpells.GIVE)return false;
        if(!base.isRiding()){
            base.startRiding(player);
        }
        else {
            base.dismountRidingEntity();
        }
        return true;
    }

Тут живой пример ошибки. Примерно с 20-й секунды сама поблема.
 
Последнее редактирование:

Icosider

Kotliner
Администратор
3,603
99
664
Хм... даж не знаю... у вас там на 1.12 есть что-то типа player.worldObj.isRemote? Если да - попробуй добавить проверку
Я бы очень удивился, если спустя столько времени isRemote убрали б. А по теме, тимаха уже сливал код. Тема "сидение на стуле" и у того же мистера краба есть пример реализации.
 
586
32
136
Я бы очень удивился, если спустя столько времени isRemote убрали б. А по теме, тимаха уже сливал код. Тема "сидение на стуле" и у того же мистера краба есть пример реализации.
Можно ссылочку на статью?
 
192
2
9
Я бы очень удивился, если спустя столько времени isRemote убрали б. А по теме, тимаха уже сливал код. Тема "сидение на стуле" и у того же мистера краба есть пример реализации.

Спасибо за подсказки. Сейчас поищу. Как найду решение, выложу тут и закрою.
 
Сверху