mirror of
https://github.com/IntellectualSites/PlotSquared.git
synced 2024-11-21 12:46:46 +01:00
feat: add a permission to override-allow a merge if the other plot's owner is offline
- Closes #3779
This commit is contained in:
parent
3effaefda7
commit
5d29c03a35
@ -282,7 +282,28 @@ public class Merge extends SubCommand {
|
||||
run.run();
|
||||
}
|
||||
}
|
||||
if (!force && !isOnline) {
|
||||
if (force || !isOnline) {
|
||||
if (force || Permissions.hasPermission(player, Permission.PERMISSION_ADMIN_COMMAND_MERGE_OTHER_OFFLINE)) {
|
||||
if (plot.getPlotModificationManager().autoMerge(direction, maxSize - size, uuids.iterator().next(), player, terrain)) {
|
||||
if (this.econHandler.isEnabled(plotArea) && price > 0d) {
|
||||
if (!force && this.econHandler.getMoney(player) < price) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("economy.cannot_afford_merge"),
|
||||
Template.of("money", this.econHandler.format(price))
|
||||
);
|
||||
return false;
|
||||
}
|
||||
this.econHandler.withdrawMoney(player, price);
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("economy.removed_balance"),
|
||||
Template.of("money", this.econHandler.format(price))
|
||||
);
|
||||
}
|
||||
player.sendMessage(TranslatableCaption.of("merge.success_merge"));
|
||||
eventDispatcher.callPostMerge(player, plot);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
player.sendMessage(TranslatableCaption.of("merge.no_available_automerge"));
|
||||
return false;
|
||||
}
|
||||
|
@ -162,6 +162,7 @@ public enum Permission {
|
||||
PERMISSION_LIST_AREA("plots.list.area"),
|
||||
PERMISSION_ADMIN_COMMAND_LOAD("plots.admin.command.load"),
|
||||
PERMISSION_ADMIN_COMMAND_MERGE("plots.admin.command.merge"),
|
||||
PERMISSION_ADMIN_COMMAND_MERGE_OTHER_OFFLINE("plots.admin.command.merge.other.offline"),
|
||||
PERMISSION_ADMIN_COMMAND_SET_OWNER("plots.admin.command.setowner"),
|
||||
PERMISSION_COMMENT("plots.comment"),
|
||||
PERMISSION_INBOX("plots.inbox"),
|
||||
|
Loading…
Reference in New Issue
Block a user