mirror of
https://github.com/mcMMO-Dev/mcMMO.git
synced 2025-06-29 04:04:43 +02:00
Create BukkitPlatformScheduler
This commit is contained in:
@ -1,6 +1,6 @@
|
||||
package com.gmail.nossr50.mcmmo.api.platform;
|
||||
|
||||
import com.gmail.nossr50.mcmmo.api.platform.schedular.PlatformScheduler;
|
||||
import com.gmail.nossr50.mcmmo.api.platform.scheduler.PlatformScheduler;
|
||||
import com.gmail.nossr50.mcmmo.api.platform.util.MetadataStore;
|
||||
|
||||
import java.io.File;
|
||||
@ -33,4 +33,6 @@ public interface PlatformProvider {
|
||||
void printUnsupported();
|
||||
|
||||
PlatformScheduler getScheduler();
|
||||
|
||||
void checkMetrics();
|
||||
}
|
||||
|
@ -1,6 +0,0 @@
|
||||
package com.gmail.nossr50.mcmmo.api.platform.schedular;
|
||||
|
||||
public interface PlatformScheduler {
|
||||
|
||||
|
||||
}
|
@ -0,0 +1,55 @@
|
||||
package com.gmail.nossr50.mcmmo.api.platform.scheduler;
|
||||
|
||||
import java.util.function.Consumer;
|
||||
|
||||
public interface PlatformScheduler {
|
||||
|
||||
TaskBuilder getTaskBuilder();
|
||||
|
||||
Task scheduleTask(TaskBuilder taskBuilder);
|
||||
|
||||
|
||||
class TaskBuilder {
|
||||
Integer delay;
|
||||
Integer repeatTime;
|
||||
|
||||
public boolean isAsync() {
|
||||
return isAsync;
|
||||
}
|
||||
|
||||
public TaskBuilder setAsync(boolean async) {
|
||||
isAsync = async;
|
||||
return this;
|
||||
}
|
||||
|
||||
boolean isAsync = false;
|
||||
Consumer<Task> task;
|
||||
|
||||
public Integer getDelay() {
|
||||
return delay;
|
||||
}
|
||||
|
||||
public TaskBuilder setDelay(Integer delay) {
|
||||
this.delay = delay;
|
||||
return this;
|
||||
}
|
||||
|
||||
public Integer getRepeatTime() {
|
||||
return repeatTime;
|
||||
}
|
||||
|
||||
public TaskBuilder setRepeatTime(Integer repeatTime) {
|
||||
this.repeatTime = repeatTime;
|
||||
return this;
|
||||
}
|
||||
|
||||
public Consumer<Task> getTask() {
|
||||
return task;
|
||||
}
|
||||
|
||||
public TaskBuilder setTask(Consumer<Task> task) {
|
||||
this.task = task;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,9 @@
|
||||
package com.gmail.nossr50.mcmmo.api.platform.scheduler;
|
||||
|
||||
public interface Task {
|
||||
|
||||
void cancel();
|
||||
|
||||
void run();
|
||||
|
||||
}
|
Reference in New Issue
Block a user