mirror of
https://e.coding.net/circlecloud/Residence.git
synced 2025-11-24 21:46:16 +00:00
7
pom.xml
7
pom.xml
@@ -3,7 +3,7 @@
|
|||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
<groupId>cn.citycraft</groupId>
|
<groupId>cn.citycraft</groupId>
|
||||||
<artifactId>Residence</artifactId>
|
<artifactId>Residence</artifactId>
|
||||||
<version>2.8.1.3</version>
|
<version>2.8.1.4</version>
|
||||||
<name>Residence</name>
|
<name>Residence</name>
|
||||||
<description>重制版本的领地插件 - 喵♂呜</description>
|
<description>重制版本的领地插件 - 喵♂呜</description>
|
||||||
<build>
|
<build>
|
||||||
@@ -38,7 +38,7 @@
|
|||||||
<relocations>
|
<relocations>
|
||||||
<relocation>
|
<relocation>
|
||||||
<pattern>cn.citycraft.PluginHelper</pattern>
|
<pattern>cn.citycraft.PluginHelper</pattern>
|
||||||
<shadedPattern>com.bekvon.bukkit.residence</shadedPattern>
|
<shadedPattern>${project.groupId}.${project.artifactId}</shadedPattern>
|
||||||
</relocation>
|
</relocation>
|
||||||
</relocations>
|
</relocations>
|
||||||
</configuration>
|
</configuration>
|
||||||
@@ -55,7 +55,8 @@
|
|||||||
</build>
|
</build>
|
||||||
<properties>
|
<properties>
|
||||||
<jenkins.url>http://ci.citycraft.cn:8080</jenkins.url>
|
<jenkins.url>http://ci.citycraft.cn:8080</jenkins.url>
|
||||||
<update.description>&d修复补丁导致的刷物品BUG...</update.description>
|
<update.description>&c修复领地管理无法TP的问题...</update.description>
|
||||||
|
<env.BUILD_NUMBER>Debug</env.BUILD_NUMBER>
|
||||||
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
||||||
</properties>
|
</properties>
|
||||||
<repositories>
|
<repositories>
|
||||||
|
|||||||
@@ -34,7 +34,6 @@ import org.bukkit.event.player.PlayerMoveEvent;
|
|||||||
import org.bukkit.event.player.PlayerQuitEvent;
|
import org.bukkit.event.player.PlayerQuitEvent;
|
||||||
import org.bukkit.event.player.PlayerRespawnEvent;
|
import org.bukkit.event.player.PlayerRespawnEvent;
|
||||||
import org.bukkit.event.player.PlayerTeleportEvent;
|
import org.bukkit.event.player.PlayerTeleportEvent;
|
||||||
import org.bukkit.event.player.PlayerTeleportEvent.TeleportCause;
|
|
||||||
import org.bukkit.plugin.Plugin;
|
import org.bukkit.plugin.Plugin;
|
||||||
|
|
||||||
import com.bekvon.bukkit.residence.event.ResidenceChangedEvent;
|
import com.bekvon.bukkit.residence.event.ResidenceChangedEvent;
|
||||||
@@ -105,8 +104,6 @@ public class ResidencePlayerListener implements Listener {
|
|||||||
lastOutsideLoc.put(pname, loc);
|
lastOutsideLoc.put(pname, loc);
|
||||||
if (ResOld != null) {
|
if (ResOld != null) {
|
||||||
final String leave = ResOld.getLeaveMessage();
|
final String leave = ResOld.getLeaveMessage();
|
||||||
|
|
||||||
// New ResidenceChangeEvent
|
|
||||||
final ResidenceChangedEvent chgEvent = new ResidenceChangedEvent(ResOld, null, player);
|
final ResidenceChangedEvent chgEvent = new ResidenceChangedEvent(ResOld, null, player);
|
||||||
plugin.getServer().getPluginManager().callEvent(chgEvent);
|
plugin.getServer().getPluginManager().callEvent(chgEvent);
|
||||||
|
|
||||||
@@ -114,7 +111,7 @@ public class ResidencePlayerListener implements Listener {
|
|||||||
if (plugin.getConfigManager().useActionBar()) {
|
if (plugin.getConfigManager().useActionBar()) {
|
||||||
ActionBar.send(player, ChatColor.YELLOW + insertMessages(player, ResOld.getName(), ResOld, leave));
|
ActionBar.send(player, ChatColor.YELLOW + insertMessages(player, ResOld.getName(), ResOld, leave));
|
||||||
} else {
|
} else {
|
||||||
player.sendMessage(ChatColor.YELLOW + this.insertMessages(player, ResOld.getName(), ResOld, leave));
|
player.sendMessage(ChatColor.YELLOW + insertMessages(player, ResOld.getName(), ResOld, leave));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
currentRes.remove(pname);
|
currentRes.remove(pname);
|
||||||
@@ -122,8 +119,8 @@ public class ResidencePlayerListener implements Listener {
|
|||||||
}
|
}
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (move) {
|
if (move && !res.getPermissions().playerHas(pname, "move", true) && !plugin.isResAdminOn(player) && !player.hasPermission("residence.admin.move")
|
||||||
if (!res.getPermissions().playerHas(pname, "move", true) && !plugin.isResAdminOn(player) && !player.hasPermission("residence.admin.move")) {
|
&& !player.hasPermission("residence.admin.tp")) {
|
||||||
final Location lastLoc = lastOutsideLoc.get(pname);
|
final Location lastLoc = lastOutsideLoc.get(pname);
|
||||||
if (lastLoc != null) {
|
if (lastLoc != null) {
|
||||||
player.teleport(lastLoc);
|
player.teleport(lastLoc);
|
||||||
@@ -133,15 +130,12 @@ public class ResidencePlayerListener implements Listener {
|
|||||||
player.sendMessage(ChatColor.RED + plugin.getLanguage().getPhrase("ResidenceMoveDeny", res.getName().split("\\.")[res.getName().split("\\.").length - 1]));
|
player.sendMessage(ChatColor.RED + plugin.getLanguage().getPhrase("ResidenceMoveDeny", res.getName().split("\\.")[res.getName().split("\\.").length - 1]));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
|
||||||
lastOutsideLoc.put(pname, loc);
|
lastOutsideLoc.put(pname, loc);
|
||||||
if (!currentRes.containsKey(pname) || ResOld != res) {
|
if (!currentRes.containsKey(pname) || ResOld != res) {
|
||||||
currentRes.put(pname, areaname);
|
currentRes.put(pname, areaname);
|
||||||
if (subzone == null) {
|
if (subzone == null) {
|
||||||
chatchange = true;
|
chatchange = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
// "from" residence for ResidenceChangedEvent
|
|
||||||
ClaimedResidence chgFrom = null;
|
ClaimedResidence chgFrom = null;
|
||||||
if (ResOld != res && ResOld != null) {
|
if (ResOld != res && ResOld != null) {
|
||||||
final String leave = ResOld.getLeaveMessage();
|
final String leave = ResOld.getLeaveMessage();
|
||||||
@@ -151,13 +145,11 @@ public class ResidencePlayerListener implements Listener {
|
|||||||
if (plugin.getConfigManager().useActionBar()) {
|
if (plugin.getConfigManager().useActionBar()) {
|
||||||
ActionBar.send(player, ChatColor.YELLOW + insertMessages(player, ResOld.getName(), ResOld, leave));
|
ActionBar.send(player, ChatColor.YELLOW + insertMessages(player, ResOld.getName(), ResOld, leave));
|
||||||
} else {
|
} else {
|
||||||
player.sendMessage(ChatColor.YELLOW + this.insertMessages(player, ResOld.getName(), ResOld, leave));
|
player.sendMessage(ChatColor.YELLOW + insertMessages(player, ResOld.getName(), ResOld, leave));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
final String enterMessage = res.getEnterMessage();
|
final String enterMessage = res.getEnterMessage();
|
||||||
|
|
||||||
// New ResidenceChangedEvent
|
|
||||||
final ResidenceChangedEvent chgEvent = new ResidenceChangedEvent(chgFrom, res, player);
|
final ResidenceChangedEvent chgEvent = new ResidenceChangedEvent(chgFrom, res, player);
|
||||||
plugin.getServer().getPluginManager().callEvent(chgEvent);
|
plugin.getServer().getPluginManager().callEvent(chgEvent);
|
||||||
|
|
||||||
@@ -165,7 +157,7 @@ public class ResidencePlayerListener implements Listener {
|
|||||||
if (plugin.getConfigManager().useActionBar()) {
|
if (plugin.getConfigManager().useActionBar()) {
|
||||||
ActionBar.send(player, ChatColor.YELLOW + insertMessages(player, areaname, res, enterMessage));
|
ActionBar.send(player, ChatColor.YELLOW + insertMessages(player, areaname, res, enterMessage));
|
||||||
} else {
|
} else {
|
||||||
player.sendMessage(ChatColor.YELLOW + this.insertMessages(player, areaname, res, enterMessage));
|
player.sendMessage(ChatColor.YELLOW + insertMessages(player, areaname, res, enterMessage));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -510,35 +502,16 @@ public class ResidencePlayerListener implements Listener {
|
|||||||
public void onPlayerTeleport(final PlayerTeleportEvent event) {
|
public void onPlayerTeleport(final PlayerTeleportEvent event) {
|
||||||
final Location loc = event.getTo();
|
final Location loc = event.getTo();
|
||||||
final Player player = event.getPlayer();
|
final Player player = event.getPlayer();
|
||||||
|
|
||||||
if (plugin.isResAdminOn(player)) {
|
|
||||||
handleNewLocation(player, loc, false);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
final ClaimedResidence res = plugin.getResidenceManager().getByLoc(loc);
|
final ClaimedResidence res = plugin.getResidenceManager().getByLoc(loc);
|
||||||
if (event.getCause() == TeleportCause.ENDER_PEARL || event.getCause() == TeleportCause.COMMAND || event.getCause() == TeleportCause.NETHER_PORTAL) {
|
|
||||||
if (res != null) {
|
if (res != null) {
|
||||||
final String areaname = plugin.getResidenceManager().getNameByLoc(loc);
|
final String areaname = res.getName();
|
||||||
if (!res.getPermissions().playerHas(player.getName(), "move", true)) {
|
if (!plugin.isResAdminOn(player) && !res.getPermissions().playerHas(player.getName(), "tp", true) && !player.hasPermission("residence.admin.tp")) {
|
||||||
event.setCancelled(true);
|
|
||||||
player.sendMessage(ChatColor.RED + plugin.getLanguage().getPhrase("ResidenceMoveDeny", areaname));
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (event.getCause() == TeleportCause.PLUGIN) {
|
|
||||||
if (res != null) {
|
|
||||||
final String areaname = plugin.getResidenceManager().getNameByLoc(loc);
|
|
||||||
if (!res.getPermissions().playerHas(player.getName(), "tp", true) && !player.hasPermission("residence.admin.tp")) {
|
|
||||||
event.setCancelled(true);
|
event.setCancelled(true);
|
||||||
player.sendMessage(ChatColor.RED + plugin.getLanguage().getPhrase("TeleportDeny", areaname));
|
player.sendMessage(ChatColor.RED + plugin.getLanguage().getPhrase("TeleportDeny", areaname));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
handleNewLocation(player, loc, false);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void tooglePlayerResidenceChat(final Player player) {
|
public void tooglePlayerResidenceChat(final Player player) {
|
||||||
final String pname = player.getName();
|
final String pname = player.getName();
|
||||||
|
|||||||
@@ -21,8 +21,8 @@ import com.bekvon.bukkit.residence.event.ResidenceTPEvent;
|
|||||||
import cn.citycraft.Residence.ResidenceMain;
|
import cn.citycraft.Residence.ResidenceMain;
|
||||||
import cn.citycraft.Residence.economy.ResidenceBank;
|
import cn.citycraft.Residence.economy.ResidenceBank;
|
||||||
import cn.citycraft.Residence.economy.TransactionManager;
|
import cn.citycraft.Residence.economy.TransactionManager;
|
||||||
import cn.citycraft.Residence.itemlist.ResidenceItemList;
|
|
||||||
import cn.citycraft.Residence.itemlist.ItemList.ListType;
|
import cn.citycraft.Residence.itemlist.ItemList.ListType;
|
||||||
|
import cn.citycraft.Residence.itemlist.ResidenceItemList;
|
||||||
import cn.citycraft.Residence.permissions.PermissionGroup;
|
import cn.citycraft.Residence.permissions.PermissionGroup;
|
||||||
import cn.citycraft.Residence.text.help.InformationPager;
|
import cn.citycraft.Residence.text.help.InformationPager;
|
||||||
|
|
||||||
@@ -128,7 +128,7 @@ public class ClaimedResidence {
|
|||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
if (!resadmin && plugin.getConfigManager().getEnforceAreaInsideArea() && this.getParent() == null) {
|
if (!resadmin && plugin.getConfigManager().getEnforceAreaInsideArea() && getParent() == null) {
|
||||||
boolean inside = false;
|
boolean inside = false;
|
||||||
for (final CuboidArea are : areas.values()) {
|
for (final CuboidArea are : areas.values()) {
|
||||||
if (are.isAreaWithinArea(area)) {
|
if (are.isAreaWithinArea(area)) {
|
||||||
@@ -234,7 +234,7 @@ public class ClaimedResidence {
|
|||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
if (!(this.containsLoc(loc1) && this.containsLoc(loc2))) {
|
if (!(containsLoc(loc1) && containsLoc(loc2))) {
|
||||||
if (player != null) {
|
if (player != null) {
|
||||||
player.sendMessage(ChatColor.RED + plugin.getLanguage().getPhrase("SubzoneSelectInside"));
|
player.sendMessage(ChatColor.RED + plugin.getLanguage().getPhrase("SubzoneSelectInside"));
|
||||||
}
|
}
|
||||||
@@ -254,7 +254,7 @@ public class ClaimedResidence {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
final PermissionGroup group = plugin.getPermissionManager().getGroup(player);
|
final PermissionGroup group = plugin.getPermissionManager().getGroup(player);
|
||||||
if (this.getZoneDepth() >= group.getMaxSubzoneDepth()) {
|
if (getZoneDepth() >= group.getMaxSubzoneDepth()) {
|
||||||
player.sendMessage(ChatColor.RED + plugin.getLanguage().getPhrase("SubzoneMaxDepth"));
|
player.sendMessage(ChatColor.RED + plugin.getLanguage().getPhrase("SubzoneMaxDepth"));
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@@ -404,7 +404,7 @@ public class ClaimedResidence {
|
|||||||
@SuppressWarnings("deprecation")
|
@SuppressWarnings("deprecation")
|
||||||
public Location getOutsideFreeLoc(final Location insideLoc) {
|
public Location getOutsideFreeLoc(final Location insideLoc) {
|
||||||
final int maxIt = 100;
|
final int maxIt = 100;
|
||||||
final CuboidArea area = this.getAreaByLoc(insideLoc);
|
final CuboidArea area = getAreaByLoc(insideLoc);
|
||||||
if (area == null) {
|
if (area == null) {
|
||||||
return insideLoc;
|
return insideLoc;
|
||||||
}
|
}
|
||||||
@@ -453,7 +453,7 @@ public class ClaimedResidence {
|
|||||||
public ArrayList<Player> getPlayersInResidence() {
|
public ArrayList<Player> getPlayersInResidence() {
|
||||||
final ArrayList<Player> within = new ArrayList<Player>();
|
final ArrayList<Player> within = new ArrayList<Player>();
|
||||||
for (final Player player : Bukkit.getServer().getOnlinePlayers()) {
|
for (final Player player : Bukkit.getServer().getOnlinePlayers()) {
|
||||||
if (this.containsLoc(player.getLocation())) {
|
if (containsLoc(player.getLocation())) {
|
||||||
within.add(player);
|
within.add(player);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -627,7 +627,7 @@ public class ClaimedResidence {
|
|||||||
|
|
||||||
public void removeArea(final Player player, final String id, final boolean resadmin) {
|
public void removeArea(final Player player, final String id, final boolean resadmin) {
|
||||||
|
|
||||||
if (this.getPermissions().hasResidencePermission(player, true) || resadmin) {
|
if (getPermissions().hasResidencePermission(player, true) || resadmin) {
|
||||||
if (!areas.containsKey(id)) {
|
if (!areas.containsKey(id)) {
|
||||||
player.sendMessage(ChatColor.RED + plugin.getLanguage().getPhrase("AreaNonExist"));
|
player.sendMessage(ChatColor.RED + plugin.getLanguage().getPhrase("AreaNonExist"));
|
||||||
return;
|
return;
|
||||||
@@ -893,9 +893,9 @@ public class ClaimedResidence {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (enter) {
|
if (enter) {
|
||||||
this.setEnterMessage(message);
|
setEnterMessage(message);
|
||||||
} else {
|
} else {
|
||||||
this.setLeaveMessage(message);
|
setLeaveMessage(message);
|
||||||
}
|
}
|
||||||
player.sendMessage(ChatColor.GREEN + plugin.getLanguage().getPhrase("MessageChange"));
|
player.sendMessage(ChatColor.GREEN + plugin.getLanguage().getPhrase("MessageChange"));
|
||||||
}
|
}
|
||||||
@@ -913,7 +913,7 @@ public class ClaimedResidence {
|
|||||||
player.sendMessage(ChatColor.RED + plugin.getLanguage().getPhrase("NoPermission"));
|
player.sendMessage(ChatColor.RED + plugin.getLanguage().getPhrase("NoPermission"));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (!this.containsLoc(player.getLocation())) {
|
if (!containsLoc(player.getLocation())) {
|
||||||
player.sendMessage(ChatColor.RED + plugin.getLanguage().getPhrase("NotInResidence"));
|
player.sendMessage(ChatColor.RED + plugin.getLanguage().getPhrase("NotInResidence"));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -922,7 +922,7 @@ public class ClaimedResidence {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void tpToResidence(final Player reqPlayer, final Player targetPlayer, final boolean resadmin) {
|
public void tpToResidence(final Player reqPlayer, final Player targetPlayer, final boolean resadmin) {
|
||||||
if (!resadmin) {
|
if (!resadmin && !reqPlayer.hasPermission("residence.admin.tp")) {
|
||||||
final PermissionGroup group = plugin.getPermissionManager().getGroup(reqPlayer);
|
final PermissionGroup group = plugin.getPermissionManager().getGroup(reqPlayer);
|
||||||
if (!group.hasTpAccess()) {
|
if (!group.hasTpAccess()) {
|
||||||
reqPlayer.sendMessage(ChatColor.RED + plugin.getLanguage().getPhrase("TeleportDeny"));
|
reqPlayer.sendMessage(ChatColor.RED + plugin.getLanguage().getPhrase("TeleportDeny"));
|
||||||
@@ -947,10 +947,10 @@ public class ClaimedResidence {
|
|||||||
} else {
|
} else {
|
||||||
final CuboidArea area = areas.values().iterator().next();
|
final CuboidArea area = areas.values().iterator().next();
|
||||||
if (area == null) {
|
if (area == null) {
|
||||||
reqPlayer.sendMessage(ChatColor.RED + "Could not find area to teleport to...");
|
reqPlayer.sendMessage(ChatColor.RED + "未找到可传送的区域...");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
final Location targloc = this.getOutsideFreeLoc(area.getHighLoc());
|
final Location targloc = getOutsideFreeLoc(area.getHighLoc());
|
||||||
final ResidenceTPEvent tpevent = new ResidenceTPEvent(this, targloc, targetPlayer, reqPlayer);
|
final ResidenceTPEvent tpevent = new ResidenceTPEvent(this, targloc, targetPlayer, reqPlayer);
|
||||||
Bukkit.getServer().getPluginManager().callEvent(tpevent);
|
Bukkit.getServer().getPluginManager().callEvent(tpevent);
|
||||||
if (!tpevent.isCancelled()) {
|
if (!tpevent.isCancelled()) {
|
||||||
|
|||||||
Reference in New Issue
Block a user