mirror of
https://github.com/IntellectualSites/PlotSquared.git
synced 2024-11-26 15:16:45 +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
|
// (Rating system) (ratings can be stored as the average, and number of
|
||||||
// ratings)
|
// ratings)
|
||||||
// - /plot rate <number out of 10>
|
// - /plot rate <number out of 10>
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
UNCLAIM("unclaim"),
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
@ -51,25 +51,45 @@ public class MainCommand implements CommandExecutor, TabCompleter {
|
|||||||
|
|
||||||
private final static SubCommand[] _subCommands =
|
private final static SubCommand[] _subCommands =
|
||||||
new SubCommand[]{
|
new SubCommand[]{
|
||||||
new Ban(), new Unban(),
|
new Ban(),
|
||||||
new OP(), new DEOP(),
|
new Unban(),
|
||||||
new Claim(), new Paste(),
|
new OP(),
|
||||||
new Copy(), new Clipboard(),
|
new DEOP(),
|
||||||
new Auto(), new Home(),
|
new Claim(),
|
||||||
new Visit(), new TP(),
|
new Paste(),
|
||||||
new Set(), new Clear(),
|
new Copy(),
|
||||||
new Delete(), new SetOwner(),
|
new Clipboard(),
|
||||||
new Denied(), new Helpers(),
|
new Auto(),
|
||||||
new Trusted(), new Info(),
|
new Home(),
|
||||||
new list(), new Help(),
|
new Visit(),
|
||||||
new Debug(), new Schematic(),
|
new TP(),
|
||||||
new plugin(), new Inventory(),
|
new Set(),
|
||||||
new Purge(), new Reload(),
|
new Clear(),
|
||||||
new Merge(), new Unlink(),
|
new Delete(),
|
||||||
new Kick(), new Setup(),
|
new SetOwner(),
|
||||||
new DebugClaimTest(), new Inbox(),
|
new Denied(),
|
||||||
new Comment(), new Database(),
|
new Helpers(),
|
||||||
new Swap(), new MusicSubcommand()};
|
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>() {
|
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