- Баллы
- 66
- Имя в Minecraft
- deni9078
Следуйте инструкциям в видео ниже, чтобы узнать, как установить наш сайт как веб-приложение на главный экран вашего устройства.
Примечание: Эта функция может быть недоступна в некоторых браузерах.
С этим разобрался, спасибо. Теперь надо этот код
if (isHunting.containsKey(target)) {
BukkitTask task = Main.getInstance().getServer().getScheduler().runTaskLater(plugin, () -> {
isHunting.remove(target);
Bukkit.broadcastMessage(ChatColor.translateAlternateColorCodes('&', Main.getInstance().getConfig().getString("messages.broadcast-time").replace("%target%", targetName)));
}, Main.getInstance().getConfig().getInt("settings.time") * 60 * 20L);
}
, чтобы именно во время выполнения действия isHunting.put(target, targetName); выполнялся код выше
ставишь в мапу пару ключа и значения, потом запускаешь скедулер на 60 минут впередС этим разобрался, спасибо. Теперь надо этот код
как-то вставить сюдаКод:if (isHunting.containsKey(target)) { BukkitTask task = Main.getInstance().getServer().getScheduler().runTaskLater(plugin, () -> { isHunting.remove(target); Bukkit.broadcastMessage(ChatColor.translateAlternateColorCodes('&', Main.getInstance().getConfig().getString("messages.broadcast-time").replace("%target%", targetName))); }, Main.getInstance().getConfig().getInt("settings.time") * 60 * 20L); }
, чтобы именно во время выполнения действия isHunting.put(target, targetName); выполнялся код выше
Я конечно очень благодарен за помощь, но можно как-то понятнееставишь в мапу пару ключа и значения, потом запускаешь скедулер на 60 минут вперед
Я конечно очень благодарен за помощь, но можно как-то понятнее
isHunting.put(target, targetName);
BukkitTask task = Main.getInstance().getServer().getScheduler().runTaskLater(plugin, () -> {
isHunting.remove(target);
Bukkit.broadcastMessage(ChatColor.translateAlternateColorCodes('&', Main.getInstance().getConfig().getString("messages.broadcast-time").replace("%target%", targetName)));
}, Main.getInstance().getConfig().getInt("settings.time") * 60 * 20L);
Это то понятно, но мне нужно вставить условие и именно на это действиеКод:isHunting.put(target, targetName); BukkitTask task = Main.getInstance().getServer().getScheduler().runTaskLater(plugin, () -> { isHunting.remove(target); Bukkit.broadcastMessage(ChatColor.translateAlternateColorCodes('&', Main.getInstance().getConfig().getString("messages.broadcast-time").replace("%target%", targetName))); }, Main.getInstance().getConfig().getInt("settings.time") * 60 * 20L);
пы.сы. я правильность не проверял, просто взял части твоего кода и склеил их
какое условие? этим кодом ты ставишь пару ключа и значения в мапу и через 60 минут удаляешь из мапы, можешь внутри потока скедулера дополнительно проверить наличие ключа в мапе, если тебе это нужноЭто то понятно, но мне нужно вставить условие и именно на это действие
Давай пойдём немного назад. Это плагин на заказные убийства. Вот я выдаю мапу игроку, в эвентах при убийстве игрока с меткой происходит действие. Соответственно, если не добавить условие наличия мапы в скедулер, то будут не очень приятные моменты. Я не могу сделать так:какое условие? этим кодом ты ставишь пару ключа и значения в мапу и через 60 минут удаляешь из мапы, можешь внутри потока скедулера дополнительно проверить наличие ключа в мапе, если тебе это нужно
isHunting.put(target, targetName)
if (isHunting.containsKey(target)) {
BukkitTask task = Main.getInstance().getServer().getScheduler().runTaskLater(plugin, () -> {
isHunting.remove(target);
Bukkit.broadcastMessage(ChatColor.translateAlternateColorCodes('&', Main.getInstance().getConfig().getString("messages.broadcast-time").replace("%target%", targetName)));
}, Main.getInstance().getConfig().getInt("settings.time") * 60 * 20L);
}
я не особо понял, что ты имеешь в виду, но, исходя из твоего кода, думаю, что тебе нужно проверять наличие в мапе при удалении. вот:Давай пойдём немного назад. Это плагин на заказные убийства. Вот я выдаю мапу игроку, в эвентах при убийстве игрока с меткой происходит действие. Соответственно, если не добавить условие наличия мапы в скедулер, то будут не очень приятные моменты. Я не могу сделать так:
потому что это всё происходит в методе onCommand, то есть там есть условия свои и это условие в коде будет считаться как условие для команды (да я не умею объяснять)Код:isHunting.put(target, targetName) if (isHunting.containsKey(target)) { BukkitTask task = Main.getInstance().getServer().getScheduler().runTaskLater(plugin, () -> { isHunting.remove(target); Bukkit.broadcastMessage(ChatColor.translateAlternateColorCodes('&', Main.getInstance().getConfig().getString("messages.broadcast-time").replace("%target%", targetName))); }, Main.getInstance().getConfig().getInt("settings.time") * 60 * 20L); }
isHunting.put(target, targetName);
Main.getInstance().getServer().getScheduler().runTaskLater(plugin, () -> {
if(!isHunting.containsKey(target)) return;
isHunting.remove(target);
Bukkit.broadcastMessage(ChatColor.translateAlternateColorCodes('&', Main.getInstance().getConfig().getString("messages.broadcast-time").replace("%target%", targetName)));
}, Main.getInstance().getConfig().getInt("settings.time") * 60 * 20L);