diff --git a/src/main/java/com/slprojects/slcraftplugin/Main.java b/src/main/java/com/slprojects/slcraftplugin/Main.java index 66d92061a923ebfb3826c65534546218198e0b8a..b6f4ffa44ff41c1fa8c2a5ce9ec96d27c8ef86c9 100644 --- a/src/main/java/com/slprojects/slcraftplugin/Main.java +++ b/src/main/java/com/slprojects/slcraftplugin/Main.java @@ -51,7 +51,6 @@ public final class Main extends JavaPlugin implements Listener { public PlayerDataHandler playerDataHandler; public Wild wildCommand; public PeriodicEvent periodicEvent; - public final static int ticksPerSeconds = 20; @Override public void onEnable() { @@ -321,6 +320,9 @@ public final class Main extends JavaPlugin implements Listener { } // 1.6.1 + config.options().copyDefaults(true); + saveConfig(); + reloadConfig(); } private void initDatabase(){ diff --git a/src/main/java/com/slprojects/slcraftplugin/commands/publics/Wild.java b/src/main/java/com/slprojects/slcraftplugin/commands/publics/Wild.java index 70ed5adcb2a89c74fb3c1ecbd3b56791e1f44199..5f7f713d68e5f0949f1e930c4bee361ee3882d11 100644 --- a/src/main/java/com/slprojects/slcraftplugin/commands/publics/Wild.java +++ b/src/main/java/com/slprojects/slcraftplugin/commands/publics/Wild.java @@ -76,7 +76,7 @@ public class Wild implements CommandExecutor { int playerIndex = wildUsersIndexes.indexOf(player.getUniqueId()); plugin.getServer().getConsoleSender().sendMessage("["+ plugin.getName() +"] Le joueur "+ChatColor.GOLD+player.getName()+ChatColor.RESET+" a exécuté la commande "+ChatColor.GOLD+"/wild"+ChatColor.RESET+" : "+ChatColor.GREEN+"accepté"); player.sendMessage("Vous allez être téléporté dans §c" + plugin.getConfig().getInt("wild.move-cooldown") + "s§r, ne bougez pas."); - int delayInTicks = plugin.getConfig().getInt("wild.move-cooldown") * plugin.ticksPerSeconds; + int delayInTicks = plugin.getConfig().getInt("wild.move-cooldown") * plugin.getConfig().getInt("ticks-per-seconds"); new BukkitRunnable() { @Override diff --git a/src/main/java/com/slprojects/slcraftplugin/parallelTasks/PeriodicEvent.java b/src/main/java/com/slprojects/slcraftplugin/parallelTasks/PeriodicEvent.java index 04cae337fa74185e50164f4b2be05f11663c3d19..e376f5dd31312e4c71faa340b303a5bd86d5881b 100644 --- a/src/main/java/com/slprojects/slcraftplugin/parallelTasks/PeriodicEvent.java +++ b/src/main/java/com/slprojects/slcraftplugin/parallelTasks/PeriodicEvent.java @@ -1,33 +1,38 @@ package com.slprojects.slcraftplugin.parallelTasks; import com.slprojects.slcraftplugin.Main; +import org.bukkit.ChatColor; import org.bukkit.scheduler.BukkitRunnable; public class PeriodicEvent { private final Main plugin; - private boolean doesTheEventHasBeenCalled = false; + private boolean doesTheEventIsCurrentlyRunning = false; private final int periodicEventCallTime; public PeriodicEvent(Main plugin){ this.plugin = plugin; startPeriodicEvent(); - periodicEventCallTime = plugin.getConfig().getInt("periodicEventCallTime"); + periodicEventCallTime = plugin.getConfig().getInt("periodic-event-call-time") * plugin.getConfig().getInt("ticks-per-seconds"); } public void startPeriodicEvent(){ - if(doesTheEventHasBeenCalled) throw new RuntimeException("L'exécution de l'évènement périodique est déjà enclanchée."); + if(doesTheEventIsCurrentlyRunning) throw new RuntimeException("L'exécution de l'évènement périodique est déjà enclanchée."); + + doesTheEventIsCurrentlyRunning = true; - doesTheEventHasBeenCalled = true; new BukkitRunnable(){ @Override public void run(){ periodicEvent(); } - }.runTaskLater(plugin, (long) periodicEventCallTime * Main.ticksPerSeconds); + }.runTaskLater(plugin, (periodicEventCallTime)); } private void periodicEvent(){ + plugin.getServer().getConsoleSender().sendMessage(ChatColor.GOLD+"[SL-Craft] Évènement périodique éxecuté."); + // S'exécute à la fin + doesTheEventIsCurrentlyRunning = false; startPeriodicEvent(); } } diff --git a/src/main/resources/config.yml b/src/main/resources/config.yml index 545d91fc007eab14046124467cc1264d1eac5bc4..a7683f7bb55ad856b05c33b0f40cbdc03b102027 100644 --- a/src/main/resources/config.yml +++ b/src/main/resources/config.yml @@ -38,4 +38,8 @@ msg-verbose: false discordBot-api-url: "http://node.sl-projects.com:27001/" # Config générale -server-type: prod # prod/dev \ No newline at end of file +server-type: prod # prod/dev + +# Periodic events +periodic-event-call-time: 60 # En sencondes +ticks-per-seconds: 20 \ No newline at end of file diff --git a/src/main/resources/plugin.yml b/src/main/resources/plugin.yml index 8dcf1a752188dc17c4fa74d20c1e176a3da318ae..85da917c30a52d0f4be08aca37891b0491ad56c6 100644 --- a/src/main/resources/plugin.yml +++ b/src/main/resources/plugin.yml @@ -23,7 +23,4 @@ commands: description: Te permet d'obtenir un code pour associer ton compte Minecraft au site internet du serveur.' aliases: [ getlinkcode ] usage: /getlinkcode - permission: slcraft.getlinkcode - -periodicEventCallTime: 60 # En sencondes -ticks-per-seconds: 20 \ No newline at end of file + permission: slcraft.getlinkcode \ No newline at end of file