Войти или зарегистрироваться
  • Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.

Помогите Отслеживание нажатия WASD сидя в арморстэнде

Статус
Закрыто для дальнейших ответов.

xflyiwnl

Активный участник
Пользователь
Баллы
66
Имя в Minecraft
xflyiwnl
Ну так вот, я посадил игрока на арморстэнд и теперь мне надо поворачивать арморстэнд в лево и право в зависимости от нажатой клавиши. С поворачиванием всё понятно, но как мне отследить WASD? Погуглив узнал, что делается с помощью ProtocolLib, но без нужного мне кода.
 
Что думаете насчёт этого?

Код:
protocolManager = ProtocolLibrary.getProtocolManager();
        protocolManager.addPacketListener(
                new PacketAdapter(Main.instance, ListenerPriority.NORMAL, PacketType.Play.Client.STEER_VEHICLE) {

                    @Override
                    public void onPacketReceiving(PacketEvent event) {
                        final Player player = event.getPlayer();
                        if (event.getPacketType() == PacketType.Play.Client.STEER_VEHICLE
                                && player.getVehicle() != null) {
                            final PacketContainer packet = event.getPacket();


     final float right = event.getPacket().getFloat().readSafely(0); // positive means right, negative is left
     final float forward = event.getPacket().getFloat().readSafely(1); // positive means forward, negative is backwards
     try {
       if (event.getPacket().getBooleans().readSafely(1)) {
         //the player used shift and is trying to get out of the vehicle
       }
       if (event.getPacket().getBooleans().readSafely(0)) {
        //player has pressed space
       }
     } catch (Error | Exception e45) {
     }

                        }
                    }

                });

    }
 
Последнее редактирование:
Последнее редактирование:
Спасибо, еще хотел спросить. Его же можно прослушивать, даже если игрок не сидит в vehicle?

У меня кастом машины будут
Клиент должен знать, что он сидит на чем-либо, иначе этот пакет клиентом отсылаться не будет
 
Главное, чтобы игрок сидел?
С точки зрения клиента он должен сидеть на сущности, да.
Как ты это сделаешь на стороне сервера - решать тебе. Можно через баккит апи заспаунить условную стрелу и посадить на неё игрока. Можно пакетами. Короче как удобно
 
Статус
Закрыто для дальнейших ответов.

Поделиться этой страницей

Назад
Верх