package com.intellectualcrafters.plot.flag;
import com.intellectualcrafters.plot.object.Plot;
import com.intellectualcrafters.plot.object.PlotPlayer;
public class TeleportDenyFlag extends EnumFlag {
public TeleportDenyFlag(String name) {
super(name, "trusted", "members", "nonmembers", "nontrusted", "nonowners");
}
public boolean allowsTeleport(PlotPlayer player, Plot plot) {
String value = plot.getFlag(this, null);
if (value == null || !plot.hasOwner()) {
return true;
}
boolean result;
switch (plot.getFlag(this, null)) {
case "trusted":
result = !plot.getTrusted().contains(player.getUUID());
break;
case "members":
result = !plot.getMembers().contains(player.getUUID());
break;
case "nonmembers":
result = !plot.isAdded(player.getUUID());
break;
case "nontrusted":
result = !plot.getTrusted().contains(player.getUUID()) && !plot.isOwner(player.getUUID());
break;
case "nonowners":
result = !plot.isOwner(player.getUUID());
break;
default:
return true;
}
return result || player.hasPermission("plots.admin.entry.denied");
}
}