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

Отправка сообщений каждые 5 минут

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

Статус темы:
Закрыта.
  1. Автор темы
    adodvstudios

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

    Баллы:
    76
    Имя в Minecraft:
    Jenka20091
    Здравствуйте, подскажите пожалуйста, как сделать чтобы в чат отправлялось сообщение каждые 5 минут, причём в три строчки.
     
  2. ifxandy

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

    Баллы:
    76
    Имя в Minecraft:
    witwar
    Через Scheduler. А конкретно,

    Код:
    Bukkit.getScheduler().scheduleSyncRepeatingTask(plugin, new BukkitRunnable() {
    
      @Override
      public void run() {
        Bukkit.broadcastMessage("Hi!"); // Не точно, не помню название метода точно. Но суть в том, что будет каждый промежуток времени отправлять Hi! в чат. Для кастомной задержки используй калькулятор тиков или считай сам.
      }
    
    }, 0L, 20L); // Будет повторяться каждые 20 тиков(секунда), перед первым выполнением будет 0 тиков
     
  3. _MRDen3000YT_

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

    Баллы:
    76
    И так, немного поясню, 20L - 20 тиков, что равно 1 секунде.
    Код:
    Bukkit.broadcast("Hi", "random.permmision");
    Где вместо "Hi" - сообщение которое будет отправляться, а вместо "random.permmision" - твоё право. Люди имеющие это право будут получать сообщения.
     
  4. Автор темы
    adodvstudios

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

    Баллы:
    76
    Имя в Minecraft:
    Jenka20091
    Спасибо, огромное
     
  5. Mrflaxe

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

    Баллы:
    61
    Имя в Minecraft:
    Mrflaxe
    Закрой тему
     
  6. _MRDen3000YT_

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

    Баллы:
    76
    Мало ли, еще у человека будут вопросы по таймеру, и вместо создании еше одной темы, здесь напишет
     
  7. alexandrage

    alexandrage Старожил Пользователь

    Баллы:
    173
    Открыть тему всегда можно опять.
     
  8. Автор темы
    adodvstudios

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

    Баллы:
    76
    Имя в Minecraft:
    Jenka20091
    Я новичок, как закрыть. + к тому у меня ошибка, напишу чуть позже
     
  9. ifxandy

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

    Баллы:
    76
    Имя в Minecraft:
    witwar
    Закрыть в самом начале под заголовком, вроде где то там.
     
  10. Автор темы
    adodvstudios

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

    Баллы:
    76
    Имя в Minecraft:
    Jenka20091
    Код:
        Bukkit.getScheduler().scheduleSyncRepeatingTask(getPlugin(null), new BukkitRunnable() {
    
              @Override
              public void run() {
                //Bukkit.broadcastMessage("Hi!");
                  Bukkit.broadcast("Hi", "sendmessage.permmision");
              }
    
            }, 0L, 50L); //50 Ticks
        
        getLogger().info("SenderAutoMessage is loaded! Hello Message!!!"); //Console Log
    }
    Вот мой код. А сейчас покажу ошибку в консоли. P.S.Версия Spigot одна и таже.

    Код:
    [SenderAutoMessage] Enabling SenderAutoMessage v0.1
    [15:38:37 ERROR]: Error occurred while enabling SenderAutoMessage v0.1 (Is it up to date?)
    java.lang.IllegalArgumentException: Null class cannot have a plugin
            at org.apache.commons.lang.Validate.notNull(Validate.java:192) ~[server.jar:git-Spigot-dcd1643-e60fc34]
            at org.bukkit.plugin.java.JavaPlugin.getPlugin(JavaPlugin.java:380) ~[server.jar:git-Spigot-dcd1643-e60fc34]
            at ru.adodvstudios.sam.Main.onEnable(Main.java:13) ~[?:?]
            at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:264) ~[server.jar:git-Spigot-dcd1643-e60fc34]
            at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:337) [server.jar:git-Spigot-dcd1643-e60fc34]
            at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:403) [server.jar:git-Spigot-dcd1643-e60fc34]
            at org.bukkit.craftbukkit.v1_12_R1.CraftServer.enablePlugin(CraftServer.java:381) [server.jar:git-Spigot-dcd1643-e60fc34]
            at org.bukkit.craftbukkit.v1_12_R1.CraftServer.enablePlugins(CraftServer.java:330) [server.jar:git-Spigot-dcd1643-e60fc34]
            at net.minecraft.server.v1_12_R1.MinecraftServer.t(MinecraftServer.java:422) [server.jar:git-Spigot-dcd1643-e60fc34]
            at net.minecraft.server.v1_12_R1.MinecraftServer.l(MinecraftServer.java:383) [server.jar:git-Spigot-dcd1643-e60fc34]
            at net.minecraft.server.v1_12_R1.MinecraftServer.a(MinecraftServer.java:338) [server.jar:git-Spigot-dcd1643-e60fc34]
            at net.minecraft.server.v1_12_R1.DedicatedServer.init(DedicatedServer.java:272) [server.jar:git-Spigot-dcd1643-e60fc34]
            at net.minecraft.server.v1_12_R1.MinecraftServer.run(MinecraftServer.java:545) [server.jar:git-Spigot-dcd1643-e60fc34]
            at java.lang.Thread.run(Unknown Source) [?:1.8.0_261]
    Вот ошибка. Единственное что, я изменил на 50 тиков, но влиять вообще не должно
     
  11. ifxandy

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

    Баллы:
    76
    Имя в Minecraft:
    witwar
    getPlugin(null) не смущает? Передай туда экземпляр главного класса своего. То есть this(если это в onEnable())
     
  12. Автор темы
    adodvstudios

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

    Баллы:
    76
    Имя в Minecraft:
    Jenka20091
    Мне сказали(я и сам знал), что тики - это секунды. Я поставил 50, но начало спамить. Спасибо всем огромное сейчас закрою тему.

    Итог:
    [​IMG]
     
Статус темы:
Закрыта.

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