mirror of
https://github.com/geekfrog/PermissionsTime.git
synced 2025-09-09 07:29:44 +00:00
分离称号系统
修复bug
This commit is contained in:
152
src/main/gg/frog/mc/permissionstime/PluginMain.java
Normal file
152
src/main/gg/frog/mc/permissionstime/PluginMain.java
Normal file
@ -0,0 +1,152 @@
|
||||
package gg.frog.mc.permissionstime;
|
||||
|
||||
import java.text.MessageFormat;
|
||||
import java.util.Locale;
|
||||
|
||||
import org.bstats.bukkit.Metrics;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.plugin.RegisteredServiceProvider;
|
||||
|
||||
import gg.frog.mc.base.utils.FileUtil;
|
||||
import gg.frog.mc.base.utils.StrUtil;
|
||||
import gg.frog.mc.base.utils.UpdateCheck;
|
||||
import gg.frog.mc.base.utils.PluginBase;
|
||||
import gg.frog.mc.permissionstime.command.PtCommand;
|
||||
import gg.frog.mc.permissionstime.config.ConfigManager;
|
||||
import gg.frog.mc.permissionstime.config.PluginCfg;
|
||||
import gg.frog.mc.permissionstime.database.SqlManager;
|
||||
import gg.frog.mc.permissionstime.listener.PtListener;
|
||||
import net.milkbowl.vault.permission.Permission;
|
||||
|
||||
public class PluginMain extends PluginBase {
|
||||
|
||||
public static final String DEPEND_PLUGIN = "Vault";
|
||||
|
||||
private ConfigManager cm = null;
|
||||
private PluginMain pm = null;
|
||||
private SqlManager sm = null;
|
||||
private Permission permission = null;
|
||||
|
||||
public PluginMain() {
|
||||
PLUGIN_NAME = getDescription().getName();
|
||||
PLUGIN_VERSION = getDescription().getVersion();
|
||||
PLUGIN_NAME_LOWER_CASE = PLUGIN_NAME.toLowerCase(Locale.ENGLISH);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onEnable() {
|
||||
pm = this;
|
||||
cm = new ConfigManager(pm);
|
||||
getServer().getConsoleSender().sendMessage(StrUtil.messageFormat(PluginCfg.PLUGIN_PREFIX + "==============================="));
|
||||
getServer().getConsoleSender().sendMessage(StrUtil.messageFormat(PluginCfg.PLUGIN_PREFIX));
|
||||
getServer().getConsoleSender().sendMessage(StrUtil.messageFormat(PluginCfg.PLUGIN_PREFIX + " " + PLUGIN_NAME + " v" + PLUGIN_VERSION));
|
||||
getServer().getConsoleSender().sendMessage(StrUtil.messageFormat(PluginCfg.PLUGIN_PREFIX + " author:GeekFrog QQ:324747460"));
|
||||
getServer().getConsoleSender().sendMessage(StrUtil.messageFormat(PluginCfg.PLUGIN_PREFIX + " https://github.com/geekfrog/PermissionsTime/ "));
|
||||
getServer().getConsoleSender().sendMessage(StrUtil.messageFormat(PluginCfg.PLUGIN_PREFIX));
|
||||
getServer().getConsoleSender().sendMessage(StrUtil.messageFormat(PluginCfg.PLUGIN_PREFIX + "==============================="));
|
||||
if (!checkPluginDepends()) {
|
||||
getServer().getConsoleSender().sendMessage(StrUtil.messageFormat(PluginCfg.PLUGIN_PREFIX + "§4Startup failure!"));
|
||||
getServer().getPluginManager().disablePlugin(pm);
|
||||
} else {
|
||||
cm.initConfig();
|
||||
registerListeners();
|
||||
registerCommands();
|
||||
getServer().getConsoleSender().sendMessage(StrUtil.messageFormat(PluginCfg.PLUGIN_PREFIX + "§2Startup successful!"));
|
||||
getServer().getScheduler().runTask(pm, new Runnable() {
|
||||
public void run() {
|
||||
if (PluginCfg.IS_METRICS) {
|
||||
try {
|
||||
new Metrics(pm);
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
getServer().getScheduler().runTaskAsynchronously(pm, new UpdateCheck(pm, "https://raw.githubusercontent.com/geekfrog/PermissionsTime/master/src/resources/plugin.yml"));
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 注册监听器 <br/>
|
||||
* 这里可以注册多个
|
||||
*/
|
||||
private void registerListeners() {
|
||||
pm.getServer().getPluginManager().registerEvents(new PtListener(pm), pm);
|
||||
}
|
||||
|
||||
/**
|
||||
* 注册命令 <br/>
|
||||
* 这里可以注册多个,一般注册一个就够用
|
||||
*/
|
||||
private void registerCommands() {
|
||||
PtCommand ptCmd = new PtCommand(pm);
|
||||
if (getDescription().getCommands().containsKey("permissionstime")) {
|
||||
getCommand("permissionstime").setExecutor(ptCmd);
|
||||
}
|
||||
if (getDescription().getCommands().containsKey("pt")) {
|
||||
getCommand("pt").setExecutor(ptCmd);
|
||||
}
|
||||
}
|
||||
|
||||
public ConfigManager getConfigManager() {
|
||||
return cm;
|
||||
}
|
||||
|
||||
public SqlManager getSqlManager() {
|
||||
return sm;
|
||||
}
|
||||
|
||||
public Permission getPermission() {
|
||||
return permission;
|
||||
}
|
||||
|
||||
private boolean checkPluginDepends() {
|
||||
boolean needDepend = false;
|
||||
for (String name : DEPEND_PLUGIN.split(",")) {
|
||||
if (!getServer().getPluginManager().isPluginEnabled(name)) {
|
||||
getServer().getConsoleSender().sendMessage(StrUtil.messageFormat(PluginCfg.PLUGIN_PREFIX + "§4Need depend plugins : " + name + "."));
|
||||
needDepend = true;
|
||||
}
|
||||
}
|
||||
if (!needDepend && !setupPermissions()) {
|
||||
getServer().getConsoleSender().sendMessage(StrUtil.messageFormat(PluginCfg.PLUGIN_PREFIX + "§4Cann''t hook vault permission."));
|
||||
needDepend = true;
|
||||
}
|
||||
if (!needDepend && !setupDatabase()) {
|
||||
getServer().getConsoleSender().sendMessage(StrUtil.messageFormat(PluginCfg.PLUGIN_PREFIX + "§4Cann''t setup database."));
|
||||
needDepend = true;
|
||||
}
|
||||
if (needDepend) {
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onDisable() {
|
||||
getServer().getServicesManager().unregisterAll(pm);
|
||||
Bukkit.getScheduler().cancelTasks(pm);
|
||||
try {
|
||||
sm.getDb().close();
|
||||
} catch (Exception e) {
|
||||
}
|
||||
}
|
||||
|
||||
private boolean setupPermissions() {
|
||||
RegisteredServiceProvider<Permission> permissionProvider = getServer().getServicesManager().getRegistration(net.milkbowl.vault.permission.Permission.class);
|
||||
if (permissionProvider != null) {
|
||||
permission = permissionProvider.getProvider();
|
||||
}
|
||||
return (permission != null);
|
||||
}
|
||||
|
||||
private boolean setupDatabase() {
|
||||
sm = new SqlManager(pm);
|
||||
return sm.updateDatabase();
|
||||
}
|
||||
|
||||
public void writeFailLog(String content, Object... args) {
|
||||
FileUtil.writeOnFile(getDataFolder() + "/failure.log", "[" + StrUtil.nowTimeString() + "] " + MessageFormat.format(content, args));
|
||||
}
|
||||
}
|
@ -4,11 +4,12 @@ import java.util.List;
|
||||
|
||||
import org.bukkit.command.CommandSender;
|
||||
|
||||
import gg.frog.mc.base.PluginMain;
|
||||
import gg.frog.mc.base.config.LangCfg;
|
||||
import gg.frog.mc.base.config.PluginCfg;
|
||||
import gg.frog.mc.permissionstime.PluginMain;
|
||||
import gg.frog.mc.base.utils.StrUtil;
|
||||
import gg.frog.mc.base.utils.data.PlayerData;
|
||||
import gg.frog.mc.permissionstime.config.LangCfg;
|
||||
import gg.frog.mc.permissionstime.config.PackagesCfg;
|
||||
import gg.frog.mc.permissionstime.config.PluginCfg;
|
||||
import gg.frog.mc.permissionstime.database.SqlManager;
|
||||
import gg.frog.mc.permissionstime.model.cfg.PermissionPackageBean;
|
||||
import gg.frog.mc.permissionstime.model.db.PlayerDataBean;
|
||||
@ -31,33 +32,25 @@ public class GetCmd implements Runnable {
|
||||
public void run() {
|
||||
if (args.length == 2) {
|
||||
sender.sendMessage(StrUtil.messageFormat(PluginCfg.PLUGIN_PREFIX + LangCfg.MSG_PROCESSING));
|
||||
String uuid = pm.getPlayerUUIDByName(args[1]);
|
||||
String uuid = PlayerData.getPlayerUUIDByName(args[1]);
|
||||
if (uuid != null) {
|
||||
List<PlayerDataBean> ps = sm.getTime(uuid);
|
||||
if (ps.size() > 0) {
|
||||
sender.sendMessage(StrUtil.messageFormat(PluginCfg.PLUGIN_PREFIX + LangCfg.MSG_NUM_OF_PACKAGES,
|
||||
args[1], ps.size()));
|
||||
sender.sendMessage(StrUtil.messageFormat(PluginCfg.PLUGIN_PREFIX + LangCfg.MSG_NUM_OF_PACKAGES, args[1], ps.size()));
|
||||
for (PlayerDataBean pdb : ps) {
|
||||
String expireString = StrUtil.timestampToString(pdb.getExpire());
|
||||
PermissionPackageBean pc = PackagesCfg.PACKAGES.get(pdb.getPackageName());
|
||||
if (pc != null && pdb.getGlobal() == pc.getGlobal()) {
|
||||
sender.sendMessage(
|
||||
StrUtil.messageFormat(PluginCfg.PLUGIN_PREFIX + LangCfg.MSG_EXPIRATION_DATE,
|
||||
pdb.getGlobal() ? "*" : "", pc.getDisplayName(), pdb.getPackageName(),
|
||||
expireString, StrUtil.getLeftTime(pdb.getExpire())));
|
||||
sender.sendMessage(StrUtil.messageFormat(PluginCfg.PLUGIN_PREFIX + LangCfg.MSG_EXPIRATION_DATE, pdb.getGlobal() ? "*" : "", pc.getDisplayName(), pdb.getPackageName(), expireString, PlayerDataBean.getLeftTime(pdb.getExpire())));
|
||||
} else {
|
||||
sender.sendMessage(
|
||||
StrUtil.messageFormat(PluginCfg.PLUGIN_PREFIX + LangCfg.MSG_EXPIRATION_DATE,
|
||||
pdb.getGlobal() ? "*" : "", LangCfg.MSG_UNKNOWN_PACKAGE,
|
||||
pdb.getPackageName(), expireString, StrUtil.getLeftTime(pdb.getExpire())));
|
||||
sender.sendMessage(StrUtil.messageFormat(PluginCfg.PLUGIN_PREFIX + LangCfg.MSG_EXPIRATION_DATE, pdb.getGlobal() ? "*" : "", LangCfg.MSG_UNKNOWN_PACKAGE, pdb.getPackageName(), expireString, PlayerDataBean.getLeftTime(pdb.getExpire())));
|
||||
}
|
||||
}
|
||||
} else {
|
||||
sender.sendMessage(StrUtil.messageFormat(PluginCfg.PLUGIN_PREFIX + LangCfg.MSG_NO_DATA));
|
||||
}
|
||||
} else {
|
||||
sender.sendMessage(
|
||||
StrUtil.messageFormat(PluginCfg.PLUGIN_PREFIX + LangCfg.MSG_NO_FIND_PLAYER, args[1]));
|
||||
sender.sendMessage(StrUtil.messageFormat(PluginCfg.PLUGIN_PREFIX + LangCfg.MSG_NO_FIND_PLAYER, args[1]));
|
||||
}
|
||||
} else {
|
||||
sender.sendMessage(StrUtil.messageFormat(PluginCfg.PLUGIN_PREFIX + LangCfg.MSG_PARAMETER_MISMATCH));
|
||||
|
@ -6,11 +6,12 @@ import org.bukkit.OfflinePlayer;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
import gg.frog.mc.base.PluginMain;
|
||||
import gg.frog.mc.base.config.LangCfg;
|
||||
import gg.frog.mc.base.config.PluginCfg;
|
||||
import gg.frog.mc.permissionstime.PluginMain;
|
||||
import gg.frog.mc.base.utils.StrUtil;
|
||||
import gg.frog.mc.base.utils.data.PlayerData;
|
||||
import gg.frog.mc.permissionstime.config.LangCfg;
|
||||
import gg.frog.mc.permissionstime.config.PackagesCfg;
|
||||
import gg.frog.mc.permissionstime.config.PluginCfg;
|
||||
import gg.frog.mc.permissionstime.database.SqlManager;
|
||||
import gg.frog.mc.permissionstime.model.cfg.PermissionPackageBean;
|
||||
import gg.frog.mc.permissionstime.model.db.PlayerDataBean;
|
||||
@ -63,10 +64,10 @@ public class GiveCmd implements Runnable {
|
||||
}
|
||||
PermissionPackageBean pack = PackagesCfg.PACKAGES.get(packageName);
|
||||
if (pack != null) {
|
||||
OfflinePlayer player = pm.getOfflinePlayer(playerName);
|
||||
OfflinePlayer player = PlayerData.getOfflinePlayer(playerName);
|
||||
if (player != null) {
|
||||
sender.sendMessage(StrUtil.messageFormat(PluginCfg.PLUGIN_PREFIX + LangCfg.MSG_PROCESSING));
|
||||
String uuid = pm.getPlayerUUIDByName(playerName);
|
||||
String uuid = PlayerData.getPlayerUUIDByName(playerName);
|
||||
if (PluginCfg.IS_DEBUG) {
|
||||
sender.sendMessage(StrUtil.messageFormat(PluginCfg.PLUGIN_PREFIX + uuid + "\n" + pack.toString() + "\n" + time + unitName + "."));
|
||||
}
|
||||
|
@ -5,10 +5,11 @@ import java.util.List;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
import gg.frog.mc.base.PluginMain;
|
||||
import gg.frog.mc.base.config.LangCfg;
|
||||
import gg.frog.mc.base.config.PluginCfg;
|
||||
import gg.frog.mc.permissionstime.PluginMain;
|
||||
import gg.frog.mc.base.utils.StrUtil;
|
||||
import gg.frog.mc.base.utils.data.PlayerData;
|
||||
import gg.frog.mc.permissionstime.config.LangCfg;
|
||||
import gg.frog.mc.permissionstime.config.PluginCfg;
|
||||
import gg.frog.mc.permissionstime.database.SqlManager;
|
||||
import gg.frog.mc.permissionstime.gui.PlayerPermissionShow;
|
||||
import gg.frog.mc.permissionstime.model.db.PlayerDataBean;
|
||||
@ -34,7 +35,7 @@ public class MeCmd implements Runnable {
|
||||
if (isPlayer) {
|
||||
if (args.length == 1) {
|
||||
sender.sendMessage(StrUtil.messageFormat(PluginCfg.PLUGIN_PREFIX + LangCfg.MSG_PROCESSING));
|
||||
String uuid = pm.getPlayerUUIDByName((Player) sender);
|
||||
String uuid = PlayerData.getPlayerUUIDByName((Player) sender);
|
||||
List<PlayerDataBean> ps = sm.getTime(uuid);
|
||||
PlayerPermissionShow.show((Player) sender, ps);
|
||||
} else {
|
||||
|
@ -4,11 +4,11 @@ import java.util.Map.Entry;
|
||||
|
||||
import org.bukkit.command.CommandSender;
|
||||
|
||||
import gg.frog.mc.base.PluginMain;
|
||||
import gg.frog.mc.base.config.LangCfg;
|
||||
import gg.frog.mc.base.config.PluginCfg;
|
||||
import gg.frog.mc.permissionstime.PluginMain;
|
||||
import gg.frog.mc.base.utils.StrUtil;
|
||||
import gg.frog.mc.permissionstime.config.LangCfg;
|
||||
import gg.frog.mc.permissionstime.config.PackagesCfg;
|
||||
import gg.frog.mc.permissionstime.config.PluginCfg;
|
||||
import gg.frog.mc.permissionstime.model.cfg.PermissionPackageBean;
|
||||
|
||||
public class PackagesCmd implements Runnable {
|
||||
|
@ -11,11 +11,8 @@ import org.bukkit.command.TabCompleter;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.inventory.InventoryView;
|
||||
|
||||
import gg.frog.mc.base.PluginMain;
|
||||
import gg.frog.mc.base.config.LangCfg;
|
||||
import gg.frog.mc.base.config.PluginCfg;
|
||||
import gg.frog.mc.base.utils.StrUtil;
|
||||
import gg.frog.mc.nametags.command.TagCmd;
|
||||
import gg.frog.mc.permissionstime.PluginMain;
|
||||
import gg.frog.mc.permissionstime.command.GetCmd;
|
||||
import gg.frog.mc.permissionstime.command.GiveCmd;
|
||||
import gg.frog.mc.permissionstime.command.MeCmd;
|
||||
@ -23,7 +20,9 @@ import gg.frog.mc.permissionstime.command.PackagesCmd;
|
||||
import gg.frog.mc.permissionstime.command.RemoveAllCmd;
|
||||
import gg.frog.mc.permissionstime.command.RemoveCmd;
|
||||
import gg.frog.mc.permissionstime.command.SetCmd;
|
||||
import gg.frog.mc.permissionstime.config.LangCfg;
|
||||
import gg.frog.mc.permissionstime.config.PackagesCfg;
|
||||
import gg.frog.mc.permissionstime.config.PluginCfg;
|
||||
import gg.frog.mc.permissionstime.database.SqlManager;
|
||||
|
||||
public class PtCommand implements CommandExecutor, TabCompleter {
|
||||
@ -54,7 +53,7 @@ public class PtCommand implements CommandExecutor, TabCompleter {
|
||||
if (player.hasPermission("permissionstime.reload")) {
|
||||
for (Player p : pm.getServer().getOnlinePlayers()) {
|
||||
InventoryView inventory = p.getOpenInventory();
|
||||
if (inventory != null && (StrUtil.messageFormat(LangCfg.INVENTORY_NAME + "§r§5§9§2§0§1§r").equals(inventory.getTitle()) || StrUtil.messageFormat(LangCfg.TAG_INVENTORY_NAME + "§r§5§9§2§0§2§r").equals(inventory.getTitle()))) {
|
||||
if (inventory != null && (StrUtil.messageFormat(LangCfg.INVENTORY_NAME + "§r§5§9§2§0§1§r").equals(inventory.getTitle()))) {
|
||||
inventory.close();
|
||||
}
|
||||
}
|
||||
@ -70,7 +69,7 @@ public class PtCommand implements CommandExecutor, TabCompleter {
|
||||
} else {
|
||||
for (Player p : pm.getServer().getOnlinePlayers()) {
|
||||
InventoryView inventory = p.getOpenInventory();
|
||||
if (inventory != null && (StrUtil.messageFormat(LangCfg.INVENTORY_NAME + "§r§5§9§2§0§1§r").equals(inventory.getTitle()) || StrUtil.messageFormat(LangCfg.TAG_INVENTORY_NAME + "§r§5§9§2§0§2§r").equals(inventory.getTitle()))) {
|
||||
if (inventory != null && (StrUtil.messageFormat(LangCfg.INVENTORY_NAME + "§r§5§9§2§0§1§r").equals(inventory.getTitle()))) {
|
||||
inventory.close();
|
||||
}
|
||||
}
|
||||
@ -86,15 +85,6 @@ public class PtCommand implements CommandExecutor, TabCompleter {
|
||||
MeCmd meCmd = new MeCmd(pm, sender, isPlayer, args);
|
||||
new Thread(meCmd).start();
|
||||
}
|
||||
} else if (args[0].equalsIgnoreCase("tag")) {
|
||||
if (hasPermission(sender, isPlayer, "permissionstime.tag")) {
|
||||
if (PluginCfg.TAG_SYSTEM) {
|
||||
TagCmd tagCmd = new TagCmd(pm, sender, isPlayer, args);
|
||||
new Thread(tagCmd).start();
|
||||
} else {
|
||||
sender.sendMessage(StrUtil.messageFormat(LangCfg.MSG_FUNC_DISABLED, LangCfg.TAG));
|
||||
}
|
||||
}
|
||||
} else if (args[0].equalsIgnoreCase("give")) {
|
||||
if (hasPermission(sender, isPlayer, "permissionstime.give")) {
|
||||
GiveCmd giveCmd = new GiveCmd(pm, sender, args);
|
||||
@ -139,9 +129,6 @@ public class PtCommand implements CommandExecutor, TabCompleter {
|
||||
if (isPlayer && (sender.hasPermission(pm.PLUGIN_NAME_LOWER_CASE + ".me"))) {
|
||||
sender.sendMessage(StrUtil.messageFormat(LangCfg.CMD_ME, pm.PLUGIN_NAME_LOWER_CASE));
|
||||
}
|
||||
if (isPlayer && (sender.hasPermission(pm.PLUGIN_NAME_LOWER_CASE + ".tag"))) {
|
||||
sender.sendMessage(StrUtil.messageFormat(LangCfg.CMD_TAG, pm.PLUGIN_NAME_LOWER_CASE));
|
||||
}
|
||||
if (!isPlayer || sender.hasPermission(pm.PLUGIN_NAME_LOWER_CASE + ".packages")) {
|
||||
sender.sendMessage(StrUtil.messageFormat(LangCfg.CMD_PACKAGES, pm.PLUGIN_NAME_LOWER_CASE));
|
||||
}
|
||||
@ -189,9 +176,6 @@ public class PtCommand implements CommandExecutor, TabCompleter {
|
||||
if ("me".startsWith(args[0]) && (!isPlayer || sender.hasPermission(pm.PLUGIN_NAME_LOWER_CASE + ".me"))) {
|
||||
tipList.add("me");
|
||||
}
|
||||
if ("tag".startsWith(args[0]) && (!isPlayer || sender.hasPermission(pm.PLUGIN_NAME_LOWER_CASE + ".tag"))) {
|
||||
tipList.add("tag");
|
||||
}
|
||||
if ("packages".startsWith(args[0]) && (!isPlayer || sender.hasPermission(pm.PLUGIN_NAME_LOWER_CASE + ".packages"))) {
|
||||
tipList.add("packages");
|
||||
}
|
||||
@ -222,10 +206,6 @@ public class PtCommand implements CommandExecutor, TabCompleter {
|
||||
tipList.add(name);
|
||||
}
|
||||
}
|
||||
} else if ("tag".equalsIgnoreCase(args[0]) && (!isPlayer || sender.hasPermission(pm.PLUGIN_NAME_LOWER_CASE + ".tag"))) {
|
||||
tipList.add("c");
|
||||
tipList.add("p");
|
||||
tipList.add("s");
|
||||
}
|
||||
} else if (args.length == 3) {
|
||||
args[0] = args[0].toLowerCase(Locale.ENGLISH);
|
||||
|
@ -6,10 +6,11 @@ import org.bukkit.OfflinePlayer;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
import gg.frog.mc.base.PluginMain;
|
||||
import gg.frog.mc.base.config.LangCfg;
|
||||
import gg.frog.mc.base.config.PluginCfg;
|
||||
import gg.frog.mc.permissionstime.PluginMain;
|
||||
import gg.frog.mc.base.utils.StrUtil;
|
||||
import gg.frog.mc.base.utils.data.PlayerData;
|
||||
import gg.frog.mc.permissionstime.config.LangCfg;
|
||||
import gg.frog.mc.permissionstime.config.PluginCfg;
|
||||
import gg.frog.mc.permissionstime.database.SqlManager;
|
||||
import gg.frog.mc.permissionstime.model.cfg.PermissionPackageBean;
|
||||
import gg.frog.mc.permissionstime.model.db.PlayerDataBean;
|
||||
@ -36,10 +37,10 @@ public class RemoveAllCmd implements Runnable {
|
||||
if (args.length == 3 && "t".equalsIgnoreCase(args[2]) && PluginCfg.USE_MYSQL) {
|
||||
delGlobal = true;
|
||||
}
|
||||
OfflinePlayer player = pm.getOfflinePlayer(playerName);
|
||||
OfflinePlayer player = PlayerData.getOfflinePlayer(playerName);
|
||||
if (player != null) {
|
||||
sender.sendMessage(StrUtil.messageFormat(PluginCfg.PLUGIN_PREFIX + LangCfg.MSG_PROCESSING));
|
||||
String uuid = pm.getPlayerUUIDByName(playerName);
|
||||
String uuid = PlayerData.getPlayerUUIDByName(playerName);
|
||||
if (PluginCfg.IS_DEBUG) {
|
||||
sender.sendMessage(StrUtil.messageFormat(PluginCfg.PLUGIN_PREFIX + uuid));
|
||||
}
|
||||
|
@ -6,11 +6,12 @@ import org.bukkit.OfflinePlayer;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
import gg.frog.mc.base.PluginMain;
|
||||
import gg.frog.mc.base.config.LangCfg;
|
||||
import gg.frog.mc.base.config.PluginCfg;
|
||||
import gg.frog.mc.permissionstime.PluginMain;
|
||||
import gg.frog.mc.base.utils.StrUtil;
|
||||
import gg.frog.mc.base.utils.data.PlayerData;
|
||||
import gg.frog.mc.permissionstime.config.LangCfg;
|
||||
import gg.frog.mc.permissionstime.config.PackagesCfg;
|
||||
import gg.frog.mc.permissionstime.config.PluginCfg;
|
||||
import gg.frog.mc.permissionstime.database.SqlManager;
|
||||
import gg.frog.mc.permissionstime.model.cfg.PermissionPackageBean;
|
||||
import gg.frog.mc.permissionstime.model.db.PlayerDataBean;
|
||||
@ -40,10 +41,10 @@ public class RemoveCmd implements Runnable {
|
||||
}
|
||||
PermissionPackageBean pack = PackagesCfg.PACKAGES.get(packageName);
|
||||
if (pack != null) {
|
||||
OfflinePlayer player = pm.getOfflinePlayer(playerName);
|
||||
OfflinePlayer player = PlayerData.getOfflinePlayer(playerName);
|
||||
if (player != null) {
|
||||
sender.sendMessage(StrUtil.messageFormat(PluginCfg.PLUGIN_PREFIX + LangCfg.MSG_PROCESSING));
|
||||
String uuid = pm.getPlayerUUIDByName(playerName);
|
||||
String uuid = PlayerData.getPlayerUUIDByName(playerName);
|
||||
if (PluginCfg.IS_DEBUG) {
|
||||
sender.sendMessage(StrUtil.messageFormat(PluginCfg.PLUGIN_PREFIX + uuid + "\n" + pack.toString()));
|
||||
}
|
||||
|
@ -6,11 +6,12 @@ import org.bukkit.OfflinePlayer;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
import gg.frog.mc.base.PluginMain;
|
||||
import gg.frog.mc.base.config.LangCfg;
|
||||
import gg.frog.mc.base.config.PluginCfg;
|
||||
import gg.frog.mc.permissionstime.PluginMain;
|
||||
import gg.frog.mc.base.utils.StrUtil;
|
||||
import gg.frog.mc.base.utils.data.PlayerData;
|
||||
import gg.frog.mc.permissionstime.config.LangCfg;
|
||||
import gg.frog.mc.permissionstime.config.PackagesCfg;
|
||||
import gg.frog.mc.permissionstime.config.PluginCfg;
|
||||
import gg.frog.mc.permissionstime.database.SqlManager;
|
||||
import gg.frog.mc.permissionstime.model.cfg.PermissionPackageBean;
|
||||
import gg.frog.mc.permissionstime.model.db.PlayerDataBean;
|
||||
@ -63,10 +64,10 @@ public class SetCmd implements Runnable {
|
||||
}
|
||||
PermissionPackageBean pack = PackagesCfg.PACKAGES.get(packageName);
|
||||
if (pack != null) {
|
||||
OfflinePlayer player = pm.getOfflinePlayer(playerName);
|
||||
OfflinePlayer player = PlayerData.getOfflinePlayer(playerName);
|
||||
if (player != null) {
|
||||
sender.sendMessage(StrUtil.messageFormat(PluginCfg.PLUGIN_PREFIX + LangCfg.MSG_PROCESSING));
|
||||
String uuid = pm.getPlayerUUIDByName(playerName);
|
||||
String uuid = PlayerData.getPlayerUUIDByName(playerName);
|
||||
if (PluginCfg.IS_DEBUG) {
|
||||
sender.sendMessage(StrUtil.messageFormat(PluginCfg.PLUGIN_PREFIX + uuid + "\n" + pack.toString() + "\n" + time + unitName + " ."));
|
||||
}
|
||||
|
@ -0,0 +1,75 @@
|
||||
package gg.frog.mc.permissionstime.config;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.InputStream;
|
||||
import java.util.LinkedHashMap;
|
||||
import java.util.Map;
|
||||
import java.util.Map.Entry;
|
||||
|
||||
import org.bukkit.command.CommandSender;
|
||||
|
||||
import gg.frog.mc.base.utils.FileUtil;
|
||||
import gg.frog.mc.base.utils.FileUtil.FindFilesDo;
|
||||
import gg.frog.mc.base.utils.config.PluginConfig;
|
||||
import gg.frog.mc.permissionstime.PluginMain;
|
||||
import gg.frog.mc.permissionstime.config.LangCfg;
|
||||
import gg.frog.mc.permissionstime.config.PluginCfg;
|
||||
|
||||
/**
|
||||
* 配置文件管理
|
||||
*
|
||||
* @author QiaoPengyu
|
||||
*
|
||||
*/
|
||||
public class ConfigManager {
|
||||
|
||||
private PluginMain pm;
|
||||
private Map<String, PluginConfig> cfgMap = new LinkedHashMap<>();
|
||||
|
||||
public ConfigManager(PluginMain pm) {
|
||||
this.pm = pm;
|
||||
copyLangFilesFromJar();
|
||||
// 添加到配置列表
|
||||
cfgMap.put("plugin", new PluginCfg(pm));
|
||||
}
|
||||
|
||||
public void initConfig() {
|
||||
cfgMap.put("lang", new LangCfg("lang/" + PluginCfg.LANG + ".yml", pm));
|
||||
cfgMap.put("packages", new PackagesCfg("packages.yml", pm));
|
||||
}
|
||||
|
||||
public void reloadConfig(CommandSender sender) {
|
||||
for (Entry<String, PluginConfig> entry : cfgMap.entrySet()) {
|
||||
if ("lang".equals(entry.getKey())) {
|
||||
entry.setValue(new LangCfg("lang/" + PluginCfg.LANG + ".yml", pm));
|
||||
}
|
||||
entry.getValue().reloadConfig(sender);
|
||||
}
|
||||
}
|
||||
|
||||
public Map<String, PluginConfig> getCfgMap() {
|
||||
return cfgMap;
|
||||
}
|
||||
|
||||
private void copyLangFilesFromJar() {
|
||||
FileUtil.findFilesFromJar(new FindFilesDo() {
|
||||
|
||||
@Override
|
||||
public void process(String fileName, InputStream is) {
|
||||
File f = new File(pm.getDataFolder(), fileName);
|
||||
FileUtil.writeFile(f, is);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isProcess(String fileName) {
|
||||
if (fileName.matches("lang/.+\\.yml") || "config.yml".equals(fileName) || "packages.yml".equals(fileName)) {
|
||||
File f = new File(pm.getDataFolder(), fileName);
|
||||
if (!f.exists()) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
}, this.getClass());
|
||||
}
|
||||
}
|
124
src/main/gg/frog/mc/permissionstime/config/LangCfg.java
Normal file
124
src/main/gg/frog/mc/permissionstime/config/LangCfg.java
Normal file
@ -0,0 +1,124 @@
|
||||
package gg.frog.mc.permissionstime.config;
|
||||
|
||||
import org.bukkit.command.CommandSender;
|
||||
|
||||
import gg.frog.mc.permissionstime.PluginMain;
|
||||
import gg.frog.mc.base.utils.config.PluginConfig;
|
||||
|
||||
/**
|
||||
* 语言支持
|
||||
*
|
||||
* @author QiaoPengyu
|
||||
*
|
||||
*/
|
||||
public class LangCfg extends PluginConfig {
|
||||
|
||||
public static String INVENTORY_NAME = null;
|
||||
public static String EXPIRATION_TIME = null;
|
||||
public static String LEFT_TIME = null;
|
||||
public static String TIME_UNIT_D = null;
|
||||
public static String TIME_UNIT_H = null;
|
||||
public static String TIME_UNIT_M = null;
|
||||
public static String TIME_FOREVER = null;
|
||||
|
||||
public static String MSG_PARAMETER_MISMATCH = null;
|
||||
public static String MSG_TIME_PARAMETER_INCORRECT = null;
|
||||
public static String MSG_TIME_UNIT_PARAMETER_INCORRECT = null;
|
||||
public static String MSG_PROCESSING = null;
|
||||
public static String MSG_NO_DATA = null;
|
||||
public static String MSG_PACKAGE_NUM = null;
|
||||
public static String MSG_PACKAGE_LIST = null;
|
||||
public static String MSG_PACKAGE_DETAIL = null;
|
||||
public static String MSG_NO_PERMISSION = null;
|
||||
public static String MSG_CONFIG_RELOADED = null;
|
||||
public static String MSG_FAIL_SET_PERMISSION = null;
|
||||
public static String MSG_NO_FIND_PLAYER = null;
|
||||
public static String MSG_NO_FIND_PACKAGE = null;
|
||||
public static String MSG_TELL_GIVE_PACKAGE = null;
|
||||
public static String MSG_GIVE_PACKAGE = null;
|
||||
public static String MSG_GIVE_PACKAGE_FAIL = null;
|
||||
public static String MSG_TELL_SET_PACKAGE = null;
|
||||
public static String MSG_SET_PACKAGE = null;
|
||||
public static String MSG_SET_PACKAGE_FAIL = null;
|
||||
public static String MSG_TELL_DEL_PACKAGE = null;
|
||||
public static String MSG_DEL_PACKAGE = null;
|
||||
public static String MSG_DEL_PACKAGE_FAIL = null;
|
||||
public static String MSG_TELL_DEL_ALL = null;
|
||||
public static String MSG_DEL_ALL = null;
|
||||
public static String MSG_DEL_ALL_FAIL = null;
|
||||
public static String MSG_NUM_OF_PACKAGES = null;
|
||||
public static String MSG_EXPIRATION_DATE = null;
|
||||
public static String MSG_UNKNOWN_PACKAGE = null;
|
||||
public static String MSG_IS_EXPIRATION_DATE = null;
|
||||
public static String MSG_FUNC_DISABLED = null;
|
||||
|
||||
public static String CMD_HELP = null;
|
||||
public static String CMD_ME = null;
|
||||
public static String CMD_PACKAGES = null;
|
||||
public static String CMD_GET = null;
|
||||
public static String CMD_GIVE = null;
|
||||
public static String CMD_SET = null;
|
||||
public static String CMD_REMOVE = null;
|
||||
public static String CMD_REMOVEALL = null;
|
||||
public static String CMD_RELOAD = null;
|
||||
|
||||
public LangCfg(String fileName, PluginMain pm) {
|
||||
super(fileName, pm);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void init() {
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void loadToDo(CommandSender sender) {
|
||||
INVENTORY_NAME = getConfig().getString("inventoryName", "&4===Permissions Packages===");
|
||||
EXPIRATION_TIME = getConfig().getString("expirationTime", "&4Expiration time: {0}");
|
||||
LEFT_TIME = getConfig().getString("leftTime", "&4Left time: About {0}{1} {2}{3} {4}{5}");
|
||||
TIME_UNIT_D = getConfig().getString("timeUnitD", "day(s)");
|
||||
TIME_UNIT_H = getConfig().getString("timeUnitH", "hour(s)");
|
||||
TIME_UNIT_M = getConfig().getString("timeUnitM", "minute(s)");
|
||||
TIME_FOREVER = getConfig().getString("timeForever", "Forever");
|
||||
|
||||
MSG_PARAMETER_MISMATCH = getConfig().getString("msg.parameterMismatch", "&4Parameter mismatch.");
|
||||
MSG_TIME_PARAMETER_INCORRECT = getConfig().getString("msg.timeParameterIncorrect", "&4The number of time is incorrect. Please enter a nonzero integer.");
|
||||
MSG_TIME_UNIT_PARAMETER_INCORRECT = getConfig().getString("msg.timeUnitParameterIncorrect", "&4The number of time unit is incorrect. Please use d/h/m. (d=day, h=hour, m=minute)");
|
||||
MSG_PROCESSING = getConfig().getString("msg.processing", "&2Please wait for processing...");
|
||||
MSG_NO_DATA = getConfig().getString("msg.noData", "&4No data for packages.");
|
||||
MSG_PACKAGE_NUM = getConfig().getString("msg.packageNum", "&4There are {0} kinds of permissions packages.");
|
||||
MSG_PACKAGE_LIST = getConfig().getString("msg.packageList", "{0}packageName: {1}, displayName: {2}");
|
||||
MSG_PACKAGE_DETAIL = getConfig().getString("msg.packageDetail", "packageName: {0}, displayName: {1}&r\\nPermissions: {2}\\nGroups: {3}");
|
||||
MSG_NO_PERMISSION = getConfig().getString("msg.nopermission", "&4You do not have permission to do this.");
|
||||
MSG_CONFIG_RELOADED = getConfig().getString("msg.configReloaded", "&2Configuration reload is complete.");
|
||||
MSG_FAIL_SET_PERMISSION = getConfig().getString("msg.failSetPermission", "&4Failed to modify permissions. Please re-enter the server!");
|
||||
MSG_NO_FIND_PLAYER = getConfig().getString("msg.noFindPlayer", "&4Can not find player named &2{0}");
|
||||
MSG_NO_FIND_PACKAGE = getConfig().getString("msg.noFindPackage", "&4Can not find package named &2{0}");
|
||||
MSG_TELL_GIVE_PACKAGE = getConfig().getString("msg.tellGivePackage", "&2{0} give you {1} package of {2}");
|
||||
MSG_GIVE_PACKAGE = getConfig().getString("msg.givePackage", "&2Give the player {0} {1} package of {2}");
|
||||
MSG_GIVE_PACKAGE_FAIL = getConfig().getString("msg.givePackageFail", "&4Failed to give players {0} {1} package of {2}");
|
||||
MSG_TELL_SET_PACKAGE = getConfig().getString("msg.tellSetPackage", "&2{0} set your package of {2} to {1}");
|
||||
MSG_SET_PACKAGE = getConfig().getString("msg.setPackage", "&2Set the player {0} {1} package of {2}");
|
||||
MSG_SET_PACKAGE_FAIL = getConfig().getString("msg.setPackageFail", "&4Failed to set the player {0} {1} package of {2}");
|
||||
MSG_TELL_DEL_PACKAGE = getConfig().getString("msg.tellDelPackage", "&4{0} deleted your package of {1}");
|
||||
MSG_DEL_PACKAGE = getConfig().getString("msg.delPackage", "&2Remove package of {1}&2 for player {0}");
|
||||
MSG_DEL_PACKAGE_FAIL = getConfig().getString("msg.delPackageFail", "&4Failed to delete package of {1}&2 for player {0}");
|
||||
MSG_TELL_DEL_ALL = getConfig().getString("msg.tellDelAll", "&4{0} remove all your packages");
|
||||
MSG_DEL_ALL = getConfig().getString("msg.delAll", "&2Remove all packages for player {0}");
|
||||
MSG_DEL_ALL_FAIL = getConfig().getString("msg.delAllFail", "&4Failed to remove all packages for player {0}");
|
||||
MSG_NUM_OF_PACKAGES = getConfig().getString("msg.numOfPackages", "====={0} has {1} packages=====");
|
||||
MSG_EXPIRATION_DATE = getConfig().getString("msg.expirationDate", "{0}packages: {1}({2}), Expiration date: {3}, {4}");
|
||||
MSG_UNKNOWN_PACKAGE = getConfig().getString("msg.unknownPackage", "Unknown Packages");
|
||||
MSG_IS_EXPIRATION_DATE = getConfig().getString("msg.isExpirationDate", "Your package: {0}({1})&r has expired.");
|
||||
MSG_FUNC_DISABLED = getConfig().getString("msg.funcDisabled", "{0} functionality disabled.");
|
||||
|
||||
CMD_HELP = getConfig().getString("cmd.help", "/{0} help \\n&7 - Show commands.");
|
||||
CMD_ME = getConfig().getString("cmd.me", "&6/{0} me \\n&7 - View your packages.");
|
||||
CMD_PACKAGES = getConfig().getString("cmd.packages", "&6/{0} packages [packageName] \\n&7 - View packages.");
|
||||
CMD_GET = getConfig().getString("cmd.get", "&6/{0} get <playerName> \\n&7 - View player packages.");
|
||||
CMD_GIVE = getConfig().getString("cmd.give", "&6/{0} give <playerName> <packageName> <time> <timeUnit:d/h/m> \\n&7 - Give player package some time. (Time accumulation.) \\n&7 timeUnit: d=day, h=hour, m=minute");
|
||||
CMD_SET = getConfig().getString("cmd.set", "&6/{0} set <playerName> <packageName> <time> <timeUnit:d/h/m> \\n&7 - Set player package some time. \\n&7 timeUnit: d=day, h=hour, m=minute");
|
||||
CMD_REMOVE = getConfig().getString("cmd.remove", "&6/{0} remove <playerName> <packageName> [t/f] \\n&7 - Remove player package. (t: Delete global package.)");
|
||||
CMD_REMOVEALL = getConfig().getString("cmd.removeall", "&6/{0} removeall <playerName> [t/f] \\n&7 - Remove player all package. (t: Delete global packages.)");
|
||||
CMD_RELOAD = getConfig().getString("cmd.reload", "&6/{0} reload \\n&7 - Reloads the config file.");
|
||||
}
|
||||
}
|
@ -17,12 +17,11 @@ import org.bukkit.entity.Player;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
import org.bukkit.inventory.meta.ItemMeta;
|
||||
|
||||
import gg.frog.mc.base.PluginMain;
|
||||
import gg.frog.mc.base.config.LangCfg;
|
||||
import gg.frog.mc.base.config.PluginCfg;
|
||||
import gg.frog.mc.base.utils.StrUtil;
|
||||
import gg.frog.mc.base.utils.config.PluginConfig;
|
||||
import gg.frog.mc.base.utils.data.PlayerData;
|
||||
import gg.frog.mc.base.utils.nms.ItemUtil;
|
||||
import gg.frog.mc.permissionstime.PluginMain;
|
||||
import gg.frog.mc.permissionstime.model.cfg.PermissionPackageBean;
|
||||
import gg.frog.mc.permissionstime.model.db.PlayerDataBean;
|
||||
|
||||
@ -70,11 +69,11 @@ public class PackagesCfg extends PluginConfig {
|
||||
allPermissions.addAll(e.getValue().getPermissions());
|
||||
allGroups.addAll(e.getValue().getGroups());
|
||||
}
|
||||
for (Player player : pm.getServer().getOnlinePlayers()) {
|
||||
for (Player player : pb.getServer().getOnlinePlayers()) {
|
||||
try {
|
||||
String uuid = pm.getPlayerUUIDByName(player);
|
||||
List<PlayerDataBean> pdbList = pm.getSqlManager().getTime(uuid);
|
||||
PermissionPackageBean.reloadPlayerPermissions(player, pdbList, pm, false);
|
||||
String uuid = PlayerData.getPlayerUUIDByName(player);
|
||||
List<PlayerDataBean> pdbList = ((PluginMain)pb).getSqlManager().getTime(uuid);
|
||||
PermissionPackageBean.reloadPlayerPermissions(player, pdbList, ((PluginMain)pb), false);
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
sender.sendMessage(StrUtil.messageFormat(PluginCfg.PLUGIN_PREFIX + LangCfg.MSG_FAIL_SET_PERMISSION));
|
||||
|
52
src/main/gg/frog/mc/permissionstime/config/PluginCfg.java
Normal file
52
src/main/gg/frog/mc/permissionstime/config/PluginCfg.java
Normal file
@ -0,0 +1,52 @@
|
||||
package gg.frog.mc.permissionstime.config;
|
||||
|
||||
import org.bukkit.command.CommandSender;
|
||||
|
||||
import gg.frog.mc.base.utils.config.PluginConfig;
|
||||
import gg.frog.mc.permissionstime.PluginMain;
|
||||
|
||||
/**
|
||||
* 插件默认配置
|
||||
*
|
||||
* @author QiaoPengyu
|
||||
*
|
||||
*/
|
||||
public class PluginCfg extends PluginConfig {
|
||||
|
||||
public static String PLUGIN_PREFIX;
|
||||
public static boolean IS_METRICS = true;
|
||||
public static boolean IS_DEBUG = false;
|
||||
public static String LANG;
|
||||
public static boolean USE_MYSQL = false;
|
||||
public static String SQL_SERVER_ID;
|
||||
public static String SQL_HOSTNAME;
|
||||
public static int SQL_PORT;
|
||||
public static String SQL_DATABASE;
|
||||
public static String SQL_USERNAME;
|
||||
public static String SQL_PASSWORD;
|
||||
public static String SQL_TABLE_PREFIX;
|
||||
|
||||
public PluginCfg(PluginMain pm) {
|
||||
super(pm);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void init() {}
|
||||
|
||||
@Override
|
||||
protected void loadToDo(CommandSender sender) {
|
||||
PLUGIN_PREFIX = setGetDefault("pluginPrefix", "§4[§b" + pb.PLUGIN_NAME + "§4] ") + "§r";
|
||||
IS_DEBUG = setGetDefault("debug", false);
|
||||
IS_METRICS = setGetDefault("metrics", true);
|
||||
LANG = setGetDefault("lang", "en");
|
||||
USE_MYSQL = setGetDefault("mysql.enable", false);
|
||||
SQL_SERVER_ID = setGetDefault("mysql.serverId", "default");
|
||||
SQL_HOSTNAME = setGetDefault("mysql.hostname", "localhost");
|
||||
SQL_PORT = setGetDefault("mysql.port", 3306);
|
||||
SQL_DATABASE = setGetDefault("mysql.database", "minecraft");
|
||||
SQL_USERNAME = setGetDefault("mysql.username", "user");
|
||||
SQL_PASSWORD = setGetDefault("mysql.password", "123456");
|
||||
SQL_TABLE_PREFIX = setGetDefault("mysql.tablePrefix", "pt_");
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,29 @@
|
||||
package gg.frog.mc.permissionstime.database;
|
||||
|
||||
import gg.frog.mc.permissionstime.config.PluginCfg;
|
||||
import lib.PatPeter.SQLibrary.Database;
|
||||
|
||||
public abstract class DatabaseUtil {
|
||||
|
||||
private SqlManager sm;
|
||||
|
||||
public DatabaseUtil(SqlManager sm) {
|
||||
this.sm = sm;
|
||||
}
|
||||
|
||||
protected Database getDB() {
|
||||
Database db = sm.getDb();
|
||||
if (PluginCfg.USE_MYSQL) {
|
||||
for (int i = 0; i < 3; i++) {
|
||||
if (!db.isOpen()) {
|
||||
if (db.open()) {
|
||||
return db;
|
||||
}
|
||||
} else {
|
||||
return db;
|
||||
}
|
||||
}
|
||||
}
|
||||
return db;
|
||||
}
|
||||
}
|
@ -3,8 +3,8 @@ package gg.frog.mc.permissionstime.database;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
import gg.frog.mc.base.PluginMain;
|
||||
import gg.frog.mc.base.config.PluginCfg;
|
||||
import gg.frog.mc.permissionstime.PluginMain;
|
||||
import gg.frog.mc.permissionstime.config.PluginCfg;
|
||||
import gg.frog.mc.permissionstime.database.impl.MySQLPlayerDataDao;
|
||||
import gg.frog.mc.permissionstime.database.impl.SqlitePlayerDataDao;
|
||||
import gg.frog.mc.permissionstime.model.db.PlayerDataBean;
|
||||
|
@ -5,11 +5,11 @@ import java.util.ArrayList;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
import gg.frog.mc.base.PluginMain;
|
||||
import gg.frog.mc.base.config.PluginCfg;
|
||||
import gg.frog.mc.permissionstime.PluginMain;
|
||||
import gg.frog.mc.base.utils.StrUtil;
|
||||
import gg.frog.mc.base.utils.database.DatabaseUtil;
|
||||
import gg.frog.mc.permissionstime.config.PackagesCfg;
|
||||
import gg.frog.mc.permissionstime.config.PluginCfg;
|
||||
import gg.frog.mc.permissionstime.database.DatabaseUtil;
|
||||
import gg.frog.mc.permissionstime.database.IPlayerDataDao;
|
||||
import gg.frog.mc.permissionstime.database.SqlManager;
|
||||
import gg.frog.mc.permissionstime.model.db.PlayerDataBean;
|
||||
|
@ -5,11 +5,11 @@ import java.util.ArrayList;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
import gg.frog.mc.base.PluginMain;
|
||||
import gg.frog.mc.base.config.PluginCfg;
|
||||
import gg.frog.mc.permissionstime.PluginMain;
|
||||
import gg.frog.mc.base.utils.StrUtil;
|
||||
import gg.frog.mc.base.utils.database.DatabaseUtil;
|
||||
import gg.frog.mc.permissionstime.config.PackagesCfg;
|
||||
import gg.frog.mc.permissionstime.config.PluginCfg;
|
||||
import gg.frog.mc.permissionstime.database.DatabaseUtil;
|
||||
import gg.frog.mc.permissionstime.database.IPlayerDataDao;
|
||||
import gg.frog.mc.permissionstime.database.SqlManager;
|
||||
import gg.frog.mc.permissionstime.model.db.PlayerDataBean;
|
||||
|
@ -8,10 +8,10 @@ import org.bukkit.inventory.Inventory;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
import org.bukkit.inventory.meta.ItemMeta;
|
||||
|
||||
import gg.frog.mc.base.config.LangCfg;
|
||||
import gg.frog.mc.base.config.PluginCfg;
|
||||
import gg.frog.mc.base.utils.StrUtil;
|
||||
import gg.frog.mc.permissionstime.config.LangCfg;
|
||||
import gg.frog.mc.permissionstime.config.PackagesCfg;
|
||||
import gg.frog.mc.permissionstime.config.PluginCfg;
|
||||
import gg.frog.mc.permissionstime.model.cfg.PermissionPackageBean;
|
||||
import gg.frog.mc.permissionstime.model.db.PlayerDataBean;
|
||||
|
||||
@ -30,7 +30,7 @@ public class PlayerPermissionShow {
|
||||
ItemMeta meta = tItem.getItemMeta();
|
||||
List<String> lores = meta.getLore();
|
||||
lores.add(StrUtil.messageFormat(LangCfg.EXPIRATION_TIME, StrUtil.timestampToString(pdb.getExpire())));
|
||||
lores.add(StrUtil.getLeftTime(pdb.getExpire()));
|
||||
lores.add(PlayerDataBean.getLeftTime(pdb.getExpire()));
|
||||
meta.setLore(lores);
|
||||
tItem.setItemMeta(meta);
|
||||
inventory.addItem(tItem);
|
||||
|
@ -6,14 +6,15 @@ import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.EventPriority;
|
||||
import org.bukkit.event.Listener;
|
||||
import org.bukkit.event.inventory.InventoryClickEvent;
|
||||
import org.bukkit.event.player.PlayerJoinEvent;
|
||||
import org.bukkit.event.player.PlayerKickEvent;
|
||||
import org.bukkit.event.player.PlayerLoginEvent;
|
||||
import org.bukkit.event.player.PlayerQuitEvent;
|
||||
|
||||
import gg.frog.mc.base.PluginMain;
|
||||
import gg.frog.mc.base.config.LangCfg;
|
||||
import gg.frog.mc.base.config.PluginCfg;
|
||||
import gg.frog.mc.base.utils.StrUtil;
|
||||
import gg.frog.mc.base.utils.data.PlayerData;
|
||||
import gg.frog.mc.permissionstime.PluginMain;
|
||||
import gg.frog.mc.permissionstime.config.LangCfg;
|
||||
import gg.frog.mc.permissionstime.config.PluginCfg;
|
||||
import gg.frog.mc.permissionstime.model.cfg.PermissionPackageBean;
|
||||
import gg.frog.mc.permissionstime.model.db.PlayerDataBean;
|
||||
|
||||
@ -25,10 +26,10 @@ public class PtListener implements Listener {
|
||||
this.pm = pm;
|
||||
}
|
||||
|
||||
@EventHandler(priority = EventPriority.MONITOR)
|
||||
public void onJoin(PlayerLoginEvent event) {
|
||||
@EventHandler(priority = EventPriority.LOWEST)
|
||||
public void onJoin(PlayerJoinEvent event) {
|
||||
try {
|
||||
String uuid = pm.getPlayerUUIDByName(event.getPlayer());
|
||||
String uuid = PlayerData.getPlayerUUIDByName(event.getPlayer());
|
||||
List<PlayerDataBean> pdbList = pm.getSqlManager().getTime(uuid);
|
||||
PermissionPackageBean.reloadPlayerPermissions(event.getPlayer(), pdbList, pm, false);
|
||||
} catch (Exception e) {
|
||||
|
@ -13,12 +13,13 @@ import org.bukkit.configuration.MemorySection;
|
||||
import org.bukkit.configuration.file.YamlConfiguration;
|
||||
import org.bukkit.scheduler.BukkitTask;
|
||||
|
||||
import gg.frog.mc.base.PluginMain;
|
||||
import gg.frog.mc.base.config.LangCfg;
|
||||
import gg.frog.mc.base.config.PluginCfg;
|
||||
import gg.frog.mc.permissionstime.PluginMain;
|
||||
import gg.frog.mc.base.utils.StrUtil;
|
||||
import gg.frog.mc.base.utils.config.IConfigBean;
|
||||
import gg.frog.mc.base.utils.data.PlayerData;
|
||||
import gg.frog.mc.permissionstime.config.LangCfg;
|
||||
import gg.frog.mc.permissionstime.config.PackagesCfg;
|
||||
import gg.frog.mc.permissionstime.config.PluginCfg;
|
||||
import gg.frog.mc.permissionstime.model.db.PlayerDataBean;
|
||||
import net.milkbowl.vault.permission.Permission;
|
||||
|
||||
@ -267,7 +268,7 @@ public class PermissionPackageBean implements IConfigBean {
|
||||
addPpb.givePlayer(player, pm.getServer(), pm.getPermission());
|
||||
}
|
||||
checkExpire(player, pm);
|
||||
String uuid = pm.getPlayerUUIDByName(player.getPlayer());
|
||||
String uuid = PlayerData.getPlayerUUIDByName(player.getPlayer());
|
||||
BukkitTask task = taskMap.get(uuid);
|
||||
if (pdbList.size() > 0) {
|
||||
delay = (delay / 1000 + 1) * 20;// 1秒=20ticks
|
||||
@ -299,7 +300,7 @@ public class PermissionPackageBean implements IConfigBean {
|
||||
subPpb.clearPlayer(player, pm.getServer(), pm.getPermission());
|
||||
}
|
||||
});
|
||||
String uuid = pm.getPlayerUUIDByName(player.getPlayer());
|
||||
String uuid = PlayerData.getPlayerUUIDByName(player.getPlayer());
|
||||
BukkitTask task = taskMap.get(uuid);
|
||||
if (task != null) {
|
||||
pm.getServer().getScheduler().cancelTask(task.getTaskId());
|
||||
@ -307,7 +308,7 @@ public class PermissionPackageBean implements IConfigBean {
|
||||
}
|
||||
|
||||
public static void checkExpire(OfflinePlayer player, PluginMain pm) {
|
||||
String uuid = pm.getPlayerUUIDByName(player.getPlayer());
|
||||
String uuid = PlayerData.getPlayerUUIDByName(player.getPlayer());
|
||||
List<PlayerDataBean> playerDataList = pm.getSqlManager().getAllTime(uuid);
|
||||
long now = new Date().getTime();
|
||||
for (PlayerDataBean playerData : playerDataList) {
|
||||
|
@ -1,95 +0,0 @@
|
||||
package gg.frog.mc.permissionstime.model.cfg;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import org.bukkit.configuration.MemorySection;
|
||||
import org.bukkit.configuration.file.YamlConfiguration;
|
||||
|
||||
import gg.frog.mc.base.utils.config.IConfigBean;
|
||||
|
||||
/**
|
||||
* 标签包实体类
|
||||
*
|
||||
* @author QiaoPengyu
|
||||
*
|
||||
*/
|
||||
public class TagPackageBean implements IConfigBean {
|
||||
|
||||
//所需权限
|
||||
private String permissions;
|
||||
//名称颜色
|
||||
private List<String> namecolor = new ArrayList<>();
|
||||
//前缀
|
||||
private List<String> prefix = new ArrayList<>();
|
||||
//后缀
|
||||
private List<String> suffix = new ArrayList<>();
|
||||
//说明
|
||||
private String description;
|
||||
|
||||
public String getPermissions() {
|
||||
return permissions;
|
||||
}
|
||||
|
||||
public void setPermissions(String permissions) {
|
||||
this.permissions = permissions;
|
||||
}
|
||||
|
||||
public List<String> getNamecolor() {
|
||||
return namecolor;
|
||||
}
|
||||
|
||||
public void setNamecolor(List<String> namecolor) {
|
||||
this.namecolor = namecolor;
|
||||
}
|
||||
|
||||
public List<String> getPrefix() {
|
||||
return prefix;
|
||||
}
|
||||
|
||||
public void setPrefix(List<String> prefix) {
|
||||
this.prefix = prefix;
|
||||
}
|
||||
|
||||
public List<String> getSuffix() {
|
||||
return suffix;
|
||||
}
|
||||
|
||||
public void setSuffix(List<String> suffix) {
|
||||
this.suffix = suffix;
|
||||
}
|
||||
|
||||
public String getDescription() {
|
||||
return description;
|
||||
}
|
||||
|
||||
public void setDescription(String description) {
|
||||
this.description = description;
|
||||
}
|
||||
|
||||
@Override
|
||||
public YamlConfiguration toConfig() {
|
||||
YamlConfiguration config = new YamlConfiguration();
|
||||
config.set("permissions", permissions);
|
||||
config.set("namecolor", namecolor);
|
||||
config.set("prefix", prefix);
|
||||
config.set("suffix", suffix);
|
||||
config.set("description", description);
|
||||
return config;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void toConfigBean(MemorySection config) {
|
||||
permissions = config.getString("permissions");
|
||||
namecolor = config.getStringList("namecolor");
|
||||
prefix = config.getStringList("prefix");
|
||||
suffix = config.getStringList("suffix");
|
||||
description = config.getString("description");
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "PermissionPackageBean [permissions=" + permissions + ", namecolor=" + namecolor + ", prefix=" + prefix + ", suffix="
|
||||
+ suffix + ", description=" + description + "]";
|
||||
}
|
||||
}
|
@ -1,68 +1,86 @@
|
||||
package gg.frog.mc.permissionstime.model.db;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
import gg.frog.mc.base.utils.StrUtil;
|
||||
import gg.frog.mc.permissionstime.config.LangCfg;
|
||||
import gg.frog.mc.permissionstime.database.IPlayerDataDao;
|
||||
|
||||
public class PlayerDataBean {
|
||||
|
||||
private Long id;
|
||||
private String uuid;
|
||||
private String packageName;
|
||||
private Boolean global = false;
|
||||
private Long expire;
|
||||
private static final long dt = 24 * 60 * IPlayerDataDao.TIME_UNIT;
|
||||
private static final long ht = 60 * IPlayerDataDao.TIME_UNIT;
|
||||
private static final long mt = IPlayerDataDao.TIME_UNIT;
|
||||
|
||||
public PlayerDataBean() {
|
||||
super();
|
||||
}
|
||||
private Long id;
|
||||
private String uuid;
|
||||
private String packageName;
|
||||
private Boolean global = false;
|
||||
private Long expire;
|
||||
|
||||
public PlayerDataBean(Long id, String uuid, String packageName, Long expire) {
|
||||
super();
|
||||
this.id = id;
|
||||
this.uuid = uuid;
|
||||
this.packageName = packageName;
|
||||
this.expire = expire;
|
||||
}
|
||||
public PlayerDataBean() {
|
||||
super();
|
||||
}
|
||||
|
||||
public Long getId() {
|
||||
return id;
|
||||
}
|
||||
public PlayerDataBean(Long id, String uuid, String packageName, Long expire) {
|
||||
super();
|
||||
this.id = id;
|
||||
this.uuid = uuid;
|
||||
this.packageName = packageName;
|
||||
this.expire = expire;
|
||||
}
|
||||
|
||||
public void setId(Long id) {
|
||||
this.id = id;
|
||||
}
|
||||
public Long getId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
public String getUuid() {
|
||||
return uuid;
|
||||
}
|
||||
public void setId(Long id) {
|
||||
this.id = id;
|
||||
}
|
||||
|
||||
public void setUuid(String uuid) {
|
||||
this.uuid = uuid;
|
||||
}
|
||||
public String getUuid() {
|
||||
return uuid;
|
||||
}
|
||||
|
||||
public String getPackageName() {
|
||||
return packageName;
|
||||
}
|
||||
public void setUuid(String uuid) {
|
||||
this.uuid = uuid;
|
||||
}
|
||||
|
||||
public void setPackageName(String packageName) {
|
||||
this.packageName = packageName;
|
||||
}
|
||||
public String getPackageName() {
|
||||
return packageName;
|
||||
}
|
||||
|
||||
public Boolean getGlobal() {
|
||||
return global;
|
||||
}
|
||||
public void setPackageName(String packageName) {
|
||||
this.packageName = packageName;
|
||||
}
|
||||
|
||||
public void setGlobal(Boolean global) {
|
||||
this.global = global;
|
||||
}
|
||||
public Boolean getGlobal() {
|
||||
return global;
|
||||
}
|
||||
|
||||
public Long getExpire() {
|
||||
return expire;
|
||||
}
|
||||
public void setGlobal(Boolean global) {
|
||||
this.global = global;
|
||||
}
|
||||
|
||||
public void setExpire(Long expire) {
|
||||
this.expire = expire;
|
||||
}
|
||||
public Long getExpire() {
|
||||
return expire;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "PlayerDataBean [id=" + id + ", uuid=" + uuid + ", packageName=" + packageName + ", global=" + global + ", expire=" + expire + "]";
|
||||
}
|
||||
public void setExpire(Long expire) {
|
||||
this.expire = expire;
|
||||
}
|
||||
|
||||
public static String getLeftTime(long time) {
|
||||
long leftTime = time - new Date().getTime();
|
||||
long d = leftTime / dt;
|
||||
long h = (leftTime % dt) / ht;
|
||||
long m = (leftTime % ht) / mt;
|
||||
return StrUtil.messageFormat(LangCfg.LEFT_TIME, d, LangCfg.TIME_UNIT_D, h, LangCfg.TIME_UNIT_H, m, LangCfg.TIME_UNIT_M);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "PlayerDataBean [id=" + id + ", uuid=" + uuid + ", packageName=" + packageName + ", global=" + global + ", expire=" + expire + "]";
|
||||
}
|
||||
|
||||
}
|
||||
|
Reference in New Issue
Block a user