1
0
mirror of https://e.coding.net/circlecloud/Residence.git synced 2025-11-24 21:46:16 +00:00

update pom.xml and rebuild...

This commit is contained in:
j502647092
2015-05-29 06:30:16 +08:00
parent 0066f21e37
commit e003d52118
15 changed files with 3082 additions and 3167 deletions

View File

@@ -6,6 +6,7 @@
<version>2.7.0.1-SNAPSHOT</version> <version>2.7.0.1-SNAPSHOT</version>
<name>Residence</name> <name>Residence</name>
<build> <build>
<finalName>${project.name}</finalName>
<sourceDirectory>src</sourceDirectory> <sourceDirectory>src</sourceDirectory>
<resources> <resources>
<resource> <resource>

View File

@@ -58,76 +58,208 @@ import com.bekvon.bukkit.residence.text.Language;
import com.bekvon.bukkit.residence.text.help.HelpEntry; import com.bekvon.bukkit.residence.text.help.HelpEntry;
import com.bekvon.bukkit.residence.text.help.InformationPager; import com.bekvon.bukkit.residence.text.help.InformationPager;
import com.bekvon.bukkit.residence.vaultinterface.ResidenceVaultAdapter; import com.bekvon.bukkit.residence.vaultinterface.ResidenceVaultAdapter;
import com.bekvon.bukkit.residence.vaultinterface.ZipLibrary;
import com.earth2me.essentials.Essentials; import com.earth2me.essentials.Essentials;
import com.residence.mcstats.Metrics;
import com.residence.zip.ZipLibrary;
/** /**
* *
* @author Gary Smoak - bekvon * @author Gary Smoak - bekvon
* *
*/ */
public class Residence extends JavaPlugin { public class Residence extends JavaPlugin {
public static String bukkitver; public static String bukkitver;
protected static ResidenceManager rmanager; protected static ResidenceManager rmanager;
protected static SelectionManager smanager; protected static SelectionManager smanager;
protected static PermissionManager gmanager; protected static PermissionManager gmanager;
protected static ConfigManager cmanager; protected static ConfigManager cmanager;
protected static ResidenceBlockListener blistener; protected static ResidenceBlockListener blistener;
protected static ResidencePlayerListener plistener; protected static ResidencePlayerListener plistener;
protected static ResidenceEntityListener elistener; protected static ResidenceEntityListener elistener;
protected static TransactionManager tmanager; protected static TransactionManager tmanager;
protected static PermissionListManager pmanager; protected static PermissionListManager pmanager;
protected static LeaseManager leasemanager; protected static LeaseManager leasemanager;
protected static WorldItemManager imanager; protected static WorldItemManager imanager;
protected static WorldFlagManager wmanager; protected static WorldFlagManager wmanager;
protected static RentManager rentmanager; protected static RentManager rentmanager;
protected static ChatManager chatmanager; protected static ChatManager chatmanager;
protected static Server server; protected static Server server;
protected static HelpEntry helppages; protected static HelpEntry helppages;
protected static Language language; protected static Language language;
protected boolean firstenable = true; protected static EconomyInterface economy;
protected static EconomyInterface economy; public final static int saveVersion = 1;
public final static int saveVersion = 1; protected static File dataFolder;
protected static File dataFolder; protected static int leaseBukkitId = -1;
protected static int leaseBukkitId = -1; protected static int rentBukkitId = -1;
protected static int rentBukkitId = -1; protected static int healBukkitId = -1;
protected static int healBukkitId = -1; protected static int autosaveBukkitId = -1;
protected static int autosaveBukkitId = -1; protected static boolean initsuccess = false;
protected static boolean initsuccess = false; protected static List<String> resadminToggle;
protected Map<String, String> deleteConfirm; private final static String[] validLanguages = { "English", "Chinese" };
protected static List<String> resadminToggle;
private final static String[] validLanguages = { "English", "Chinese" }; public static ResidenceBlockListener getBlockListener() {
private Runnable doHeals = new Runnable() { return blistener;
}
public static ChatManager getChatManager() {
return chatmanager;
}
public static ConfigManager getConfigManager() {
return cmanager;
}
public static File getDataLocation() {
return dataFolder;
}
public static EconomyInterface getEconomyManager() {
return economy;
}
public static ResidenceEntityListener getEntityListener() {
return elistener;
}
public static WorldItemManager getItemManager() {
return imanager;
}
public static Language getLanguage() {
if (language == null) {
language = new Language();
}
return language;
}
public static LeaseManager getLeaseManager() {
return leasemanager;
}
public static PermissionManager getPermissionManager() {
return gmanager;
}
public static FlagPermissions getPermsByLoc(Location loc) {
ClaimedResidence res = rmanager.getByLoc(loc);
if (res != null)
return res.getPermissions();
else
return wmanager.getPerms(loc.getWorld().getName());
}
public static FlagPermissions getPermsByLocForPlayer(Location loc, Player player) {
ClaimedResidence res = rmanager.getByLoc(loc);
if (res != null)
return res.getPermissions();
else {
if (player != null)
return wmanager.getPerms(player);
else
return wmanager.getPerms(loc.getWorld().getName());
}
}
public static ResidencePlayerListener getPlayerListener() {
return plistener;
}
public static RentManager getRentManager() {
return rentmanager;
}
public static ResidenceManager getResidenceManager() {
return rmanager;
}
public static SelectionManager getSelectionManager() {
return smanager;
}
public static Server getServ() {
return server;
}
public static TransactionManager getTransactionManager() {
return tmanager;
}
public static WorldFlagManager getWorldFlags() {
return wmanager;
}
public static boolean isResAdminOn(Player player) {
if (resadminToggle.contains(player.getName()))
return true;
return false;
}
public static boolean isResAdminOn(String player) {
if (resadminToggle.contains(player.toLowerCase()))
return true;
return false;
}
public static void turnResAdminOn(Player player) {
resadminToggle.add(player.getName());
}
public static boolean validName(String name) {
if (name.contains(":") || name.contains("."))
return false;
if (cmanager.getResidenceNameRegex() == null)
return true;
else {
String namecheck = name.replaceAll(cmanager.getResidenceNameRegex(), "");
if (!name.equals(namecheck))
return false;
return true;
}
}
protected boolean firstenable = true;
protected Map<String, String> deleteConfirm;
private Runnable doHeals = new Runnable() {
@Override
public void run() { public void run() {
plistener.doHeals(); plistener.doHeals();
} }
}; };
private Runnable rentExpire = new Runnable() {
private Runnable rentExpire = new Runnable() {
@Override
public void run() { public void run() {
rentmanager.checkCurrentRents(); rentmanager.checkCurrentRents();
if (cmanager.showIntervalMessages()) { if (cmanager.showIntervalMessages()) {
System.out.println("[Residence] - Rent Expirations checked!"); System.out
.println("[Residence] - Rent Expirations checked!");
} }
} }
}; };
private Runnable leaseExpire = new Runnable() {
private Runnable leaseExpire = new Runnable() {
@Override
public void run() { public void run() {
leasemanager.doExpirations(); leasemanager.doExpirations();
if (cmanager.showIntervalMessages()) { if (cmanager.showIntervalMessages()) {
System.out.println("[Residence] - Lease Expirations checked!"); System.out
.println("[Residence] - Lease Expirations checked!");
} }
} }
}; };
private Runnable autoSave = new Runnable() {
private Runnable autoSave = new Runnable() {
@Override
public void run() { public void run() {
try { try {
if (initsuccess) { if (initsuccess) {
saveYml(); saveYml();
} }
} catch (Exception ex) { } catch (Exception ex) {
Logger.getLogger("Minecraft").log(Level.SEVERE, Logger.getLogger("Minecraft").log(
Level.SEVERE,
"[Residence] 插件数据 保存 错误", ex); "[Residence] 插件数据 保存 错误", ex);
} }
} }
@@ -136,11 +268,33 @@ public class Residence extends JavaPlugin {
public Residence() { public Residence() {
} }
public void reloadPlugin() { private boolean checkNewLanguageVersion(String lang) throws IOException, FileNotFoundException,
this.onDisable(); InvalidConfigurationException {
this.reloadConfig(); File outFile = new File(new File(this.getDataFolder(), "Language"), lang + ".yml");
this.onEnable(); File checkFile = new File(new File(this.getDataFolder(), "Language"), "temp-" + lang
+ ".yml");
if (outFile.isFile()) {
FileConfig testconfig = new FileConfig();
testconfig.load(outFile);
int oldversion = testconfig.getInt("FieldsVersion", 0);
if (!this.writeDefaultFileFromJar(checkFile, "languagefiles/" + lang + ".yml", false))
return false;
FileConfig testconfig2 = new FileConfig();
testconfig2.load(checkFile);
int newversion = testconfig2.getInt("FieldsVersion", oldversion);
if (checkFile.isFile()) {
checkFile.delete();
}
if (newversion > oldversion)
return true;
return false;
}
return true;
}
public void consoleMessage(String message) {
ConsoleCommandSender console = Bukkit.getConsoleSender();
console.sendMessage("[Residence] " + message);
} }
@Override @Override
@@ -151,14 +305,89 @@ public class Residence extends JavaPlugin {
return Config.getInstance(); return Config.getInstance();
} }
@Override private void loadEssentialsEconomy() {
public void saveConfig() { Plugin p = getServer().getPluginManager().getPlugin("Essentials");
Config.save(); if (p != null) {
economy = new EssentialsEcoAdapter((Essentials) p);
Logger.getLogger("Minecraft").log(Level.INFO, "[Residence] 成功关联Essentials Economy!");
} else {
Logger.getLogger("Minecraft").log(Level.INFO, "[Residence] Essentials Economy 未找到!");
}
} }
@Override private void loadVaultEconomy() {
public void reloadConfig() { Plugin p = getServer().getPluginManager().getPlugin("Vault");
Config.load(this); if (p != null) {
ResidenceVaultAdapter vault = new ResidenceVaultAdapter(getServer());
if (vault.economyOK()) {
Logger.getLogger("Minecraft").log(Level.INFO,
"[Residence] 发现 Vault 使用经济系统: " + vault.getEconomyName());
economy = vault;
} else {
Logger.getLogger("Minecraft").log(Level.INFO,
"[Residence] 发现 Vault, 但是 Vault 未找到经济系统...");
}
} else {
Logger.getLogger("Minecraft").log(Level.INFO, "[Residence] Vault 未找到!");
}
}
@SuppressWarnings("unchecked")
protected boolean loadYml() throws Exception {
File saveFolder = new File(dataFolder, "Save");
try {
File worldFolder = new File(saveFolder, "Worlds");
if (!saveFolder.isDirectory()) {
this.getLogger().warning("保存目录不存在...");
this.getLogger().warning("请重新启动服务器");
return true;
}
YMLSaveHelper yml;
File loadFile;
HashMap<String, Object> worlds = new HashMap<String, Object>();
for (World world : server.getWorlds()) {
loadFile = new File(worldFolder, "res_" + world.getName() + ".yml");
if (loadFile.isFile()) {
yml = new YMLSaveHelper(loadFile);
yml.load();
worlds.put(world.getName(), yml.getRoot().get("Residences"));
}
}
rmanager = ResidenceManager.load(worlds);
loadFile = new File(saveFolder, "forsale.yml");
if (loadFile.isFile()) {
yml = new YMLSaveHelper(loadFile);
yml.load();
tmanager = TransactionManager.load((Map<?, ?>) yml.getRoot().get("Economy"),
gmanager, rmanager);
}
loadFile = new File(saveFolder, "leases.yml");
if (loadFile.isFile()) {
yml = new YMLSaveHelper(loadFile);
yml.load();
leasemanager = LeaseManager.load((Map<String, Long>) yml.getRoot().get("Leases"),
rmanager);
}
loadFile = new File(saveFolder, "permlists.yml");
if (loadFile.isFile()) {
yml = new YMLSaveHelper(loadFile);
yml.load();
pmanager = PermissionListManager.load((Map<String, Object>) yml.getRoot().get(
"PermissionLists"));
}
loadFile = new File(saveFolder, "rent.yml");
if (loadFile.isFile()) {
yml = new YMLSaveHelper(loadFile);
yml.load();
rentmanager = RentManager.load((Map<String, Object>) yml.getRoot()
.get("RentSystem"));
}
// System.out.print("[Residence] Loaded...");
return true;
} catch (Exception ex) {
Logger.getLogger(Residence.class.getName()).log(Level.SEVERE, null, ex);
throw ex;
}
} }
@Override @Override
@@ -176,11 +405,9 @@ public class Residence extends JavaPlugin {
saveYml(); saveYml();
ZipLibrary.backup(); ZipLibrary.backup();
} catch (Exception ex) { } catch (Exception ex) {
Logger.getLogger("Minecraft").log(Level.SEVERE, Logger.getLogger("Minecraft").log(Level.SEVERE, "[Residence] 插件数据保存失败", ex);
"[Residence] 插件数据保存失败", ex);
} }
Logger.getLogger("Minecraft").log(Level.INFO, Logger.getLogger("Minecraft").log(Level.INFO, "[Residence] Disabled!");
"[Residence] Disabled!");
} }
} }
@@ -211,8 +438,7 @@ public class Residence extends JavaPlugin {
Plugin plugin = server.getPluginManager().getPlugin(multiworld); Plugin plugin = server.getPluginManager().getPlugin(multiworld);
if (plugin != null) { if (plugin != null) {
if (!plugin.isEnabled()) { if (!plugin.isEnabled()) {
System.out.println("[Residence] - 加载多世界插件: " System.out.println("[Residence] - 加载多世界插件: " + multiworld);
+ multiworld);
server.getPluginManager().enablePlugin(plugin); server.getPluginManager().enablePlugin(plugin);
} }
} }
@@ -228,33 +454,28 @@ public class Residence extends JavaPlugin {
this.writeDefaultLanguageFile(lang); this.writeDefaultLanguageFile(lang);
} }
} catch (Exception ex) { } catch (Exception ex) {
System.out System.out.println("[Residence] 语言文件升级失败: " + lang + ".yml");
.println("[Residence] 语言文件升级失败: " + lang + ".yml");
helppages = new HelpEntry(""); helppages = new HelpEntry("");
language = new Language(); language = new Language();
} }
} }
try { try {
File langFile = new File(new File(dataFolder, "Language"), File langFile = new File(new File(dataFolder, "Language"), cmanager.getLanguage()
cmanager.getLanguage() + ".yml"); + ".yml");
if (langFile.isFile()) { if (langFile.isFile()) {
FileConfig langconfig = new FileConfig(); FileConfig langconfig = new FileConfig();
langconfig.load(langFile); langconfig.load(langFile);
helppages = HelpEntry.parseHelp(langconfig, "CommandHelp"); helppages = HelpEntry.parseHelp(langconfig, "CommandHelp");
HelpEntry.setLinesPerPage(langconfig.getInt( HelpEntry.setLinesPerPage(langconfig.getInt("HelpLinesPerPage", 7));
"HelpLinesPerPage", 7)); InformationPager.setLinesPerPage(langconfig.getInt("HelpLinesPerPage", 7));
InformationPager.setLinesPerPage(langconfig.getInt(
"HelpLinesPerPage", 7));
language = Language.parseText(langconfig, "Language"); language = Language.parseText(langconfig, "Language");
} else { } else {
System.out.println("[Residence] 语言文件不存在..."); System.out.println("[Residence] 语言文件不存在...");
} }
} catch (Exception ex) { } catch (Exception ex) {
System.out.println("[Residence] 语言文件载入失败: " System.out.println("[Residence] 语言文件载入失败: " + cmanager.getLanguage() + ".yml, 错误: "
+ cmanager.getLanguage() + ".yml, 错误: "
+ ex.getMessage()); + ex.getMessage());
Logger.getLogger(Residence.class.getName()).log(Level.SEVERE, Logger.getLogger(Residence.class.getName()).log(Level.SEVERE, null, ex);
null, ex);
helppages = new HelpEntry(""); helppages = new HelpEntry("");
language = new Language(); language = new Language();
} }
@@ -266,8 +487,8 @@ public class Residence extends JavaPlugin {
.getPermissionsPlugin(); .getPermissionsPlugin();
if (vault.economyOK()) { if (vault.economyOK()) {
economy = vault; economy = vault;
System.out.println("[Residence] 发现 Vault 使用经济系统: " System.out
+ vault.getEconomyName()); .println("[Residence] 发现 Vault 使用经济系统: " + vault.getEconomyName());
} }
} }
if (economy == null) { if (economy == null) {
@@ -299,19 +520,16 @@ public class Residence extends JavaPlugin {
pmanager = new PermissionListManager(); pmanager = new PermissionListManager();
} }
if (firstenable) { if (firstenable) {
if (!this.isEnabled()) { if (!this.isEnabled())
return; return;
}
FlagPermissions.initValidFlags(); FlagPermissions.initValidFlags();
Plugin p = server.getPluginManager().getPlugin("WorldEdit"); Plugin p = server.getPluginManager().getPlugin("WorldEdit");
if (p != null) { if (p != null) {
smanager = new WorldEditSelectionManager(server); smanager = new WorldEditSelectionManager(server);
Logger.getLogger("Minecraft").log(Level.INFO, Logger.getLogger("Minecraft").log(Level.INFO, "[Residence] 发现 WorldEdit");
"[Residence] 发现 WorldEdit");
} else { } else {
smanager = new SelectionManager(server); smanager = new SelectionManager(server);
Logger.getLogger("Minecraft").log(Level.INFO, Logger.getLogger("Minecraft").log(Level.INFO, "[Residence] WorldEdit 未找到!");
"[Residence] WorldEdit 未找到!");
} }
blistener = new ResidenceBlockListener(); blistener = new ResidenceBlockListener();
@@ -331,19 +549,17 @@ public class Residence extends JavaPlugin {
autosaveInt = 1; autosaveInt = 1;
} }
autosaveInt = autosaveInt * 60 * 20; autosaveInt = autosaveInt * 60 * 20;
autosaveBukkitId = server.getScheduler().scheduleSyncRepeatingTask( autosaveBukkitId = server.getScheduler().scheduleSyncRepeatingTask(this, autoSave,
this, autoSave, autosaveInt, autosaveInt); autosaveInt, autosaveInt);
healBukkitId = server.getScheduler().scheduleSyncRepeatingTask( healBukkitId = server.getScheduler().scheduleSyncRepeatingTask(this, doHeals, 20, 20);
this, doHeals, 20, 20);
if (cmanager.useLeases()) { if (cmanager.useLeases()) {
int leaseInterval = cmanager.getLeaseCheckInterval(); int leaseInterval = cmanager.getLeaseCheckInterval();
if (leaseInterval < 1) { if (leaseInterval < 1) {
leaseInterval = 1; leaseInterval = 1;
} }
leaseInterval = leaseInterval * 60 * 20; leaseInterval = leaseInterval * 60 * 20;
leaseBukkitId = server.getScheduler() leaseBukkitId = server.getScheduler().scheduleSyncRepeatingTask(this, leaseExpire,
.scheduleSyncRepeatingTask(this, leaseExpire, leaseInterval, leaseInterval);
leaseInterval, leaseInterval);
} }
if (cmanager.enabledRentSystem()) { if (cmanager.enabledRentSystem()) {
int rentint = cmanager.getRentCheckInterval(); int rentint = cmanager.getRentCheckInterval();
@@ -351,197 +567,40 @@ public class Residence extends JavaPlugin {
rentint = 1; rentint = 1;
} }
rentint = rentint * 60 * 20; rentint = rentint * 60 * 20;
rentBukkitId = server.getScheduler().scheduleSyncRepeatingTask( rentBukkitId = server.getScheduler().scheduleSyncRepeatingTask(this, rentExpire,
this, rentExpire, rentint, rentint); rentint, rentint);
} }
for (Player player : Bukkit.getServer().getOnlinePlayers()) { for (Player player : Bukkit.getServer().getOnlinePlayers()) {
if (Residence.getPermissionManager().isResidenceAdmin(player)) { if (Residence.getPermissionManager().isResidenceAdmin(player)) {
turnResAdminOn(player); turnResAdminOn(player);
} }
} }
try { Logger.getLogger("Minecraft").log(Level.INFO,
Metrics metrics = new Metrics(this); "[Residence] 载入完成! 版本: " + this.getDescription().getVersion() + " 重制 by 喵♂呜");
metrics.start();
} catch (IOException e) {
// Failed to submit the stats :-(
}
Logger.getLogger("Minecraft")
.log(Level.INFO,
"[Residence] 载入完成! 版本: "
+ this.getDescription().getVersion()
+ " 重制 by 喵♂呜");
initsuccess = true; initsuccess = true;
} catch (Exception ex) { } catch (Exception ex) {
initsuccess = false; initsuccess = false;
getServer().getPluginManager().disablePlugin(this); getServer().getPluginManager().disablePlugin(this);
System.out.println("[Residence] - 初始化失败! 卸载插件! 错误:"); System.out.println("[Residence] - 初始化失败! 卸载插件! 错误:");
Logger.getLogger(Residence.class.getName()).log(Level.SEVERE, null, Logger.getLogger(Residence.class.getName()).log(Level.SEVERE, null, ex);
ex);
} }
} }
public void consoleMessage(String message) { @Override
ConsoleCommandSender console = Bukkit.getConsoleSender(); public void reloadConfig() {
console.sendMessage("[Residence] " + message); Config.load(this);
} }
public static boolean validName(String name) { public void reloadPlugin() {
if (name.contains(":") || name.contains(".")) { this.onDisable();
return false; this.reloadConfig();
} this.onEnable();
if (cmanager.getResidenceNameRegex() == null) {
return true;
} else {
String namecheck = name.replaceAll(
cmanager.getResidenceNameRegex(), "");
if (!name.equals(namecheck)) {
return false;
}
return true;
}
} }
public static File getDataLocation() { @Override
return dataFolder; public void saveConfig() {
} Config.save();
public static ResidenceManager getResidenceManager() {
return rmanager;
}
public static SelectionManager getSelectionManager() {
return smanager;
}
public static PermissionManager getPermissionManager() {
return gmanager;
}
public static EconomyInterface getEconomyManager() {
return economy;
}
public static Server getServ() {
return server;
}
public static LeaseManager getLeaseManager() {
return leasemanager;
}
public static ConfigManager getConfigManager() {
return cmanager;
}
public static TransactionManager getTransactionManager() {
return tmanager;
}
public static WorldItemManager getItemManager() {
return imanager;
}
public static WorldFlagManager getWorldFlags() {
return wmanager;
}
public static RentManager getRentManager() {
return rentmanager;
}
public static ResidencePlayerListener getPlayerListener() {
return plistener;
}
public static ResidenceBlockListener getBlockListener() {
return blistener;
}
public static ResidenceEntityListener getEntityListener() {
return elistener;
}
public static ChatManager getChatManager() {
return chatmanager;
}
public static Language getLanguage() {
if (language == null) {
language = new Language();
}
return language;
}
public static FlagPermissions getPermsByLoc(Location loc) {
ClaimedResidence res = rmanager.getByLoc(loc);
if (res != null) {
return res.getPermissions();
} else {
return wmanager.getPerms(loc.getWorld().getName());
}
}
public static FlagPermissions getPermsByLocForPlayer(Location loc,
Player player) {
ClaimedResidence res = rmanager.getByLoc(loc);
if (res != null) {
return res.getPermissions();
} else {
if (player != null)
return wmanager.getPerms(player);
else
return wmanager.getPerms(loc.getWorld().getName());
}
}
private void loadEssentialsEconomy() {
Plugin p = getServer().getPluginManager().getPlugin("Essentials");
if (p != null) {
economy = new EssentialsEcoAdapter((Essentials) p);
Logger.getLogger("Minecraft").log(Level.INFO,
"[Residence] 成功关联Essentials Economy!");
} else {
Logger.getLogger("Minecraft").log(Level.INFO,
"[Residence] Essentials Economy 未找到!");
}
}
private void loadVaultEconomy() {
Plugin p = getServer().getPluginManager().getPlugin("Vault");
if (p != null) {
ResidenceVaultAdapter vault = new ResidenceVaultAdapter(getServer());
if (vault.economyOK()) {
Logger.getLogger("Minecraft").log(
Level.INFO,
"[Residence] 发现 Vault 使用经济系统: "
+ vault.getEconomyName());
economy = vault;
} else {
Logger.getLogger("Minecraft").log(Level.INFO,
"[Residence] 发现 Vault, 但是 Vault 未找到经济系统...");
}
} else {
Logger.getLogger("Minecraft").log(Level.INFO,
"[Residence] Vault 未找到!");
}
}
public static boolean isResAdminOn(Player player) {
if (resadminToggle.contains(player.getName())) {
return true;
}
return false;
}
public static void turnResAdminOn(Player player) {
resadminToggle.add(player.getName());
}
public static boolean isResAdminOn(String player) {
if (resadminToggle.contains(player.toLowerCase())) {
return true;
}
return false;
} }
private void saveYml() throws IOException { private void saveYml() throws IOException {
@@ -551,22 +610,20 @@ public class Residence extends JavaPlugin {
YMLSaveHelper yml; YMLSaveHelper yml;
Map<String, Object> save = rmanager.save(); Map<String, Object> save = rmanager.save();
for (Entry<String, Object> entry : save.entrySet()) { for (Entry<String, Object> entry : save.entrySet()) {
File ymlSaveLoc = new File(worldFolder, "res_" + entry.getKey() File ymlSaveLoc = new File(worldFolder, "res_" + entry.getKey() + ".yml");
+ ".yml"); File tmpFile = new File(worldFolder, "tmp_res_" + entry.getKey() + ".yml");
File tmpFile = new File(worldFolder, "tmp_res_" + entry.getKey()
+ ".yml");
yml = new YMLSaveHelper(tmpFile); yml = new YMLSaveHelper(tmpFile);
yml.getRoot().put("Version", saveVersion); yml.getRoot().put("Version", saveVersion);
World world = server.getWorld(entry.getKey()); World world = server.getWorld(entry.getKey());
if (world != null) if (world != null) {
yml.getRoot().put("Seed", world.getSeed()); yml.getRoot().put("Seed", world.getSeed());
yml.getRoot().put("Residences", (Map<?, ?>) entry.getValue()); }
yml.getRoot().put("Residences", entry.getValue());
yml.save(); yml.save();
if (ymlSaveLoc.isFile()) { if (ymlSaveLoc.isFile()) {
File backupFolder = new File(worldFolder, "Backup"); File backupFolder = new File(worldFolder, "Backup");
backupFolder.mkdirs(); backupFolder.mkdirs();
File backupFile = new File(backupFolder, "res_" File backupFile = new File(backupFolder, "res_" + entry.getKey() + ".yml");
+ entry.getKey() + ".yml");
if (backupFile.isFile()) { if (backupFile.isFile()) {
backupFile.delete(); backupFile.delete();
} }
@@ -653,119 +710,19 @@ public class Residence extends JavaPlugin {
} }
} }
@SuppressWarnings("unchecked")
protected boolean loadYml() throws Exception {
File saveFolder = new File(dataFolder, "Save");
try {
File worldFolder = new File(saveFolder, "Worlds");
if (!saveFolder.isDirectory()) {
this.getLogger().warning("保存目录不存在...");
this.getLogger().warning("请重新启动服务器");
return true;
}
YMLSaveHelper yml;
File loadFile;
HashMap<String, Object> worlds = new HashMap<String, Object>();
for (World world : server.getWorlds()) {
loadFile = new File(worldFolder, "res_" + world.getName()
+ ".yml");
if (loadFile.isFile()) {
yml = new YMLSaveHelper(loadFile);
yml.load();
worlds.put(world.getName(), yml.getRoot().get("Residences"));
}
}
rmanager = ResidenceManager.load(worlds);
loadFile = new File(saveFolder, "forsale.yml");
if (loadFile.isFile()) {
yml = new YMLSaveHelper(loadFile);
yml.load();
tmanager = TransactionManager.load((Map<?, ?>) yml.getRoot()
.get("Economy"), gmanager, rmanager);
}
loadFile = new File(saveFolder, "leases.yml");
if (loadFile.isFile()) {
yml = new YMLSaveHelper(loadFile);
yml.load();
leasemanager = LeaseManager.load((Map<String, Long>) yml
.getRoot().get("Leases"), rmanager);
}
loadFile = new File(saveFolder, "permlists.yml");
if (loadFile.isFile()) {
yml = new YMLSaveHelper(loadFile);
yml.load();
pmanager = PermissionListManager.load((Map<String, Object>) yml
.getRoot().get("PermissionLists"));
}
loadFile = new File(saveFolder, "rent.yml");
if (loadFile.isFile()) {
yml = new YMLSaveHelper(loadFile);
yml.load();
rentmanager = RentManager.load((Map<String, Object>) yml
.getRoot().get("RentSystem"));
}
// System.out.print("[Residence] Loaded...");
return true;
} catch (Exception ex) {
Logger.getLogger(Residence.class.getName()).log(Level.SEVERE, null,
ex);
throw ex;
}
}
private void writeDefaultConfigFromJar() { private void writeDefaultConfigFromJar() {
if (this.writeDefaultFileFromJar(new File(this.getDataFolder(), if (this.writeDefaultFileFromJar(new File(this.getDataFolder(), "config.yml"),
"config.yml"), "config.yml", true)) { "config.yml", true)) {
System.out.println("[Residence] 保存默认配置文件..."); System.out.println("[Residence] 保存默认配置文件...");
} }
} }
private void writeDefaultLanguageFile(String lang) {
File outFile = new File(new File(this.getDataFolder(), "Language"),
lang + ".yml");
outFile.getParentFile().mkdirs();
if (this.writeDefaultFileFromJar(outFile, "languagefiles/" + lang
+ ".yml", true)) {
System.out.println("[Residence] 保存默认 " + lang + " 语言文件...");
}
}
private boolean checkNewLanguageVersion(String lang) throws IOException,
FileNotFoundException, InvalidConfigurationException {
File outFile = new File(new File(this.getDataFolder(), "Language"),
lang + ".yml");
File checkFile = new File(new File(this.getDataFolder(), "Language"),
"temp-" + lang + ".yml");
if (outFile.isFile()) {
FileConfig testconfig = new FileConfig();
testconfig.load(outFile);
int oldversion = testconfig.getInt("FieldsVersion", 0);
if (!this.writeDefaultFileFromJar(checkFile, "languagefiles/"
+ lang + ".yml", false)) {
return false;
}
FileConfig testconfig2 = new FileConfig();
testconfig2.load(checkFile);
int newversion = testconfig2.getInt("FieldsVersion", oldversion);
if (checkFile.isFile()) {
checkFile.delete();
}
if (newversion > oldversion) {
return true;
}
return false;
}
return true;
}
@SuppressWarnings("resource") @SuppressWarnings("resource")
private boolean writeDefaultFileFromJar(File writeName, String jarPath, private boolean writeDefaultFileFromJar(File writeName, String jarPath, boolean backupOld) {
boolean backupOld) {
try { try {
File fileBackup = new File(this.getDataFolder(), "backup-" File fileBackup = new File(this.getDataFolder(), "backup-" + writeName);
+ writeName); File jarloc = new File(getClass().getProtectionDomain().getCodeSource().getLocation()
File jarloc = new File(getClass().getProtectionDomain() .toURI()).getCanonicalFile();
.getCodeSource().getLocation().toURI()).getCanonicalFile();
if (jarloc.isFile()) { if (jarloc.isFile()) {
JarFile jar = new JarFile(jarloc); JarFile jar = new JarFile(jarloc);
JarEntry entry = jar.getJarEntry(jarPath); JarEntry entry = jar.getJarEntry(jarPath);
@@ -801,4 +758,12 @@ public class Residence extends JavaPlugin {
return false; return false;
} }
} }
private void writeDefaultLanguageFile(String lang) {
File outFile = new File(new File(this.getDataFolder(), "Language"), lang + ".yml");
outFile.getParentFile().mkdirs();
if (this.writeDefaultFileFromJar(outFile, "languagefiles/" + lang + ".yml", true)) {
System.out.println("[Residence] 保存默认 " + lang + " 语言文件...");
}
}
} }

File diff suppressed because it is too large Load Diff

View File

@@ -30,15 +30,9 @@ import com.google.common.io.Files;
*/ */
public class FileConfig extends YamlConfiguration { public class FileConfig extends YamlConfiguration {
protected final DumperOptions yamlOptions = new DumperOptions();
protected final Representer yamlRepresenter = new YamlRepresenter();
protected final Yaml yaml = new Yaml(new YamlConstructor(),
yamlRepresenter, yamlOptions);
public static FileConfig init(File file) { public static FileConfig init(File file) {
return FileConfig.loadConfiguration(file); return FileConfig.loadConfiguration(file);
} }
public static FileConfig loadConfiguration(File file) { public static FileConfig loadConfiguration(File file) {
Validate.notNull(file, "File cannot be null"); Validate.notNull(file, "File cannot be null");
FileConfig config = new FileConfig(); FileConfig config = new FileConfig();
@@ -52,6 +46,34 @@ public class FileConfig extends YamlConfiguration {
} }
return config; return config;
} }
protected final DumperOptions yamlOptions = new DumperOptions();
protected final Representer yamlRepresenter = new YamlRepresenter();
protected final Yaml yaml = new Yaml(new YamlConstructor(),
yamlRepresenter, yamlOptions);
@Override
public void load(File file) throws FileNotFoundException, IOException,
InvalidConfigurationException {
Validate.notNull(file, "File cannot be null");
final FileInputStream stream = new FileInputStream(file);
load(new InputStreamReader(stream, Charsets.UTF_8));
}
@Override
public void save(File file) throws IOException {
Validate.notNull(file, "File cannot be null");
Files.createParentDirs(file);
String data = saveToString();
Writer writer = new OutputStreamWriter(new FileOutputStream(file),
Charsets.UTF_8);
try {
writer.write(data);
} finally {
writer.close();
}
}
@Override @Override
public String saveToString() { public String saveToString() {
@@ -65,24 +87,4 @@ public class FileConfig extends YamlConfiguration {
} }
return header + dump; return header + dump;
} }
public void load(File file) throws FileNotFoundException, IOException,
InvalidConfigurationException {
Validate.notNull(file, "File cannot be null");
final FileInputStream stream = new FileInputStream(file);
load(new InputStreamReader(stream, Charsets.UTF_8));
}
public void save(File file) throws IOException {
Validate.notNull(file, "File cannot be null");
Files.createParentDirs(file);
String data = saveToString();
Writer writer = new OutputStreamWriter(new FileOutputStream(file),
Charsets.UTF_8);
try {
writer.write(data);
} finally {
writer.close();
}
}
} }

View File

@@ -5,28 +5,31 @@
package com.bekvon.bukkit.residence.event; package com.bekvon.bukkit.residence.event;
import com.bekvon.bukkit.residence.protection.ClaimedResidence;
import org.bukkit.event.Cancellable; import org.bukkit.event.Cancellable;
import com.bekvon.bukkit.residence.protection.ClaimedResidence;
/** /**
* *
* @author Administrator * @author Administrator
*/ */
public class CancellableResidenceEvent extends ResidenceEvent implements Cancellable { public class CancellableResidenceEvent extends ResidenceEvent implements Cancellable {
protected boolean cancelled; protected boolean cancelled;
public CancellableResidenceEvent(String eventName, ClaimedResidence resref) public CancellableResidenceEvent(String eventName, ClaimedResidence resref)
{ {
super(eventName,resref); super(eventName,resref);
} }
public boolean isCancelled() {
return cancelled;
}
public void setCancelled(boolean bln) { @Override
cancelled = bln; public boolean isCancelled() {
} return cancelled;
}
@Override
public void setCancelled(boolean bln) {
cancelled = bln;
}
} }

View File

@@ -5,30 +5,33 @@
package com.bekvon.bukkit.residence.event; package com.bekvon.bukkit.residence.event;
import com.bekvon.bukkit.residence.protection.ClaimedResidence;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import org.bukkit.event.Cancellable; import org.bukkit.event.Cancellable;
import com.bekvon.bukkit.residence.protection.ClaimedResidence;
/** /**
* *
* @author Administrator * @author Administrator
*/ */
public class CancellableResidencePlayerEvent extends ResidencePlayerEvent implements Cancellable { public class CancellableResidencePlayerEvent extends ResidencePlayerEvent implements Cancellable {
protected boolean cancelled; protected boolean cancelled;
public CancellableResidencePlayerEvent(String eventName, ClaimedResidence resref, Player player) public CancellableResidencePlayerEvent(String eventName, ClaimedResidence resref, Player player)
{ {
super(eventName, resref, player); super(eventName, resref, player);
cancelled = false; cancelled = false;
} }
public boolean isCancelled() { @Override
return cancelled; public boolean isCancelled() {
} return cancelled;
}
public void setCancelled(boolean bln) { @Override
cancelled = bln; public void setCancelled(boolean bln) {
} cancelled = bln;
}
} }

View File

@@ -5,29 +5,32 @@
package com.bekvon.bukkit.residence.event; package com.bekvon.bukkit.residence.event;
import com.bekvon.bukkit.residence.protection.ClaimedResidence;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import org.bukkit.event.Cancellable; import org.bukkit.event.Cancellable;
import com.bekvon.bukkit.residence.protection.ClaimedResidence;
/** /**
* *
* @author Administrator * @author Administrator
*/ */
public class CancellableResidencePlayerFlagEvent extends ResidencePlayerFlagEvent implements Cancellable { public class CancellableResidencePlayerFlagEvent extends ResidencePlayerFlagEvent implements Cancellable {
protected boolean cancelled; protected boolean cancelled;
public CancellableResidencePlayerFlagEvent(String eventName, ClaimedResidence resref, Player player, String flag, FlagType type, String target) public CancellableResidencePlayerFlagEvent(String eventName, ClaimedResidence resref, Player player, String flag, FlagType type, String target)
{ {
super(eventName, resref, player, flag, type, target); super(eventName, resref, player, flag, type, target);
} }
public boolean isCancelled() { @Override
return cancelled; public boolean isCancelled() {
} return cancelled;
}
public void setCancelled(boolean bln) { @Override
cancelled = bln; public void setCancelled(boolean bln) {
} cancelled = bln;
}
} }

View File

@@ -16,51 +16,53 @@ import org.bukkit.event.HandlerList;
*/ */
public class ResidenceCommandEvent extends Event implements Cancellable { public class ResidenceCommandEvent extends Event implements Cancellable {
private static final HandlerList handlers = new HandlerList(); private static final HandlerList handlers = new HandlerList();
@Override public static HandlerList getHandlerList() {
public HandlerList getHandlers() { return handlers;
return handlers; }
}
public static HandlerList getHandlerList() { protected boolean cancelled;
return handlers;
}
protected boolean cancelled; protected String cmd;
protected String cmd; protected String arglist[];
protected String arglist[]; CommandSender commandsender;
CommandSender commandsender; public ResidenceCommandEvent(String command, String args[], CommandSender sender)
{
super();
cancelled = false;
arglist = args;
cmd = command;
commandsender = sender;
}
public ResidenceCommandEvent(String command, String args[], CommandSender sender) public String[] getArgs()
{ {
super(); return arglist;
cancelled = false; }
arglist = args;
cmd = command;
commandsender = sender;
}
public boolean isCancelled() { public String getCommand()
return cancelled; {
} return cmd;
}
public void setCancelled(boolean bln) { @Override
cancelled = bln; public HandlerList getHandlers() {
} return handlers;
}
public String getCommand() public CommandSender getSender()
{ {
return cmd; return commandsender;
} }
public String[] getArgs() @Override
{ public boolean isCancelled() {
return arglist; return cancelled;
} }
public CommandSender getSender() @Override
{ public void setCancelled(boolean bln) {
return commandsender; cancelled = bln;
} }
} }

View File

@@ -5,10 +5,11 @@
package com.bekvon.bukkit.residence.event; package com.bekvon.bukkit.residence.event;
import com.bekvon.bukkit.residence.protection.ClaimedResidence;
import org.bukkit.event.Event; import org.bukkit.event.Event;
import org.bukkit.event.HandlerList; import org.bukkit.event.HandlerList;
import com.bekvon.bukkit.residence.protection.ClaimedResidence;
/** /**
* *
* @author Administrator * @author Administrator
@@ -16,30 +17,31 @@ import org.bukkit.event.HandlerList;
public class ResidenceEvent extends Event { public class ResidenceEvent extends Event {
private static final HandlerList handlers = new HandlerList(); private static final HandlerList handlers = new HandlerList();
private String message;
public HandlerList getHandlers() {
return handlers;
}
public static HandlerList getHandlerList() { public static HandlerList getHandlerList() {
return handlers; return handlers;
} }
ClaimedResidence res; private String message;
public ResidenceEvent(String eventName, ClaimedResidence resref) ClaimedResidence res;
{
message = eventName;
res = resref;
}
public String getMessage() {
return message;
}
public ClaimedResidence getResidence() public ResidenceEvent(String eventName, ClaimedResidence resref)
{ {
return res; message = eventName;
} res = resref;
}
@Override
public HandlerList getHandlers() {
return handlers;
}
public String getMessage() {
return message;
}
public ClaimedResidence getResidence()
{
return res;
}
} }

View File

@@ -5,53 +5,55 @@
package com.bekvon.bukkit.residence.event; package com.bekvon.bukkit.residence.event;
import com.bekvon.bukkit.residence.protection.ClaimedResidence;
import org.bukkit.event.HandlerList; import org.bukkit.event.HandlerList;
import com.bekvon.bukkit.residence.protection.ClaimedResidence;
/** /**
* *
* @author Administrator * @author Administrator
*/ */
public class ResidenceFlagCheckEvent extends ResidenceFlagEvent { public class ResidenceFlagCheckEvent extends ResidenceFlagEvent {
private static final HandlerList handlers = new HandlerList(); private static final HandlerList handlers = new HandlerList();
public HandlerList getHandlers() { public static HandlerList getHandlerList() {
return handlers; return handlers;
} }
public static HandlerList getHandlerList() { private boolean override;
return handlers;
}
private boolean override; private boolean overridevalue;
private boolean overridevalue; boolean defaultvalue;
boolean defaultvalue; public ResidenceFlagCheckEvent(ClaimedResidence resref, String flag, FlagType type, String target, boolean defaultValue)
{
super("RESIDENCE_FLAG_CHECK", resref, flag, type, target);
defaultvalue = defaultValue;
override = false;
}
public ResidenceFlagCheckEvent(ClaimedResidence resref, String flag, FlagType type, String target, boolean defaultValue) public boolean getDefaultValue()
{ {
super("RESIDENCE_FLAG_CHECK", resref, flag, type, target); return defaultvalue;
defaultvalue = defaultValue; }
override = false;
}
public boolean isOverriden() @Override
{ public HandlerList getHandlers() {
return override; return handlers;
} }
public void overrideCheck(boolean flagval) public boolean getOverrideValue()
{ {
overridevalue = flagval; return overridevalue;
override=true; }
}
public boolean getOverrideValue() public boolean isOverriden()
{ {
return overridevalue; return override;
} }
public boolean getDefaultValue() public void overrideCheck(boolean flagval)
{ {
return defaultvalue; overridevalue = flagval;
} override=true;
}
} }

View File

@@ -5,9 +5,10 @@
package com.bekvon.bukkit.residence.event; package com.bekvon.bukkit.residence.event;
import org.bukkit.entity.Player;
import com.bekvon.bukkit.residence.Residence; import com.bekvon.bukkit.residence.Residence;
import com.bekvon.bukkit.residence.protection.ClaimedResidence; import com.bekvon.bukkit.residence.protection.ClaimedResidence;
import org.bukkit.entity.Player;
/** /**
* *
@@ -15,30 +16,31 @@ import org.bukkit.entity.Player;
*/ */
public class ResidencePlayerEvent extends ResidenceEvent implements ResidencePlayerEventInterface { public class ResidencePlayerEvent extends ResidenceEvent implements ResidencePlayerEventInterface {
Player p; Player p;
public ResidencePlayerEvent(String eventName, ClaimedResidence resref, Player player) public ResidencePlayerEvent(String eventName, ClaimedResidence resref, Player player)
{ {
super(eventName, resref); super(eventName, resref);
res = resref; res = resref;
p = player; p = player;
} }
public boolean isPlayer() @Override
{ public Player getPlayer()
return p!=null; {
} return p;
}
public boolean isAdmin() @Override
{ public boolean isAdmin()
if(isPlayer()) {
{ if(isPlayer())
return Residence.getPermissionManager().isResidenceAdmin(p); return Residence.getPermissionManager().isResidenceAdmin(p);
} return true;
return true; }
} @Override
public Player getPlayer() public boolean isPlayer()
{ {
return p; return p!=null;
} }
} }

View File

@@ -5,38 +5,40 @@
package com.bekvon.bukkit.residence.event; package com.bekvon.bukkit.residence.event;
import org.bukkit.entity.Player;
import com.bekvon.bukkit.residence.Residence; import com.bekvon.bukkit.residence.Residence;
import com.bekvon.bukkit.residence.protection.ClaimedResidence; import com.bekvon.bukkit.residence.protection.ClaimedResidence;
import org.bukkit.entity.Player;
/** /**
* *
* @author Administrator * @author Administrator
*/ */
public class ResidencePlayerFlagEvent extends ResidenceFlagEvent implements ResidencePlayerEventInterface { public class ResidencePlayerFlagEvent extends ResidenceFlagEvent implements ResidencePlayerEventInterface {
Player p; Player p;
public ResidencePlayerFlagEvent(String eventName,ClaimedResidence resref, Player player, String flag, FlagType type, String target) public ResidencePlayerFlagEvent(String eventName,ClaimedResidence resref, Player player, String flag, FlagType type, String target)
{ {
super(eventName, resref, flag, type, target); super(eventName, resref, flag, type, target);
p = player; p = player;
} }
public boolean isPlayer() @Override
{ public Player getPlayer() {
return p!=null; return p;
} }
public boolean isAdmin() @Override
{ public boolean isAdmin()
if(isPlayer()) {
{ if(isPlayer())
return Residence.getPermissionManager().isResidenceAdmin(p); return Residence.getPermissionManager().isResidenceAdmin(p);
} return true;
return true; }
}
public Player getPlayer() { @Override
return p; public boolean isPlayer()
} {
return p!=null;
}
} }

View File

@@ -1,24 +1,25 @@
package com.bekvon.bukkit.residence.event; package com.bekvon.bukkit.residence.event;
import com.bekvon.bukkit.residence.protection.ClaimedResidence; import com.bekvon.bukkit.residence.protection.ClaimedResidence;
public class ResidenceRenameEvent extends ResidenceEvent { public class ResidenceRenameEvent extends ResidenceEvent {
protected String NewResName; protected String NewResName;
protected String OldResName; protected String OldResName;
protected ClaimedResidence res; protected ClaimedResidence res;
public ResidenceRenameEvent(ClaimedResidence resref, String NewName, String OldName) { public ResidenceRenameEvent(ClaimedResidence resref, String NewName, String OldName) {
super("RESIDENCE_RENAME", resref); super("RESIDENCE_RENAME", resref);
NewResName = NewName; NewResName = NewName;
OldResName = OldName; OldResName = OldName;
res = resref; res = resref;
} }
public String getNewResidenceName() { public String getNewResidenceName() {
return NewResName; return NewResName;
} }
public String getOldResidenceName() { public String getOldResidenceName() {
return OldResName; return OldResName;
} }
public ClaimedResidence getResidence() { @Override
return res; public ClaimedResidence getResidence() {
} return res;
} }
}

View File

@@ -5,9 +5,6 @@
package com.bekvon.bukkit.residence.vaultinterface; package com.bekvon.bukkit.residence.vaultinterface;
import com.bekvon.bukkit.residence.economy.EconomyInterface;
import com.bekvon.bukkit.residence.permissions.PermissionsInterface;
import net.milkbowl.vault.chat.Chat; import net.milkbowl.vault.chat.Chat;
import net.milkbowl.vault.economy.Economy; import net.milkbowl.vault.economy.Economy;
import net.milkbowl.vault.permission.Permission; import net.milkbowl.vault.permission.Permission;
@@ -16,32 +13,18 @@ import org.bukkit.Server;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import org.bukkit.plugin.RegisteredServiceProvider; import org.bukkit.plugin.RegisteredServiceProvider;
import com.bekvon.bukkit.residence.economy.EconomyInterface;
import com.bekvon.bukkit.residence.permissions.PermissionsInterface;
/** /**
* *
* @author Administrator * @author Administrator
*/ */
public class ResidenceVaultAdapter implements EconomyInterface, public class ResidenceVaultAdapter implements EconomyInterface, PermissionsInterface {
PermissionsInterface {
public static Permission permissions = null; public static Permission permissions = null;
public static Economy economy = null; public static Economy economy = null;
public static Chat chat = null; public static Chat chat = null;
public boolean permissionsOK() {
if (permissions != null
&& !permissions.getName().equalsIgnoreCase("SuperPerms")) {
return true;
}
return false;
}
public boolean economyOK() {
return economy != null;
}
public boolean chatOK() {
return chat != null;
}
public ResidenceVaultAdapter(Server s) { public ResidenceVaultAdapter(Server s) {
this.setupPermissions(s); this.setupPermissions(s);
@@ -49,58 +32,10 @@ public class ResidenceVaultAdapter implements EconomyInterface,
this.setupChat(s); this.setupChat(s);
} }
private boolean setupPermissions(Server s) {
RegisteredServiceProvider<Permission> permissionProvider = s
.getServicesManager().getRegistration(
net.milkbowl.vault.permission.Permission.class);
if (permissionProvider != null) {
permissions = permissionProvider.getProvider();
}
return (permissions != null);
}
private boolean setupChat(Server s) {
RegisteredServiceProvider<Chat> chatProvider = s.getServicesManager()
.getRegistration(net.milkbowl.vault.chat.Chat.class);
if (chatProvider != null) {
chat = chatProvider.getProvider();
}
return (chat != null);
}
private boolean setupEconomy(Server s) {
RegisteredServiceProvider<Economy> economyProvider = s
.getServicesManager().getRegistration(
net.milkbowl.vault.economy.Economy.class);
if (economyProvider != null) {
economy = economyProvider.getProvider();
}
return (economy != null);
}
public String getPlayerGroup(Player player) {
String group = permissions.getPrimaryGroup(player).toLowerCase();
if (group == null) {
return group;
} else {
return group.toLowerCase();
}
}
@SuppressWarnings("deprecation")
public String getPlayerGroup(String player, String world) {
String group = permissions.getPrimaryGroup(world, player);
if (group == null) {
return group;
} else {
return group.toLowerCase();
}
}
@SuppressWarnings("deprecation") @SuppressWarnings("deprecation")
@Override @Override
public double getBalance(String playerName) { public boolean add(String playerName, double amount) {
return economy.getBalance(playerName); return economy.depositPlayer(playerName, amount).transactionSuccess();
} }
@SuppressWarnings("deprecation") @SuppressWarnings("deprecation")
@@ -109,10 +44,93 @@ public class ResidenceVaultAdapter implements EconomyInterface,
return economy.has(playerName, amount); return economy.has(playerName, amount);
} }
public boolean chatOK() {
return chat != null;
}
public boolean economyOK() {
return economy != null;
}
@SuppressWarnings("deprecation") @SuppressWarnings("deprecation")
@Override @Override
public boolean add(String playerName, double amount) { public double getBalance(String playerName) {
return economy.depositPlayer(playerName, amount).transactionSuccess(); return economy.getBalance(playerName);
}
public String getChatName() {
if (chat != null)
return chat.getName();
return "";
}
public String getEconomyName() {
if (economy != null)
return economy.getName();
return "";
}
@Override
public String getName() {
return "Vault";
}
public String getPermissionsName() {
if (permissions != null)
return permissions.getName();
return "";
}
@Override
public String getPlayerGroup(Player player) {
String group = permissions.getPrimaryGroup(player).toLowerCase();
if (group == null)
return group;
else
return group.toLowerCase();
}
@Override
@SuppressWarnings("deprecation")
public String getPlayerGroup(String player, String world) {
String group = permissions.getPrimaryGroup(world, player);
if (group == null)
return group;
else
return group.toLowerCase();
}
public boolean permissionsOK() {
if (permissions != null && !permissions.getName().equalsIgnoreCase("SuperPerms"))
return true;
return false;
}
private boolean setupChat(Server s) {
RegisteredServiceProvider<Chat> chatProvider = s.getServicesManager().getRegistration(
net.milkbowl.vault.chat.Chat.class);
if (chatProvider != null) {
chat = chatProvider.getProvider();
}
return (chat != null);
}
private boolean setupEconomy(Server s) {
RegisteredServiceProvider<Economy> economyProvider = s.getServicesManager()
.getRegistration(net.milkbowl.vault.economy.Economy.class);
if (economyProvider != null) {
economy = economyProvider.getProvider();
}
return (economy != null);
}
private boolean setupPermissions(Server s) {
RegisteredServiceProvider<Permission> permissionProvider = s.getServicesManager()
.getRegistration(net.milkbowl.vault.permission.Permission.class);
if (permissionProvider != null) {
permissions = permissionProvider.getProvider();
}
return (permissions != null);
} }
@SuppressWarnings("deprecation") @SuppressWarnings("deprecation")
@@ -125,40 +143,14 @@ public class ResidenceVaultAdapter implements EconomyInterface,
@Override @Override
public boolean transfer(String playerFrom, String playerTo, double amount) { public boolean transfer(String playerFrom, String playerTo, double amount) {
if (economy.withdrawPlayer(playerFrom, amount).transactionSuccess()) { if (economy.withdrawPlayer(playerFrom, amount).transactionSuccess()) {
if (economy.depositPlayer(playerTo, amount).transactionSuccess()) { if (economy.depositPlayer(playerTo, amount).transactionSuccess())
return true; return true;
} else { else {
economy.depositPlayer(playerFrom, amount); economy.depositPlayer(playerFrom, amount);
return false; return false;
} }
} else { } else
return false; return false;
}
}
public String getEconomyName() {
if (economy != null) {
return economy.getName();
}
return "";
}
public String getPermissionsName() {
if (permissions != null) {
return permissions.getName();
}
return "";
}
public String getChatName() {
if (chat != null) {
return chat.getName();
}
return "";
}
public String getName() {
return "Vault";
} }
} }