mirror of
https://github.com/songoda/UltimateModeration.git
synced 2024-09-29 15:07:26 +02:00
113 lines
4.1 KiB
Java
113 lines
4.1 KiB
Java
package com.songoda.ultimatemoderation;
|
|
|
|
import com.songoda.ultimatemoderation.command.CommandManager;
|
|
import com.songoda.ultimatemoderation.listeners.*;
|
|
import com.songoda.ultimatemoderation.utils.Methods;
|
|
import com.songoda.ultimatemoderation.utils.SettingsManager;
|
|
import org.bukkit.Bukkit;
|
|
import org.bukkit.ChatColor;
|
|
import org.bukkit.command.CommandSender;
|
|
import org.bukkit.plugin.java.JavaPlugin;
|
|
|
|
public class UltimateModeration extends JavaPlugin {
|
|
private static CommandSender console = Bukkit.getConsoleSender();
|
|
private static UltimateModeration INSTANCE;
|
|
private References references;
|
|
private SettingsManager settingsManager;
|
|
private CommandManager commandManager;
|
|
private Locale locale;
|
|
|
|
public static UltimateModeration getInstance() {
|
|
return INSTANCE;
|
|
}
|
|
|
|
private boolean checkVersion() {
|
|
int workingVersion = 13;
|
|
int currentVersion = Integer.parseInt(Bukkit.getServer().getClass()
|
|
.getPackage().getName().split("\\.")[3].split("_")[1]);
|
|
|
|
if (currentVersion < workingVersion) {
|
|
Bukkit.getScheduler().scheduleSyncDelayedTask(this, () -> {
|
|
Bukkit.getConsoleSender().sendMessage("");
|
|
Bukkit.getConsoleSender().sendMessage(String.format("%sYou installed the 1.%s only version of %s on a 1.%s server. Since you are on the wrong version we disabled the plugin for you. Please install correct version to continue using %s.", ChatColor.RED, workingVersion, this.getDescription().getName(), currentVersion, this.getDescription().getName()));
|
|
Bukkit.getConsoleSender().sendMessage("");
|
|
}, 20L);
|
|
return false;
|
|
}
|
|
return true;
|
|
}
|
|
|
|
@Override
|
|
public void onEnable() {
|
|
INSTANCE = this;
|
|
|
|
// Check to make sure the Bukkit version is compatible.
|
|
if (!checkVersion()) return;
|
|
|
|
console.sendMessage(Methods.formatText("&a============================="));
|
|
console.sendMessage(Methods.formatText("&7UltimateModeration " + this.getDescription().getVersion() + " by &5Songoda <3!"));
|
|
console.sendMessage(Methods.formatText("&7Action: &aEnabling&7..."));
|
|
console.sendMessage(Methods.formatText("&a============================="));
|
|
|
|
this.settingsManager = new SettingsManager(this);
|
|
this.setupConfig();
|
|
|
|
// Setup language
|
|
String langMode = SettingsManager.Setting.LANGUGE_MODE.getString();
|
|
Locale.init(this);
|
|
Locale.saveDefaultLocale("en_US");
|
|
this.locale = Locale.getLocale(getConfig().getString("System.Language Mode", langMode));
|
|
|
|
this.references = new References();
|
|
|
|
this.commandManager = new CommandManager(this);
|
|
|
|
// Register Listeners
|
|
Bukkit.getPluginManager().registerEvents(new MoveListener(this), this);
|
|
Bukkit.getPluginManager().registerEvents(new DropListener(this), this);
|
|
Bukkit.getPluginManager().registerEvents(new InventoryListener(this), this);
|
|
Bukkit.getPluginManager().registerEvents(new ChatListener(this), this);
|
|
Bukkit.getPluginManager().registerEvents(new LoginListener(this), this);
|
|
|
|
}
|
|
|
|
@Override
|
|
public void onDisable() {
|
|
console.sendMessage(Methods.formatText("&a============================="));
|
|
console.sendMessage(Methods.formatText("&7UltimateModeration " + this.getDescription().getVersion() + " by &5Songoda <3!"));
|
|
console.sendMessage(Methods.formatText("&7Action: &cDisabling&7..."));
|
|
console.sendMessage(Methods.formatText("&a============================="));
|
|
}
|
|
|
|
private void setupConfig() {
|
|
settingsManager.updateSettings();
|
|
this.getConfig().options().copyDefaults(true);
|
|
this.saveConfig();
|
|
}
|
|
|
|
public void reload() {
|
|
locale.reloadMessages();
|
|
references = new References();
|
|
this.setupConfig();
|
|
saveConfig();
|
|
}
|
|
|
|
public CommandManager getCommandManager() {
|
|
return commandManager;
|
|
}
|
|
|
|
public SettingsManager getSettingsManager() {
|
|
return settingsManager;
|
|
}
|
|
|
|
public Locale getLocale() {
|
|
return locale;
|
|
}
|
|
|
|
public References getReferences() {
|
|
return references;
|
|
}
|
|
|
|
|
|
}
|