Помогите [Решено] Как перемещать энтити (ProtocolLib)?

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

EnderBro3D

Активный участник
Пользователь
Баллы
76
Имя в Minecraft
EnderBro3D
У меня есть entityID, мне нужно переместить его в указанную точку (в моём случае переместить на голову игрока), я делаю так:

Java:
    static void playerMove(Player player, Location to) {
        if(disguise.containsKey(player)) {
            buildMove(disguise.get(player), to).broadcastPacket();
        }
    }

Java:
    private static AbstractPacket buildMove(int entityID, Location to) {
        WrapperPlayServerRelEntityMoveLook move = new WrapperPlayServerRelEntityMoveLook();
        move.setEntityID(entityID);
        move.setDx(to.getX());
        move.setDy(to.getY() + 1);
        move.setDz(to.getZ());
        move.setOnGround(true);
        move.setYaw(to.getYaw());
        move.setPitch(to.getPitch());
        return move;
    }

Но энтити несётся куда-то в воздух, помогите пжлст.
 
Ты хочешь игрока посадить на голову другого игрока?
 
Ты хочешь игрока посадить на голову другого игрока?
Я хочу сделать так, чтобы энтити двигался также как и игрок, т.е энтити будет стоять в игроке, но на блок выше.
 
У меня получилось сделать это с телепортом:
Код:
    private static AbstractPacket buildMove(int entityID, Location to) {
        WrapperPlayServerEntityTeleport teleport = new WrapperPlayServerEntityTeleport();
        teleport.setEntityID(entityID);
        teleport.setX(to.getX());
        teleport.setY(to.getY() + 1);
        teleport.setZ(to.getZ());
        teleport.setYaw(to.getYaw());
        teleport.setPitch(to.getPitch());
        teleport.setOnGround(false);
        return teleport;
    }


upload_2018-5-2_2-52-30.png

Тема закрыта)
 
Статус
Закрыто для дальнейших ответов.
Назад
Верх