mirror of
https://github.com/Xiao-MoMi/Custom-Crops.git
synced 2025-12-22 16:39:36 +00:00
98 lines
5.0 KiB
Java
98 lines
5.0 KiB
Java
package net.momirealms.customcrops;
|
|
|
|
import net.momirealms.customcrops.DataManager.BackUp;
|
|
import net.momirealms.customcrops.DataManager.CropManager;
|
|
import net.momirealms.customcrops.DataManager.SprinklerManager;
|
|
import net.momirealms.customcrops.Integrations.KingdomsXIntegrations;
|
|
import org.bukkit.Bukkit;
|
|
import org.bukkit.command.Command;
|
|
import org.bukkit.command.CommandExecutor;
|
|
import org.bukkit.command.CommandSender;
|
|
import org.bukkit.configuration.file.FileConfiguration;
|
|
import org.bukkit.entity.Player;
|
|
|
|
import javax.annotation.ParametersAreNonnullByDefault;
|
|
import java.util.Objects;
|
|
|
|
public class CommandHandler implements CommandExecutor {
|
|
|
|
|
|
@Override
|
|
@ParametersAreNonnullByDefault
|
|
public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
|
|
|
|
if(sender instanceof Player && !sender.isOp()){
|
|
return false;
|
|
}
|
|
|
|
FileConfiguration config = CustomCrops.instance.getConfig();
|
|
|
|
//重载插件
|
|
if(args[0].equalsIgnoreCase("reload")){
|
|
CustomCrops.loadConfig();
|
|
if(sender instanceof Player){
|
|
MessageManager.playerMessage(config.getString("messages.prefix") + config.getString("messages.reload"), (Player) sender);
|
|
}else {
|
|
MessageManager.consoleMessage(config.getString("messages.prefix") + config.getString("messages.reload"), Bukkit.getConsoleSender());
|
|
}
|
|
}
|
|
//设置季节
|
|
if(args[0].equalsIgnoreCase("setseason")){
|
|
if(config.getBoolean("enable-season")){
|
|
config.set("current-season", args[1]);
|
|
if(sender instanceof Player){
|
|
MessageManager.playerMessage(config.getString("messages.prefix") + Objects.requireNonNull(config.getString("messages.season-set")).replace("{Season}",args[1])
|
|
.replace("spring", Objects.requireNonNull(config.getString("messages.spring")))
|
|
.replace("summer", Objects.requireNonNull(config.getString("messages.summer")))
|
|
.replace("autumn", Objects.requireNonNull(config.getString("messages.autumn")))
|
|
.replace("winter", Objects.requireNonNull(config.getString("messages.winter"))), (Player) sender);
|
|
}else {
|
|
MessageManager.consoleMessage(config.getString("messages.prefix") + Objects.requireNonNull(config.getString("messages.season-set")).replace("{Season}",args[1])
|
|
.replace("spring", Objects.requireNonNull(config.getString("messages.spring")))
|
|
.replace("summer", Objects.requireNonNull(config.getString("messages.summer")))
|
|
.replace("autumn", Objects.requireNonNull(config.getString("messages.autumn")))
|
|
.replace("winter", Objects.requireNonNull(config.getString("messages.winter"))), Bukkit.getConsoleSender());
|
|
}
|
|
CustomCrops.instance.saveConfig();
|
|
}else{
|
|
if(sender instanceof Player){
|
|
MessageManager.playerMessage(config.getString("messages.prefix") + config.getString("messages.season-disabled"), (Player) sender);
|
|
}else {
|
|
MessageManager.consoleMessage(config.getString("messages.prefix") + config.getString("messages.season-disabled"), Bukkit.getConsoleSender());
|
|
}
|
|
}
|
|
}
|
|
//强制保存
|
|
if(args[0].equalsIgnoreCase("forcesave")){
|
|
CropManager.saveData();
|
|
SprinklerManager.saveData();
|
|
if(sender instanceof Player){
|
|
MessageManager.playerMessage(config.getString("messages.prefix") + config.getString("messages.force-save"), (Player) sender);
|
|
}else {
|
|
MessageManager.consoleMessage(config.getString("messages.prefix") + config.getString("messages.force-save"), Bukkit.getConsoleSender());
|
|
}
|
|
}
|
|
//清除缓存
|
|
if(args[0].equalsIgnoreCase("cleancache")){
|
|
Bukkit.getScheduler().runTaskAsynchronously(CustomCrops.instance,()->{
|
|
CropManager.cleanLoadedCache();
|
|
SprinklerManager.cleanCache();
|
|
});
|
|
if(sender instanceof Player){
|
|
MessageManager.playerMessage(config.getString("messages.prefix") + config.getString("messages.clean-cache"), (Player) sender);
|
|
}else {
|
|
MessageManager.consoleMessage(config.getString("messages.prefix") + config.getString("messages.clean-cache"), Bukkit.getConsoleSender());
|
|
}
|
|
}
|
|
if(args[0].equalsIgnoreCase("backup")){
|
|
BackUp.backUpData();
|
|
if(sender instanceof Player){
|
|
MessageManager.playerMessage(config.getString("messages.prefix") + config.getString("messages.backup"), (Player) sender);
|
|
}else {
|
|
MessageManager.consoleMessage(config.getString("messages.prefix") + config.getString("messages.backup"), Bukkit.getConsoleSender());
|
|
}
|
|
}
|
|
return false;
|
|
}
|
|
}
|