diff --git a/Bukkit/src/main/resources/plugin.yml b/Bukkit/src/main/resources/plugin.yml
index fc926be42..befc8c077 100644
--- a/Bukkit/src/main/resources/plugin.yml
+++ b/Bukkit/src/main/resources/plugin.yml
@@ -278,6 +278,8 @@ permissions:
default: false
plots.admin.command.trust:
default: false
+ plots.admin.command.add:
+ default: false
plots.admin.info.force:
default: false
plots.admin.command.schematic:
diff --git a/Core/src/main/java/com/plotsquared/core/command/Add.java b/Core/src/main/java/com/plotsquared/core/command/Add.java
index 836ed2d11..19f290c55 100644
--- a/Core/src/main/java/com/plotsquared/core/command/Add.java
+++ b/Core/src/main/java/com/plotsquared/core/command/Add.java
@@ -114,8 +114,8 @@ public class Add extends Command {
size += plot.getTrusted().contains(uuid) ? 0 : 1;
}
checkTrue(!uuids.isEmpty(), null);
- checkTrue(size <= plot.getArea().getMaxPlotMembers() || Permissions.hasPermission(player, Permission.PERMISSION_ADMIN_COMMAND_TRUST),
- TranslatableCaption.of("members.plot_max_members"));
+ if (!(player.hasPermission("plots.add." + size) || Permissions.hasPermission(player, Permission.PERMISSION_ADMIN_COMMAND_ADD)))
+ player.sendMessage(TranslatableCaption.of("members.plot_max_members"), Template.of("amount", String.valueOf(size - 1)));
// Success
confirm.run(this, () -> {
for (UUID uuid : uuids) {
diff --git a/Core/src/main/java/com/plotsquared/core/command/Deny.java b/Core/src/main/java/com/plotsquared/core/command/Deny.java
index cfe357c42..bb10764e1 100644
--- a/Core/src/main/java/com/plotsquared/core/command/Deny.java
+++ b/Core/src/main/java/com/plotsquared/core/command/Deny.java
@@ -72,6 +72,8 @@ public class Deny extends SubCommand {
Location location = player.getLocation();
Plot plot = location.getPlotAbs();
+ final Plot currentPlot = player.getCurrentPlot();
+ int size = currentPlot.getDenied().size();
if (plot == null) {
player.sendMessage(TranslatableCaption.of("errors.not_in_plot"));
return false;
@@ -86,6 +88,9 @@ public class Deny extends SubCommand {
return true;
}
+ if (!(player.hasPermission("plots.deny." + size) || Permissions.hasPermission(player, Permission.PERMISSION_ADMIN_COMMAND_DENY)))
+ player.sendMessage(TranslatableCaption.of("members.plot_max_members_denied"), Template.of("amount", String.valueOf(size)));
+
PlayerManager.getUUIDsFromString(args[0], (uuids, throwable) -> {
if (throwable instanceof TimeoutException) {
player.sendMessage(TranslatableCaption.of("players.fetching_players_timeout"));
diff --git a/Core/src/main/java/com/plotsquared/core/command/Download.java b/Core/src/main/java/com/plotsquared/core/command/Download.java
index ab49b5235..ea5586c4a 100644
--- a/Core/src/main/java/com/plotsquared/core/command/Download.java
+++ b/Core/src/main/java/com/plotsquared/core/command/Download.java
@@ -51,7 +51,7 @@ import java.util.LinkedList;
import java.util.List;
import java.util.stream.Collectors;
-@CommandDeclaration(usage = "/plot download [schematic | world]",
+@CommandDeclaration(usage = "/plot download [schem | world]",
command = "download",
aliases = {"dl"},
category = CommandCategory.SCHEMATIC,
diff --git a/Core/src/main/java/com/plotsquared/core/command/Trust.java b/Core/src/main/java/com/plotsquared/core/command/Trust.java
index 965315f5a..a0f92627f 100644
--- a/Core/src/main/java/com/plotsquared/core/command/Trust.java
+++ b/Core/src/main/java/com/plotsquared/core/command/Trust.java
@@ -128,9 +128,8 @@ public class Trust extends Command {
size += currentPlot.getMembers().contains(uuid) ? 0 : 1;
}
checkTrue(!uuids.isEmpty(), null);
- checkTrue(size <= currentPlot.getArea().getMaxPlotMembers() || Permissions
- .hasPermission(player, Permission.PERMISSION_ADMIN_COMMAND_TRUST),
- TranslatableCaption.of("member.plot_max_members"));
+ if (!(player.hasPermission("plots.trust." + size) || Permissions.hasPermission(player, Permission.PERMISSION_ADMIN_COMMAND_TRUST)))
+ player.sendMessage(TranslatableCaption.of("members.plot_max_members"), Template.of("amount", String.valueOf(size - 1)));
// Success
confirm.run(this, () -> {
for (UUID uuid : uuids) {
diff --git a/Core/src/main/java/com/plotsquared/core/permissions/Permission.java b/Core/src/main/java/com/plotsquared/core/permissions/Permission.java
index 7a9faebe0..1a8f0938c 100644
--- a/Core/src/main/java/com/plotsquared/core/permissions/Permission.java
+++ b/Core/src/main/java/com/plotsquared/core/permissions/Permission.java
@@ -76,6 +76,7 @@ public enum Permission {
PERMISSION_ADMIN_INTERACT_OTHER("plots.admin.interact.other"),
PERMISSION_ADMIN_BUILD_HEIGHT_LIMIT("plots.admin.build.heightlimit"),
PERMISSION_ADMIN_COMMAND_PURGE_RATINGS("plots.admin.command.purge.ratings"),
+ PERMISSION_ADMIN_COMMAND_ADD("plots.admin.command.trust"),
PERMISSION_ADMIN_COMMAND_TRUST("plots.admin.command.trust"),
PERMISSION_TRUST_EVERYONE("plots.trust.everyone"),
PERMISSION_AREA_CREATE("plots.area.create"),
diff --git a/Core/src/main/resources/lang/messages_en.json b/Core/src/main/resources/lang/messages_en.json
index 81760e176..eac393836 100644
--- a/Core/src/main/resources/lang/messages_en.json
+++ b/Core/src/main/resources/lang/messages_en.json
@@ -352,7 +352,7 @@
"blocklist.block_list_separator": ", ",
"biome.need_biome": "You need to specify a valid biome.",
- "biome.biome_set_to": "Plot biome set to ",
+ "biome.biome_set_to": "Plot biome set to . You may have to rejoin your game to see a change.",
"teleport.teleported_to_plot": "You have been teleported.",
"teleport.teleported_to_road": "You got teleported to the road.",
@@ -380,7 +380,7 @@
"info.plot_info_unclaimed": "Plot is not yet claimed.",
"info.plot_info_header": "--------- INFO ---------",
"info.plot_info_hidden": "You cannot view the information about this plot.",
- "info.plot_info_format": "\nID: \nArea: \nAlias: \nOwner: \nBiome: \nCan Build: \nRating: \nSeen: \nTrusted: \nMembers: \nDenied: \nFlags:\nDescription: \n