mirror of
https://github.com/IntellectualSites/PlotSquared.git
synced 2024-11-25 22:56:45 +01:00
3.3.2
This commit is contained in:
parent
d4d9a9e148
commit
056f77a3ba
@ -13,7 +13,7 @@ import com.plotsquared.general.commands.CommandDeclaration;
|
|||||||
|
|
||||||
@CommandDeclaration(command = "help",
|
@CommandDeclaration(command = "help",
|
||||||
description = "Get this help menu",
|
description = "Get this help menu",
|
||||||
aliases = {"he", "h", "?"},
|
aliases = {"he", "?"},
|
||||||
category = CommandCategory.INFO,
|
category = CommandCategory.INFO,
|
||||||
usage="help [category|#]",
|
usage="help [category|#]",
|
||||||
permission="plots.use")
|
permission="plots.use")
|
||||||
@ -23,7 +23,7 @@ public class Help extends Command {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean canExecute(PlotPlayer player) {
|
public boolean canExecute(PlotPlayer player, boolean message) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -240,7 +240,7 @@ public class MainCommand extends Command {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean canExecute(PlotPlayer player) {
|
public boolean canExecute(PlotPlayer player, boolean message) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -92,7 +92,7 @@ public class Merge extends SubCommand {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
final PlotArea plotworld = plot.getArea();
|
final PlotArea plotworld = plot.getArea();
|
||||||
final double price = plotworld.PRICES.get("merge");
|
final double price = plotworld.PRICES.containsKey("merge") ? plotworld.PRICES.get("merge") : 0;
|
||||||
if (EconHandler.manager != null && plotworld.USE_ECONOMY && price > 0d && EconHandler.manager.getMoney(plr) < price) {
|
if (EconHandler.manager != null && plotworld.USE_ECONOMY && price > 0d && EconHandler.manager.getMoney(plr) < price) {
|
||||||
sendMessage(plr, C.CANNOT_AFFORD_MERGE, price + "");
|
sendMessage(plr, C.CANNOT_AFFORD_MERGE, price + "");
|
||||||
return false;
|
return false;
|
||||||
|
@ -62,7 +62,7 @@ public abstract class Command {
|
|||||||
public List<Command> getCommands(PlotPlayer player) {
|
public List<Command> getCommands(PlotPlayer player) {
|
||||||
List<Command> commands = new ArrayList<>();
|
List<Command> commands = new ArrayList<>();
|
||||||
for (Command cmd : allCommands) {
|
for (Command cmd : allCommands) {
|
||||||
if (cmd.canExecute(player)) {
|
if (cmd.canExecute(player, false)) {
|
||||||
commands.add(cmd);
|
commands.add(cmd);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -322,23 +322,22 @@ public abstract class Command {
|
|||||||
}
|
}
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (!cmd.canExecute(player)) {
|
Argument<?>[] reqArgs = cmd.getRequiredArguments();
|
||||||
Argument<?>[] reqArgs = cmd.getRequiredArguments();
|
if ((reqArgs != null) && (reqArgs.length > 0)) {
|
||||||
if ((reqArgs != null) && (reqArgs.length > 0)) {
|
boolean failed = args.length > reqArgs.length;
|
||||||
boolean failed = args.length > reqArgs.length;
|
String[] baseSplit = getCommandString().split(" ");
|
||||||
String[] baseSplit = getCommandString().split(" ");
|
String[] fullSplit = getUsage().split(" ");
|
||||||
String[] fullSplit = getUsage().split(" ");
|
String base = getCommandString();
|
||||||
String base = getCommandString();
|
for (int i = 0; i < reqArgs.length; i++) {
|
||||||
for (int i = 0; i < reqArgs.length; i++) {
|
fullSplit[i + baseSplit.length] = reqArgs[i].getExample().toString();
|
||||||
fullSplit[i + baseSplit.length] = reqArgs[i].getExample().toString();
|
failed = failed || reqArgs[i].parse(args[i]) == null;
|
||||||
failed = failed || reqArgs[i].parse(args[i]) == null;
|
|
||||||
}
|
|
||||||
if (failed) {
|
|
||||||
C.COMMAND_SYNTAX.send(player, StringMan.join(fullSplit, " "));
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
C.NO_PERMISSION.send(player, cmd.getPermission());
|
if (failed) {
|
||||||
|
C.COMMAND_SYNTAX.send(player, StringMan.join(fullSplit, " "));
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (!cmd.canExecute(player, true)) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
cmd.execute(player, Arrays.copyOfRange(args, 1, args.length), confirm, whenDone);
|
cmd.execute(player, Arrays.copyOfRange(args, 1, args.length), confirm, whenDone);
|
||||||
@ -395,8 +394,19 @@ public abstract class Command {
|
|||||||
return cmd;
|
return cmd;
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean canExecute(PlotPlayer player) {
|
public boolean canExecute(PlotPlayer player, boolean message) {
|
||||||
return required.allows(player) && Permissions.hasPermission(player, getPermission());
|
if (!required.allows(player)) {
|
||||||
|
if (message) {
|
||||||
|
MainUtil.sendMessage(player, required == RequiredType.PLAYER ? C.IS_CONSOLE : C.NOT_CONSOLE);
|
||||||
|
}
|
||||||
|
} else if (!Permissions.hasPermission(player, getPermission())) {
|
||||||
|
if (message) {
|
||||||
|
C.NO_PERMISSION.send(player, getPermission());
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean matches(String arg) {
|
public boolean matches(String arg) {
|
||||||
@ -440,11 +450,11 @@ public abstract class Command {
|
|||||||
String arg = args[0].toLowerCase();
|
String arg = args[0].toLowerCase();
|
||||||
if (space) {
|
if (space) {
|
||||||
Command cmd = getCommand(arg);
|
Command cmd = getCommand(arg);
|
||||||
return (cmd != null && cmd.canExecute(player)) ? (cmd.tab(player, Arrays.copyOfRange(args, 1, args.length), space)) : null;
|
return (cmd != null && cmd.canExecute(player, false)) ? (cmd.tab(player, Arrays.copyOfRange(args, 1, args.length), space)) : null;
|
||||||
} else {
|
} else {
|
||||||
Set<Command> commands = new HashSet<Command>();
|
Set<Command> commands = new HashSet<Command>();
|
||||||
for (Map.Entry<String, Command> entry : staticCommands.entrySet()) {
|
for (Map.Entry<String, Command> entry : staticCommands.entrySet()) {
|
||||||
if (entry.getKey().startsWith(arg) && entry.getValue().canExecute(player)) {
|
if (entry.getKey().startsWith(arg) && entry.getValue().canExecute(player, false)) {
|
||||||
commands.add(entry.getValue());
|
commands.add(entry.getValue());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -55,8 +55,8 @@ public class SpongeCommand implements CommandCallable {
|
|||||||
final Set<String> tabOptions = new HashSet<>();
|
final Set<String> tabOptions = new HashSet<>();
|
||||||
final String arg = split[0].toLowerCase();
|
final String arg = split[0].toLowerCase();
|
||||||
ArrayList<String> labels = new ArrayList<>();
|
ArrayList<String> labels = new ArrayList<>();
|
||||||
for (final Command<PlotPlayer> cmd : MainCommand.getInstance().getCommands()) {
|
for (final Command cmd : MainCommand.getInstance().getCommands()) {
|
||||||
final String label = cmd.getCommand();
|
final String label = cmd.toS();
|
||||||
HashSet<String> aliases = new HashSet<>(cmd.getAliases());
|
HashSet<String> aliases = new HashSet<>(cmd.getAliases());
|
||||||
aliases.add(label);
|
aliases.add(label);
|
||||||
for (String alias : aliases) {
|
for (String alias : aliases) {
|
||||||
|
@ -10,7 +10,7 @@ buildscript {
|
|||||||
}
|
}
|
||||||
|
|
||||||
group = 'com.intellectualcrafters'
|
group = 'com.intellectualcrafters'
|
||||||
version = '3.3.1'
|
version = '3.3.2'
|
||||||
description = """PlotSquared"""
|
description = """PlotSquared"""
|
||||||
|
|
||||||
subprojects {
|
subprojects {
|
||||||
|
2
pom.xml
2
pom.xml
@ -6,7 +6,7 @@
|
|||||||
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
||||||
</properties>
|
</properties>
|
||||||
<artifactId>PlotSquared</artifactId>
|
<artifactId>PlotSquared</artifactId>
|
||||||
<version>3.3.1</version>
|
<version>3.3.2</version>
|
||||||
<name>PlotSquared</name>
|
<name>PlotSquared</name>
|
||||||
<packaging>jar</packaging>
|
<packaging>jar</packaging>
|
||||||
<build>
|
<build>
|
||||||
|
Loading…
Reference in New Issue
Block a user