From 2f0d38ec2bac7d6f966fa9ea2683777efd37dff3 Mon Sep 17 00:00:00 2001 From: Cerus Date: Wed, 2 Mar 2022 19:04:10 +0100 Subject: [PATCH] Configurable delay before loading --- .../src/main/java/dev/cerus/maps/plugin/MapsPlugin.java | 9 ++++++++- plugin/src/main/resources/maps_config.yml | 1 + 2 files changed, 9 insertions(+), 1 deletion(-) create mode 100644 plugin/src/main/resources/maps_config.yml diff --git a/plugin/src/main/java/dev/cerus/maps/plugin/MapsPlugin.java b/plugin/src/main/java/dev/cerus/maps/plugin/MapsPlugin.java index 4e4c88b..180786e 100644 --- a/plugin/src/main/java/dev/cerus/maps/plugin/MapsPlugin.java +++ b/plugin/src/main/java/dev/cerus/maps/plugin/MapsPlugin.java @@ -5,14 +5,19 @@ import dev.cerus.maps.plugin.command.MapsCommand; import dev.cerus.maps.plugin.map.MapScreenRegistry; import dev.cerus.maps.version.VersionAdapterFactory; +import java.io.File; import java.util.logging.Logger; import org.bukkit.configuration.file.FileConfiguration; +import org.bukkit.configuration.file.YamlConfiguration; import org.bukkit.plugin.java.JavaPlugin; public class MapsPlugin extends JavaPlugin { @Override public void onEnable() { + this.saveResource("maps_config.yml", false); + final YamlConfiguration mapsConfig = YamlConfiguration.loadConfiguration(new File(this.getDataFolder(), "maps_config.yml")); + final VersionAdapter versionAdapter = new VersionAdapterFactory().makeAdapter(); if (versionAdapter == null) { final Logger logger = this.getLogger(); @@ -29,9 +34,11 @@ public void onEnable() { this.getServer().getScheduler().runTaskLater(this, () -> { final FileConfiguration config = this.getConfig(); if (config.contains("screens")) { + this.getLogger().info("Loading screens.."); MapScreenRegistry.load(config, versionAdapter); + this.getLogger().info(MapScreenRegistry.getScreenIds().size() + " screens were loaded"); } - }, 3 * 20); + }, mapsConfig.getInt("loading-delay", 3) * 20L); final BukkitCommandManager commandManager = new BukkitCommandManager(this); commandManager.registerDependency(VersionAdapter.class, versionAdapter); diff --git a/plugin/src/main/resources/maps_config.yml b/plugin/src/main/resources/maps_config.yml new file mode 100644 index 0000000..c62f725 --- /dev/null +++ b/plugin/src/main/resources/maps_config.yml @@ -0,0 +1 @@ +loading-delay: 3 \ No newline at end of file