Помогите Добавить предмет в инвентарь игрока...

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

_MCMaster_

Активный участник
Пользователь
Баллы
76
Имя в Minecraft
DragOn4ik
Hi. Наверное, тупейший вопрос задал но всё же...
Надо добавить предмет в инвентарь игрока, делаю так:
Код:
PlayerInventory inv = player.getInventory();
inv.addItem(item);
//item - ItemStack
А дальше что делать? Как присвоить инвентарь inv игроку player?
player.setInventory(inv) ? - Такого метода нет...
 
Ещё вопрос(Задолбал я вас уже наверное 😁) :
Как запустить Projectile от игрока, но не обычную стрелу а какой-либо предмет, для пушки надо. И при столкновении с игроком или блоком Projectile должен взорваться. player.launchProjectile(???) А дальше не понимаю, как это сделать....
 
Ещё вопрос(Задолбал я вас уже наверное 😁) :
Как запустить Projectile от игрока, но не обычную стрелу а какой-либо предмет, для пушки надо. И при столкновении с игроком или блоком Projectile должен взорваться. player.launchProjectile(???) А дальше не понимаю, как это сделать....
Нельзя так. Блоги не наследуют интерфес Projectile.
 
Крч остыли всё это) Я же буду стрелу запускать с партиклами.
Тупой вопрос: как запустить стрелу и как-то спаунить партиклы за ней?
 
Крч остыли всё это) Я же буду стрелу запускать с партиклами.
Тупой вопрос: как запустить стрелу и как-то спаунить партиклы за ней?
player.launchProjectile(???)
А частицы с какой-то частотой создавай через BukkitRunnable
 
Крч остыли всё это) Я же буду стрелу запускать с партиклами.
Тупой вопрос: как запустить стрелу и как-то спаунить партиклы за ней?
Ну попробуй этот код:
Код:
    @EventHandler
    public void onProjectileLaunch(final ProjectileLaunchEvent projectileLaunchEvent) {
        final Projectile entity = projectileLaunchEvent.getEntity();
        if (entity.getShooter() instanceof Player) {
            final Player player = (Player)entity.getShooter();
                if (entity.getType().equals((Object)EntityType.ARROW)) {
                    new BukkitRunnable() {
                        private final World w = player.getWorld();
                        public void run() {
                            this.w.playEffect(entity.getLocation(), Effect.STEP_SOUND, 1);
                            if (!entity.isValid() || entity.isOnGround()) {
                                this.cancel();
                            }
                        }
                    }.runTaskTimer((Plugin)this.plugin, 3L, 3L);
                }
            }
    }
 
Теперь самый тупой вопрос: что передать методу Player.launchProjectile(arg) ?
 
Теперь самый тупой вопрос: что передать методу Player.launchProjectile(arg) ?
Да загляни в гугл и посмотри как делают в других плагинах. Или джавадоки почитай (ищи нужные классы используя F3).
Тебе надо передать класс который наследует Projectile, в твоём случае, Arrow.
PHP:
Arrow arrow = player.launchProjectile(Arrow.class);
arrow.setVelocity(/*дай стреле направление*/);
 
Я чет ору с тех, кто отвечает на такие глупые вопросы, этот чел всю жизнь будет тут ***ню писать и говно кодить, пока не научиться нормально гуглить и немного использовать мозг, ваши действия только замедляют его развитие.
Ладно бы он чёт нормальное спрашивал, но эт уже за рамки.
 
Последнее редактирование:
Ну попробуй этот код:
Код:
    @EventHandler
    public void onProjectileLaunch(final ProjectileLaunchEvent projectileLaunchEvent) {
        final Projectile entity = projectileLaunchEvent.getEntity();
        if (entity.getShooter() instanceof Player) {
            final Player player = (Player)entity.getShooter();
                if (entity.getType().equals((Object)EntityType.ARROW)) {
                    new BukkitRunnable() {
                        private final World w = player.getWorld();
                        public void run() {
                            this.w.playEffect(entity.getLocation(), Effect.STEP_SOUND, 1);
                            if (!entity.isValid() || entity.isOnGround()) {
                                this.cancel();
                            }
                        }
                    }.runTaskTimer((Plugin)this.plugin, 3L, 3L);
                }
            }
    }
Какой ужас. Мой ArrowTrails упал со стула.
 
Я чет ору с тех, кто отвечает на такие глупые вопросы, этот чел всю жизнь будет тут ***ню писать и говно кодить, пока не научиться нормально гуглить и немного использовать мозг, ваши действия только замедляют его развитие.
Ладно бы он чёт нормальное спрашивал, но эт уже за рамки.
Так и есть
 
Статус
Закрыто для дальнейших ответов.
Назад
Верх