mirror of
https://github.com/Melledy/Grasscutter.git
synced 2024-11-30 19:48:51 +00:00
onEnable & onDisable
This commit is contained in:
parent
bca7aea95b
commit
01e411b9b8
@ -9,6 +9,14 @@ public class TaskHandler implements Job {
|
|||||||
execute(null);
|
execute(null);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void onEnable() {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public void onDisable() {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void execute(JobExecutionContext context) throws JobExecutionException {
|
public void execute(JobExecutionContext context) throws JobExecutionException {
|
||||||
// TODO Auto-generated method stub
|
// TODO Auto-generated method stub
|
||||||
|
@ -30,7 +30,7 @@ public final class TaskMap {
|
|||||||
public void resetNow() {
|
public void resetNow() {
|
||||||
// Unregister all tasks
|
// Unregister all tasks
|
||||||
for (TaskHandler task : this.tasks.values()) {
|
for (TaskHandler task : this.tasks.values()) {
|
||||||
unregisterTask(task.getClass().getAnnotation(Task.class).taskName());
|
unregisterTask(task);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Run all afterReset tasks
|
// Run all afterReset tasks
|
||||||
@ -51,17 +51,19 @@ public final class TaskMap {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public TaskMap unregisterTask(String taskName) {
|
public TaskMap unregisterTask(TaskHandler task) {
|
||||||
this.tasks.remove(taskName);
|
this.tasks.remove(task.getClass().getAnnotation(Task.class).taskName());
|
||||||
this.annotations.remove(taskName);
|
this.annotations.remove(task.getClass().getAnnotation(Task.class).taskName());
|
||||||
|
|
||||||
try {
|
try {
|
||||||
Scheduler scheduler = schedulerFactory.getScheduler();
|
Scheduler scheduler = schedulerFactory.getScheduler();
|
||||||
scheduler.deleteJob(new JobKey(taskName));
|
scheduler.deleteJob(new JobKey(task.getClass().getAnnotation(Task.class).taskName()));
|
||||||
} catch (SchedulerException e) {
|
} catch (SchedulerException e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
task.onDisable();
|
||||||
|
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -88,6 +90,7 @@ public final class TaskMap {
|
|||||||
if (annotation.executeImmediately()) {
|
if (annotation.executeImmediately()) {
|
||||||
task.execute(null);
|
task.execute(null);
|
||||||
}
|
}
|
||||||
|
task.onEnable();
|
||||||
} catch (SchedulerException e) {
|
} catch (SchedulerException e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
|
@ -11,6 +11,17 @@ import org.quartz.JobExecutionException;
|
|||||||
@Task(taskName = "MoonCard", taskCronExpression = "0 0 0 * * ?", triggerName = "MoonCardTrigger")
|
@Task(taskName = "MoonCard", taskCronExpression = "0 0 0 * * ?", triggerName = "MoonCardTrigger")
|
||||||
// taskCronExpression: Fixed time period: 0:0:0 every day (twenty-four hour system)
|
// taskCronExpression: Fixed time period: 0:0:0 every day (twenty-four hour system)
|
||||||
public class MoonCard extends TaskHandler {
|
public class MoonCard extends TaskHandler {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onEnable() {
|
||||||
|
Grasscutter.getLogger().info("[Task] MoonCard task enabled.");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onDisable() {
|
||||||
|
Grasscutter.getLogger().info("[Task] MoonCard task disabled.");
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public synchronized void execute(JobExecutionContext context) throws JobExecutionException {
|
public synchronized void execute(JobExecutionContext context) throws JobExecutionException {
|
||||||
Grasscutter.getGameServer().getPlayers().forEach((uid, player) -> {
|
Grasscutter.getGameServer().getPlayers().forEach((uid, player) -> {
|
||||||
|
Loading…
Reference in New Issue
Block a user