1
1
mirror of https://github.com/geekfrog/PermissionsTime.git synced 2025-09-09 07:29:44 +00:00

分离称号系统

修复bug
This commit is contained in:
2018-07-03 14:20:49 +08:00
parent 8e9989d47c
commit f169154e40
48 changed files with 225 additions and 2340 deletions

View 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 + " authorGeekFrog QQ324747460"));
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));
}
}

View File

@ -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));

View File

@ -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 + "."));
}

View File

@ -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 {

View File

@ -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 {

View File

@ -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);

View File

@ -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));
}

View File

@ -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()));
}

View File

@ -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 + " ."));
}

View File

@ -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());
}
}

View 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.");
}
}

View 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));

View 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_");
}
}

View File

@ -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;
}
}

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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);

View File

@ -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) {

View File

@ -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) {

View File

@ -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 + "]";
}
}

View File

@ -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 + "]";
}
}