Done flag

This commit is contained in:
boy0001
2015-08-14 03:22:32 +10:00
parent b7fe6ea749
commit 393a85c1bc
11 changed files with 180 additions and 42 deletions

View File

@ -657,8 +657,8 @@ public class PlayerEvents extends com.plotsquared.listener.PlotListener implemen
event.setCancelled(true);
return;
}
final PlotPlayer pp = BukkitUtil.getPlayer(player);
if (!plot.hasOwner()) {
final PlotPlayer pp = BukkitUtil.getPlayer(player);
if (Permissions.hasPermission(pp, PERMISSION_ADMIN_DESTROY_UNOWNED)) {
return;
}
@ -666,8 +666,7 @@ public class PlayerEvents extends com.plotsquared.listener.PlotListener implemen
event.setCancelled(true);
return;
}
final PlotPlayer pp = BukkitUtil.getPlayer(player);
if (!plot.isAdded(pp.getUUID())) {
else if (!plot.isAdded(pp.getUUID())) {
final Flag destroy = FlagManager.getPlotFlag(plot, "break");
final Block block = event.getBlock();
if ((destroy != null) && ((HashSet<PlotBlock>) destroy.getValue()).contains(new PlotBlock((short) block.getTypeId(), block.getData()))) {
@ -679,6 +678,13 @@ public class PlayerEvents extends com.plotsquared.listener.PlotListener implemen
MainUtil.sendMessage(pp, C.NO_PERMISSION_EVENT, PERMISSION_ADMIN_DESTROY_OTHER);
event.setCancelled(true);
}
else if (FlagManager.isPlotFlagTrue(plot, "done")) {
if (!Permissions.hasPermission(pp, PERMISSION_ADMIN_BUILD_OTHER)) {
MainUtil.sendMessage(pp, C.NO_PERMISSION_EVENT, PERMISSION_ADMIN_BUILD_OTHER);
event.setCancelled(true);
return;
}
}
return;
}
final PlotPlayer pp = BukkitUtil.getPlayer(player);
@ -2071,6 +2077,13 @@ public class PlayerEvents extends com.plotsquared.listener.PlotListener implemen
return;
}
}
else if (FlagManager.isPlotFlagTrue(plot, "done")) {
if (!Permissions.hasPermission(pp, PERMISSION_ADMIN_BUILD_OTHER)) {
MainUtil.sendMessage(pp, C.NO_PERMISSION_EVENT, PERMISSION_ADMIN_BUILD_OTHER);
event.setCancelled(true);
return;
}
}
if (FlagManager.isPlotFlagTrue(plot, FLAG_DISABLE_PHYSICS)) {
Block block = event.getBlockPlaced();
if (block.getType().hasGravity()) {

View File

@ -5,6 +5,7 @@ import java.util.UUID;
import com.intellectualcrafters.plot.PS;
import com.intellectualcrafters.plot.config.Settings;
import com.intellectualcrafters.plot.flag.FlagManager;
import com.intellectualcrafters.plot.object.Location;
import com.intellectualcrafters.plot.object.Plot;
import com.intellectualcrafters.plot.object.PlotPlayer;
@ -27,7 +28,7 @@ public class WEManager {
HashSet<RegionWrapper> regions = new HashSet<>();
UUID uuid = player.getUUID();
for (Plot plot : PS.get().getPlotsInWorld(player.getLocation().getWorld())) {
if (!plot.getMerged(0) && !plot.getMerged(3)) {
if (plot.isBasePlot() && !FlagManager.isPlotFlagTrue(plot, "done")) {
if (Settings.WE_ALLOW_HELPER ? plot.isAdded(uuid) : (plot.isOwner(uuid) || plot.getTrusted().contains(uuid))) {
Location pos1 = MainUtil.getPlotBottomLoc(plot.world, plot.id).add(1, 0, 1);
Location pos2 = MainUtil.getPlotTopLoc(plot.world, plot.id);

View File

@ -36,6 +36,10 @@ public class CommandManager<T extends CommandCaller> {
this.commands.put(alias.toLowerCase(), command);
}
}
final public Command<T> getCommand(String command) {
return commands.get(command);
}
final public boolean createCommand(final Command<T> command) {
try {