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

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

Discussion in 'Разработка плагинов для новичков' started by Exception, Aug 31, 2016.

  1. xDark

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

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

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

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

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

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

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

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

    Trophy Points:
    96
    Skype:
    ailyashevich
    Имя в Minecraft:
    xDark
    он не поймёт этого, сложна...
     
    Last edited: Sep 3, 2016
  5. Dymeth

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

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

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

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

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

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

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

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

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

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

    Dereku Старожил

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

Share This Page