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

Recovery static method in Residence class...

Signed-off-by: 502647092 <jtb1@163.com>
This commit is contained in:
502647092
2015-09-29 11:10:32 +08:00
parent 7fb4e37e32
commit d69743404f
83 changed files with 1120 additions and 973 deletions

View File

@@ -5,766 +5,143 @@
package com.bekvon.bukkit.residence;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
import java.util.jar.JarEntry;
import java.util.jar.JarFile;
import org.bukkit.Bukkit;
import org.bukkit.Location;
import org.bukkit.World;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.configuration.InvalidConfigurationException;
import org.bukkit.configuration.file.FileConfiguration;
import org.bukkit.entity.Player;
import org.bukkit.plugin.Plugin;
import org.bukkit.plugin.PluginManager;
import org.bukkit.plugin.java.JavaPlugin;
import com.bekvon.bukkit.residence.chat.ChatManager;
import com.bekvon.bukkit.residence.commandmain.CommandRc;
import com.bekvon.bukkit.residence.commandmain.CommandRes;
import com.bekvon.bukkit.residence.commandmain.CommandResLoad;
import com.bekvon.bukkit.residence.commandmain.CommandResReload;
import com.bekvon.bukkit.residence.commandmain.CommandResWorld;
import com.bekvon.bukkit.residence.economy.EconomyInterface;
import com.bekvon.bukkit.residence.economy.EssentialsEcoAdapter;
import com.bekvon.bukkit.residence.economy.TransactionManager;
import com.bekvon.bukkit.residence.economy.rent.RentManager;
import com.bekvon.bukkit.residence.event.ResidenceCommandEvent;
import com.bekvon.bukkit.residence.itemlist.WorldItemManager;
import com.bekvon.bukkit.residence.listeners.ResidenceBlockListener;
import com.bekvon.bukkit.residence.listeners.ResidenceEntityListener;
import com.bekvon.bukkit.residence.listeners.ResidencePlayerListener;
import com.bekvon.bukkit.residence.listeners.ResidencePlayerListener_1_8;
import com.bekvon.bukkit.residence.listeners.bugfix.ResidenceBugFix;
import com.bekvon.bukkit.residence.manager.ConfigManager;
import com.bekvon.bukkit.residence.manager.EntityManager;
import com.bekvon.bukkit.residence.manager.FlagManager;
import com.bekvon.bukkit.residence.permissions.PermissionManager;
import com.bekvon.bukkit.residence.persistance.YMLSaveHelper;
import com.bekvon.bukkit.residence.protection.ClaimedResidence;
import com.bekvon.bukkit.residence.protection.FlagPermissions;
import com.bekvon.bukkit.residence.protection.LeaseManager;
import com.bekvon.bukkit.residence.protection.PermissionListManager;
import com.bekvon.bukkit.residence.protection.ResidenceManager;
import com.bekvon.bukkit.residence.protection.WorldFlagManager;
import com.bekvon.bukkit.residence.runnable.AutoSaveTask;
import com.bekvon.bukkit.residence.runnable.HealTask;
import com.bekvon.bukkit.residence.runnable.LeaseTask;
import com.bekvon.bukkit.residence.runnable.RentTask;
import com.bekvon.bukkit.residence.runnable.TaskManager;
import com.bekvon.bukkit.residence.selection.SelectionManager;
import com.bekvon.bukkit.residence.selection.WorldEditSelectionManager;
import com.bekvon.bukkit.residence.text.Language;
import com.bekvon.bukkit.residence.text.help.HelpEntry;
import com.bekvon.bukkit.residence.text.help.InformationPager;
import com.bekvon.bukkit.residence.utils.DataBackup;
import com.bekvon.bukkit.residence.vaultinterface.ResidenceVaultAdapter;
import com.earth2me.essentials.Essentials;
import cn.citycraft.PluginHelper.commands.HandlerMainCommand;
import cn.citycraft.PluginHelper.config.FileConfig;
import cn.citycraft.PluginHelper.utils.VersionChecker;
/**
*
* @author Gary Smoak - bekvon
*
*/
public class Residence extends JavaPlugin {
static ResidenceMain plugin;
public static float bukkitver;
public final static int saveVersion = 1;
public final static String[] validLanguages = { "English",
"Chinese" };
protected static Residence instance;
protected DataBackup backup;
protected ResidenceBlockListener blistener;
protected ChatManager chatmanager;
protected ConfigManager cmanager;
protected FileConfig config;
protected File dataFolder;
protected Map<String, String> deleteConfirm;
protected EconomyInterface economy;
protected ResidenceEntityListener elistener;
protected EntityManager entitymanager;
protected boolean firstenable = true;
protected FlagManager fmanager;
protected PermissionManager gmanager;
protected HandlerMainCommand hdmcnd;
protected HelpEntry helppages;
protected WorldItemManager imanager;
protected boolean init;
protected Language language;
protected LeaseManager leasemanager;
protected ResidencePlayerListener plistener;
protected ResidencePlayerListener_1_8 plistener1_8;
protected PermissionListManager pmanager;
protected RentManager rentmanager;
protected List<String> resadminToggle;
protected ResidenceManager rmanager;
protected SelectionManager smanager;
protected TaskManager taskmanager;
protected TransactionManager tmanager;
protected boolean useWorldEdit;
protected WorldFlagManager wmanager;
public static Residence getInstance() {
return instance;
public static ChatManager getChatManager() {
return plugin.chatmanager;
}
public DataBackup getBackup() {
return backup;
public static ConfigManager getConfigManager() {
return plugin.cmanager;
}
public ResidenceBlockListener getBlockListener() {
return blistener;
public static File getDataLocation() {
return plugin.dataFolder;
}
public ChatManager getChatManager() {
return chatmanager;
public static Map<String, String> getDeleteConfirm() {
return plugin.deleteConfirm;
}
@Override
public FileConfiguration getConfig() {
return config;
public static EconomyInterface getEconomyManager() {
return plugin.economy;
}
public ConfigManager getConfigManager() {
return cmanager;
public static EntityManager getEntityManager() {
return plugin.entitymanager;
}
public File getDataLocation() {
return dataFolder;
public static HelpEntry getHelppages() {
return plugin.helppages;
}
public Map<String, String> getDeleteConfirm() {
return deleteConfirm;
public static WorldItemManager getItemManager() {
return plugin.imanager;
}
public EconomyInterface getEconomyManager() {
return economy;
public static Language getLanguage() {
if (plugin.language == null) {
plugin.language = new Language();
}
return plugin.language;
}
public ResidenceEntityListener getEntityListener() {
return elistener;
public static LeaseManager getLeaseManager() {
return plugin.leasemanager;
}
public EntityManager getEntityManager() {
return entitymanager;
public static PermissionListManager getPermissionListManager() {
return plugin.pmanager;
}
public HelpEntry getHelppages() {
return helppages;
public static PermissionManager getPermissionManager() {
return plugin.gmanager;
}
public WorldItemManager getItemManager() {
return imanager;
}
public Language getLanguage() {
if (language == null) {
language = new Language();
}
return language;
}
public LeaseManager getLeaseManager() {
return leasemanager;
}
public PermissionListManager getPermissionListManager() {
return pmanager;
}
public PermissionManager getPermissionManager() {
return gmanager;
}
public FlagPermissions getPermsByLoc(final Location loc) {
final ClaimedResidence res = rmanager.getByLoc(loc);
public static FlagPermissions getPermsByLoc(final Location loc) {
final ClaimedResidence res = plugin.rmanager.getByLoc(loc);
if (res != null) {
return res.getPermissions();
} else {
return wmanager.getPerms(loc.getWorld().getName());
return plugin.wmanager.getPerms(loc.getWorld().getName());
}
}
public FlagPermissions getPermsByLocForPlayer(final Location loc, final Player player) {
final ClaimedResidence res = rmanager.getByLoc(loc);
public static FlagPermissions getPermsByLocForPlayer(final Location loc, final Player player) {
final ClaimedResidence res = plugin.rmanager.getByLoc(loc);
if (res != null) {
return res.getPermissions();
} else if (player != null) {
return wmanager.getPerms(player);
return plugin.wmanager.getPerms(player);
} else {
return wmanager.getPerms(loc.getWorld().getName());
return plugin.wmanager.getPerms(loc.getWorld().getName());
}
}
public ResidencePlayerListener getPlayerListener() {
return plistener;
public static RentManager getRentManager() {
return plugin.rentmanager;
}
public RentManager getRentManager() {
return rentmanager;
public static ResidenceManager getResidenceManager() {
return plugin.rmanager;
}
public ResidenceManager getResidenceManager() {
return rmanager;
public static SelectionManager getSelectionManager() {
return plugin.smanager;
}
public SelectionManager getSelectionManager() {
return smanager;
public static TransactionManager getTransactionManager() {
return plugin.tmanager;
}
public TransactionManager getTransactionManager() {
return tmanager;
public static WorldFlagManager getWorldFlags() {
return plugin.wmanager;
}
public WorldFlagManager getWorldFlags() {
return wmanager;
public static void init(final ResidenceMain instance) {
plugin = instance;
}
public boolean is1_8() {
return bukkitver == 1.8;
}
public boolean isInit() {
return init;
}
public boolean isResAdminOn(final Player player) {
if (resadminToggle.contains(player.getName())) {
public static boolean isResAdminOn(final Player player) {
if (plugin.resadminToggle.contains(player.getName())) {
return true;
}
return false;
}
public boolean isResAdminOn(final String player) {
if (resadminToggle.contains(player.toLowerCase())) {
public static boolean isResAdminOn(final String player) {
if (plugin.resadminToggle.contains(player.toLowerCase())) {
return true;
}
return false;
}
public boolean isUseWorldEdit() {
return useWorldEdit;
}
public void loadLang(final File langFile) throws FileNotFoundException, IOException, InvalidConfigurationException {
final FileConfig langconfig = new FileConfig(this, langFile);
helppages = HelpEntry.parseHelp(this, langconfig, "CommandHelp");
HelpEntry.setLinesPerPage(langconfig.getInt("HelpLinesPerPage", 7));
InformationPager.setLinesPerPage(langconfig.getInt("HelpLinesPerPage", 7));
language = Language.parseText(langconfig, "Language");
}
@SuppressWarnings("unchecked")
public boolean loadYml() throws Exception {
final File saveFolder = new File(dataFolder, "Save");
try {
final File worldFolder = new File(saveFolder, "Worlds");
if (!saveFolder.isDirectory()) {
this.getLogger().warning("领地数据保存目录不存在...");
this.getLogger().warning("请重新启动服务器生成新的文件...");
return true;
}
YMLSaveHelper yml;
File loadFile;
final long time = System.currentTimeMillis();
final HashMap<String, Object> worlds = new HashMap<String, Object>();
for (final World world : this.getServer().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(this, worlds);
loadFile = new File(saveFolder, "forsale.yml");
if (loadFile.isFile()) {
yml = new YMLSaveHelper(loadFile);
yml.load();
tmanager = TransactionManager.load(this, (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(this, (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(this, (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(this, (Map<String, Object>) yml.getRoot().get("RentSystem"));
}
this.getLogger().info("从配置文件中读取领地数据,耗时" + ((float) (System.currentTimeMillis() - time) / 1000) + " 秒)");
return true;
} catch (final Exception ex) {
this.getLogger().warning("领地数据载入时发生错误,请报告以下内容给作者: ");
this.getLogger().warning("错误: " + ex);
throw ex;
}
}
@Override
public boolean onCommand(final CommandSender sender, final Command command, final String label, final String[] args) {
final ResidenceCommandEvent cevent = new ResidenceCommandEvent(command.getName(), args, sender);
this.getServer().getPluginManager().callEvent(cevent);
if (cevent.isCancelled()) {
return true;
}
return hdmcnd.onCommand(sender, command, label, args);
}
@Override
public void onDisable() {
taskmanager.cancelall();
if (this.init) {
try {
this.saveYml();
this.backup.backup();
} catch (final Exception ex) {
this.getLogger().warning("领地数据保存错误,可能造成部分领地丢失,请尝试恢复备份文件!");
this.getLogger().warning("错误: " + ex);
}
}
}
@Override
public void onEnable() {
try {
instance = this;
this.getLogger().info("Bukkit 版本: " + this.getServer().getBukkitVersion());
bukkitver = Float.parseFloat(this.getServer().getBukkitVersion().substring(0, 3));
init = false;
deleteConfirm = new HashMap<String, String>();
resadminToggle = new ArrayList<String>();
dataFolder = this.getDataFolder();
if (!dataFolder.isDirectory()) {
dataFolder.mkdirs();
}
cmanager = new ConfigManager(this);
final String multiworld = cmanager.getMultiworldPlugin();
if (multiworld != null) {
final Plugin plugin = this.getServer().getPluginManager().getPlugin(multiworld);
if (plugin != null) {
if (!plugin.isEnabled()) {
this.getLogger().info("加载多世界插件: " + multiworld);
this.getServer().getPluginManager().enablePlugin(plugin);
}
}
}
gmanager = new PermissionManager(this);
imanager = new WorldItemManager(this.getConfig());
wmanager = new WorldFlagManager(this);
entitymanager = new EntityManager(this);
chatmanager = new ChatManager(this);
rentmanager = new RentManager(this);
for (final String lang : validLanguages) {
try {
if (this.checkNewLanguageVersion(lang)) {
this.writeDefaultLanguageFile(lang);
}
} catch (final Exception ex) {
this.getLogger().warning("语言文件升级失败: " + lang + ".yml");
helppages = new HelpEntry(this, "");
language = new Language();
}
}
final File langFile = new File(new File(dataFolder, "Language"), cmanager.getLanguage() + ".yml");
try {
if (langFile.isFile()) {
loadLang(langFile);
} else {
this.getLogger().warning("语言文件不存在...");
}
} catch (final Exception ex) {
this.getLogger().warning("语言文件载入失败: " + cmanager.getLanguage() + ".yml 写入默认语言文件");
this.writeDefaultLanguageFile(cmanager.getLanguage());
loadLang(langFile);
}
economy = null;
if (this.getConfig().getBoolean("Global.EnableEconomy", false)) {
if (gmanager.getPermissionsPlugin() instanceof ResidenceVaultAdapter) {
final ResidenceVaultAdapter vault = (ResidenceVaultAdapter) gmanager.getPermissionsPlugin();
if (vault.economyOK()) {
economy = vault;
this.getLogger().info("发现 Vault 使用经济系统: " + vault.getEconomyName());
}
}
if (economy == null) {
this.loadVaultEconomy();
}
if (economy == null) {
this.loadEssentialsEconomy();
}
if (economy == null) {
this.getLogger().warning("经济系统已启用,但是未找到经济插件...");
}
}
try {
this.loadYml();
} catch (final Exception e) {
this.getLogger().warning("领地数据载入错误,可能造成插件无法启动,请尝试恢复备份文件!");
this.getLogger().warning("错误: " + e);
}
if (rmanager == null) {
rmanager = new ResidenceManager(this);
}
if (leasemanager == null) {
leasemanager = new LeaseManager(this, rmanager);
}
if (tmanager == null) {
tmanager = new TransactionManager(this, rmanager, gmanager);
}
if (pmanager == null) {
pmanager = new PermissionListManager(this);
}
if (taskmanager == null) {
taskmanager = new TaskManager(this);
}
final PluginManager pm = getServer().getPluginManager();
if (firstenable) {
if (!this.isEnabled()) {
return;
}
FlagPermissions.initValidFlags(this);
final Plugin wep = this.getServer().getPluginManager().getPlugin("WorldEdit");
if (wep != null) {
smanager = new WorldEditSelectionManager(this);
useWorldEdit = true;
this.getLogger().info("发现 WorldEdit 已启用相关支持...");
} else {
smanager = new SelectionManager(this);
useWorldEdit = false;
}
blistener = new ResidenceBlockListener(this);
plistener = new ResidencePlayerListener(this);
elistener = new ResidenceEntityListener(this);
plistener1_8 = new ResidencePlayerListener_1_8(this);
pm.registerEvents(blistener, this);
pm.registerEvents(plistener, this);
if (is1_8()) {
pm.registerEvents(plistener1_8, this);
}
pm.registerEvents(elistener, this);
firstenable = false;
} else {
plistener = new ResidencePlayerListener(this);
}
fmanager = new FlagManager(this);
fmanager.init();
this.getLogger().info("开始加载领地补丁...");
pm.registerEvents(new ResidenceBugFix(this), this);
taskmanager.add(this.getServer().getScheduler().runTaskTimer(this, new HealTask(this), 20, 20));
hdmcnd = new HandlerMainCommand(this);
hdmcnd.registerCommand(new CommandRc(this));
hdmcnd.registerCommand(new CommandRes(this));
hdmcnd.registerCommand(new CommandResLoad(this));
hdmcnd.registerCommand(new CommandResReload(this));
hdmcnd.registerCommand(new CommandResWorld(this));
int autosaveInt = cmanager.getAutoSaveInterval();
autosaveInt = autosaveInt < 1 ? 1 : autosaveInt * 60 * 20;
taskmanager.add(this.getServer().getScheduler().runTaskTimer(this, new AutoSaveTask(this), autosaveInt, autosaveInt));
if (cmanager.useLeases()) {
int leaseInterval = cmanager.getLeaseCheckInterval();
leaseInterval = leaseInterval < 1 ? 1 : leaseInterval * 60 * 20;
taskmanager.add(this.getServer().getScheduler().runTaskTimer(this, new LeaseTask(this), leaseInterval, leaseInterval));
}
if (cmanager.enabledRentSystem()) {
int rentint = cmanager.getRentCheckInterval();
rentint = rentint < 1 ? 1 : rentint * 60 * 20;
taskmanager.add(this.getServer().getScheduler().runTaskTimer(this, new RentTask(this), rentint, rentint));
}
for (final Player player : Bukkit.getServer().getOnlinePlayers()) {
if (this.getPermissionManager().isResidenceAdmin(player)) {
turnResAdminOn(player);
}
}
this.getLogger().info("载入完成! 版本: " + this.getDescription().getVersion() + " 重制 by 喵♂呜");
init = true;
} catch (final Exception ex) {
init = false;
setEnabled(false);
this.getLogger().warning(" - 初始化失败! 卸载插件! 请报告以下错误给作者,谢谢!");
this.getLogger().warning("错误: " + ex);
ex.printStackTrace();
}
backup = new DataBackup(this);
new VersionChecker(this);
}
@Override
public void onLoad() {
config = new FileConfig(this);
}
@Override
public void reloadConfig() {
config.reload();
}
public void reloadPlugin() {
final PluginManager pm = this.getServer().getPluginManager();
pm.disablePlugin(this);
pm.enablePlugin(this);
}
@Override
public void saveConfig() {
config.save();
};
public void saveYml() throws IOException {
final File saveFolder = new File(dataFolder, "Save");
final File worldFolder = new File(saveFolder, "Worlds");
worldFolder.mkdirs();
YMLSaveHelper yml;
final long time = System.currentTimeMillis();
final Map<String, Object> save = rmanager.save();
for (final Entry<String, Object> entry : save.entrySet()) {
final File ymlSaveLoc = new File(worldFolder, "res_" + entry.getKey() + ".yml");
final File tmpFile = new File(worldFolder, "tmp_res_" + entry.getKey() + ".yml");
yml = new YMLSaveHelper(tmpFile);
yml.getRoot().put("Version", saveVersion);
final World world = this.getServer().getWorld(entry.getKey());
if (world != null) {
yml.getRoot().put("Seed", world.getSeed());
}
yml.getRoot().put("Residences", entry.getValue());
yml.save();
if (ymlSaveLoc.isFile()) {
final File backupFolder = new File(worldFolder, "Backup");
backupFolder.mkdirs();
final File backupFile = new File(backupFolder, "res_" + entry.getKey() + ".yml");
if (backupFile.isFile()) {
backupFile.delete();
}
ymlSaveLoc.renameTo(backupFile);
}
tmpFile.renameTo(ymlSaveLoc);
}
// For Sale save
File ymlSaveLoc = new File(saveFolder, "forsale.yml");
File tmpFile = new File(saveFolder, "tmp_forsale.yml");
yml = new YMLSaveHelper(tmpFile);
yml.save();
yml.getRoot().put("Version", saveVersion);
yml.getRoot().put("Economy", tmanager.save());
yml.save();
if (ymlSaveLoc.isFile()) {
final File backupFolder = new File(saveFolder, "Backup");
backupFolder.mkdirs();
final File backupFile = new File(backupFolder, "forsale.yml");
if (backupFile.isFile()) {
backupFile.delete();
}
ymlSaveLoc.renameTo(backupFile);
}
tmpFile.renameTo(ymlSaveLoc);
// Leases save
ymlSaveLoc = new File(saveFolder, "leases.yml");
tmpFile = new File(saveFolder, "tmp_leases.yml");
yml = new YMLSaveHelper(tmpFile);
yml.getRoot().put("Version", saveVersion);
yml.getRoot().put("Leases", leasemanager.save());
yml.save();
if (ymlSaveLoc.isFile()) {
final File backupFolder = new File(saveFolder, "Backup");
backupFolder.mkdirs();
final File backupFile = new File(backupFolder, "leases.yml");
if (backupFile.isFile()) {
backupFile.delete();
}
ymlSaveLoc.renameTo(backupFile);
}
tmpFile.renameTo(ymlSaveLoc);
// permlist save
ymlSaveLoc = new File(saveFolder, "permlists.yml");
tmpFile = new File(saveFolder, "tmp_permlists.yml");
yml = new YMLSaveHelper(tmpFile);
yml.getRoot().put("Version", saveVersion);
yml.getRoot().put("PermissionLists", pmanager.save());
yml.save();
if (ymlSaveLoc.isFile()) {
final File backupFolder = new File(saveFolder, "Backup");
backupFolder.mkdirs();
final File backupFile = new File(backupFolder, "permlists.yml");
if (backupFile.isFile()) {
backupFile.delete();
}
ymlSaveLoc.renameTo(backupFile);
}
tmpFile.renameTo(ymlSaveLoc);
// rent save
ymlSaveLoc = new File(saveFolder, "rent.yml");
tmpFile = new File(saveFolder, "tmp_rent.yml");
yml = new YMLSaveHelper(tmpFile);
yml.getRoot().put("Version", saveVersion);
yml.getRoot().put("RentSystem", rentmanager.save());
yml.save();
if (ymlSaveLoc.isFile()) {
final File backupFolder = new File(saveFolder, "Backup");
backupFolder.mkdirs();
final File backupFile = new File(backupFolder, "rent.yml");
if (backupFile.isFile()) {
backupFile.delete();
}
ymlSaveLoc.renameTo(backupFile);
}
tmpFile.renameTo(ymlSaveLoc);
this.getLogger().info("保存领地数据到文件中,耗时" + ((float) (System.currentTimeMillis() - time) / 1000) + " 秒)");
if (cmanager.showIntervalMessages()) {
this.getLogger().info(" - 保存插件数据...");
}
}
public void turnResAdminOn(final Player player) {
resadminToggle.add(player.getName());
}
public boolean validName(final String name) {
if (name.contains(":") || name.contains(".")) {
return false;
}
if (cmanager.getResidenceNameRegex() == null) {
return true;
} else {
final String namecheck = name.replaceAll(cmanager.getResidenceNameRegex(), "");
if (!name.equals(namecheck)) {
return false;
}
return true;
}
}
private boolean checkNewLanguageVersion(final String lang) throws IOException, FileNotFoundException, InvalidConfigurationException {
final File outFile = new File(new File(this.getDataFolder(), "Language"), lang + ".yml");
final File checkFile = new File(new File(this.getDataFolder(), "Language"), "temp-" + lang + ".yml");
if (outFile.isFile()) {
final FileConfig testconfig = new FileConfig(this, outFile);
final int oldversion = testconfig.getInt("FieldsVersion", 0);
if (!this.writeDefaultFileFromJar(checkFile, "languagefiles/" + lang + ".yml", false)) {
return false;
}
final FileConfig testconfig2 = new FileConfig(this, checkFile);
testconfig2.load(checkFile);
final int newversion = testconfig2.getInt("FieldsVersion", oldversion);
if (checkFile.isFile()) {
checkFile.delete();
}
if (newversion > oldversion) {
return true;
}
return false;
}
return true;
}
private void loadEssentialsEconomy() {
final Plugin p = getServer().getPluginManager().getPlugin("Essentials");
if (p != null) {
economy = new EssentialsEcoAdapter((Essentials) p);
this.getLogger().info("成功关联Essentials Economy!");
} else {
this.getLogger().info("Essentials Economy 未找到!");
}
}
private void loadVaultEconomy() {
final Plugin p = getServer().getPluginManager().getPlugin("Vault");
if (p != null) {
final ResidenceVaultAdapter vault = new ResidenceVaultAdapter(getServer());
if (vault.economyOK()) {
this.getLogger().info("发现 Vault 使用经济系统: " + vault.getEconomyName());
economy = vault;
} else {
this.getLogger().info("发现 Vault, 但是 Vault 未找到经济系统...");
}
} else {
this.getLogger().info("Vault 未找到!");
}
}
@SuppressWarnings("resource")
private boolean writeDefaultFileFromJar(final File writeName, final String jarPath, final boolean backupOld) {
try {
final File fileBackup = new File(this.getDataFolder(), "backup-" + writeName);
final File jarloc = new File(getClass().getProtectionDomain().getCodeSource().getLocation().toURI()).getCanonicalFile();
if (jarloc.isFile()) {
final JarFile jar = new JarFile(jarloc);
final JarEntry entry = jar.getJarEntry(jarPath);
if (entry != null && !entry.isDirectory()) {
final InputStream in = jar.getInputStream(entry);
final InputStreamReader isr = new InputStreamReader(in, "UTF8");
if (writeName.isFile()) {
if (backupOld) {
if (fileBackup.isFile()) {
fileBackup.delete();
}
writeName.renameTo(fileBackup);
} else {
writeName.delete();
}
}
final FileOutputStream out = new FileOutputStream(writeName);
final OutputStreamWriter osw = new OutputStreamWriter(out, "UTF8");
final char[] tempbytes = new char[512];
int readbytes = isr.read(tempbytes, 0, 512);
while (readbytes > -1) {
osw.write(tempbytes, 0, readbytes);
readbytes = isr.read(tempbytes, 0, 512);
}
osw.close();
isr.close();
return true;
}
}
return false;
} catch (final Exception ex) {
this.getLogger().warning("文件写入失败: " + writeName);
return false;
}
}
private void writeDefaultLanguageFile(final String lang) {
final File outFile = new File(new File(this.getDataFolder(), "Language"), lang + ".yml");
outFile.getParentFile().mkdirs();
if (this.writeDefaultFileFromJar(outFile, "languagefiles/" + lang + ".yml", true)) {
this.getLogger().info("保存默认 " + lang + " 语言文件...");
}
public static boolean isUseWorldEdit() {
return plugin.useWorldEdit;
}
}

View File

@@ -0,0 +1,770 @@
/*
* To change this template, choose Tools | Templates and open the template in
* the editor.
*/
package com.bekvon.bukkit.residence;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
import java.util.jar.JarEntry;
import java.util.jar.JarFile;
import org.bukkit.Bukkit;
import org.bukkit.Location;
import org.bukkit.World;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.configuration.InvalidConfigurationException;
import org.bukkit.configuration.file.FileConfiguration;
import org.bukkit.entity.Player;
import org.bukkit.plugin.Plugin;
import org.bukkit.plugin.PluginManager;
import org.bukkit.plugin.java.JavaPlugin;
import com.bekvon.bukkit.residence.chat.ChatManager;
import com.bekvon.bukkit.residence.commandmain.CommandRc;
import com.bekvon.bukkit.residence.commandmain.CommandRes;
import com.bekvon.bukkit.residence.commandmain.CommandResLoad;
import com.bekvon.bukkit.residence.commandmain.CommandResReload;
import com.bekvon.bukkit.residence.commandmain.CommandResWorld;
import com.bekvon.bukkit.residence.economy.EconomyInterface;
import com.bekvon.bukkit.residence.economy.EssentialsEcoAdapter;
import com.bekvon.bukkit.residence.economy.TransactionManager;
import com.bekvon.bukkit.residence.economy.rent.RentManager;
import com.bekvon.bukkit.residence.event.ResidenceCommandEvent;
import com.bekvon.bukkit.residence.itemlist.WorldItemManager;
import com.bekvon.bukkit.residence.listeners.ResidenceBlockListener;
import com.bekvon.bukkit.residence.listeners.ResidenceEntityListener;
import com.bekvon.bukkit.residence.listeners.ResidencePlayerListener;
import com.bekvon.bukkit.residence.listeners.ResidencePlayerListener_1_8;
import com.bekvon.bukkit.residence.listeners.bugfix.ResidenceBugFix;
import com.bekvon.bukkit.residence.manager.ConfigManager;
import com.bekvon.bukkit.residence.manager.EntityManager;
import com.bekvon.bukkit.residence.manager.FlagManager;
import com.bekvon.bukkit.residence.permissions.PermissionManager;
import com.bekvon.bukkit.residence.persistance.YMLSaveHelper;
import com.bekvon.bukkit.residence.protection.ClaimedResidence;
import com.bekvon.bukkit.residence.protection.FlagPermissions;
import com.bekvon.bukkit.residence.protection.LeaseManager;
import com.bekvon.bukkit.residence.protection.PermissionListManager;
import com.bekvon.bukkit.residence.protection.ResidenceManager;
import com.bekvon.bukkit.residence.protection.WorldFlagManager;
import com.bekvon.bukkit.residence.runnable.AutoSaveTask;
import com.bekvon.bukkit.residence.runnable.HealTask;
import com.bekvon.bukkit.residence.runnable.LeaseTask;
import com.bekvon.bukkit.residence.runnable.RentTask;
import com.bekvon.bukkit.residence.runnable.TaskManager;
import com.bekvon.bukkit.residence.selection.SelectionManager;
import com.bekvon.bukkit.residence.selection.WorldEditSelectionManager;
import com.bekvon.bukkit.residence.text.Language;
import com.bekvon.bukkit.residence.text.help.HelpEntry;
import com.bekvon.bukkit.residence.text.help.InformationPager;
import com.bekvon.bukkit.residence.utils.DataBackup;
import com.bekvon.bukkit.residence.vaultinterface.ResidenceVaultAdapter;
import com.earth2me.essentials.Essentials;
import cn.citycraft.PluginHelper.commands.HandlerMainCommand;
import cn.citycraft.PluginHelper.config.FileConfig;
import cn.citycraft.PluginHelper.utils.VersionChecker;
/**
*
* @author Gary Smoak - bekvon
*
*/
public class ResidenceMain extends JavaPlugin {
public static float bukkitver;
public final static int saveVersion = 1;
public final static String[] validLanguages = { "English", "Chinese" };
protected static ResidenceMain instance;
protected DataBackup backup;
protected ResidenceBlockListener blistener;
protected ChatManager chatmanager;
protected ConfigManager cmanager;
protected FileConfig config;
protected File dataFolder;
protected Map<String, String> deleteConfirm;
protected EconomyInterface economy;
protected ResidenceEntityListener elistener;
protected EntityManager entitymanager;
protected boolean firstenable = true;
protected FlagManager fmanager;
protected PermissionManager gmanager;
protected HandlerMainCommand hdmcnd;
protected HelpEntry helppages;
protected WorldItemManager imanager;
protected boolean init;
protected Language language;
protected LeaseManager leasemanager;
protected ResidencePlayerListener plistener;
protected ResidencePlayerListener_1_8 plistener1_8;
protected PermissionListManager pmanager;
protected RentManager rentmanager;
protected List<String> resadminToggle;
protected ResidenceManager rmanager;
protected SelectionManager smanager;
protected TaskManager taskmanager;
protected TransactionManager tmanager;
protected boolean useWorldEdit;
protected WorldFlagManager wmanager;
public static ResidenceMain getInstance() {
return instance;
}
public DataBackup getBackup() {
return backup;
}
public ResidenceBlockListener getBlockListener() {
return blistener;
}
public ChatManager getChatManager() {
return chatmanager;
}
@Override
public FileConfiguration getConfig() {
return config;
}
public ConfigManager getConfigManager() {
return cmanager;
}
public File getDataLocation() {
return dataFolder;
}
public Map<String, String> getDeleteConfirm() {
return deleteConfirm;
}
public EconomyInterface getEconomyManager() {
return economy;
}
public ResidenceEntityListener getEntityListener() {
return elistener;
}
public EntityManager getEntityManager() {
return entitymanager;
}
public HelpEntry getHelppages() {
return helppages;
}
public WorldItemManager getItemManager() {
return imanager;
}
public Language getLanguage() {
if (language == null) {
language = new Language();
}
return language;
}
public LeaseManager getLeaseManager() {
return leasemanager;
}
public PermissionListManager getPermissionListManager() {
return pmanager;
}
public PermissionManager getPermissionManager() {
return gmanager;
}
public FlagPermissions getPermsByLoc(final Location loc) {
final ClaimedResidence res = rmanager.getByLoc(loc);
if (res != null) {
return res.getPermissions();
} else {
return wmanager.getPerms(loc.getWorld().getName());
}
}
public FlagPermissions getPermsByLocForPlayer(final Location loc, final Player player) {
final 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 ResidencePlayerListener getPlayerListener() {
return plistener;
}
public RentManager getRentManager() {
return rentmanager;
}
public ResidenceManager getResidenceManager() {
return rmanager;
}
public SelectionManager getSelectionManager() {
return smanager;
}
public TransactionManager getTransactionManager() {
return tmanager;
}
public WorldFlagManager getWorldFlags() {
return wmanager;
}
public boolean is1_8() {
return bukkitver == 1.8;
}
public boolean isInit() {
return init;
}
public boolean isResAdminOn(final Player player) {
if (resadminToggle.contains(player.getName())) {
return true;
}
return false;
}
public boolean isResAdminOn(final String player) {
if (resadminToggle.contains(player.toLowerCase())) {
return true;
}
return false;
}
public boolean isUseWorldEdit() {
return useWorldEdit;
}
public void loadLang(final File langFile) throws FileNotFoundException, IOException, InvalidConfigurationException {
final FileConfig langconfig = new FileConfig(this, langFile);
helppages = HelpEntry.parseHelp(this, langconfig, "CommandHelp");
HelpEntry.setLinesPerPage(langconfig.getInt("HelpLinesPerPage", 7));
InformationPager.setLinesPerPage(langconfig.getInt("HelpLinesPerPage", 7));
language = Language.parseText(langconfig, "Language");
}
@SuppressWarnings("unchecked")
public boolean loadYml() throws Exception {
final File saveFolder = new File(dataFolder, "Save");
try {
final File worldFolder = new File(saveFolder, "Worlds");
if (!saveFolder.isDirectory()) {
this.getLogger().warning("领地数据保存目录不存在...");
this.getLogger().warning("请重新启动服务器生成新的文件...");
return true;
}
YMLSaveHelper yml;
File loadFile;
final long time = System.currentTimeMillis();
final HashMap<String, Object> worlds = new HashMap<String, Object>();
for (final World world : this.getServer().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(this, worlds);
loadFile = new File(saveFolder, "forsale.yml");
if (loadFile.isFile()) {
yml = new YMLSaveHelper(loadFile);
yml.load();
tmanager = TransactionManager.load(this, (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(this, (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(this, (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(this, (Map<String, Object>) yml.getRoot().get("RentSystem"));
}
this.getLogger().info("从配置文件中读取领地数据,耗时" + ((float) (System.currentTimeMillis() - time) / 1000) + " 秒)");
return true;
} catch (final Exception ex) {
this.getLogger().warning("领地数据载入时发生错误,请报告以下内容给作者: ");
this.getLogger().warning("错误: " + ex);
throw ex;
}
}
@Override
public boolean onCommand(final CommandSender sender, final Command command, final String label, final String[] args) {
final ResidenceCommandEvent cevent = new ResidenceCommandEvent(command.getName(), args, sender);
this.getServer().getPluginManager().callEvent(cevent);
if (cevent.isCancelled()) {
return true;
}
return hdmcnd.onCommand(sender, command, label, args);
}
@Override
public void onDisable() {
taskmanager.cancelall();
if (this.init) {
try {
this.saveYml();
this.backup.backup();
} catch (final Exception ex) {
this.getLogger().warning("领地数据保存错误,可能造成部分领地丢失,请尝试恢复备份文件!");
this.getLogger().warning("错误: " + ex);
}
}
}
@Override
public void onEnable() {
try {
instance = this;
Residence.init(this);
this.getLogger().info("Bukkit 版本: " + this.getServer().getBukkitVersion());
bukkitver = Float.parseFloat(this.getServer().getBukkitVersion().substring(0, 3));
init = false;
deleteConfirm = new HashMap<String, String>();
resadminToggle = new ArrayList<String>();
dataFolder = this.getDataFolder();
if (!dataFolder.isDirectory()) {
dataFolder.mkdirs();
}
cmanager = new ConfigManager(this);
final String multiworld = cmanager.getMultiworldPlugin();
if (multiworld != null) {
final Plugin plugin = this.getServer().getPluginManager().getPlugin(multiworld);
if (plugin != null) {
if (!plugin.isEnabled()) {
this.getLogger().info("加载多世界插件: " + multiworld);
this.getServer().getPluginManager().enablePlugin(plugin);
}
}
}
gmanager = new PermissionManager(this);
imanager = new WorldItemManager(this.getConfig());
wmanager = new WorldFlagManager(this);
entitymanager = new EntityManager(this);
chatmanager = new ChatManager(this);
rentmanager = new RentManager(this);
for (final String lang : validLanguages) {
try {
if (this.checkNewLanguageVersion(lang)) {
this.writeDefaultLanguageFile(lang);
}
} catch (final Exception ex) {
this.getLogger().warning("语言文件升级失败: " + lang + ".yml");
helppages = new HelpEntry(this, "");
language = new Language();
}
}
final File langFile = new File(new File(dataFolder, "Language"), cmanager.getLanguage() + ".yml");
try {
if (langFile.isFile()) {
loadLang(langFile);
} else {
this.getLogger().warning("语言文件不存在...");
}
} catch (final Exception ex) {
this.getLogger().warning("语言文件载入失败: " + cmanager.getLanguage() + ".yml 写入默认语言文件");
this.writeDefaultLanguageFile(cmanager.getLanguage());
loadLang(langFile);
}
economy = null;
if (this.getConfig().getBoolean("Global.EnableEconomy", false)) {
if (gmanager.getPermissionsPlugin() instanceof ResidenceVaultAdapter) {
final ResidenceVaultAdapter vault = (ResidenceVaultAdapter) gmanager.getPermissionsPlugin();
if (vault.economyOK()) {
economy = vault;
this.getLogger().info("发现 Vault 使用经济系统: " + vault.getEconomyName());
}
}
if (economy == null) {
this.loadVaultEconomy();
}
if (economy == null) {
this.loadEssentialsEconomy();
}
if (economy == null) {
this.getLogger().warning("经济系统已启用,但是未找到经济插件...");
}
}
try {
this.loadYml();
} catch (final Exception e) {
this.getLogger().warning("领地数据载入错误,可能造成插件无法启动,请尝试恢复备份文件!");
this.getLogger().warning("错误: " + e);
}
if (rmanager == null) {
rmanager = new ResidenceManager(this);
}
if (leasemanager == null) {
leasemanager = new LeaseManager(this, rmanager);
}
if (tmanager == null) {
tmanager = new TransactionManager(this, rmanager, gmanager);
}
if (pmanager == null) {
pmanager = new PermissionListManager(this);
}
if (taskmanager == null) {
taskmanager = new TaskManager(this);
}
final PluginManager pm = getServer().getPluginManager();
if (firstenable) {
if (!this.isEnabled()) {
return;
}
FlagPermissions.initValidFlags(this);
final Plugin wep = this.getServer().getPluginManager().getPlugin("WorldEdit");
if (wep != null) {
smanager = new WorldEditSelectionManager(this);
useWorldEdit = true;
this.getLogger().info("发现 WorldEdit 已启用相关支持...");
} else {
smanager = new SelectionManager(this);
useWorldEdit = false;
}
blistener = new ResidenceBlockListener(this);
plistener = new ResidencePlayerListener(this);
elistener = new ResidenceEntityListener(this);
plistener1_8 = new ResidencePlayerListener_1_8(this);
pm.registerEvents(blistener, this);
pm.registerEvents(plistener, this);
if (is1_8()) {
pm.registerEvents(plistener1_8, this);
}
pm.registerEvents(elistener, this);
firstenable = false;
} else {
plistener = new ResidencePlayerListener(this);
}
fmanager = new FlagManager(this);
fmanager.init();
this.getLogger().info("开始加载领地补丁...");
pm.registerEvents(new ResidenceBugFix(this), this);
taskmanager.add(this.getServer().getScheduler().runTaskTimer(this, new HealTask(this), 20, 20));
hdmcnd = new HandlerMainCommand(this);
hdmcnd.registerCommand(new CommandRc(this));
hdmcnd.registerCommand(new CommandRes(this));
hdmcnd.registerCommand(new CommandResLoad(this));
hdmcnd.registerCommand(new CommandResReload(this));
hdmcnd.registerCommand(new CommandResWorld(this));
int autosaveInt = cmanager.getAutoSaveInterval();
autosaveInt = autosaveInt < 1 ? 1 : autosaveInt * 60 * 20;
taskmanager.add(this.getServer().getScheduler().runTaskTimer(this, new AutoSaveTask(this), autosaveInt, autosaveInt));
if (cmanager.useLeases()) {
int leaseInterval = cmanager.getLeaseCheckInterval();
leaseInterval = leaseInterval < 1 ? 1 : leaseInterval * 60 * 20;
taskmanager.add(this.getServer().getScheduler().runTaskTimer(this, new LeaseTask(this), leaseInterval, leaseInterval));
}
if (cmanager.enabledRentSystem()) {
int rentint = cmanager.getRentCheckInterval();
rentint = rentint < 1 ? 1 : rentint * 60 * 20;
taskmanager.add(this.getServer().getScheduler().runTaskTimer(this, new RentTask(this), rentint, rentint));
}
for (final Player player : Bukkit.getServer().getOnlinePlayers()) {
if (this.getPermissionManager().isResidenceAdmin(player)) {
turnResAdminOn(player);
}
}
this.getLogger().info("载入完成! 版本: " + this.getDescription().getVersion() + " 重制 by 喵♂呜");
init = true;
} catch (final Exception ex) {
init = false;
setEnabled(false);
this.getLogger().warning(" - 初始化失败! 卸载插件! 请报告以下错误给作者,谢谢!");
this.getLogger().warning("错误: " + ex);
ex.printStackTrace();
}
backup = new DataBackup(this);
new VersionChecker(this);
}
@Override
public void onLoad() {
config = new FileConfig(this);
}
@Override
public void reloadConfig() {
config.reload();
}
public void reloadPlugin() {
final PluginManager pm = this.getServer().getPluginManager();
pm.disablePlugin(this);
pm.enablePlugin(this);
}
@Override
public void saveConfig() {
config.save();
};
public void saveYml() throws IOException {
final File saveFolder = new File(dataFolder, "Save");
final File worldFolder = new File(saveFolder, "Worlds");
worldFolder.mkdirs();
YMLSaveHelper yml;
final long time = System.currentTimeMillis();
final Map<String, Object> save = rmanager.save();
for (final Entry<String, Object> entry : save.entrySet()) {
final File ymlSaveLoc = new File(worldFolder, "res_" + entry.getKey() + ".yml");
final File tmpFile = new File(worldFolder, "tmp_res_" + entry.getKey() + ".yml");
yml = new YMLSaveHelper(tmpFile);
yml.getRoot().put("Version", saveVersion);
final World world = this.getServer().getWorld(entry.getKey());
if (world != null) {
yml.getRoot().put("Seed", world.getSeed());
}
yml.getRoot().put("Residences", entry.getValue());
yml.save();
if (ymlSaveLoc.isFile()) {
final File backupFolder = new File(worldFolder, "Backup");
backupFolder.mkdirs();
final File backupFile = new File(backupFolder, "res_" + entry.getKey() + ".yml");
if (backupFile.isFile()) {
backupFile.delete();
}
ymlSaveLoc.renameTo(backupFile);
}
tmpFile.renameTo(ymlSaveLoc);
}
// For Sale save
File ymlSaveLoc = new File(saveFolder, "forsale.yml");
File tmpFile = new File(saveFolder, "tmp_forsale.yml");
yml = new YMLSaveHelper(tmpFile);
yml.save();
yml.getRoot().put("Version", saveVersion);
yml.getRoot().put("Economy", tmanager.save());
yml.save();
if (ymlSaveLoc.isFile()) {
final File backupFolder = new File(saveFolder, "Backup");
backupFolder.mkdirs();
final File backupFile = new File(backupFolder, "forsale.yml");
if (backupFile.isFile()) {
backupFile.delete();
}
ymlSaveLoc.renameTo(backupFile);
}
tmpFile.renameTo(ymlSaveLoc);
// Leases save
ymlSaveLoc = new File(saveFolder, "leases.yml");
tmpFile = new File(saveFolder, "tmp_leases.yml");
yml = new YMLSaveHelper(tmpFile);
yml.getRoot().put("Version", saveVersion);
yml.getRoot().put("Leases", leasemanager.save());
yml.save();
if (ymlSaveLoc.isFile()) {
final File backupFolder = new File(saveFolder, "Backup");
backupFolder.mkdirs();
final File backupFile = new File(backupFolder, "leases.yml");
if (backupFile.isFile()) {
backupFile.delete();
}
ymlSaveLoc.renameTo(backupFile);
}
tmpFile.renameTo(ymlSaveLoc);
// permlist save
ymlSaveLoc = new File(saveFolder, "permlists.yml");
tmpFile = new File(saveFolder, "tmp_permlists.yml");
yml = new YMLSaveHelper(tmpFile);
yml.getRoot().put("Version", saveVersion);
yml.getRoot().put("PermissionLists", pmanager.save());
yml.save();
if (ymlSaveLoc.isFile()) {
final File backupFolder = new File(saveFolder, "Backup");
backupFolder.mkdirs();
final File backupFile = new File(backupFolder, "permlists.yml");
if (backupFile.isFile()) {
backupFile.delete();
}
ymlSaveLoc.renameTo(backupFile);
}
tmpFile.renameTo(ymlSaveLoc);
// rent save
ymlSaveLoc = new File(saveFolder, "rent.yml");
tmpFile = new File(saveFolder, "tmp_rent.yml");
yml = new YMLSaveHelper(tmpFile);
yml.getRoot().put("Version", saveVersion);
yml.getRoot().put("RentSystem", rentmanager.save());
yml.save();
if (ymlSaveLoc.isFile()) {
final File backupFolder = new File(saveFolder, "Backup");
backupFolder.mkdirs();
final File backupFile = new File(backupFolder, "rent.yml");
if (backupFile.isFile()) {
backupFile.delete();
}
ymlSaveLoc.renameTo(backupFile);
}
tmpFile.renameTo(ymlSaveLoc);
this.getLogger().info("保存领地数据到文件中,耗时" + ((float) (System.currentTimeMillis() - time) / 1000) + " 秒)");
if (cmanager.showIntervalMessages()) {
this.getLogger().info(" - 保存插件数据...");
}
}
public void turnResAdminOn(final Player player) {
resadminToggle.add(player.getName());
}
public boolean validName(final String name) {
if (name.contains(":") || name.contains(".")) {
return false;
}
if (cmanager.getResidenceNameRegex() == null) {
return true;
} else {
final String namecheck = name.replaceAll(cmanager.getResidenceNameRegex(), "");
if (!name.equals(namecheck)) {
return false;
}
return true;
}
}
private boolean checkNewLanguageVersion(final String lang) throws IOException, FileNotFoundException, InvalidConfigurationException {
final File outFile = new File(new File(this.getDataFolder(), "Language"), lang + ".yml");
final File checkFile = new File(new File(this.getDataFolder(), "Language"), "temp-" + lang + ".yml");
if (outFile.isFile()) {
final FileConfig testconfig = new FileConfig(this, outFile);
final int oldversion = testconfig.getInt("FieldsVersion", 0);
if (!this.writeDefaultFileFromJar(checkFile, "languagefiles/" + lang + ".yml", false)) {
return false;
}
final FileConfig testconfig2 = new FileConfig(this, checkFile);
testconfig2.load(checkFile);
final int newversion = testconfig2.getInt("FieldsVersion", oldversion);
if (checkFile.isFile()) {
checkFile.delete();
}
if (newversion > oldversion) {
return true;
}
return false;
}
return true;
}
private void loadEssentialsEconomy() {
final Plugin p = getServer().getPluginManager().getPlugin("Essentials");
if (p != null) {
economy = new EssentialsEcoAdapter((Essentials) p);
this.getLogger().info("成功关联Essentials Economy!");
} else {
this.getLogger().info("Essentials Economy 未找到!");
}
}
private void loadVaultEconomy() {
final Plugin p = getServer().getPluginManager().getPlugin("Vault");
if (p != null) {
final ResidenceVaultAdapter vault = new ResidenceVaultAdapter(getServer());
if (vault.economyOK()) {
this.getLogger().info("发现 Vault 使用经济系统: " + vault.getEconomyName());
economy = vault;
} else {
this.getLogger().info("发现 Vault, 但是 Vault 未找到经济系统...");
}
} else {
this.getLogger().info("Vault 未找到!");
}
}
@SuppressWarnings("resource")
private boolean writeDefaultFileFromJar(final File writeName, final String jarPath, final boolean backupOld) {
try {
final File fileBackup = new File(this.getDataFolder(), "backup-" + writeName);
final File jarloc = new File(getClass().getProtectionDomain().getCodeSource().getLocation().toURI()).getCanonicalFile();
if (jarloc.isFile()) {
final JarFile jar = new JarFile(jarloc);
final JarEntry entry = jar.getJarEntry(jarPath);
if (entry != null && !entry.isDirectory()) {
final InputStream in = jar.getInputStream(entry);
final InputStreamReader isr = new InputStreamReader(in, "UTF8");
if (writeName.isFile()) {
if (backupOld) {
if (fileBackup.isFile()) {
fileBackup.delete();
}
writeName.renameTo(fileBackup);
} else {
writeName.delete();
}
}
final FileOutputStream out = new FileOutputStream(writeName);
final OutputStreamWriter osw = new OutputStreamWriter(out, "UTF8");
final char[] tempbytes = new char[512];
int readbytes = isr.read(tempbytes, 0, 512);
while (readbytes > -1) {
osw.write(tempbytes, 0, readbytes);
readbytes = isr.read(tempbytes, 0, 512);
}
osw.close();
isr.close();
return true;
}
}
return false;
} catch (final Exception ex) {
this.getLogger().warning("文件写入失败: " + writeName);
return false;
}
}
private void writeDefaultLanguageFile(final String lang) {
final File outFile = new File(new File(this.getDataFolder(), "Language"), lang + ".yml");
outFile.getParentFile().mkdirs();
if (this.writeDefaultFileFromJar(outFile, "languagefiles/" + lang + ".yml", true)) {
this.getLogger().info("保存默认 " + lang + " 语言文件...");
}
}
}

View File

@@ -13,7 +13,7 @@ import org.bukkit.Server;
import org.bukkit.entity.Player;
import org.bukkit.plugin.PluginManager;
import com.bekvon.bukkit.residence.Residence;
import com.bekvon.bukkit.residence.ResidenceMain;
import com.bekvon.bukkit.residence.event.ResidenceChatEvent;
/**
@@ -24,10 +24,10 @@ public class ChatChannel {
protected List<String> members;
protected final String name;
protected final Residence plugin;
protected final ResidenceMain plugin;
protected final PluginManager pm;
public ChatChannel(final Residence plugin, final String channelName) {
public ChatChannel(final ResidenceMain plugin, final String channelName) {
this.plugin = plugin;
pm = plugin.getServer().getPluginManager();
name = channelName;

View File

@@ -8,7 +8,7 @@ package com.bekvon.bukkit.residence.chat;
import java.util.HashMap;
import java.util.Map;
import com.bekvon.bukkit.residence.Residence;
import com.bekvon.bukkit.residence.ResidenceMain;
/**
*
@@ -17,9 +17,9 @@ import com.bekvon.bukkit.residence.Residence;
public class ChatManager {
protected Map<String, ChatChannel> channelmap;
protected final Residence plugin;
protected final ResidenceMain plugin;
public ChatManager(final Residence plugin) {
public ChatManager(final ResidenceMain plugin) {
this.plugin = plugin;
channelmap = new HashMap<String, ChatChannel>();
}

View File

@@ -6,18 +6,18 @@ import org.bukkit.command.CommandException;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import com.bekvon.bukkit.residence.Residence;
import com.bekvon.bukkit.residence.ResidenceMain;
import com.bekvon.bukkit.residence.chat.ChatChannel;
import cn.citycraft.PluginHelper.commands.BaseCommand;
public class CommandRc extends BaseCommand {
Residence plugin;
ResidenceMain plugin;
public CommandRc(final Residence plugin) {
public CommandRc(final ResidenceMain plugin) {
super("rc");
this.plugin = plugin;
setOnlyPlayerExecutable(true);
setOnlyPlayerExecutable();
}
@Override

View File

@@ -6,7 +6,7 @@ import org.bukkit.command.CommandException;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import com.bekvon.bukkit.residence.Residence;
import com.bekvon.bukkit.residence.ResidenceMain;
import com.bekvon.bukkit.residence.commandsub.CommandArea;
import com.bekvon.bukkit.residence.commandsub.CommandBank;
import com.bekvon.bukkit.residence.commandsub.CommandCheck;
@@ -55,9 +55,9 @@ import cn.citycraft.PluginHelper.commands.HandlerSubCommand;
public class CommandRes extends BaseCommand {
HandlerSubCommand hdsubcmd;
Residence plugin;
ResidenceMain plugin;
public CommandRes(final Residence plugin) {
public CommandRes(final ResidenceMain plugin) {
super("res", "residence", "resadmin");
this.plugin = plugin;
hdsubcmd = new HandlerSubCommand(plugin);

View File

@@ -9,14 +9,14 @@ import org.bukkit.command.CommandException;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import com.bekvon.bukkit.residence.Residence;
import com.bekvon.bukkit.residence.ResidenceMain;
import cn.citycraft.PluginHelper.commands.BaseCommand;
public class CommandResLoad extends BaseCommand {
Residence plugin;
ResidenceMain plugin;
public CommandResLoad(final Residence plugin) {
public CommandResLoad(final ResidenceMain plugin) {
super("resreload");
this.plugin = plugin;
}
@@ -30,7 +30,7 @@ public class CommandResLoad extends BaseCommand {
} catch (final Exception ex) {
sender.sendMessage(ChatColor.RED + "[Residence] 无法从配置保存文件重新载入数据, 请查看控制台异常信息!");
sender.sendMessage(ChatColor.RED + "[Residence] 异常: " + ex.getMessage());
Logger.getLogger(Residence.class.getName()).log(Level.SEVERE, null, ex);
Logger.getLogger(ResidenceMain.class.getName()).log(Level.SEVERE, null, ex);
}
}
}

View File

@@ -6,14 +6,14 @@ import org.bukkit.command.CommandException;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import com.bekvon.bukkit.residence.Residence;
import com.bekvon.bukkit.residence.ResidenceMain;
import cn.citycraft.PluginHelper.commands.BaseCommand;
public class CommandResReload extends BaseCommand {
Residence plugin;
ResidenceMain plugin;
public CommandResReload(final Residence plugin) {
public CommandResReload(final ResidenceMain plugin) {
super("resreload");
this.plugin = plugin;
}

View File

@@ -6,14 +6,14 @@ import org.bukkit.command.CommandException;
import org.bukkit.command.CommandSender;
import org.bukkit.command.ConsoleCommandSender;
import com.bekvon.bukkit.residence.Residence;
import com.bekvon.bukkit.residence.ResidenceMain;
import cn.citycraft.PluginHelper.commands.BaseCommand;
public class CommandResWorld extends BaseCommand {
Residence plugin;
ResidenceMain plugin;
public CommandResWorld(final Residence plugin) {
public CommandResWorld(final ResidenceMain plugin) {
super("resworld");
this.plugin = plugin;
setMinimumArguments(2);

View File

@@ -7,7 +7,7 @@ import org.bukkit.command.CommandException;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import com.bekvon.bukkit.residence.Residence;
import com.bekvon.bukkit.residence.ResidenceMain;
import com.bekvon.bukkit.residence.protection.ClaimedResidence;
import com.bekvon.bukkit.residence.protection.CuboidArea;
import com.bekvon.bukkit.residence.protection.ResidenceManager;
@@ -18,12 +18,12 @@ import com.sk89q.worldedit.bukkit.WorldEditPlugin;
import cn.citycraft.PluginHelper.commands.BaseCommand;
public class CommandArea extends BaseCommand {
Residence plugin;
ResidenceMain plugin;
public CommandArea(final Residence plugin) {
public CommandArea(final ResidenceMain plugin) {
super("area");
this.plugin = plugin;
setOnlyPlayerExecutable(true);
setOnlyPlayerExecutable();
setMinimumArguments(3);
setPossibleArguments("<list|listall|add|remove|replace> <领地名称> [区域名称]");
}

View File

@@ -6,7 +6,7 @@ import org.bukkit.command.CommandException;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import com.bekvon.bukkit.residence.Residence;
import com.bekvon.bukkit.residence.ResidenceMain;
import com.bekvon.bukkit.residence.protection.ClaimedResidence;
import com.bekvon.bukkit.residence.protection.ResidenceManager;
import com.bekvon.bukkit.residence.text.Language;
@@ -14,12 +14,12 @@ import com.bekvon.bukkit.residence.text.Language;
import cn.citycraft.PluginHelper.commands.BaseCommand;
public class CommandBank extends BaseCommand {
Residence plugin;
ResidenceMain plugin;
public CommandBank(final Residence plugin) {
public CommandBank(final ResidenceMain plugin) {
super("bank");
this.plugin = plugin;
setOnlyPlayerExecutable(true);
setOnlyPlayerExecutable();
setMinimumArguments(2);
setPossibleArguments("[deposit(存入)|withdraw(取出)] 金额");
}

View File

@@ -6,7 +6,7 @@ import org.bukkit.command.CommandException;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import com.bekvon.bukkit.residence.Residence;
import com.bekvon.bukkit.residence.ResidenceMain;
import com.bekvon.bukkit.residence.protection.ClaimedResidence;
import com.bekvon.bukkit.residence.protection.ResidenceManager;
import com.bekvon.bukkit.residence.text.Language;
@@ -14,12 +14,12 @@ import com.bekvon.bukkit.residence.text.Language;
import cn.citycraft.PluginHelper.commands.BaseCommand;
public class CommandCheck extends BaseCommand {
Residence plugin;
ResidenceMain plugin;
public CommandCheck(final Residence plugin) {
public CommandCheck(final ResidenceMain plugin) {
super("check");
this.plugin = plugin;
setOnlyPlayerExecutable(true);
setOnlyPlayerExecutable();
setMinimumArguments(2);
setPossibleArguments("<领地名称> <权限> [玩家]");
}

View File

@@ -6,7 +6,7 @@ import org.bukkit.command.CommandException;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import com.bekvon.bukkit.residence.Residence;
import com.bekvon.bukkit.residence.ResidenceMain;
import com.bekvon.bukkit.residence.protection.ClaimedResidence;
import com.bekvon.bukkit.residence.protection.ResidenceManager;
import com.bekvon.bukkit.residence.text.Language;
@@ -14,12 +14,12 @@ import com.bekvon.bukkit.residence.text.Language;
import cn.citycraft.PluginHelper.commands.BaseCommand;
public class CommandClearFlags extends BaseCommand {
Residence plugin;
ResidenceMain plugin;
public CommandClearFlags(final Residence plugin) {
public CommandClearFlags(final ResidenceMain plugin) {
super("clearflags");
this.plugin = plugin;
setOnlyPlayerExecutable(true);
setOnlyPlayerExecutable();
setMinimumArguments(1);
setPossibleArguments("<领地名称>");
}

View File

@@ -7,20 +7,20 @@ import org.bukkit.command.CommandException;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import com.bekvon.bukkit.residence.Residence;
import com.bekvon.bukkit.residence.ResidenceMain;
import com.bekvon.bukkit.residence.protection.ResidenceManager;
import com.bekvon.bukkit.residence.text.Language;
import cn.citycraft.PluginHelper.commands.BaseCommand;
public class CommandCompass extends BaseCommand {
Residence plugin;
ResidenceMain plugin;
public CommandCompass(final Residence plugin) {
public CommandCompass(final ResidenceMain plugin) {
super("compass", "cp");
this.plugin = plugin;
setDescription("切换指南针方向");
setOnlyPlayerExecutable(true);
setOnlyPlayerExecutable();
setPossibleArguments("[领地名称]");
}

View File

@@ -8,16 +8,16 @@ import org.bukkit.command.CommandException;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import com.bekvon.bukkit.residence.Residence;
import com.bekvon.bukkit.residence.ResidenceMain;
import com.bekvon.bukkit.residence.protection.ResidenceManager;
import com.bekvon.bukkit.residence.text.Language;
import cn.citycraft.PluginHelper.commands.BaseCommand;
public class CommandConfirm extends BaseCommand {
Residence plugin;
ResidenceMain plugin;
public CommandConfirm(final Residence plugin) {
public CommandConfirm(final ResidenceMain plugin) {
super("confirm");
this.plugin = plugin;
}

View File

@@ -6,7 +6,7 @@ import org.bukkit.command.CommandException;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import com.bekvon.bukkit.residence.Residence;
import com.bekvon.bukkit.residence.ResidenceMain;
import com.bekvon.bukkit.residence.protection.ResidenceManager;
import com.bekvon.bukkit.residence.selection.SelectionManager;
import com.bekvon.bukkit.residence.text.Language;
@@ -15,12 +15,12 @@ import com.sk89q.worldedit.bukkit.WorldEditPlugin;
import cn.citycraft.PluginHelper.commands.BaseCommand;
public class CommandCreate extends BaseCommand {
Residence plugin;
ResidenceMain plugin;
public CommandCreate(final Residence plugin) {
public CommandCreate(final ResidenceMain plugin) {
super("create", "new");
this.plugin = plugin;
setOnlyPlayerExecutable(true);
setOnlyPlayerExecutable();
setMinimumArguments(1);
setPossibleArguments("<领地名称>");
}

View File

@@ -6,19 +6,19 @@ import org.bukkit.command.CommandException;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import com.bekvon.bukkit.residence.Residence;
import com.bekvon.bukkit.residence.ResidenceMain;
import com.bekvon.bukkit.residence.protection.ResidenceManager;
import com.bekvon.bukkit.residence.text.Language;
import cn.citycraft.PluginHelper.commands.BaseCommand;
public class CommandCurrent extends BaseCommand {
Residence plugin;
ResidenceMain plugin;
public CommandCurrent(final Residence plugin) {
public CommandCurrent(final ResidenceMain plugin) {
super("current");
this.plugin = plugin;
setOnlyPlayerExecutable(true);
setOnlyPlayerExecutable();
}
@Override

View File

@@ -5,19 +5,19 @@ import org.bukkit.command.CommandException;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import com.bekvon.bukkit.residence.Residence;
import com.bekvon.bukkit.residence.ResidenceMain;
import com.bekvon.bukkit.residence.protection.ClaimedResidence;
import com.bekvon.bukkit.residence.protection.ResidenceManager;
import cn.citycraft.PluginHelper.commands.BaseCommand;
public class CommandDefault extends BaseCommand {
Residence plugin;
ResidenceMain plugin;
public CommandDefault(final Residence plugin) {
public CommandDefault(final ResidenceMain plugin) {
super("default");
this.plugin = plugin;
setOnlyPlayerExecutable(true);
setOnlyPlayerExecutable();
setMinimumArguments(1);
setPossibleArguments("<领地名称>");
}

View File

@@ -5,18 +5,18 @@ import org.bukkit.command.CommandException;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import com.bekvon.bukkit.residence.Residence;
import com.bekvon.bukkit.residence.ResidenceMain;
import com.bekvon.bukkit.residence.protection.ResidenceManager;
import cn.citycraft.PluginHelper.commands.BaseCommand;
public class CommandGive extends BaseCommand {
Residence plugin;
ResidenceMain plugin;
public CommandGive(final Residence plugin) {
public CommandGive(final ResidenceMain plugin) {
super("give");
this.plugin = plugin;
setOnlyPlayerExecutable(true);
setOnlyPlayerExecutable();
setMinimumArguments(2);
setPossibleArguments("<目标玩家> <赠送的领地>");
}

View File

@@ -6,7 +6,7 @@ import org.bukkit.command.CommandException;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import com.bekvon.bukkit.residence.Residence;
import com.bekvon.bukkit.residence.ResidenceMain;
import com.bekvon.bukkit.residence.protection.ClaimedResidence;
import com.bekvon.bukkit.residence.protection.ResidenceManager;
import com.bekvon.bukkit.residence.text.Language;
@@ -14,12 +14,12 @@ import com.bekvon.bukkit.residence.text.Language;
import cn.citycraft.PluginHelper.commands.BaseCommand;
public class CommandGset extends BaseCommand {
Residence plugin;
ResidenceMain plugin;
public CommandGset(final Residence plugin) {
public CommandGset(final ResidenceMain plugin) {
super("gset");
this.plugin = plugin;
setOnlyPlayerExecutable(true);
setOnlyPlayerExecutable();
setMinimumArguments(3);
setPossibleArguments("<领地名称(不写则为所在领地)> <组名称> <权限> <权限状态>");
}

View File

@@ -6,19 +6,19 @@ import org.bukkit.command.CommandException;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import com.bekvon.bukkit.residence.Residence;
import com.bekvon.bukkit.residence.ResidenceMain;
import com.bekvon.bukkit.residence.protection.ResidenceManager;
import com.bekvon.bukkit.residence.text.Language;
import cn.citycraft.PluginHelper.commands.BaseCommand;
public class CommandInfo extends BaseCommand {
Residence plugin;
ResidenceMain plugin;
public CommandInfo(final Residence plugin) {
public CommandInfo(final ResidenceMain plugin) {
super("info");
this.plugin = plugin;
setOnlyPlayerExecutable(true);
setOnlyPlayerExecutable();
}
@Override

View File

@@ -7,7 +7,7 @@ import org.bukkit.command.CommandException;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import com.bekvon.bukkit.residence.Residence;
import com.bekvon.bukkit.residence.ResidenceMain;
import com.bekvon.bukkit.residence.permissions.PermissionGroup;
import com.bekvon.bukkit.residence.protection.ClaimedResidence;
import com.bekvon.bukkit.residence.protection.ResidenceManager;
@@ -16,13 +16,13 @@ import com.bekvon.bukkit.residence.text.Language;
import cn.citycraft.PluginHelper.commands.BaseCommand;
public class CommandKick extends BaseCommand {
Residence plugin;
ResidenceMain plugin;
public CommandKick(final Residence plugin) {
public CommandKick(final ResidenceMain plugin) {
super("kick");
this.plugin = plugin;
setMinimumArguments(1);
setOnlyPlayerExecutable(true);
setOnlyPlayerExecutable();
setPossibleArguments("<目标玩家>");
setDescription("把玩家T出当前领地!");
}

View File

@@ -6,7 +6,7 @@ import org.bukkit.command.CommandException;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import com.bekvon.bukkit.residence.Residence;
import com.bekvon.bukkit.residence.ResidenceMain;
import com.bekvon.bukkit.residence.protection.ClaimedResidence;
import com.bekvon.bukkit.residence.protection.LeaseManager;
import com.bekvon.bukkit.residence.protection.ResidenceManager;
@@ -15,12 +15,12 @@ import com.bekvon.bukkit.residence.text.Language;
import cn.citycraft.PluginHelper.commands.BaseCommand;
public class CommandLease extends BaseCommand {
Residence plugin;
ResidenceMain plugin;
public CommandLease(final Residence plugin) {
public CommandLease(final ResidenceMain plugin) {
super("lease");
this.plugin = plugin;
setOnlyPlayerExecutable(true);
setOnlyPlayerExecutable();
setMinimumArguments(2);
setPossibleArguments("[renew/cost] [领地名]");
}

View File

@@ -5,18 +5,18 @@ import org.bukkit.command.CommandException;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import com.bekvon.bukkit.residence.Residence;
import com.bekvon.bukkit.residence.ResidenceMain;
import com.bekvon.bukkit.residence.permissions.PermissionManager;
import cn.citycraft.PluginHelper.commands.BaseCommand;
public class CommandLimits extends BaseCommand {
Residence plugin;
ResidenceMain plugin;
public CommandLimits(final Residence plugin) {
public CommandLimits(final ResidenceMain plugin) {
super("limits");
this.plugin = plugin;
setOnlyPlayerExecutable(true);
setOnlyPlayerExecutable();
}
@Override

View File

@@ -5,18 +5,18 @@ import org.bukkit.command.CommandException;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import com.bekvon.bukkit.residence.Residence;
import com.bekvon.bukkit.residence.ResidenceMain;
import com.bekvon.bukkit.residence.protection.ResidenceManager;
import cn.citycraft.PluginHelper.commands.BaseCommand;
public class CommandList extends BaseCommand {
Residence plugin;
ResidenceMain plugin;
public CommandList(final Residence plugin) {
public CommandList(final ResidenceMain plugin) {
super("list");
this.plugin = plugin;
setOnlyPlayerExecutable(true);
setOnlyPlayerExecutable();
}
@Override

View File

@@ -5,18 +5,18 @@ import org.bukkit.command.CommandException;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import com.bekvon.bukkit.residence.Residence;
import com.bekvon.bukkit.residence.ResidenceMain;
import com.bekvon.bukkit.residence.protection.ResidenceManager;
import cn.citycraft.PluginHelper.commands.BaseCommand;
public class CommandListAll extends BaseCommand {
Residence plugin;
ResidenceMain plugin;
public CommandListAll(final Residence plugin) {
public CommandListAll(final ResidenceMain plugin) {
super("listall");
this.plugin = plugin;
setOnlyPlayerExecutable(true);
setOnlyPlayerExecutable();
}
@Override

View File

@@ -6,19 +6,19 @@ import org.bukkit.command.CommandException;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import com.bekvon.bukkit.residence.Residence;
import com.bekvon.bukkit.residence.ResidenceMain;
import com.bekvon.bukkit.residence.protection.ResidenceManager;
import com.bekvon.bukkit.residence.text.Language;
import cn.citycraft.PluginHelper.commands.BaseCommand;
public class CommandListAllHidden extends BaseCommand {
Residence plugin;
ResidenceMain plugin;
public CommandListAllHidden(final Residence plugin) {
public CommandListAllHidden(final ResidenceMain plugin) {
super("listallhidden");
this.plugin = plugin;
setOnlyPlayerExecutable(true);
setOnlyPlayerExecutable();
}
@Override

View File

@@ -6,19 +6,19 @@ import org.bukkit.command.CommandException;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import com.bekvon.bukkit.residence.Residence;
import com.bekvon.bukkit.residence.ResidenceMain;
import com.bekvon.bukkit.residence.protection.ResidenceManager;
import com.bekvon.bukkit.residence.text.Language;
import cn.citycraft.PluginHelper.commands.BaseCommand;
public class CommandListHidden extends BaseCommand {
Residence plugin;
ResidenceMain plugin;
public CommandListHidden(final Residence plugin) {
public CommandListHidden(final ResidenceMain plugin) {
super("listhidden");
this.plugin = plugin;
setOnlyPlayerExecutable(true);
setOnlyPlayerExecutable();
}
@Override

View File

@@ -6,7 +6,7 @@ import org.bukkit.command.CommandException;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import com.bekvon.bukkit.residence.Residence;
import com.bekvon.bukkit.residence.ResidenceMain;
import com.bekvon.bukkit.residence.protection.FlagPermissions;
import com.bekvon.bukkit.residence.protection.PermissionListManager;
import com.bekvon.bukkit.residence.text.Language;
@@ -14,13 +14,13 @@ import com.bekvon.bukkit.residence.text.Language;
import cn.citycraft.PluginHelper.commands.BaseCommand;
public class CommandLists extends BaseCommand {
Residence plugin;
ResidenceMain plugin;
public CommandLists(final Residence plugin) {
public CommandLists(final ResidenceMain plugin) {
super("lists");
this.plugin = plugin;
setMinimumArguments(1);
setOnlyPlayerExecutable(true);
setOnlyPlayerExecutable();
setPossibleArguments("用法: /res lists ? 查看帮助");
}

View File

@@ -7,7 +7,7 @@ import org.bukkit.command.CommandException;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import com.bekvon.bukkit.residence.Residence;
import com.bekvon.bukkit.residence.ResidenceMain;
import com.bekvon.bukkit.residence.protection.ClaimedResidence;
import com.bekvon.bukkit.residence.protection.ResidenceManager;
import com.bekvon.bukkit.residence.text.Language;
@@ -15,12 +15,12 @@ import com.bekvon.bukkit.residence.text.Language;
import cn.citycraft.PluginHelper.commands.BaseCommand;
public class CommandLset extends BaseCommand {
Residence plugin;
ResidenceMain plugin;
public CommandLset(final Residence plugin) {
public CommandLset(final ResidenceMain plugin) {
super("lset");
this.plugin = plugin;
setOnlyPlayerExecutable(true);
setOnlyPlayerExecutable();
setMinimumArguments(2);
setPossibleArguments("<领地名称> [blacklist(bl)/ignorelist(il)||info] [material]");
}

View File

@@ -6,7 +6,7 @@ import org.bukkit.command.CommandException;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import com.bekvon.bukkit.residence.Residence;
import com.bekvon.bukkit.residence.ResidenceMain;
import com.bekvon.bukkit.residence.economy.TransactionManager;
import com.bekvon.bukkit.residence.economy.rent.RentManager;
import com.bekvon.bukkit.residence.manager.ConfigManager;
@@ -21,13 +21,13 @@ public class CommandMarket extends BaseCommand {
ConfigManager cmanager;
PermissionManager gmanager;
Language language;
Residence plugin;
ResidenceMain plugin;
RentManager rentmanager;
ResidenceManager rmanager;
SelectionManager smanager;
TransactionManager tmanager;
public CommandMarket(final Residence plugin) {
public CommandMarket(final ResidenceMain plugin) {
super("market");
this.plugin = plugin;
rmanager = plugin.getResidenceManager();
@@ -37,7 +37,7 @@ public class CommandMarket extends BaseCommand {
rentmanager = plugin.getRentManager();
cmanager = plugin.getConfigManager();
tmanager = plugin.getTransactionManager();
setOnlyPlayerExecutable(true);
setOnlyPlayerExecutable();
}
@Override

View File

@@ -7,18 +7,18 @@ import org.bukkit.command.CommandException;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import com.bekvon.bukkit.residence.Residence;
import com.bekvon.bukkit.residence.ResidenceMain;
import com.bekvon.bukkit.residence.text.Language;
import cn.citycraft.PluginHelper.commands.BaseCommand;
public class CommandMaterial extends BaseCommand {
Residence plugin;
ResidenceMain plugin;
public CommandMaterial(final Residence plugin) {
public CommandMaterial(final ResidenceMain plugin) {
super("material");
this.plugin = plugin;
setOnlyPlayerExecutable(true);
setOnlyPlayerExecutable();
setMinimumArguments(1);
}

View File

@@ -6,7 +6,7 @@ import org.bukkit.command.CommandException;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import com.bekvon.bukkit.residence.Residence;
import com.bekvon.bukkit.residence.ResidenceMain;
import com.bekvon.bukkit.residence.protection.ClaimedResidence;
import com.bekvon.bukkit.residence.protection.ResidenceManager;
import com.bekvon.bukkit.residence.text.Language;
@@ -15,13 +15,13 @@ import cn.citycraft.PluginHelper.commands.BaseCommand;
import cn.citycraft.PluginHelper.utils.StringUtil;
public class CommandMessage extends BaseCommand {
Residence plugin;
ResidenceMain plugin;
public CommandMessage(final Residence plugin) {
public CommandMessage(final ResidenceMain plugin) {
super("message");
this.plugin = plugin;
setMinimumArguments(1);
setOnlyPlayerExecutable(true);
setOnlyPlayerExecutable();
setPossibleArguments("[enter|leave] [消息(移除则留空)]");
}

View File

@@ -5,18 +5,18 @@ import org.bukkit.command.CommandException;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import com.bekvon.bukkit.residence.Residence;
import com.bekvon.bukkit.residence.ResidenceMain;
import com.bekvon.bukkit.residence.protection.ResidenceManager;
import cn.citycraft.PluginHelper.commands.BaseCommand;
public class CommandMirror extends BaseCommand {
Residence plugin;
ResidenceMain plugin;
public CommandMirror(final Residence plugin) {
public CommandMirror(final ResidenceMain plugin) {
super("mirror");
this.plugin = plugin;
setOnlyPlayerExecutable(true);
setOnlyPlayerExecutable();
setMinimumArguments(2);
}

View File

@@ -6,7 +6,7 @@ import org.bukkit.command.CommandException;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import com.bekvon.bukkit.residence.Residence;
import com.bekvon.bukkit.residence.ResidenceMain;
import com.bekvon.bukkit.residence.protection.ClaimedResidence;
import com.bekvon.bukkit.residence.protection.ResidenceManager;
import com.bekvon.bukkit.residence.text.Language;
@@ -14,12 +14,12 @@ import com.bekvon.bukkit.residence.text.Language;
import cn.citycraft.PluginHelper.commands.BaseCommand;
public class CommandPset extends BaseCommand {
Residence plugin;
ResidenceMain plugin;
public CommandPset(final Residence plugin) {
public CommandPset(final ResidenceMain plugin) {
super("pset");
this.plugin = plugin;
setOnlyPlayerExecutable(true);
setOnlyPlayerExecutable();
setMinimumArguments(2);
setPossibleArguments("<residence> [player] [flag|removeall] [true/false/remove]");
}

View File

@@ -9,7 +9,7 @@ import org.bukkit.command.CommandException;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import com.bekvon.bukkit.residence.Residence;
import com.bekvon.bukkit.residence.ResidenceMain;
import com.bekvon.bukkit.residence.protection.ClaimedResidence;
import com.bekvon.bukkit.residence.protection.ResidenceManager;
import com.bekvon.bukkit.residence.text.Language;
@@ -17,9 +17,9 @@ import com.bekvon.bukkit.residence.text.Language;
import cn.citycraft.PluginHelper.commands.BaseCommand;
public class CommandRemove extends BaseCommand {
Residence plugin;
ResidenceMain plugin;
public CommandRemove(final Residence plugin) {
public CommandRemove(final ResidenceMain plugin) {
super("remove", "delete");
this.plugin = plugin;
}

View File

@@ -6,20 +6,20 @@ import org.bukkit.command.CommandException;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import com.bekvon.bukkit.residence.Residence;
import com.bekvon.bukkit.residence.ResidenceMain;
import com.bekvon.bukkit.residence.protection.ResidenceManager;
import com.bekvon.bukkit.residence.text.Language;
import cn.citycraft.PluginHelper.commands.BaseCommand;
public class CommandRemoveAll extends BaseCommand {
Residence plugin;
ResidenceMain plugin;
public CommandRemoveAll(final Residence plugin) {
public CommandRemoveAll(final ResidenceMain plugin) {
super("removeall");
this.plugin = plugin;
setMinimumArguments(1);
setOnlyPlayerExecutable(true);
setOnlyPlayerExecutable();
}
@Override

View File

@@ -5,18 +5,18 @@ import org.bukkit.command.CommandException;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import com.bekvon.bukkit.residence.Residence;
import com.bekvon.bukkit.residence.ResidenceMain;
import com.bekvon.bukkit.residence.protection.ResidenceManager;
import cn.citycraft.PluginHelper.commands.BaseCommand;
public class CommandRename extends BaseCommand {
Residence plugin;
ResidenceMain plugin;
public CommandRename(final Residence plugin) {
public CommandRename(final ResidenceMain plugin) {
super("rename");
this.plugin = plugin;
setOnlyPlayerExecutable(true);
setOnlyPlayerExecutable();
setMinimumArguments(2);
}

View File

@@ -6,7 +6,7 @@ import org.bukkit.command.CommandException;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import com.bekvon.bukkit.residence.Residence;
import com.bekvon.bukkit.residence.ResidenceMain;
import com.bekvon.bukkit.residence.protection.ClaimedResidence;
import com.bekvon.bukkit.residence.protection.ResidenceManager;
import com.bekvon.bukkit.residence.text.Language;
@@ -14,12 +14,12 @@ import com.bekvon.bukkit.residence.text.Language;
import cn.citycraft.PluginHelper.commands.BaseCommand;
public class CommandRenameArea extends BaseCommand {
Residence plugin;
ResidenceMain plugin;
public CommandRenameArea(final Residence plugin) {
public CommandRenameArea(final ResidenceMain plugin) {
super("renamearea");
this.plugin = plugin;
setOnlyPlayerExecutable(true);
setOnlyPlayerExecutable();
setMinimumArguments(3);
}

View File

@@ -10,7 +10,7 @@ import org.bukkit.command.CommandException;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import com.bekvon.bukkit.residence.Residence;
import com.bekvon.bukkit.residence.ResidenceMain;
import com.bekvon.bukkit.residence.permissions.PermissionGroup;
import com.bekvon.bukkit.residence.protection.ClaimedResidence;
import com.bekvon.bukkit.residence.protection.CuboidArea;
@@ -21,13 +21,13 @@ import com.bekvon.bukkit.residence.text.Language;
import cn.citycraft.PluginHelper.commands.BaseCommand;
public class CommandSelect extends BaseCommand {
Residence plugin;
ResidenceMain plugin;
public CommandSelect(final Residence plugin) {
public CommandSelect(final ResidenceMain plugin) {
super("select");
this.plugin = plugin;
setMinimumArguments(1);
setOnlyPlayerExecutable(true);
setOnlyPlayerExecutable();
setPossibleArguments("请使用/res select ? 查看帮助");
setPermission("residence.select");
}
@@ -61,7 +61,7 @@ public class CommandSelect extends BaseCommand {
smanager.showSelectionInfo(player);
return;
} catch (final Exception ex) {
Logger.getLogger(Residence.class.getName()).log(Level.SEVERE, null, ex);
Logger.getLogger(ResidenceMain.class.getName()).log(Level.SEVERE, null, ex);
return;
}
} else if (smanager.worldEdit(player)) {
@@ -69,7 +69,7 @@ public class CommandSelect extends BaseCommand {
smanager.showSelectionInfo(player);
return;
} catch (final Exception ex) {
Logger.getLogger(Residence.class.getName()).log(Level.SEVERE, null, ex);
Logger.getLogger(ResidenceMain.class.getName()).log(Level.SEVERE, null, ex);
return;
}
}

View File

@@ -6,7 +6,7 @@ import org.bukkit.command.CommandException;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import com.bekvon.bukkit.residence.Residence;
import com.bekvon.bukkit.residence.ResidenceMain;
import com.bekvon.bukkit.residence.protection.ClaimedResidence;
import com.bekvon.bukkit.residence.protection.ResidenceManager;
import com.bekvon.bukkit.residence.text.Language;
@@ -14,12 +14,12 @@ import com.bekvon.bukkit.residence.text.Language;
import cn.citycraft.PluginHelper.commands.BaseCommand;
public class CommandServer extends BaseCommand {
Residence plugin;
ResidenceMain plugin;
public CommandServer(final Residence plugin) {
public CommandServer(final ResidenceMain plugin) {
super("server");
this.plugin = plugin;
setOnlyPlayerExecutable(true);
setOnlyPlayerExecutable();
setMinimumArguments(1);
}

View File

@@ -6,7 +6,7 @@ import org.bukkit.command.CommandException;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import com.bekvon.bukkit.residence.Residence;
import com.bekvon.bukkit.residence.ResidenceMain;
import com.bekvon.bukkit.residence.protection.ClaimedResidence;
import com.bekvon.bukkit.residence.protection.ResidenceManager;
import com.bekvon.bukkit.residence.text.Language;
@@ -14,12 +14,12 @@ import com.bekvon.bukkit.residence.text.Language;
import cn.citycraft.PluginHelper.commands.BaseCommand;
public class CommandSet extends BaseCommand {
Residence plugin;
ResidenceMain plugin;
public CommandSet(final Residence plugin) {
public CommandSet(final ResidenceMain plugin) {
super("set");
this.plugin = plugin;
setOnlyPlayerExecutable(true);
setOnlyPlayerExecutable();
setMinimumArguments(2);
setPossibleArguments("<residence> [flag] [true/false/remove]");
}

View File

@@ -5,7 +5,7 @@ import org.bukkit.command.Command;
import org.bukkit.command.CommandException;
import org.bukkit.command.CommandSender;
import com.bekvon.bukkit.residence.Residence;
import com.bekvon.bukkit.residence.ResidenceMain;
import com.bekvon.bukkit.residence.protection.ClaimedResidence;
import com.bekvon.bukkit.residence.protection.ResidenceManager;
import com.bekvon.bukkit.residence.text.Language;
@@ -13,9 +13,9 @@ import com.bekvon.bukkit.residence.text.Language;
import cn.citycraft.PluginHelper.commands.BaseCommand;
public class CommandSetOwner extends BaseCommand {
Residence plugin;
ResidenceMain plugin;
public CommandSetOwner(final Residence plugin) {
public CommandSetOwner(final ResidenceMain plugin) {
super("setowner");
this.plugin = plugin;
setMinimumArguments(2);

View File

@@ -6,7 +6,7 @@ import org.bukkit.command.CommandException;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import com.bekvon.bukkit.residence.Residence;
import com.bekvon.bukkit.residence.ResidenceMain;
import com.bekvon.bukkit.residence.protection.ClaimedResidence;
import com.bekvon.bukkit.residence.protection.ResidenceManager;
import com.bekvon.bukkit.residence.text.Language;
@@ -14,12 +14,12 @@ import com.bekvon.bukkit.residence.text.Language;
import cn.citycraft.PluginHelper.commands.BaseCommand;
public class CommandSubList extends BaseCommand {
Residence plugin;
ResidenceMain plugin;
public CommandSubList(final Residence plugin) {
public CommandSubList(final ResidenceMain plugin) {
super("sublist");
this.plugin = plugin;
setOnlyPlayerExecutable(true);
setOnlyPlayerExecutable();
}
@Override

View File

@@ -7,7 +7,7 @@ import org.bukkit.command.CommandException;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import com.bekvon.bukkit.residence.Residence;
import com.bekvon.bukkit.residence.ResidenceMain;
import com.bekvon.bukkit.residence.protection.ClaimedResidence;
import com.bekvon.bukkit.residence.protection.ResidenceManager;
import com.bekvon.bukkit.residence.selection.SelectionManager;
@@ -17,12 +17,12 @@ import com.sk89q.worldedit.bukkit.WorldEditPlugin;
import cn.citycraft.PluginHelper.commands.BaseCommand;
public class CommandSubZone extends BaseCommand {
Residence plugin;
ResidenceMain plugin;
public CommandSubZone(final Residence plugin) {
public CommandSubZone(final ResidenceMain plugin) {
super("subzone", "sz");
this.plugin = plugin;
setOnlyPlayerExecutable(true);
setOnlyPlayerExecutable();
setMinimumArguments(1);
setPossibleArguments("<领地名> [附属领地名]");
}

View File

@@ -7,19 +7,19 @@ import org.bukkit.command.CommandException;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import com.bekvon.bukkit.residence.Residence;
import com.bekvon.bukkit.residence.ResidenceMain;
import com.bekvon.bukkit.residence.manager.ConfigManager;
import com.bekvon.bukkit.residence.text.Language;
import cn.citycraft.PluginHelper.commands.BaseCommand;
public class CommandTool extends BaseCommand {
Residence plugin;
ResidenceMain plugin;
public CommandTool(final Residence plugin) {
public CommandTool(final ResidenceMain plugin) {
super("tool");
this.plugin = plugin;
setOnlyPlayerExecutable(true);
setOnlyPlayerExecutable();
}
@SuppressWarnings("deprecation")

View File

@@ -6,7 +6,7 @@ import org.bukkit.command.CommandException;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import com.bekvon.bukkit.residence.Residence;
import com.bekvon.bukkit.residence.ResidenceMain;
import com.bekvon.bukkit.residence.protection.ClaimedResidence;
import com.bekvon.bukkit.residence.protection.ResidenceManager;
import com.bekvon.bukkit.residence.text.Language;
@@ -14,12 +14,12 @@ import com.bekvon.bukkit.residence.text.Language;
import cn.citycraft.PluginHelper.commands.BaseCommand;
public class CommandTp extends BaseCommand {
Residence plugin;
ResidenceMain plugin;
public CommandTp(final Residence plugin) {
public CommandTp(final ResidenceMain plugin) {
super("tp");
this.plugin = plugin;
setOnlyPlayerExecutable(true);
setOnlyPlayerExecutable();
setMinimumArguments(1);
}

View File

@@ -6,7 +6,7 @@ import org.bukkit.command.CommandException;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import com.bekvon.bukkit.residence.Residence;
import com.bekvon.bukkit.residence.ResidenceMain;
import com.bekvon.bukkit.residence.protection.ClaimedResidence;
import com.bekvon.bukkit.residence.protection.ResidenceManager;
import com.bekvon.bukkit.residence.text.Language;
@@ -14,12 +14,12 @@ import com.bekvon.bukkit.residence.text.Language;
import cn.citycraft.PluginHelper.commands.BaseCommand;
public class CommandTpSet extends BaseCommand {
Residence plugin;
ResidenceMain plugin;
public CommandTpSet(final Residence plugin) {
public CommandTpSet(final ResidenceMain plugin) {
super("tpset");
this.plugin = plugin;
setOnlyPlayerExecutable(true);
setOnlyPlayerExecutable();
}
@Override

View File

@@ -6,7 +6,7 @@ import org.bukkit.command.CommandException;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import com.bekvon.bukkit.residence.Residence;
import com.bekvon.bukkit.residence.ResidenceMain;
import com.bekvon.bukkit.residence.permissions.PermissionGroup;
import com.bekvon.bukkit.residence.permissions.PermissionManager;
import com.bekvon.bukkit.residence.protection.ClaimedResidence;
@@ -16,12 +16,12 @@ import com.bekvon.bukkit.residence.text.Language;
import cn.citycraft.PluginHelper.commands.BaseCommand;
public class CommandUnStuck extends BaseCommand {
Residence plugin;
ResidenceMain plugin;
public CommandUnStuck(final Residence plugin) {
public CommandUnStuck(final ResidenceMain plugin) {
super("unstuck");
this.plugin = plugin;
setOnlyPlayerExecutable(true);
setOnlyPlayerExecutable();
}
@Override

View File

@@ -7,14 +7,14 @@ import org.bukkit.command.Command;
import org.bukkit.command.CommandException;
import org.bukkit.command.CommandSender;
import com.bekvon.bukkit.residence.Residence;
import com.bekvon.bukkit.residence.ResidenceMain;
import cn.citycraft.PluginHelper.commands.BaseCommand;
public class CommandVersion extends BaseCommand {
Residence plugin;
ResidenceMain plugin;
public CommandVersion(Residence plugin) {
public CommandVersion(ResidenceMain plugin) {
super("version");
this.plugin = plugin;
}

View File

@@ -8,7 +8,7 @@ package com.bekvon.bukkit.residence.economy;
import org.bukkit.ChatColor;
import org.bukkit.entity.Player;
import com.bekvon.bukkit.residence.Residence;
import com.bekvon.bukkit.residence.ResidenceMain;
import com.bekvon.bukkit.residence.protection.ClaimedResidence;
/**
@@ -16,11 +16,11 @@ import com.bekvon.bukkit.residence.protection.ClaimedResidence;
* @author Administrator
*/
public class ResidenceBank {
Residence plugin;
ResidenceMain plugin;
ClaimedResidence res;
int storedMoney;
public ResidenceBank(final Residence plugin, final ClaimedResidence parent) {
public ResidenceBank(final ResidenceMain plugin, final ClaimedResidence parent) {
this.plugin = plugin;
storedMoney = 0;
res = parent;

View File

@@ -15,7 +15,7 @@ import java.util.Set;
import org.bukkit.ChatColor;
import org.bukkit.entity.Player;
import com.bekvon.bukkit.residence.Residence;
import com.bekvon.bukkit.residence.ResidenceMain;
import com.bekvon.bukkit.residence.permissions.PermissionGroup;
import com.bekvon.bukkit.residence.permissions.PermissionManager;
import com.bekvon.bukkit.residence.protection.ClaimedResidence;
@@ -30,16 +30,16 @@ public class TransactionManager {
private Map<String, Integer> sellAmount;
PermissionManager gmanager;
ResidenceManager manager;
Residence plugin;
ResidenceMain plugin;
public TransactionManager(final Residence plugin, final ResidenceManager m, final PermissionManager g) {
public TransactionManager(final ResidenceMain plugin, final ResidenceManager m, final PermissionManager g) {
this.plugin = plugin;
gmanager = g;
manager = m;
sellAmount = Collections.synchronizedMap(new HashMap<String, Integer>());
}
public static boolean chargeEconomyMoney(final Residence plugin, final Player player, final int amount) {
public static boolean chargeEconomyMoney(final ResidenceMain plugin, final Player player, final int amount) {
final EconomyInterface econ = plugin.getEconomyManager();
if (econ == null) {
player.sendMessage(ChatColor.RED + plugin.getLanguage().getPhrase("MarketDisabled"));
@@ -56,7 +56,7 @@ public class TransactionManager {
}
@SuppressWarnings({ "unchecked", "rawtypes" })
public static TransactionManager load(final Residence plugin, final Map root, final PermissionManager p, final ResidenceManager r) {
public static TransactionManager load(final ResidenceMain plugin, final Map root, final PermissionManager p, final ResidenceManager r) {
final TransactionManager tman = new TransactionManager(plugin, r, p);
if (root != null) {
tman.sellAmount = root;

View File

@@ -16,7 +16,7 @@ import org.bukkit.ChatColor;
import org.bukkit.entity.Player;
import org.bukkit.plugin.PluginManager;
import com.bekvon.bukkit.residence.Residence;
import com.bekvon.bukkit.residence.ResidenceMain;
import com.bekvon.bukkit.residence.event.ResidenceRentEvent;
import com.bekvon.bukkit.residence.event.ResidenceRentEvent.RentEventType;
import com.bekvon.bukkit.residence.permissions.PermissionGroup;
@@ -28,12 +28,12 @@ import com.bekvon.bukkit.residence.protection.FlagPermissions.FlagState;
* @author Administrator
*/
public class RentManager {
protected Residence plugin;
protected ResidenceMain plugin;
protected PluginManager pm;
protected Map<String, RentableLand> rentableLand;
protected Map<String, RentedLand> rentedLand;
public RentManager(final Residence plugin) {
public RentManager(final ResidenceMain plugin) {
this.plugin = plugin;
pm = plugin.getServer().getPluginManager();
rentedLand = new HashMap<String, RentedLand>();
@@ -41,7 +41,7 @@ public class RentManager {
}
@SuppressWarnings("unchecked")
public static RentManager load(final Residence plugin, final Map<String, Object> root) {
public static RentManager load(final ResidenceMain plugin, final Map<String, Object> root) {
final RentManager rentManager = new RentManager(plugin);
if (root != null) {
final Map<String, Object> rentables = (Map<String, Object>) root.get("Rentables");

View File

@@ -11,7 +11,7 @@ import org.bukkit.ChatColor;
import org.bukkit.Material;
import org.bukkit.entity.Player;
import com.bekvon.bukkit.residence.Residence;
import com.bekvon.bukkit.residence.ResidenceMain;
import com.bekvon.bukkit.residence.permissions.PermissionGroup;
import com.bekvon.bukkit.residence.protection.ClaimedResidence;
@@ -20,20 +20,20 @@ import com.bekvon.bukkit.residence.protection.ClaimedResidence;
* @author Administrator
*/
public class ResidenceItemList extends ItemList {
Residence plugin;
ResidenceMain plugin;
ClaimedResidence res;
public ResidenceItemList(final Residence plugin, final ClaimedResidence parent, final ListType type) {
public ResidenceItemList(final ResidenceMain plugin, final ClaimedResidence parent, final ListType type) {
super(type);
this.plugin = plugin;
res = parent;
}
private ResidenceItemList(final Residence plugin) {
private ResidenceItemList(final ResidenceMain plugin) {
this.plugin = plugin;
}
public static ResidenceItemList load(final Residence plugin, final ClaimedResidence parent, final Map<String, Object> map) {
public static ResidenceItemList load(final ResidenceMain plugin, final ClaimedResidence parent, final Map<String, Object> map) {
final ResidenceItemList newlist = new ResidenceItemList(plugin);
newlist.res = parent;
return (ResidenceItemList) ItemList.load(map, newlist);

View File

@@ -23,7 +23,7 @@ import org.bukkit.event.block.BlockPistonRetractEvent;
import org.bukkit.event.block.BlockPlaceEvent;
import org.bukkit.event.block.BlockSpreadEvent;
import com.bekvon.bukkit.residence.Residence;
import com.bekvon.bukkit.residence.ResidenceMain;
import com.bekvon.bukkit.residence.protection.ClaimedResidence;
import com.bekvon.bukkit.residence.protection.FlagPermissions;
@@ -32,9 +32,9 @@ import com.bekvon.bukkit.residence.protection.FlagPermissions;
* @author Administrator
*/
public class ResidenceBlockListener implements Listener {
Residence plugin;
ResidenceMain plugin;
public ResidenceBlockListener(final Residence plugin) {
public ResidenceBlockListener(final ResidenceMain plugin) {
this.plugin = plugin;
}

View File

@@ -37,7 +37,7 @@ import org.bukkit.event.hanging.HangingBreakByEntityEvent;
import org.bukkit.event.hanging.HangingBreakEvent;
import org.bukkit.event.hanging.HangingPlaceEvent;
import com.bekvon.bukkit.residence.Residence;
import com.bekvon.bukkit.residence.ResidenceMain;
import com.bekvon.bukkit.residence.manager.EntityManager;
import com.bekvon.bukkit.residence.protection.ClaimedResidence;
import com.bekvon.bukkit.residence.protection.FlagPermissions;
@@ -48,9 +48,9 @@ import com.bekvon.bukkit.residence.protection.FlagPermissions;
*/
public class ResidenceEntityListener implements Listener {
EntityManager entitymanager;
Residence plugin;
ResidenceMain plugin;
public ResidenceEntityListener(final Residence plugin) {
public ResidenceEntityListener(final ResidenceMain plugin) {
this.plugin = plugin;
this.entitymanager = plugin.getEntityManager();
}

View File

@@ -37,7 +37,7 @@ import org.bukkit.event.player.PlayerTeleportEvent;
import org.bukkit.event.player.PlayerTeleportEvent.TeleportCause;
import org.bukkit.plugin.Plugin;
import com.bekvon.bukkit.residence.Residence;
import com.bekvon.bukkit.residence.ResidenceMain;
import com.bekvon.bukkit.residence.chat.ChatChannel;
import com.bekvon.bukkit.residence.event.ResidenceChangedEvent;
import com.bekvon.bukkit.residence.permissions.PermissionGroup;
@@ -60,9 +60,9 @@ public class ResidencePlayerListener implements Listener {
protected Map<String, Long> lastUpdate;
protected int minUpdateTime;
protected List<String> playerToggleChat;
Residence plugin;
ResidenceMain plugin;
public ResidencePlayerListener(final Residence plugin) {
public ResidencePlayerListener(final ResidenceMain plugin) {
this.plugin = plugin;
currentRes = new HashMap<String, String>();
lastUpdate = new HashMap<String, Long>();

View File

@@ -14,7 +14,7 @@ import org.bukkit.event.EventPriority;
import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerInteractAtEntityEvent;
import com.bekvon.bukkit.residence.Residence;
import com.bekvon.bukkit.residence.ResidenceMain;
import com.bekvon.bukkit.residence.protection.FlagPermissions;
/**
@@ -22,9 +22,9 @@ import com.bekvon.bukkit.residence.protection.FlagPermissions;
* @author Administrator
*/
public class ResidencePlayerListener_1_8 implements Listener {
Residence plugin;
ResidenceMain plugin;
public ResidencePlayerListener_1_8(final Residence plugin) {
public ResidencePlayerListener_1_8(final ResidenceMain plugin) {
this.plugin = plugin;
}

View File

@@ -11,14 +11,14 @@ import org.bukkit.event.block.BlockPhysicsEvent;
import org.bukkit.event.player.PlayerInteractEvent;
import org.bukkit.inventory.ItemStack;
import com.bekvon.bukkit.residence.Residence;
import com.bekvon.bukkit.residence.ResidenceMain;
import com.bekvon.bukkit.residence.protection.ClaimedResidence;
import com.bekvon.bukkit.residence.protection.FlagPermissions;
public class ResidenceBugFix implements Listener {
Residence plugin;
ResidenceMain plugin;
public ResidenceBugFix(final Residence plugin) {
public ResidenceBugFix(final ResidenceMain plugin) {
this.plugin = plugin;
plugin.getLogger().info("防刷甘蔗补丁已加载...");
plugin.getLogger().info("防刷铁轨补丁已加载...");

View File

@@ -9,16 +9,16 @@ import org.bukkit.event.EventPriority;
import org.bukkit.event.Listener;
import org.bukkit.event.entity.EntityDamageByEntityEvent;
import com.bekvon.bukkit.residence.Residence;
import com.bekvon.bukkit.residence.ResidenceMain;
import com.bekvon.bukkit.residence.manager.EntityManager;
import com.bekvon.bukkit.residence.protection.ClaimedResidence;
import com.bekvon.bukkit.residence.protection.FlagPermissions;
public class ResidenceAnimalKillingListener implements Listener {
EntityManager entitymanager;
Residence plugin;
ResidenceMain plugin;
public ResidenceAnimalKillingListener(final Residence plugin) {
public ResidenceAnimalKillingListener(final ResidenceMain plugin) {
this.plugin = plugin;
this.entitymanager = plugin.getEntityManager();
FlagPermissions.addFlag("animalkilling");

View File

@@ -10,7 +10,7 @@ import org.bukkit.event.Listener;
import org.bukkit.event.entity.EntityDamageEvent;
import org.bukkit.event.entity.EntityDamageEvent.DamageCause;
import com.bekvon.bukkit.residence.Residence;
import com.bekvon.bukkit.residence.ResidenceMain;
import com.bekvon.bukkit.residence.event.ResidenceChangedEvent;
import com.bekvon.bukkit.residence.event.ResidenceDeleteEvent;
import com.bekvon.bukkit.residence.event.ResidenceFlagChangeEvent;
@@ -21,9 +21,9 @@ import com.bekvon.bukkit.residence.protection.ResidencePermissions;
public class ResidenceFlyListener implements Listener {
HashMap<Player, Player> fall = new HashMap<Player, Player>();
Residence plugin;
ResidenceMain plugin;
public ResidenceFlyListener(final Residence plugin) {
public ResidenceFlyListener(final ResidenceMain plugin) {
this.plugin = plugin;
FlagPermissions.addFlag("fly");
FlagPermissions.addResidenceOnlyFlag("fly");

View File

@@ -13,7 +13,7 @@ import org.bukkit.Material;
import org.bukkit.configuration.ConfigurationSection;
import org.bukkit.configuration.file.FileConfiguration;
import com.bekvon.bukkit.residence.Residence;
import com.bekvon.bukkit.residence.ResidenceMain;
import com.bekvon.bukkit.residence.protection.FlagPermissions;
/**
@@ -50,7 +50,7 @@ public class ConfigManager {
protected int minMoveUpdate;
protected String multiworldPlugin;
protected String namefix;
protected Residence plugin;
protected ResidenceMain plugin;
protected boolean preventBuildInRent;
protected int rentCheckInterval;
protected int selectionToolId;
@@ -59,7 +59,7 @@ public class ConfigManager {
protected boolean stopOnSaveError;
protected boolean useLeases;
public ConfigManager(final Residence plugin) {
public ConfigManager(final ResidenceMain plugin) {
this.plugin = plugin;
globalCreatorDefaults = new FlagPermissions();
globalResidenceDefaults = new FlagPermissions();

View File

@@ -18,12 +18,12 @@ import org.bukkit.entity.Squid;
import org.bukkit.entity.Villager;
import org.bukkit.entity.Wolf;
import com.bekvon.bukkit.residence.Residence;
import com.bekvon.bukkit.residence.ResidenceMain;
public class EntityManager {
Residence plugin;
ResidenceMain plugin;
public EntityManager(final Residence plugin) {
public EntityManager(final ResidenceMain plugin) {
this.plugin = plugin;
}

View File

@@ -6,7 +6,7 @@ import java.util.Map.Entry;
import org.bukkit.event.Listener;
import org.bukkit.plugin.PluginManager;
import com.bekvon.bukkit.residence.Residence;
import com.bekvon.bukkit.residence.ResidenceMain;
import com.bekvon.bukkit.residence.listeners.flag.ResidenceAnimalKillingListener;
import com.bekvon.bukkit.residence.listeners.flag.ResidenceFlyListener;
@@ -16,9 +16,9 @@ public class FlagManager {
FileConfig config;
HashMap<Boolean, Listener> flagmap;
Residence plugin;
ResidenceMain plugin;
public FlagManager(final Residence plugin) {
public FlagManager(final ResidenceMain plugin) {
this.plugin = plugin;
this.config = new FileConfig(plugin, "flagconfig.yml");
}

View File

@@ -15,7 +15,7 @@ import org.bukkit.ChatColor;
import org.bukkit.configuration.ConfigurationSection;
import org.bukkit.entity.Player;
import com.bekvon.bukkit.residence.Residence;
import com.bekvon.bukkit.residence.ResidenceMain;
import com.bekvon.bukkit.residence.protection.CuboidArea;
import com.bekvon.bukkit.residence.protection.FlagPermissions;
import com.bekvon.bukkit.residence.protection.FlagPermissions.FlagState;
@@ -201,7 +201,7 @@ public class PermissionGroup {
}
public void printLimits(final Player player) {
final Residence plugin = Residence.getInstance();
final ResidenceMain plugin = ResidenceMain.getInstance();
player.sendMessage(ChatColor.GRAY + "---------------------------");
player.sendMessage(ChatColor.YELLOW + "权限 组:" + ChatColor.DARK_AQUA + " " + plugin.getPermissionManager().getPermissionsGroup(player));
player.sendMessage(ChatColor.YELLOW + "领地 组:" + ChatColor.DARK_AQUA + " " + groupname);

View File

@@ -16,7 +16,7 @@ import org.bukkit.configuration.file.FileConfiguration;
import org.bukkit.entity.Player;
import org.bukkit.plugin.Plugin;
import com.bekvon.bukkit.residence.Residence;
import com.bekvon.bukkit.residence.ResidenceMain;
import com.bekvon.bukkit.residence.protection.FlagPermissions;
import com.bekvon.bukkit.residence.vaultinterface.ResidenceVaultAdapter;
@@ -29,9 +29,9 @@ public class PermissionManager {
protected FlagPermissions globalFlagPerms;
protected Map<String, PermissionGroup> groups;
protected Map<String, String> playersGroup;
Residence plugin;
ResidenceMain plugin;
public PermissionManager(final Residence plugin) {
public PermissionManager(final ResidenceMain plugin) {
try {
this.plugin = plugin;
groups = Collections.synchronizedMap(new HashMap<String, PermissionGroup>());

View File

@@ -16,7 +16,7 @@ import org.bukkit.Location;
import org.bukkit.World;
import org.bukkit.entity.Player;
import com.bekvon.bukkit.residence.Residence;
import com.bekvon.bukkit.residence.ResidenceMain;
import com.bekvon.bukkit.residence.economy.ResidenceBank;
import com.bekvon.bukkit.residence.economy.TransactionManager;
import com.bekvon.bukkit.residence.event.ResidenceTPEvent;
@@ -41,25 +41,25 @@ public class ClaimedResidence {
protected String leaveMessage;
protected ClaimedResidence parent;
protected ResidencePermissions perms;
protected Residence plugin;
protected ResidenceMain plugin;
protected Map<String, ClaimedResidence> subzones;
protected Location tpLoc;
public ClaimedResidence(final Residence plugin, final String creationWorld) {
public ClaimedResidence(final ResidenceMain plugin, final String creationWorld) {
this(plugin, "Server Land", creationWorld);
}
public ClaimedResidence(final Residence plugin, final String creator, final String creationWorld) {
public ClaimedResidence(final ResidenceMain plugin, final String creator, final String creationWorld) {
this(plugin);
perms = new ResidencePermissions(plugin, this, creator, creationWorld);
}
public ClaimedResidence(final Residence plugin, final String creator, final String creationWorld, final ClaimedResidence parentResidence) {
public ClaimedResidence(final ResidenceMain plugin, final String creator, final String creationWorld, final ClaimedResidence parentResidence) {
this(plugin, creator, creationWorld);
parent = parentResidence;
}
private ClaimedResidence(final Residence plugin) {
private ClaimedResidence(final ResidenceMain plugin) {
this.plugin = plugin;
subzones = new HashMap<String, ClaimedResidence>();
areas = new HashMap<String, CuboidArea>();
@@ -69,7 +69,7 @@ public class ClaimedResidence {
}
@SuppressWarnings({ "unchecked", "rawtypes" })
public static ClaimedResidence load(final Residence plugin, final Map root, final ClaimedResidence parent) throws Exception {
public static ClaimedResidence load(final ResidenceMain plugin, final Map root, final ClaimedResidence parent) throws Exception {
final ClaimedResidence res = new ClaimedResidence(plugin);
if (root == null) {
throw new Exception("Null residence!");

View File

@@ -19,7 +19,7 @@ import org.bukkit.Material;
import org.bukkit.configuration.ConfigurationSection;
import org.bukkit.entity.Player;
import com.bekvon.bukkit.residence.Residence;
import com.bekvon.bukkit.residence.ResidenceMain;
/**
*
@@ -33,7 +33,7 @@ public class FlagPermissions {
protected static ArrayList<String> validFlags = new ArrayList<String>();
protected static ArrayList<String> validPlayerFlags = new ArrayList<String>();
final static Map<Material, String> matUseFlagList = new EnumMap<Material, String>(Material.class);
static Residence plugin;
static ResidenceMain plugin;
protected Map<String, Boolean> cuboidFlags;
protected Map<String, Map<String, Boolean>> groupFlags;
protected FlagPermissions parent;
@@ -97,7 +97,7 @@ public class FlagPermissions {
return (EnumMap<Material, String>) matUseFlagList;
}
public static void initValidFlags(final Residence plugin) {
public static void initValidFlags(final ResidenceMain plugin) {
FlagPermissions.plugin = plugin;
validAreaFlags.clear();
validPlayerFlags.clear();

View File

@@ -16,7 +16,7 @@ import java.util.Set;
import org.bukkit.ChatColor;
import org.bukkit.entity.Player;
import com.bekvon.bukkit.residence.Residence;
import com.bekvon.bukkit.residence.ResidenceMain;
import com.bekvon.bukkit.residence.economy.EconomyInterface;
import com.bekvon.bukkit.residence.event.ResidenceDeleteEvent;
import com.bekvon.bukkit.residence.event.ResidenceDeleteEvent.DeleteCause;
@@ -31,15 +31,15 @@ public class LeaseManager {
private Map<String, Long> leaseExpireTime;
ResidenceManager manager;
Residence plugin;
ResidenceMain plugin;
public LeaseManager(final Residence plugin, final ResidenceManager m) {
public LeaseManager(final ResidenceMain plugin, final ResidenceManager m) {
this.plugin = plugin;
manager = m;
leaseExpireTime = Collections.synchronizedMap(new HashMap<String, Long>());
}
public static LeaseManager load(final Residence plugin, final Map<String, Long> root, final ResidenceManager m) {
public static LeaseManager load(final ResidenceMain plugin, final Map<String, Long> root, final ResidenceManager m) {
final LeaseManager l = new LeaseManager(plugin, m);
if (root != null) {
for (final Object val : root.values()) {

View File

@@ -14,7 +14,7 @@ import java.util.Map.Entry;
import org.bukkit.ChatColor;
import org.bukkit.entity.Player;
import com.bekvon.bukkit.residence.Residence;
import com.bekvon.bukkit.residence.ResidenceMain;
/**
*
@@ -23,15 +23,15 @@ import com.bekvon.bukkit.residence.Residence;
public class PermissionListManager {
private final Map<String, Map<String, FlagPermissions>> lists;
Residence plugin;
ResidenceMain plugin;
public PermissionListManager(final Residence plugin) {
public PermissionListManager(final ResidenceMain plugin) {
this.plugin = plugin;
lists = Collections.synchronizedMap(new HashMap<String, Map<String, FlagPermissions>>());
}
@SuppressWarnings("unchecked")
public static PermissionListManager load(final Residence plugin, final Map<String, Object> root) {
public static PermissionListManager load(final ResidenceMain plugin, final Map<String, Object> root) {
final PermissionListManager p = new PermissionListManager(plugin);
if (root != null) {
for (final Entry<String, Object> players : root.entrySet()) {

View File

@@ -23,7 +23,7 @@ import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import org.bukkit.plugin.PluginManager;
import com.bekvon.bukkit.residence.Residence;
import com.bekvon.bukkit.residence.ResidenceMain;
import com.bekvon.bukkit.residence.event.ResidenceCreationEvent;
import com.bekvon.bukkit.residence.event.ResidenceDeleteEvent;
import com.bekvon.bukkit.residence.event.ResidenceDeleteEvent.DeleteCause;
@@ -38,11 +38,11 @@ import com.bekvon.bukkit.residence.text.help.InformationPager;
*/
public class ResidenceManager {
protected Map<String, Map<ChunkRef, List<String>>> chunkResidences;
protected Residence plugin;
protected ResidenceMain plugin;
protected PluginManager pm;
protected Map<String, ClaimedResidence> residences;
public ResidenceManager(final Residence plugin) {
public ResidenceManager(final ResidenceMain plugin) {
this.plugin = plugin;
pm = plugin.getServer().getPluginManager();
residences = new HashMap<String, ClaimedResidence>();
@@ -50,7 +50,7 @@ public class ResidenceManager {
}
@SuppressWarnings("unchecked")
public static ResidenceManager load(final Residence plugin, final Map<String, Object> root) throws Exception {
public static ResidenceManager load(final ResidenceMain plugin, final Map<String, Object> root) throws Exception {
final ResidenceManager resm = new ResidenceManager(plugin);
if (root == null) {
return resm;
@@ -72,7 +72,7 @@ public class ResidenceManager {
}
@SuppressWarnings("unchecked")
public static Map<ChunkRef, List<String>> loadMap(final Residence plugin, final Map<String, Object> root, final ResidenceManager resm) throws Exception {
public static Map<ChunkRef, List<String>> loadMap(final ResidenceMain plugin, final Map<String, Object> root, final ResidenceManager resm) throws Exception {
final Map<ChunkRef, List<String>> retRes = new HashMap<ChunkRef, List<String>>();
if (root != null) {
for (final Entry<String, Object> res : root.entrySet()) {

View File

@@ -16,7 +16,7 @@ import org.bukkit.ChatColor;
import org.bukkit.entity.Player;
import org.bukkit.plugin.PluginManager;
import com.bekvon.bukkit.residence.Residence;
import com.bekvon.bukkit.residence.ResidenceMain;
import com.bekvon.bukkit.residence.event.ResidenceFlagChangeEvent;
import com.bekvon.bukkit.residence.event.ResidenceFlagCheckEvent;
import com.bekvon.bukkit.residence.event.ResidenceFlagEvent.FlagType;
@@ -34,21 +34,21 @@ public class ResidencePermissions extends FlagPermissions {
protected PluginManager pm;
protected ClaimedResidence residence;
protected String world;
Residence plugin;
ResidenceMain plugin;
public ResidencePermissions(final Residence plugin, final ClaimedResidence res) {
public ResidencePermissions(final ResidenceMain plugin, final ClaimedResidence res) {
this.plugin = plugin;
this.pm = plugin.getServer().getPluginManager();
residence = res;
}
public ResidencePermissions(final Residence plugin, final ClaimedResidence res, final String creator, final String inworld) {
public ResidencePermissions(final ResidenceMain plugin, final ClaimedResidence res, final String creator, final String inworld) {
this(plugin, res);
owner = creator;
world = inworld;
}
public static ResidencePermissions load(final Residence plugin, final ClaimedResidence res, final Map<String, Object> root) throws Exception {
public static ResidencePermissions load(final ResidenceMain plugin, final ClaimedResidence res, final Map<String, Object> root) throws Exception {
final ResidencePermissions newperms = new ResidencePermissions(plugin, res);
newperms.owner = (String) root.get("Owner");
if (newperms.owner == null)

View File

@@ -15,7 +15,7 @@ import org.bukkit.configuration.ConfigurationSection;
import org.bukkit.configuration.file.FileConfiguration;
import org.bukkit.entity.Player;
import com.bekvon.bukkit.residence.Residence;
import com.bekvon.bukkit.residence.ResidenceMain;
/**
*
@@ -25,16 +25,16 @@ public class WorldFlagManager {
protected FlagPermissions globaldefaults;
protected Map<String, Map<String, FlagPermissions>> groupperms;
protected Map<String, FlagPermissions> worldperms;
Residence plugin;
ResidenceMain plugin;
public WorldFlagManager(final Residence plugin) {
public WorldFlagManager(final ResidenceMain plugin) {
this.plugin = plugin;
globaldefaults = new FlagPermissions();
worldperms = new HashMap<String, FlagPermissions>();
groupperms = new HashMap<String, Map<String, FlagPermissions>>();
}
public WorldFlagManager(final Residence plugin, final FileConfiguration config) {
public WorldFlagManager(final ResidenceMain plugin, final FileConfiguration config) {
this(plugin);
this.parsePerms(config);
}

View File

@@ -2,12 +2,12 @@ package com.bekvon.bukkit.residence.runnable;
import org.bukkit.Bukkit;
import com.bekvon.bukkit.residence.Residence;
import com.bekvon.bukkit.residence.ResidenceMain;
public class AutoSaveTask implements Runnable {
Residence res;
ResidenceMain res;
public AutoSaveTask(final Residence res) {
public AutoSaveTask(final ResidenceMain res) {
this.res = res;
}

View File

@@ -4,13 +4,13 @@ import org.bukkit.Bukkit;
import org.bukkit.entity.Damageable;
import org.bukkit.entity.Player;
import com.bekvon.bukkit.residence.Residence;
import com.bekvon.bukkit.residence.ResidenceMain;
import com.bekvon.bukkit.residence.protection.ClaimedResidence;
public class HealTask implements Runnable {
Residence plugin;
ResidenceMain plugin;
public HealTask(final Residence plugin) {
public HealTask(final ResidenceMain plugin) {
this.plugin = plugin;
}

View File

@@ -1,11 +1,11 @@
package com.bekvon.bukkit.residence.runnable;
import com.bekvon.bukkit.residence.Residence;
import com.bekvon.bukkit.residence.ResidenceMain;
public class LeaseTask implements Runnable {
Residence plugin;
ResidenceMain plugin;
public LeaseTask(final Residence plugin) {
public LeaseTask(final ResidenceMain plugin) {
this.plugin = plugin;
}

View File

@@ -1,11 +1,11 @@
package com.bekvon.bukkit.residence.runnable;
import com.bekvon.bukkit.residence.Residence;
import com.bekvon.bukkit.residence.ResidenceMain;
public class RentTask implements Runnable {
Residence plugin;
ResidenceMain plugin;
public RentTask(final Residence plugin) {
public RentTask(final ResidenceMain plugin) {
this.plugin = plugin;
}

View File

@@ -16,7 +16,7 @@ import org.bukkit.Location;
import org.bukkit.Server;
import org.bukkit.entity.Player;
import com.bekvon.bukkit.residence.Residence;
import com.bekvon.bukkit.residence.ResidenceMain;
import com.bekvon.bukkit.residence.permissions.PermissionGroup;
import com.bekvon.bukkit.residence.protection.CuboidArea;
@@ -29,9 +29,9 @@ public class SelectionManager {
protected Map<String, Location> playerLoc1;
protected Map<String, Location> playerLoc2;
protected Server server;
Residence plugin;
ResidenceMain plugin;
public SelectionManager(final Residence plugin) {
public SelectionManager(final ResidenceMain plugin) {
this.plugin = plugin;
this.server = Bukkit.getServer();
playerLoc1 = Collections.synchronizedMap(new HashMap<String, Location>());

View File

@@ -8,7 +8,7 @@ import org.bukkit.Location;
import org.bukkit.World;
import org.bukkit.entity.Player;
import com.bekvon.bukkit.residence.Residence;
import com.bekvon.bukkit.residence.ResidenceMain;
import com.sk89q.worldedit.bukkit.WorldEditPlugin;
import com.sk89q.worldedit.bukkit.selections.CuboidSelection;
import com.sk89q.worldedit.bukkit.selections.Selection;
@@ -19,9 +19,9 @@ import com.sk89q.worldedit.regions.CuboidRegion;
* @author Administrator
*/
public class WorldEditSelectionManager extends SelectionManager {
Residence plugin;
ResidenceMain plugin;
public WorldEditSelectionManager(final Residence plugin) {
public WorldEditSelectionManager(final ResidenceMain plugin) {
super(plugin);
this.plugin = plugin;
}

View File

@@ -15,7 +15,7 @@ import org.bukkit.command.CommandSender;
import org.bukkit.configuration.ConfigurationSection;
import org.bukkit.configuration.file.FileConfiguration;
import com.bekvon.bukkit.residence.Residence;
import com.bekvon.bukkit.residence.ResidenceMain;
/**
*
@@ -27,9 +27,9 @@ public class HelpEntry {
protected String[] lines;
protected String name;
protected List<HelpEntry> subentrys;
Residence plugin;
ResidenceMain plugin;
public HelpEntry(final Residence plugin, final String entryname) {
public HelpEntry(final ResidenceMain plugin, final String entryname) {
this.plugin = plugin;
name = entryname;
subentrys = new ArrayList<HelpEntry>();
@@ -40,7 +40,7 @@ public class HelpEntry {
return linesPerPage;
}
public static HelpEntry parseHelp(final Residence plugin, final FileConfiguration node, final String key) {
public static HelpEntry parseHelp(final ResidenceMain plugin, final FileConfiguration node, final String key) {
final String split[] = key.split("\\.");
final String thisname = split[split.length - 1];
final HelpEntry entry = new HelpEntry(plugin, thisname);

View File

@@ -11,7 +11,7 @@ import java.util.List;
import org.bukkit.ChatColor;
import org.bukkit.command.CommandSender;
import com.bekvon.bukkit.residence.Residence;
import com.bekvon.bukkit.residence.ResidenceMain;
/**
*
@@ -25,7 +25,7 @@ public class InformationPager {
return linesPerPage;
}
public static void printInfo(final Residence plugin, final CommandSender sender, final String title, final List<String> lines, final int page) {
public static void printInfo(final ResidenceMain plugin, final CommandSender sender, final String title, final List<String> lines, final int page) {
final int perPage = 6;
final int start = (page - 1) * perPage;
final int end = start + perPage;
@@ -52,7 +52,7 @@ public class InformationPager {
}
}
public static void printInfo(final Residence plugin, final CommandSender sender, final String title, final String[] lines, final int page) {
public static void printInfo(final ResidenceMain plugin, final CommandSender sender, final String title, final String[] lines, final int page) {
InformationPager.printInfo(plugin, sender, title, Arrays.asList(lines), page);
}

View File

@@ -15,14 +15,14 @@ import java.util.zip.ZipOutputStream;
import org.bukkit.Bukkit;
import org.bukkit.World;
import com.bekvon.bukkit.residence.Residence;
import com.bekvon.bukkit.residence.ResidenceMain;
public class DataBackup {
private final File BackupDir;
Residence plugin;
ResidenceMain plugin;
public DataBackup(final Residence plugin) {
public DataBackup(final ResidenceMain plugin) {
this.plugin = plugin;
BackupDir = new File(plugin.getDataLocation(), "Backup");
}

View File

@@ -1,6 +1,6 @@
name: ${project.artifactId}
description: ${project.description}
main: com.bekvon.bukkit.residence.${project.artifactId}
main: com.bekvon.bukkit.residence.ResidenceMain
version: ${project.version}
website: http://ci.citycraft.cn:8800/jenkins/job/${project.artifactId}/
authors: [bekvon,nate302,t00thpick1,喵♂呜]