1. Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie. Узнать больше.
  2. Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.
    Скрыть объявление
Скрыть объявление
В преддверии глобального обновления, мы проводим исследования, которые помогут нам сделать опыт пользования форумом ещё удобнее. Помогите нам, примите участие!

Помогите Как реализовать рост пшеницы в радиусе от игрока

Тема в разделе "Разработка плагинов для новичков", создана пользователем QuodLitee, 11 мар 2024.

  1. Автор темы
    QuodLitee

    QuodLitee Активный участник Пользователь

    Баллы:
    66
    Нужно чтобы когда игрок нажимает на шифт все виды культур в радиусе 5 блоков от игрока вырастали до максимума.
    Пытался что-то такое написать - не получилось
    Код:
    @EventHandler
        public void onPlayerToggleSneak(PlayerToggleSneakEvent event) {
            if (event.getPlayer().getInventory().getItemInMainHand().hasItemMeta()) {
                String offhandName = event.getPlayer().getInventory().getItemInMainHand().getItemMeta().getDisplayName();
                if (event.isSneaking() && offhandName.equals(color(cfg.getString("item.name")))) {
                    Block block = event.getPlayer().getLocation().getBlock();
                    event.getPlayer().sendMessage("1");
                    int radius = 5;
                    for (int x = -radius; x <= radius; x++) {
                        for (int y = -radius; y <= radius; y++) {
                            for (int z = -radius; z <= radius; z++) {
                                Block targetBlock = block.getWorld().getBlockAt(block.getLocation().add(x, y, z));
                                BlockState targetBlockState = targetBlock.getState();
                                if (targetBlockState instanceof Ageable) {
                                    Ageable ageable = (Ageable) targetBlockState;
                                    ageable.setAge(ageable.getMaximumAge());
                                    targetBlockState.update(true, false);
                                    cfg.getStringList("item.use").forEach(msg -> event.getPlayer().sendMessage(color(msg)));
                                }
                            }
                        }
                    }
                }
            }
        }
     
  2. Автор темы
    QuodLitee

    QuodLitee Активный участник Пользователь

    Баллы:
    66
    понял как это сделать, теперь другой вопрос, как отследить зачарование Удача III у предмета в второй руке, чтобы с растений выпадало больше лута
     
    Последнее редактирование: 11 мар 2024
  3. Alone Dev

    Alone Dev Участник

    Баллы:
    31
    ItemMeta#getEnchantmentLevel(Enchantment.FORTUNE) ?

    ItemMeta meta = item.getItemMeta();

    int level = meta.getEnchantmentLevel(Enchantment.FURTUNE)

    // do sth
     
  4. Автор темы
    QuodLitee

    QuodLitee Активный участник Пользователь

    Баллы:
    66
    Зачарование на предмет то я добавил, но будет ли оно работать во второй руке? И зачарование fortune работает так же и на руду, а нужно чтобы зачарование распространялось только на культуры
     
  5. Alone Dev

    Alone Dev Участник

    Баллы:
    31
    Сделай свое зачарование и реализуй так как надо тебе?

    Для второй руки
    p.getEquipment().getItemInOffHand().getItemMeta().getEnchantLevel(Enchantment.LOOT_BONUS_BLOCKS);
     

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