Не работает getScheduler

Просьба пожалуйста помогите решить проблему. Не срабатывает шедулер почему-то, сколько возился с этой проблей все никак не получилось починить. У меня есть отдельная команда, которая отвечает за запуск скрипта, скрипт отвечает за то чтобы по местоположению игрока поставить блок. Вызываю команду, а команда в шедулере и вовсе не срабатывает спустя хоть 20 секунд. Не понимаю в чем причина, начал только изучать эту всю тематику разработки плагинов)))

Код:

package me.bodka.meteorfalling.commands;

import me.bodka.meteorfalling.Main;
import org.bukkit.Bukkit;
import org.bukkit.Location;
import org.bukkit.Material;
import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import org.bukkit.plugin.java.JavaPlugin;

public class AdminCMD extends JavaPlugin implements CommandExecutor {

    public AdminCMD(Main plugin){
        plugin.getCommand("StartMeteorFalling").setExecutor(this);
    }


    @Override
    public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
        if (!(sender instanceof Player)){
            System.out.println("Только игрок может исполнять эту команду!");
            return true;
        }
        Player player = (Player) sender;

        if(player.isOp()){
            int x = player.getLocation().getBlockX(), y = player.getLocation().getBlockY(), z = player.getLocation().getBlockZ();
            Location loc = new Location(player.getWorld(), x, y, z);
            Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(this, new Runnable() {
                @Override
                public void run() {
                    loc.getBlock().setType(Material.DIAMOND_BLOCK);
                }
            }, 20L);
            System.out.println("Шедулер пройден!");
        }
        else{
            System.out.println("Только админ может использовать эту команду!");
            return true;
        }
        return false;
    }
}


Ответы (1 шт):

Автор решения: flawe

Скорее всего проблема в том, что Вы пытаетесь изменить мир в асинхроне. Используйте метод runTaskLater для своей задачи.
Если же проблема не решилась - предоставьте логи, чтобы было проще разобраться с вашей проблемой.

→ Ссылка