mirror of
https://github.com/IntellectualSites/PlotSquared.git
synced 2024-11-22 21:26:45 +01:00
Fix deny-exit flag causing plot kick to break
This commit is contained in:
parent
d81d3c72e4
commit
b2d035cf69
@ -739,7 +739,8 @@ import java.util.regex.Pattern;
|
|||||||
Plot now = area.getPlot(loc);
|
Plot now = area.getPlot(loc);
|
||||||
Plot lastPlot = pp.getMeta(PlotPlayer.META_LAST_PLOT);
|
Plot lastPlot = pp.getMeta(PlotPlayer.META_LAST_PLOT);
|
||||||
if (now == null) {
|
if (now == null) {
|
||||||
if (lastPlot != null && !plotExit(pp, lastPlot) && this.tmpTeleport) {
|
if (lastPlot != null && !plotExit(pp, lastPlot) && this.tmpTeleport && !pp
|
||||||
|
.getMeta("kick", false)) {
|
||||||
MainUtil.sendMessage(pp, C.NO_PERMISSION_EVENT, C.PERMISSION_ADMIN_EXIT_DENIED);
|
MainUtil.sendMessage(pp, C.NO_PERMISSION_EVENT, C.PERMISSION_ADMIN_EXIT_DENIED);
|
||||||
this.tmpTeleport = false;
|
this.tmpTeleport = false;
|
||||||
if (lastPlot.equals(BukkitUtil.getLocation(from).getPlot())) {
|
if (lastPlot.equals(BukkitUtil.getLocation(from).getPlot())) {
|
||||||
@ -800,7 +801,8 @@ import java.util.regex.Pattern;
|
|||||||
Plot now = area.getPlot(loc);
|
Plot now = area.getPlot(loc);
|
||||||
Plot lastPlot = pp.getMeta(PlotPlayer.META_LAST_PLOT);
|
Plot lastPlot = pp.getMeta(PlotPlayer.META_LAST_PLOT);
|
||||||
if (now == null) {
|
if (now == null) {
|
||||||
if (lastPlot != null && !plotExit(pp, lastPlot) && this.tmpTeleport) {
|
if (lastPlot != null && !plotExit(pp, lastPlot) && this.tmpTeleport && !pp
|
||||||
|
.getMeta("kick", false)) {
|
||||||
MainUtil.sendMessage(pp, C.NO_PERMISSION_EVENT, C.PERMISSION_ADMIN_EXIT_DENIED);
|
MainUtil.sendMessage(pp, C.NO_PERMISSION_EVENT, C.PERMISSION_ADMIN_EXIT_DENIED);
|
||||||
this.tmpTeleport = false;
|
this.tmpTeleport = false;
|
||||||
if (lastPlot.equals(BukkitUtil.getLocation(from).getPlot())) {
|
if (lastPlot.equals(BukkitUtil.getLocation(from).getPlot())) {
|
||||||
@ -2272,7 +2274,8 @@ import java.util.regex.Pattern;
|
|||||||
event.setCancelled(true);
|
event.setCancelled(true);
|
||||||
} else if (Settings.Done.RESTRICT_BUILDING && plot.getFlags().containsKey(Flags.DONE)) {
|
} else if (Settings.Done.RESTRICT_BUILDING && plot.getFlags().containsKey(Flags.DONE)) {
|
||||||
if (!Permissions.hasPermission(plotPlayer, C.PERMISSION_ADMIN_BUILD_OTHER)) {
|
if (!Permissions.hasPermission(plotPlayer, C.PERMISSION_ADMIN_BUILD_OTHER)) {
|
||||||
MainUtil.sendMessage(plotPlayer, C.NO_PERMISSION_EVENT, C.PERMISSION_ADMIN_BUILD_OTHER);
|
MainUtil
|
||||||
|
.sendMessage(plotPlayer, C.NO_PERMISSION_EVENT, C.PERMISSION_ADMIN_BUILD_OTHER);
|
||||||
event.setCancelled(true);
|
event.setCancelled(true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -68,7 +68,7 @@ import java.util.UUID;
|
|||||||
MainUtil.sendMessage(player, C.INVALID_PLAYER, args[0]);
|
MainUtil.sendMessage(player, C.INVALID_PLAYER, args[0]);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
if (player2.hasPermission("plots.admin.entry.denied")) {
|
if (Permissions.hasPermission(player2, C.PERMISSION_ADMIN_ENTRY_DENIED)) {
|
||||||
C.CANNOT_KICK_PLAYER.send(player, player2.getName());
|
C.CANNOT_KICK_PLAYER.send(player, player2.getName());
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@ -81,10 +81,10 @@ import java.util.UUID;
|
|||||||
// Kick from server if you can't be teleported to spawn
|
// Kick from server if you can't be teleported to spawn
|
||||||
player2.kick(C.YOU_GOT_KICKED.s());
|
player2.kick(C.YOU_GOT_KICKED.s());
|
||||||
} else {
|
} else {
|
||||||
player2.teleport(newSpawn);
|
player2.plotkick(newSpawn);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
player2.teleport(spawn);
|
player2.plotkick(spawn);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
|
@ -353,6 +353,17 @@ public abstract class PlotPlayer implements CommandCaller, OfflinePlotPlayer {
|
|||||||
*/
|
*/
|
||||||
public abstract void teleport(Location location);
|
public abstract void teleport(Location location);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Kick this player to a location
|
||||||
|
*
|
||||||
|
* @param location the target location
|
||||||
|
*/
|
||||||
|
public void plotkick(Location location) {
|
||||||
|
setMeta("kick", true);
|
||||||
|
teleport(location);
|
||||||
|
deleteMeta("kick");
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Set this compass target.
|
* Set this compass target.
|
||||||
*
|
*
|
||||||
|
Loading…
Reference in New Issue
Block a user