mirror of
https://github.com/BentoBoxWorld/Challenges.git
synced 2024-11-28 05:25:21 +01:00
Add AutoSaver task for Challenges Addon.
Remove WorldSave event listener.
This commit is contained in:
parent
daeaafd0b2
commit
fc4f3ca0b6
@ -220,6 +220,16 @@ public class ChallengesAddon extends Addon {
|
|||||||
this.registerRequestHandler(new LevelDataRequestHandler(this));
|
this.registerRequestHandler(new LevelDataRequestHandler(this));
|
||||||
|
|
||||||
this.registerRequestHandler(new CompletedChallengesRequestHandler(this));
|
this.registerRequestHandler(new CompletedChallengesRequestHandler(this));
|
||||||
|
|
||||||
|
if (this.settings.getAutoSaveTimer() > 0)
|
||||||
|
{
|
||||||
|
this.getPlugin().getServer().getScheduler().runTaskTimerAsynchronously(
|
||||||
|
this.getPlugin(),
|
||||||
|
bukkitTask -> ChallengesAddon.this.challengesManager.save(),
|
||||||
|
this.settings.getAutoSaveTimer() * 60 * 20,
|
||||||
|
this.settings.getAutoSaveTimer() * 60 * 20
|
||||||
|
);
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
this.logError("Challenges could not hook into AcidIsland or BSkyBlock so will not do anything!");
|
this.logError("Challenges could not hook into AcidIsland or BSkyBlock so will not do anything!");
|
||||||
this.setState(State.DISABLED);
|
this.setState(State.DISABLED);
|
||||||
|
@ -155,6 +155,12 @@ public class Settings implements ConfigObject
|
|||||||
@ConfigEntry(path = "title.title-showtime")
|
@ConfigEntry(path = "title.title-showtime")
|
||||||
private int titleShowtime = 70;
|
private int titleShowtime = 70;
|
||||||
|
|
||||||
|
@ConfigComment("")
|
||||||
|
@ConfigComment("Long that represents how frequently (in minutes) challenges addon will save data to database.")
|
||||||
|
@ConfigComment("If this is set to 0, saving will not happen.")
|
||||||
|
@ConfigEntry(path = "auto-saver")
|
||||||
|
private long autoSaveTimer = 30;
|
||||||
|
|
||||||
@ConfigComment("")
|
@ConfigComment("")
|
||||||
@ConfigComment("This list stores GameModes in which Challenges addon should not work.")
|
@ConfigComment("This list stores GameModes in which Challenges addon should not work.")
|
||||||
@ConfigComment("To disable addon it is necessary to write its name in new line that starts with -. Example:")
|
@ConfigComment("To disable addon it is necessary to write its name in new line that starts with -. Example:")
|
||||||
@ -369,6 +375,27 @@ public class Settings implements ConfigObject
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This method returns the autoSaveTimer object.
|
||||||
|
* @return the autoSaveTimer object.
|
||||||
|
*/
|
||||||
|
public long getAutoSaveTimer()
|
||||||
|
{
|
||||||
|
return autoSaveTimer;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This method sets the autoSaveTimer object value.
|
||||||
|
* @param autoSaveTimer the autoSaveTimer object new value.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public void setAutoSaveTimer(long autoSaveTimer)
|
||||||
|
{
|
||||||
|
this.autoSaveTimer = autoSaveTimer;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This method sets the titleShowtime object value.
|
* This method sets the titleShowtime object value.
|
||||||
* @param titleShowtime the titleShowtime object new value.
|
* @param titleShowtime the titleShowtime object new value.
|
||||||
|
@ -22,21 +22,6 @@ public class SaveListener implements Listener
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* This event listener handles world save event.
|
|
||||||
* @param e World Save event.
|
|
||||||
*/
|
|
||||||
@EventHandler(priority = EventPriority.LOW, ignoreCancelled = true)
|
|
||||||
public void onWorldSave(WorldSaveEvent e)
|
|
||||||
{
|
|
||||||
// Save only for worlds where exist any challenge addon data.
|
|
||||||
if (this.addon.getChallengesManager().hasAnyChallengeData(e.getWorld()))
|
|
||||||
{
|
|
||||||
this.addon.getChallengesManager().save();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This event listener handles player kick event.
|
* This event listener handles player kick event.
|
||||||
* If player is kicked, then remove it from player cache data.
|
* If player is kicked, then remove it from player cache data.
|
||||||
|
@ -109,6 +109,10 @@ title:
|
|||||||
# Integer that represents how long title will be visible for player.
|
# Integer that represents how long title will be visible for player.
|
||||||
title-showtime: 70
|
title-showtime: 70
|
||||||
#
|
#
|
||||||
|
# Long that represents how frequently (in minutes) challenges addon will save data to database.
|
||||||
|
# If this is set to 0, saving will not happen.
|
||||||
|
auto-saver: 30
|
||||||
|
#
|
||||||
# This list stores GameModes in which Challenges addon should not work.
|
# This list stores GameModes in which Challenges addon should not work.
|
||||||
# To disable addon it is necessary to write its name in new line that starts with -. Example:
|
# To disable addon it is necessary to write its name in new line that starts with -. Example:
|
||||||
# disabled-gamemodes:
|
# disabled-gamemodes:
|
||||||
|
Loading…
Reference in New Issue
Block a user