1
你好任何想法如何使scheduleSyncDelayedTask,所以它不取消以前的任務,應該運行並稍後取消?Bukkit可運行提示
for(int x = 0; x < 8; x++){
int taskID = Bukkit.getServer().getScheduler().scheduleSyncRepeatingTask(Main.getPlugin(), new Runnable() {
@Override
public void run() {
CreateItems.createItemsOnStand2(player, bedna, listitems);
}
}, 30*x , 2+x);
Bukkit.getServer().getScheduler().scheduleSyncDelayedTask(Main.getPlugin(), new Runnable() {
public void run() {
Bukkit.getScheduler().cancelTask(taskID);
}
}, (x==0) ? 30 : 30*x);
}
你能解釋一下你的問題多一點?現在,看起來你有兩個任務正在創建,後者取消了前者。這不是你想要的嗎? –
基本上我想在不同的開始時間收集幾個任務,這些任務應該相應地取消。但目前當第一個scheduleSyncDelayedTask命中它的計時器時,它只是完全停止了其他scheduleSyncRepeatingTask,我猜它是因爲taskID被重新分配給了新的,所以我問是否有辦法處理許多任務,並在稍後使用scheduleSyncDelayedTask來阻止它們。 – elving
你確定這段代碼編譯好嗎?從我所看到的,你應該得到一個有關taskID不是最終的編譯器錯誤。 –