diff --git a/src/main/java/cn/citycraft/Residence/listeners/ResidencePlayerListener.java b/src/main/java/cn/citycraft/Residence/listeners/ResidencePlayerListener.java index d1cf290..37ea7ae 100644 --- a/src/main/java/cn/citycraft/Residence/listeners/ResidencePlayerListener.java +++ b/src/main/java/cn/citycraft/Residence/listeners/ResidencePlayerListener.java @@ -33,6 +33,7 @@ import org.bukkit.event.player.PlayerMoveEvent; import org.bukkit.event.player.PlayerQuitEvent; import org.bukkit.event.player.PlayerRespawnEvent; import org.bukkit.event.player.PlayerTeleportEvent; +import org.bukkit.event.player.PlayerTeleportEvent.TeleportCause; import org.bukkit.plugin.Plugin; import com.bekvon.bukkit.residence.event.ResidenceChangedEvent; @@ -502,7 +503,7 @@ public class ResidencePlayerListener implements Listener { if (plugin.isResAdminOn(player) || ((res.getPermissions().playerHas(player.getName(), "tp", true) || player.hasPermission("residence.admin.tp")) && (res.getPermissions().playerHas(player.getName(), "move", true) || player.hasPermission("residence.admin.move")))) { handleNewLocation(player, loc, false); - } else { + } else if (event.getCause() != TeleportCause.PLUGIN) { final String areaname = res.getName(); event.setCancelled(true); player.sendMessage(ChatColor.RED + plugin.getLanguage().getPhrase("TeleportDeny", areaname));