Помогите Как заспавнить entity (ArmorStand), добавить ему бесконечный эффект невидимости и посадить игрка

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

AlexP_

Активный участник
Пользователь
Баллы
66
Имя в Minecraft
AlexP_
Помогите пожалуйста! Мне нужно заспавнить энтити (Стойка для брони) с невидимым эффектом и посадить на него отправителя команды
 
Почему-то не работает
Код:
    @EventHandler
    public void EntityLeft (EntityDismountEvent e) {
        if (e.getEntity() == CommandSIT.as)
            CommandSIT.as.remove();
    }
Код:
public class CommandSIT implements CommandExecutor {
    static public ArmorStand as;

    @Override
    public boolean onCommand(CommandSender commandSender, Command command, String s, String[] strings) {
        //Получеие игрока, отправившего комманду
        Player pl = (Player) commandSender;

        //Получаем мир в котором находиться отправитель комманды
        World world = pl.getWorld();
        //Получаем позицию, на коотрой долеш стоять Армор Стенд
        Location location = pl.getLocation().add(0, -1.8f, 0);

        //Если пользователь не стоит на земле, то выводит ошибку
        if (!pl.isOnGround()) {
            pl.sendMessage(ChatColor.GOLD + "CatLand RP" + ChatColor.RED + " | " + ChatColor.WHITE + "Вы не можете сидеть в воздухе!");
            return true;
        }
        //Если пользователь в\на транспорте, то выводит ошибку
        if (pl.isInsideVehicle()) {
            pl.sendMessage(ChatColor.GOLD + "CatLand RP" + ChatColor.RED + " | " + ChatColor.WHITE + "Вы не можете сидеть в\\на транспорте!");
            return true;
        }

        //Слздаём Энтити
        Entity ent = world.spawn(location, ArmorStand.class);

        //Создаём Стойку Для Брони
        as = (ArmorStand)ent;

        //Делаем Стойку невидимой
        as.setVisible(false);
        //Убираем гравитацию со стойки
        as.setGravity(false);

        //Садим игрока на Стойку
        as.addPassenger(pl);

        return true;
    }
}
 
Помогите пожалуйста, я знаю, что я нуб 😢
Учись пользоваться гуглом. В начале у тебя были вполне нормальные вопросы, но теперь ты спрашиваешь совсем уж банальные вещи.

Объекты сравниваются через equals.
 
Учись пользоваться гуглом. В начале у тебя были вполне нормальные вопросы, но теперь ты спрашиваешь совсем уж банальные вещи.

Объекты сравниваются через equals.
Всё-равно не работает
 
Пожалуйста, просто скиньте код 😢
На форуме ПОМОГАЮТ, а не пишут код за тебя.
Хендлер команды один, но срабатывает на ВСЕХ кто написал команду хендлера. Твоя переменная статична, а следовательно будет постоянно изменяться в зависимости от того, кто последний исполнил команду.

Тебе нужно, как минимум, иметь Set / List со всеми арморстендами что когда-либо были созданы. для того чтобы на них посидеть
И уже на этапе хендла дизмаунта проверять, есть ли в сете / листе арморстенд, с которого слазит игрок и если есть - деспавнить игрока и удалять сервер к херам арморстенд.
 
Тебе нужно, как минимум, иметь Set / List со всеми арморстендами что когда-либо были созданы. для того чтобы на них посидеть
Сложна, можно тупо скорборд ему повесить и по нему определять.
 
Сложна, можно тупо скорборд ему повесить и по нему определять.
Я не понял не одного слова. Ясно...
На форуме ПОМОГАЮТ, а не пишут код за тебя.
Хендлер команды один, но срабатывает на ВСЕХ кто написал команду хендлера. Твоя переменная статична, а следовательно будет постоянно изменяться в зависимости от того, кто последний исполнил команду.

Тебе нужно, как минимум, иметь Set / List со всеми арморстендами что когда-либо были созданы. для того чтобы на них посидеть
И уже на этапе хендла дизмаунта проверять, есть ли в сете / листе арморстенд, с которого слазит игрок и если есть - деспавнить игрока и удалять сервер к херам арморстенд.
Я говно и мой сервер тоже! Спасибо всем вам, тема закрыта, как и моё желание заниматься плагинами! 👍
 
Статус
Закрыто для дальнейших ответов.
Назад
Верх