add a reload command
This commit is contained in:
parent
e8a1c330de
commit
6c35c704c3
|
|
@ -3,9 +3,11 @@ package com.alttd.afkdectector;
|
|||
import com.alttd.afkdectector.afkplayer.AFKPlayer;
|
||||
import com.alttd.afkdectector.command.AFKCheckCommand;
|
||||
import com.alttd.afkdectector.command.AFKListCommand;
|
||||
import com.alttd.afkdectector.command.ReloadCommand;
|
||||
import com.alttd.afkdectector.config.Config;
|
||||
import com.alttd.afkdectector.config.MessagesConfig;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.Listener;
|
||||
|
|
@ -40,13 +42,13 @@ public class AFKDetector extends JavaPlugin implements Listener{
|
|||
public void onEnable() {
|
||||
try {
|
||||
instance = this;
|
||||
Config.reload();
|
||||
MessagesConfig.reload();
|
||||
loadConfig(null);
|
||||
settupAfkState();
|
||||
getServer().getPluginManager().registerEvents(this, this);
|
||||
//getCommand("afk").setExecutor(new AFKCommand(this));
|
||||
getCommand("afklist").setExecutor(new AFKListCommand(this));
|
||||
getCommand("afkcheck").setExecutor(new AFKCheckCommand(this));
|
||||
getCommand("reloadafkdetector").setExecutor(new ReloadCommand(this));
|
||||
new AFKCheckTimer(this).init();
|
||||
} catch (Throwable t) {
|
||||
getLogger().severe("An error has occured while loading AFKDetector");
|
||||
|
|
@ -173,4 +175,12 @@ public class AFKDetector extends JavaPlugin implements Listener{
|
|||
public static AFKDetector getInstance() {
|
||||
return instance;
|
||||
}
|
||||
|
||||
public void loadConfig(CommandSender sender) {
|
||||
Config.reload();
|
||||
MessagesConfig.reload();
|
||||
if(sender != null) {
|
||||
sender.sendMessage("Configuration reloaded");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
36
src/main/java/com/alttd/afkdectector/command/ReloadCommand.java
Executable file
36
src/main/java/com/alttd/afkdectector/command/ReloadCommand.java
Executable file
|
|
@ -0,0 +1,36 @@
|
|||
package com.alttd.afkdectector.command;
|
||||
|
||||
import com.alttd.afkdectector.AFKDetector;
|
||||
import com.alttd.afkdectector.afkplayer.AFKPlayer;
|
||||
import com.alttd.afkdectector.config.Config;
|
||||
import com.alttd.afkdectector.config.Messages;
|
||||
import net.kyori.adventure.text.Component;
|
||||
import net.kyori.adventure.text.minimessage.MiniMessage;
|
||||
import net.kyori.adventure.text.minimessage.Template;
|
||||
import org.bukkit.command.Command;
|
||||
import org.bukkit.command.CommandExecutor;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.command.TabCompleter;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
public class ReloadCommand implements CommandExecutor, TabCompleter {
|
||||
|
||||
private AFKDetector plugin;
|
||||
|
||||
public ReloadCommand(AFKDetector plugin) {
|
||||
this.plugin = plugin;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
|
||||
AFKDetector.getInstance().loadConfig(sender);
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<String> onTabComplete(CommandSender commandSender, Command command, String s, String[] strings) {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
|
@ -23,10 +23,17 @@ import java.util.*;
|
|||
abstract class AbstractConfig {
|
||||
File file;
|
||||
YamlConfiguration yaml;
|
||||
File configPath;
|
||||
|
||||
AbstractConfig(String filename) {
|
||||
this.file = new File(AFKDetector.getInstance().getDataFolder(), filename);
|
||||
this.configPath = new File(System.getProperty("user.home") + File.separator + "share" + File.separator + "configs" + File.separator + AFKDetector.getInstance().getName());
|
||||
this.file = new File(configPath, filename);
|
||||
this.yaml = new YamlConfiguration();
|
||||
if (!this.file.getParentFile().exists()) {
|
||||
if(!this.file.getParentFile().mkdirs()) {
|
||||
return;
|
||||
}
|
||||
}
|
||||
try {
|
||||
yaml.load(file);
|
||||
} catch (IOException ignore) {
|
||||
|
|
|
|||
|
|
@ -17,6 +17,11 @@ commands:
|
|||
permission: afkdetector.afkcheck
|
||||
permission-message: You do not have permission!
|
||||
usage: /afkcheck <target>
|
||||
reloadafkdetector:
|
||||
description: Reloads the plugin config
|
||||
permission: afkdetector.reload
|
||||
permission-message: You do not have permission!
|
||||
usage: /afkdetectorreload
|
||||
|
||||
permissions:
|
||||
afkdetector.admin:
|
||||
|
|
@ -27,11 +32,15 @@ permissions:
|
|||
afkdetector.afklist: true
|
||||
afkdetector.afkcheck: true
|
||||
afkdetector.notify: true
|
||||
afkdetector.reload: true
|
||||
afkdetector.bypass:
|
||||
description: Bypass the AFKplugin.
|
||||
default: op
|
||||
children:
|
||||
afkdetector.kickexempt: true
|
||||
afkdetector.reload:
|
||||
description: Allows reloading the afkdetector plugin config.
|
||||
default: op
|
||||
afkdetector.kickexempt:
|
||||
description: Doesn't kick you automatically for AFK.
|
||||
default: op
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user