mirror of
https://e.coding.net/circlecloud/Residence.git
synced 2025-11-25 21:56:06 +00:00
refactor: 修改包名 兼容部分老版本插件
This commit is contained in:
@@ -6,6 +6,7 @@ import java.util.Map;
|
||||
import org.bukkit.Location;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
import com.bekvon.bukkit.residence.permissions.PermissionManager;
|
||||
import com.bekvon.bukkit.residence.protection.ClaimedResidence;
|
||||
import com.bekvon.bukkit.residence.protection.FlagPermissions;
|
||||
import com.bekvon.bukkit.residence.protection.LeaseManager;
|
||||
@@ -21,7 +22,6 @@ import pw.yumc.Residence.economy.rent.RentManager;
|
||||
import pw.yumc.Residence.itemlist.WorldItemManager;
|
||||
import pw.yumc.Residence.manager.ConfigManager;
|
||||
import pw.yumc.Residence.manager.EntityManager;
|
||||
import pw.yumc.Residence.permissions.PermissionManager;
|
||||
import pw.yumc.Residence.selection.SelectionManager;
|
||||
import pw.yumc.Residence.text.Language;
|
||||
import pw.yumc.Residence.text.help.HelpEntry;
|
||||
|
||||
@@ -0,0 +1,325 @@
|
||||
/*
|
||||
* To change this template, choose Tools | Templates
|
||||
* and open the template in the editor.
|
||||
*/
|
||||
|
||||
package com.bekvon.bukkit.residence.permissions;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Iterator;
|
||||
import java.util.Map;
|
||||
import java.util.Map.Entry;
|
||||
import java.util.Set;
|
||||
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.configuration.ConfigurationSection;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
import com.bekvon.bukkit.residence.protection.CuboidArea;
|
||||
import com.bekvon.bukkit.residence.protection.FlagPermissions;
|
||||
import com.bekvon.bukkit.residence.protection.FlagPermissions.FlagState;
|
||||
|
||||
import pw.yumc.Residence.ResidenceMain;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author Administrator
|
||||
*
|
||||
* changed by inori 03/17/2012 line 91:limits MaxHeight changed to 255
|
||||
*/
|
||||
public class PermissionGroup {
|
||||
protected boolean buyIgnoreLimits;
|
||||
protected boolean canBuy;
|
||||
protected boolean cancreate;
|
||||
protected boolean canSell;
|
||||
protected double costperarea;
|
||||
protected Map<String, Boolean> creatorDefaultFlags;
|
||||
protected String defaultEnterMessage;
|
||||
protected String defaultLeaveMessage;
|
||||
protected FlagPermissions flagPerms;
|
||||
protected Map<String, Map<String, Boolean>> groupDefaultFlags;
|
||||
protected String groupname;
|
||||
protected boolean itemListAccess;
|
||||
protected boolean kick;
|
||||
protected int leaseGiveTime;
|
||||
protected int maxHeight;
|
||||
protected int maxLeaseTime;
|
||||
protected int maxPhysical;
|
||||
protected int maxRentables;
|
||||
protected int maxRents;
|
||||
protected boolean messageperms;
|
||||
protected int minHeight;
|
||||
protected double renewcostperarea;
|
||||
protected Map<String, Boolean> residenceDefaultFlags;
|
||||
protected int resmax;
|
||||
protected boolean selectCommandAccess;
|
||||
protected int subzonedepth;
|
||||
protected boolean tpaccess;
|
||||
protected boolean unstuck;
|
||||
protected int xmax;
|
||||
protected int ymax;
|
||||
protected int zmax;
|
||||
|
||||
public PermissionGroup(final String name) {
|
||||
flagPerms = new FlagPermissions();
|
||||
creatorDefaultFlags = new HashMap<String, Boolean>();
|
||||
residenceDefaultFlags = new HashMap<String, Boolean>();
|
||||
groupDefaultFlags = new HashMap<String, Map<String, Boolean>>();
|
||||
groupname = name;
|
||||
}
|
||||
|
||||
public PermissionGroup(final String name, final ConfigurationSection node) {
|
||||
this(name);
|
||||
this.parseGroup(node);
|
||||
}
|
||||
|
||||
public PermissionGroup(final String name, final ConfigurationSection node, final FlagPermissions parentFlagPerms) {
|
||||
this(name, node);
|
||||
flagPerms.setParent(parentFlagPerms);
|
||||
}
|
||||
|
||||
public boolean buyLandIgnoreLimits() {
|
||||
return buyIgnoreLimits;
|
||||
}
|
||||
|
||||
public boolean canBuyLand() {
|
||||
return canBuy;
|
||||
}
|
||||
|
||||
public boolean canCreateResidences() {
|
||||
return cancreate;
|
||||
}
|
||||
|
||||
public boolean canSellLand() {
|
||||
return canSell;
|
||||
}
|
||||
|
||||
public boolean canSetEnterLeaveMessages() {
|
||||
return messageperms;
|
||||
}
|
||||
|
||||
public double getCostPerBlock() {
|
||||
return costperarea;
|
||||
}
|
||||
|
||||
public Set<Entry<String, Boolean>> getDefaultCreatorFlags() {
|
||||
return creatorDefaultFlags.entrySet();
|
||||
}
|
||||
|
||||
public String getDefaultEnterMessage() {
|
||||
return defaultEnterMessage;
|
||||
}
|
||||
|
||||
public Set<Entry<String, Map<String, Boolean>>> getDefaultGroupFlags() {
|
||||
return groupDefaultFlags.entrySet();
|
||||
}
|
||||
|
||||
public String getDefaultLeaveMessage() {
|
||||
return defaultLeaveMessage;
|
||||
}
|
||||
|
||||
public Set<Entry<String, Boolean>> getDefaultResidenceFlags() {
|
||||
return residenceDefaultFlags.entrySet();
|
||||
}
|
||||
|
||||
public int getLeaseGiveTime() {
|
||||
return leaseGiveTime;
|
||||
}
|
||||
|
||||
public double getLeaseRenewCost() {
|
||||
return renewcostperarea;
|
||||
}
|
||||
|
||||
public int getMaxHeight() {
|
||||
return maxHeight;
|
||||
}
|
||||
|
||||
public int getMaxLeaseTime() {
|
||||
return maxLeaseTime;
|
||||
}
|
||||
|
||||
public int getMaxPhysicalPerResidence() {
|
||||
return maxPhysical;
|
||||
}
|
||||
|
||||
public int getMaxRentables() {
|
||||
return maxRentables;
|
||||
}
|
||||
|
||||
public int getMaxRents() {
|
||||
return maxRents;
|
||||
}
|
||||
|
||||
public int getMaxSubzoneDepth() {
|
||||
return subzonedepth;
|
||||
}
|
||||
|
||||
public int getMaxX() {
|
||||
return xmax;
|
||||
}
|
||||
|
||||
public int getMaxY() {
|
||||
return ymax;
|
||||
}
|
||||
|
||||
public int getMaxZ() {
|
||||
return zmax;
|
||||
}
|
||||
|
||||
public int getMaxZones() {
|
||||
return resmax;
|
||||
}
|
||||
|
||||
public int getMinHeight() {
|
||||
return minHeight;
|
||||
}
|
||||
|
||||
public boolean hasFlagAccess(final String flag) {
|
||||
return flagPerms.has(flag, false);
|
||||
}
|
||||
|
||||
public boolean hasKickAccess() {
|
||||
return kick;
|
||||
}
|
||||
|
||||
public boolean hasTpAccess() {
|
||||
return tpaccess;
|
||||
}
|
||||
|
||||
public boolean hasUnstuckAccess() {
|
||||
return unstuck;
|
||||
}
|
||||
|
||||
public boolean inLimits(final CuboidArea area) {
|
||||
if (area.getXSize() > xmax || area.getYSize() > ymax || area.getZSize() > zmax) {
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
public boolean itemListAccess() {
|
||||
return itemListAccess;
|
||||
}
|
||||
|
||||
public void printLimits(final Player player) {
|
||||
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);
|
||||
player.sendMessage(ChatColor.YELLOW + "领地 管理:" + ChatColor.DARK_AQUA + " " + plugin.getPermissionManager().isResidenceAdmin(player));
|
||||
player.sendMessage(ChatColor.YELLOW + "允许创建领地:" + ChatColor.DARK_AQUA + " " + cancreate);
|
||||
player.sendMessage(ChatColor.YELLOW + "最大领地个数:" + ChatColor.DARK_AQUA + " " + resmax);
|
||||
player.sendMessage(ChatColor.YELLOW + "X轴最大长度:" + ChatColor.DARK_AQUA + " " + xmax);
|
||||
player.sendMessage(ChatColor.YELLOW + "Z轴最大长度:" + ChatColor.DARK_AQUA + " " + zmax);
|
||||
player.sendMessage(ChatColor.YELLOW + "Y轴最大高度:" + ChatColor.DARK_AQUA + " " + ymax);
|
||||
player.sendMessage(ChatColor.YELLOW + "高度限制:" + ChatColor.DARK_AQUA + " " + minHeight + " - " + maxHeight);
|
||||
player.sendMessage(ChatColor.YELLOW + "最大子领地深度:" + ChatColor.DARK_AQUA + " " + subzonedepth);
|
||||
player.sendMessage(ChatColor.YELLOW + "是否允许设置进出消息:" + ChatColor.DARK_AQUA + " " + messageperms);
|
||||
player.sendMessage(ChatColor.YELLOW + "你所拥有的领地:" + ChatColor.DARK_AQUA + " " + plugin.getResidenceManager().getOwnedZoneCount(player.getName()));
|
||||
if (plugin.getEconomyManager() != null) {
|
||||
player.sendMessage(ChatColor.YELLOW + "每个方块需要金钱:" + ChatColor.DARK_AQUA + " " + costperarea);
|
||||
}
|
||||
player.sendMessage(ChatColor.YELLOW + "Flag 权限:" + ChatColor.DARK_AQUA + " " + flagPerms.listFlags());
|
||||
if (plugin.getConfigManager().useLeases()) {
|
||||
player.sendMessage(ChatColor.YELLOW + "最大租赁日:" + ChatColor.DARK_AQUA + " " + maxLeaseTime);
|
||||
player.sendMessage(ChatColor.YELLOW + "续租日期:" + ChatColor.DARK_AQUA + " " + leaseGiveTime);
|
||||
player.sendMessage(ChatColor.YELLOW + "续租方块需要金钱:" + ChatColor.DARK_AQUA + " " + renewcostperarea);
|
||||
}
|
||||
player.sendMessage(ChatColor.GRAY + "---------------------------");
|
||||
}
|
||||
|
||||
public boolean selectCommandAccess() {
|
||||
return selectCommandAccess;
|
||||
}
|
||||
|
||||
private void parseGroup(final ConfigurationSection limits) {
|
||||
if (limits == null) {
|
||||
return;
|
||||
}
|
||||
cancreate = limits.getBoolean("Residence.CanCreate", false);
|
||||
resmax = limits.getInt("Residence.MaxResidences", 0);
|
||||
maxPhysical = limits.getInt("Residence.MaxAreasPerResidence", 2);
|
||||
xmax = limits.getInt("Residence.MaxEastWest", 0);
|
||||
ymax = limits.getInt("Residence.MaxUpDown", 0);
|
||||
zmax = limits.getInt("Residence.MaxNorthSouth", 0);
|
||||
minHeight = limits.getInt("Residence.MinHeight", 0);
|
||||
maxHeight = limits.getInt("Residence.MaxHeight", 255);
|
||||
tpaccess = limits.getBoolean("Residence.CanTeleport", false);
|
||||
subzonedepth = limits.getInt("Residence.SubzoneDepth", 0);
|
||||
messageperms = limits.getBoolean("Messaging.CanChange", false);
|
||||
defaultEnterMessage = limits.getString("Messaging.DefaultEnter", null);
|
||||
defaultLeaveMessage = limits.getString("Messaging.DefaultLeave", null);
|
||||
maxLeaseTime = limits.getInt("Lease.MaxDays", 16);
|
||||
leaseGiveTime = limits.getInt("Lease.RenewIncrement", 14);
|
||||
maxRents = limits.getInt("Rent.MaxRents", 0);
|
||||
maxRentables = limits.getInt("Rent.MaxRentables", 0);
|
||||
renewcostperarea = limits.getDouble("Economy.RenewCost", 0.02D);
|
||||
canBuy = limits.getBoolean("Economy.CanBuy", false);
|
||||
canSell = limits.getBoolean("Economy.CanSell", false);
|
||||
buyIgnoreLimits = limits.getBoolean("Economy.IgnoreLimits", false);
|
||||
costperarea = limits.getDouble("Economy.BuyCost", 0);
|
||||
unstuck = limits.getBoolean("Residence.Unstuck", false);
|
||||
kick = limits.getBoolean("Residence.Kick", false);
|
||||
selectCommandAccess = limits.getBoolean("Residence.SelectCommandAccess", true);
|
||||
itemListAccess = limits.getBoolean("Residence.ItemListAccess", true);
|
||||
ConfigurationSection node = limits.getConfigurationSection("Flags.Permission");
|
||||
Set<String> flags = null;
|
||||
if (node != null) {
|
||||
flags = node.getKeys(false);
|
||||
}
|
||||
if (flags != null) {
|
||||
final Iterator<String> flagit = flags.iterator();
|
||||
while (flagit.hasNext()) {
|
||||
final String flagname = flagit.next();
|
||||
final boolean access = limits.getBoolean("Flags.Permission." + flagname, false);
|
||||
flagPerms.setFlag(flagname, access ? FlagState.TRUE : FlagState.FALSE);
|
||||
}
|
||||
}
|
||||
node = limits.getConfigurationSection("Flags.CreatorDefault");
|
||||
if (node != null) {
|
||||
flags = node.getKeys(false);
|
||||
}
|
||||
if (flags != null) {
|
||||
final Iterator<String> flagit = flags.iterator();
|
||||
while (flagit.hasNext()) {
|
||||
final String flagname = flagit.next();
|
||||
final boolean access = limits.getBoolean("Flags.CreatorDefault." + flagname, false);
|
||||
creatorDefaultFlags.put(flagname, access);
|
||||
}
|
||||
|
||||
}
|
||||
node = limits.getConfigurationSection("Flags.Default");
|
||||
if (node != null) {
|
||||
flags = node.getKeys(false);
|
||||
}
|
||||
if (flags != null) {
|
||||
final Iterator<String> flagit = flags.iterator();
|
||||
while (flagit.hasNext()) {
|
||||
final String flagname = flagit.next();
|
||||
final boolean access = limits.getBoolean("Flags.Default." + flagname, false);
|
||||
residenceDefaultFlags.put(flagname, access);
|
||||
}
|
||||
}
|
||||
node = limits.getConfigurationSection("Flags.GroupDefault");
|
||||
Set<String> groupDef = null;
|
||||
if (node != null) {
|
||||
groupDef = node.getKeys(false);
|
||||
}
|
||||
if (groupDef != null) {
|
||||
final Iterator<String> groupit = groupDef.iterator();
|
||||
while (groupit.hasNext()) {
|
||||
final String name = groupit.next();
|
||||
final Map<String, Boolean> gflags = new HashMap<String, Boolean>();
|
||||
flags = limits.getConfigurationSection("Flags.GroupDefault." + name).getKeys(false);
|
||||
final Iterator<String> flagit = flags.iterator();
|
||||
while (flagit.hasNext()) {
|
||||
final String flagname = flagit.next();
|
||||
final boolean access = limits.getBoolean("Flags.GroupDefault." + name + "." + flagname, false);
|
||||
gflags.put(flagname, access);
|
||||
}
|
||||
groupDefaultFlags.put(name, gflags);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,156 @@
|
||||
/*
|
||||
* To change this template, choose Tools | Templates and open the template in the editor.
|
||||
*/
|
||||
|
||||
package com.bekvon.bukkit.residence.permissions;
|
||||
|
||||
import java.util.Collections;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
import java.util.logging.Level;
|
||||
|
||||
import org.bukkit.Server;
|
||||
import org.bukkit.configuration.ConfigurationSection;
|
||||
import org.bukkit.configuration.file.FileConfiguration;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.plugin.Plugin;
|
||||
|
||||
import com.bekvon.bukkit.residence.protection.FlagPermissions;
|
||||
|
||||
import pw.yumc.Residence.ResidenceMain;
|
||||
import pw.yumc.Residence.vaultinterface.ResidenceVaultAdapter;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author Administrator
|
||||
*/
|
||||
public class PermissionManager {
|
||||
protected static PermissionsInterface perms;
|
||||
protected FlagPermissions globalFlagPerms;
|
||||
protected Map<String, PermissionGroup> groups;
|
||||
protected Map<String, String> playersGroup;
|
||||
ResidenceMain plugin;
|
||||
|
||||
public PermissionManager(final ResidenceMain plugin) {
|
||||
try {
|
||||
this.plugin = plugin;
|
||||
groups = Collections.synchronizedMap(new HashMap<String, PermissionGroup>());
|
||||
playersGroup = Collections.synchronizedMap(new HashMap<String, String>());
|
||||
globalFlagPerms = new FlagPermissions();
|
||||
this.readConfig(plugin.getConfig());
|
||||
final boolean enable = plugin.getConfig().getBoolean("Global.EnablePermissions", true);
|
||||
if (enable) {
|
||||
this.checkPermissions();
|
||||
}
|
||||
} catch (final Exception ex) {
|
||||
plugin.getLogger().log(Level.SEVERE, "权限管理载入失败,请报告以下错误给作者,谢谢!", ex);
|
||||
}
|
||||
}
|
||||
|
||||
public PermissionGroup getGroup(final Player player) {
|
||||
return groups.get(this.getGroupNameByPlayer(player));
|
||||
}
|
||||
|
||||
public PermissionGroup getGroup(final String player, final String world) {
|
||||
return groups.get(this.getGroupNameByPlayer(player, world));
|
||||
}
|
||||
|
||||
public PermissionGroup getGroupByName(String group) {
|
||||
group = group.toLowerCase();
|
||||
if (!groups.containsKey(group)) {
|
||||
return groups.get(plugin.getConfigManager().getDefaultGroup());
|
||||
}
|
||||
return groups.get(group);
|
||||
}
|
||||
|
||||
public String getGroupNameByPlayer(final Player player) {
|
||||
return this.getGroupNameByPlayer(player.getName(), player.getWorld().getName());
|
||||
}
|
||||
|
||||
public String getGroupNameByPlayer(String player, final String world) {
|
||||
player = player.toLowerCase();
|
||||
if (playersGroup.containsKey(player)) {
|
||||
String group = playersGroup.get(player);
|
||||
if (group != null) {
|
||||
group = group.toLowerCase();
|
||||
if (group != null && groups.containsKey(group)) {
|
||||
return group;
|
||||
}
|
||||
}
|
||||
}
|
||||
final String group = this.getPermissionsGroup(player, world);
|
||||
if (group == null || !groups.containsKey(group)) {
|
||||
return plugin.getConfigManager().getDefaultGroup().toLowerCase();
|
||||
}
|
||||
return group;
|
||||
}
|
||||
|
||||
public String getPermissionsGroup(final Player player) {
|
||||
return this.getPermissionsGroup(player.getName(), player.getWorld().getName());
|
||||
}
|
||||
|
||||
public String getPermissionsGroup(final String player, final String world) {
|
||||
if (perms == null) {
|
||||
return plugin.getConfigManager().getDefaultGroup();
|
||||
}
|
||||
return perms.getPlayerGroup(player, world);
|
||||
}
|
||||
|
||||
public PermissionsInterface getPermissionsPlugin() {
|
||||
return perms;
|
||||
}
|
||||
|
||||
public boolean hasGroup(String group) {
|
||||
group = group.toLowerCase();
|
||||
return groups.containsKey(group);
|
||||
}
|
||||
|
||||
public boolean isResidenceAdmin(final Player player) {
|
||||
return (player.hasPermission("residence.admin") || (player.isOp() && plugin.getConfigManager().getOpsAreAdmins()));
|
||||
}
|
||||
|
||||
private void checkPermissions() {
|
||||
final Server server = plugin.getServer();
|
||||
final Plugin p = server.getPluginManager().getPlugin("Vault");
|
||||
if (p != null) {
|
||||
final ResidenceVaultAdapter vault = new ResidenceVaultAdapter(server);
|
||||
if (vault.permissionsOK()) {
|
||||
perms = vault;
|
||||
plugin.getLogger().info("发现 Vault 使用权限系统: " + vault.getPermissionsName());
|
||||
return;
|
||||
}
|
||||
plugin.getLogger().info("发现 Vault, 但是 Vault 未找到权限系统...");
|
||||
}
|
||||
}
|
||||
|
||||
private void readConfig(final FileConfiguration config) {
|
||||
final String defaultGroup = plugin.getConfigManager().getDefaultGroup();
|
||||
globalFlagPerms = FlagPermissions.parseFromConfigNode("FlagPermission", config.getConfigurationSection("Global"));
|
||||
final ConfigurationSection nodes = config.getConfigurationSection("Groups");
|
||||
if (nodes != null) {
|
||||
final Set<String> entrys = nodes.getKeys(false);
|
||||
for (final String key : entrys) {
|
||||
try {
|
||||
groups.put(key.toLowerCase(), new PermissionGroup(key.toLowerCase(), nodes.getConfigurationSection(key), globalFlagPerms));
|
||||
final List<String> mirrors = nodes.getConfigurationSection(key).getStringList("Mirror");
|
||||
for (final String group : mirrors) {
|
||||
groups.put(group.toLowerCase(), new PermissionGroup(key.toLowerCase(), nodes.getConfigurationSection(key), globalFlagPerms));
|
||||
}
|
||||
} catch (final Exception ex) {
|
||||
plugin.getLogger().info("错误 从配置文件读取:" + key + " 抛出异常:" + ex);
|
||||
}
|
||||
}
|
||||
}
|
||||
if (!groups.containsKey(defaultGroup)) {
|
||||
groups.put(defaultGroup, new PermissionGroup(defaultGroup));
|
||||
}
|
||||
final Set<String> keys = config.getConfigurationSection("GroupAssignments").getKeys(false);
|
||||
if (keys != null) {
|
||||
for (final String key : keys) {
|
||||
playersGroup.put(key.toLowerCase(), config.getString("GroupAssignments." + key, defaultGroup).toLowerCase());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
/*
|
||||
* To change this template, choose Tools | Templates
|
||||
* and open the template in the editor.
|
||||
*/
|
||||
|
||||
package com.bekvon.bukkit.residence.permissions;
|
||||
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author Administrator
|
||||
*/
|
||||
public interface PermissionsInterface {
|
||||
public String getPlayerGroup(Player player);
|
||||
|
||||
public String getPlayerGroup(String player, String world);
|
||||
}
|
||||
@@ -17,6 +17,7 @@ import org.bukkit.World;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
import com.bekvon.bukkit.residence.event.ResidenceTPEvent;
|
||||
import com.bekvon.bukkit.residence.permissions.PermissionGroup;
|
||||
|
||||
import cn.citycraft.PluginHelper.utils.CompatibleUtil;
|
||||
import pw.yumc.Residence.ResidenceMain;
|
||||
@@ -24,7 +25,6 @@ import pw.yumc.Residence.economy.ResidenceBank;
|
||||
import pw.yumc.Residence.economy.TransactionManager;
|
||||
import pw.yumc.Residence.itemlist.ResidenceItemList;
|
||||
import pw.yumc.Residence.itemlist.ItemList.ListType;
|
||||
import pw.yumc.Residence.permissions.PermissionGroup;
|
||||
import pw.yumc.Residence.text.help.InformationPager;
|
||||
|
||||
/**
|
||||
|
||||
@@ -18,10 +18,10 @@ import org.bukkit.entity.Player;
|
||||
|
||||
import com.bekvon.bukkit.residence.event.ResidenceDeleteEvent;
|
||||
import com.bekvon.bukkit.residence.event.ResidenceDeleteEvent.DeleteCause;
|
||||
import com.bekvon.bukkit.residence.permissions.PermissionGroup;
|
||||
|
||||
import pw.yumc.Residence.ResidenceMain;
|
||||
import pw.yumc.Residence.economy.EconomyInterface;
|
||||
import pw.yumc.Residence.permissions.PermissionGroup;
|
||||
|
||||
/**
|
||||
*
|
||||
|
||||
@@ -26,9 +26,9 @@ import org.bukkit.plugin.PluginManager;
|
||||
import com.bekvon.bukkit.residence.event.ResidenceCreationEvent;
|
||||
import com.bekvon.bukkit.residence.event.ResidenceDeleteEvent;
|
||||
import com.bekvon.bukkit.residence.event.ResidenceDeleteEvent.DeleteCause;
|
||||
import com.bekvon.bukkit.residence.permissions.PermissionGroup;
|
||||
|
||||
import pw.yumc.Residence.ResidenceMain;
|
||||
import pw.yumc.Residence.permissions.PermissionGroup;
|
||||
import pw.yumc.Residence.selection.WECUI;
|
||||
import pw.yumc.Residence.text.help.InformationPager;
|
||||
|
||||
|
||||
@@ -19,11 +19,11 @@ import org.bukkit.plugin.PluginManager;
|
||||
import com.bekvon.bukkit.residence.event.ResidenceFlagChangeEvent;
|
||||
import com.bekvon.bukkit.residence.event.ResidenceFlagCheckEvent;
|
||||
import com.bekvon.bukkit.residence.event.ResidenceFlagEvent.FlagType;
|
||||
import com.bekvon.bukkit.residence.permissions.PermissionGroup;
|
||||
import com.bekvon.bukkit.residence.permissions.PermissionManager;
|
||||
import com.bekvon.bukkit.residence.event.ResidenceOwnerChangeEvent;
|
||||
|
||||
import pw.yumc.Residence.ResidenceMain;
|
||||
import pw.yumc.Residence.permissions.PermissionGroup;
|
||||
import pw.yumc.Residence.permissions.PermissionManager;
|
||||
|
||||
/**
|
||||
*
|
||||
|
||||
Reference in New Issue
Block a user