mirror of
https://github.com/IntellectualSites/PlotSquared.git
synced 2024-11-26 07:06:44 +01:00
Unclaim command
This commit is contained in:
parent
b54124ff6d
commit
c528e1e87a
@ -36,6 +36,10 @@ public enum Command {
|
||||
// (Rating system) (ratings can be stored as the average, and number of
|
||||
// ratings)
|
||||
// - /plot rate <number out of 10>
|
||||
/**
|
||||
*
|
||||
*/
|
||||
UNCLAIM("unclaim"),
|
||||
/**
|
||||
*
|
||||
*/
|
||||
|
@ -51,25 +51,45 @@ public class MainCommand implements CommandExecutor, TabCompleter {
|
||||
|
||||
private final static SubCommand[] _subCommands =
|
||||
new SubCommand[]{
|
||||
new Ban(), new Unban(),
|
||||
new OP(), new DEOP(),
|
||||
new Claim(), new Paste(),
|
||||
new Copy(), new Clipboard(),
|
||||
new Auto(), new Home(),
|
||||
new Visit(), new TP(),
|
||||
new Set(), new Clear(),
|
||||
new Delete(), new SetOwner(),
|
||||
new Denied(), new Helpers(),
|
||||
new Trusted(), new Info(),
|
||||
new list(), new Help(),
|
||||
new Debug(), new Schematic(),
|
||||
new plugin(), new Inventory(),
|
||||
new Purge(), new Reload(),
|
||||
new Merge(), new Unlink(),
|
||||
new Kick(), new Setup(),
|
||||
new DebugClaimTest(), new Inbox(),
|
||||
new Comment(), new Database(),
|
||||
new Swap(), new MusicSubcommand()};
|
||||
new Ban(),
|
||||
new Unban(),
|
||||
new OP(),
|
||||
new DEOP(),
|
||||
new Claim(),
|
||||
new Paste(),
|
||||
new Copy(),
|
||||
new Clipboard(),
|
||||
new Auto(),
|
||||
new Home(),
|
||||
new Visit(),
|
||||
new TP(),
|
||||
new Set(),
|
||||
new Clear(),
|
||||
new Delete(),
|
||||
new SetOwner(),
|
||||
new Denied(),
|
||||
new Helpers(),
|
||||
new Trusted(),
|
||||
new Info(),
|
||||
new list(),
|
||||
new Help(),
|
||||
new Debug(),
|
||||
new Schematic(),
|
||||
new plugin(),
|
||||
new Inventory(),
|
||||
new Purge(),
|
||||
new Reload(),
|
||||
new Merge(),
|
||||
new Unlink(),
|
||||
new Kick(),
|
||||
new Setup(),
|
||||
new DebugClaimTest(),
|
||||
new Inbox(),
|
||||
new Comment(),
|
||||
new Database(),
|
||||
new Unclaim(),
|
||||
new Swap(),
|
||||
new MusicSubcommand()};
|
||||
|
||||
public final static ArrayList<SubCommand> subCommands = new ArrayList<SubCommand>() {
|
||||
{
|
||||
|
@ -0,0 +1,78 @@
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
// PlotSquared - A plot manager and world generator for the Bukkit API /
|
||||
// Copyright (c) 2014 IntellectualSites/IntellectualCrafters /
|
||||
// /
|
||||
// This program is free software; you can redistribute it and/or modify /
|
||||
// it under the terms of the GNU General Public License as published by /
|
||||
// the Free Software Foundation; either version 3 of the License, or /
|
||||
// (at your option) any later version. /
|
||||
// /
|
||||
// This program is distributed in the hope that it will be useful, /
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of /
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the /
|
||||
// GNU General Public License for more details. /
|
||||
// /
|
||||
// You should have received a copy of the GNU General Public License /
|
||||
// along with this program; if not, write to the Free Software Foundation, /
|
||||
// Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA /
|
||||
// /
|
||||
// You can contact us via: support@intellectualsites.com /
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
package com.intellectualcrafters.plot.commands;
|
||||
|
||||
import com.intellectualcrafters.plot.PlotMain;
|
||||
import com.intellectualcrafters.plot.config.C;
|
||||
import com.intellectualcrafters.plot.object.Plot;
|
||||
import com.intellectualcrafters.plot.object.PlotId;
|
||||
import com.intellectualcrafters.plot.util.PlayerFunctions;
|
||||
import com.intellectualcrafters.plot.util.PlotHelper;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
public class Unclaim extends SubCommand {
|
||||
|
||||
public Unclaim() {
|
||||
super(Command.UNCLAIM, "Unclaim a plot", "unclaim", CommandCategory.ACTIONS, false);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean execute(final Player plr, final String... args) {
|
||||
if (plr == null) {
|
||||
// Is console
|
||||
if (args.length < 2) {
|
||||
PlotMain.sendConsoleSenderMessage("You need to specify two arguments: ID (0;0) & World (world)");
|
||||
} else {
|
||||
PlotId id = PlotId.fromString(args[0]);
|
||||
String world = args[1];
|
||||
if (id == null) {
|
||||
PlotMain.sendConsoleSenderMessage("Invalid Plot ID: " + args[0]);
|
||||
} else {
|
||||
if (!PlotMain.isPlotWorld(world)) {
|
||||
PlotMain.sendConsoleSenderMessage("Invalid plot world: " + world);
|
||||
} else {
|
||||
Plot plot = PlotHelper.getPlot(Bukkit.getWorld(world), id);
|
||||
if (plot == null) {
|
||||
PlotMain.sendConsoleSenderMessage("Could not find plot " + args[0] + " in world " + world);
|
||||
} else {
|
||||
PlotMain.sendConsoleSenderMessage("Plot " + plot.getId().toString() + " cleared.");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
if (!PlayerFunctions.isInPlot(plr)) {
|
||||
return sendMessage(plr, C.NOT_IN_PLOT);
|
||||
}
|
||||
final Plot plot = PlayerFunctions.getCurrentPlot(plr);
|
||||
if (!PlayerFunctions.getTopPlot(plr.getWorld(), plot).equals(PlayerFunctions.getBottomPlot(plr.getWorld(), plot))) {
|
||||
return sendMessage(plr, C.UNLINK_REQUIRED);
|
||||
}
|
||||
if (((plot == null) || !plot.hasOwner() || !plot.getOwner().equals(plr.getUniqueId())) && !PlotMain.hasPermission(plr, "plots.admin")) {
|
||||
return sendMessage(plr, C.NO_PLOT_PERMS);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user