- Баллы
- 76
- Имя в Minecraft
- Jenka20091
Здравствуйте, подскажите пожалуйста, как сделать чтобы в чат отправлялось сообщение каждые 5 минут, причём в три строчки.
Следуйте инструкциям в видео ниже, чтобы узнать, как установить наш сайт как веб-приложение на главный экран вашего устройства.
Примечание: Эта функция может быть недоступна в некоторых браузерах.
Через Scheduler. А конкретно,Здравствуйте, подскажите пожалуйста, как сделать чтобы в чат отправлялось сообщение каждые 5 минут, причём в три строчки.
Bukkit.getScheduler().scheduleSyncRepeatingTask(plugin, new BukkitRunnable() {
@Override
public void run() {
Bukkit.broadcastMessage("Hi!"); // Не точно, не помню название метода точно. Но суть в том, что будет каждый промежуток времени отправлять Hi! в чат. Для кастомной задержки используй калькулятор тиков или считай сам.
}
}, 0L, 20L); // Будет повторяться каждые 20 тиков(секунда), перед первым выполнением будет 0 тиков
И так, немного поясню, 20L - 20 тиков, что равно 1 секунде.Через Scheduler. А конкретно,
Код:Bukkit.getScheduler().scheduleSyncRepeatingTask(plugin, new BukkitRunnable() { @Override public void run() { Bukkit.broadcastMessage("Hi!"); // Не точно, не помню название метода точно. } }, 0L, 20L); // Будет повторяться каждые 20 тиков, перед первым выполнением будет 0 тиков
Bukkit.broadcast("Hi", "random.permmision");
Мало ли, еще у человека будут вопросы по таймеру, и вместо создании еше одной темы, здесь напишетЗакрой тему
Открыть тему всегда можно опять.Мало ли, еще у человека будут вопросы по таймеру, и вместо создании еше одной темы, здесь напишет
Закрыть в самом начале под заголовком, вроде где то там.Я новичок, как закрыть. + к тому у меня ошибка, напишу чуть позже
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
}
[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]
getPlugin(null) не смущает? Передай туда экземпляр главного класса своего. То есть this(если это в onEnable())Вот мой код. А сейчас покажу ошибку в консоли. P.S.Версия Spigot одна и таже.Код: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 }
Код:[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 тиков, но влиять вообще не должно