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

Помогите Генератор предметов

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

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

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

    Баллы:
    76
    Имя в Minecraft:
    DJhunter
    Как сделать, чтобы при вводе команды( пример: /ff setgenerator iron), на тот блок который я смотрю стал бы генератором железа. Из него каждые 3 секунды появлялось бы железо.
     
  2. ZDCoder

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

    Баллы:
    76
  3. MurlikMurlik

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

    Баллы:
    96
    Создай коллекцию в которой хранятся координаты этих блоков и добавляй в нее координаты блока на которого смотрит игрок.
    А потом уже запланируй шедулер на срабатывания каждые 3 секунды, который будет циклом перебирать все координаты из коллекции и спавнить в тех местах предмет железа.
     
  4. Автор темы
    DJhunter

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

    Баллы:
    76
    Имя в Minecraft:
    DJhunter
    А какой-то небольшой или кривой пример можно, ну или нормальный :)?
     
  5. MurlikMurlik

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

    Баллы:
    96
    Код:
    public class Plugin extends JavaPlugin implements Listener {
        
        private final List<Location> ironLocation = new ArrayList<Location>();
        
        @Override
        public void onEnable() {
            getServer().getPluginManager().registerEvents(this, this);
            
            Bukkit.getScheduler().runTaskTimer(this, () -> {
                for (Location loc : ironLocation) {
                    //Здесь опиши логику спавна железа
                }
            }, 20, 20*3);
        }
        
        @Override
        public void onDisable() {
            
        }
        
        //Пример ивента на размещение блоков
        @EventHandler
        public void onBlockPlaceEvent(BlockPlaceEvent e) {
            //При определенном условии выполняй добавление блока
            if (...) {
               this.ironLocation.add(e.getBlockPlaced().getLocation()));
            }
        }
        
    
    }
     
  6. Автор темы
    DJhunter

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

    Баллы:
    76
    Имя в Minecraft:
    DJhunter
    Спасибо!
     

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