Хостинг серверов Minecraft playvds.com
  1. Вы находитесь в русском сообществе Bukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на русский язык плагины наших собратьев из других стран.
    Скрыть объявление

Помогите Не видно частиц

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

  1. xDark

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

    Баллы:
    96
    Skype:
    ailyashevich
    Имя в Minecraft:
    xDark
    ... да так.. ничего...
     
  2. Хостинг MineCraft
    <
  3. CoolBoy

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

    Баллы:
    96
    Skype:
    thecoolboy2070
    Имя в Minecraft:
    CoolBoy
    Ты не совсем понимаешь язык, на котором пишешь.

    this - ссылается на класс, в котором написан. В конструкторе BukkitRunnable первым аргументом выступает переменная главного класса.

    К сути - если тебе нужно использовать этот "раннабл" в другом классе, то ты должен либо создать конструктор в классе EventHandlers, где параметром будет выступать главный класс, либо создать инстанс главного класса.

    Конструктор:
    Код, представленный ниже используется в классе, в котором нужна переменная главного класса.
    В вашем случае - EventHandlers.
    Также, в главном классе, IDE подскажет вам, что при инициализации класса EventHandlers нужно указать аргумент. Аргументом там и будет являться this (тоесть главный класс).
    Код:
    private final Main plugin;
    
    public EventHandlers(Main plugin)
    {
        this.plugin = plugin;
    }
    
    Инстанс:
    Код, представленный ниже, пишется в главном классе плагина.
    Код:
    public static Main plugin;
    
    public static Main getPlugin()
    {
        return plugin;
    }
    
    Использование инстанса:
    Код:
    new BukkitRunnable()
    {
        @Override
        public void run()
        {
            //your govnocode here
        }
    }.runTaskLater(Main.getPlugin(), 20L);
    
    Использование конструктора:
    Код:
    new BukkitRunnable()
    {
        @Override
        public void run()
        {
            //your govnocode here
        }
    }.runTaskLater(plugin, 20L);
    
     
    Последнее редактирование: 3 сен 2016
  4. xDark

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

    Баллы:
    96
    Skype:
    ailyashevich
    Имя в Minecraft:
    xDark
    он не поймёт этого, сложна...
     
    Последнее редактирование: 3 сен 2016
  5. Dymeth

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

    Баллы:
    76
    Если бы мне так в своё время объясняли, я бы, наверно, уже космические аппараты программировал. Прям жму руку за качественные объяснения.

    Ну а вообще, конечно, ТС, в интернете полно документации по Java. Мог бы и почитать на досуге - пригодится. Разобрался хоть, проблемы решил?

    И да, прошу прощения за практически бессмысленное поднятие темы.
     
  6. alexandrage

    alexandrage Администратор

    Баллы:
    173
    Skype:
    alexandr0116
    Уже давно так не пишу, ибо не особо люблю классы с долларами. Создаю отдельный класс шедулера.
    new Scheduler(new Object[]{obj}).runTaskTimer(this, 20, 20);
     
    Последнее редактирование: 6 сен 2016
  7. CoolBoy

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

    Баллы:
    96
    Skype:
    thecoolboy2070
    Имя в Minecraft:
    CoolBoy
    А собственно, какая разница?
     
  8. alexandrage

    alexandrage Администратор

    Баллы:
    173
    Skype:
    alexandr0116
    Для жабы никакой, а для меня визуально, красиво и упорядочено.
     
  9. Dereku

    Dereku Старожил

    Баллы:
    173
    Skype:
    derek_unavailable
    Имя в Minecraft:
    _Dereku
    Не совсем чтобы красиво, но упорядочено, да.
     

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