mirror of
https://github.com/IntellectualSites/PlotSquared.git
synced 2025-07-04 06:34:42 +02:00
Compare commits
72 Commits
Author | SHA1 | Date | |
---|---|---|---|
e9c9375e78 | |||
7c99c8aabf | |||
88eb8f88a7 | |||
fd118c2c37 | |||
858b6b5471 | |||
f086826942 | |||
9c84dc2bc0 | |||
cba0f3ac1f | |||
b9a130ab00 | |||
688056352b | |||
2a40f52dea | |||
3ed369de19 | |||
bec51401a3 | |||
109f884b5f | |||
8f3fa419c4 | |||
a9f08bc885 | |||
a8923ec729 | |||
4eafd043a3 | |||
826cc8c835 | |||
d1dbf777a4 | |||
823e78377b | |||
87a2e81ec3 | |||
88775334b7 | |||
e126547e97 | |||
c1163cdb2e | |||
30d06b7801 | |||
a5cf7bf2c2 | |||
3d4d413de8 | |||
b97e843849 | |||
48c7a3e94e | |||
7263290bbe | |||
e99c4e3289 | |||
87cb26189f | |||
2dae336a5f | |||
258ed1469b | |||
6f3eabba0e | |||
804228fa6c | |||
be85708e5a | |||
f2368f97df | |||
df87bcb743 | |||
5653d0f175 | |||
b022a97196 | |||
cb596ee6ea | |||
4e391136c0 | |||
a6a0e1d12f | |||
d2776eed5a | |||
6528c60f4d | |||
7ee46be2ac | |||
13bc231091 | |||
55d1a40394 | |||
d70f99b489 | |||
fde9735da2 | |||
20f0aa3656 | |||
0b7bf2d26d | |||
f10e38af63 | |||
21727ebfc7 | |||
e322ee85fd | |||
541255fe7e | |||
20c2f36f6c | |||
744f7a18ae | |||
18eece0b71 | |||
4f12dcf966 | |||
ee832528db | |||
bb5d6c91da | |||
6d4adecb32 | |||
c37b13dcb3 | |||
086dac2ea4 | |||
b2b8598b5b | |||
61e5d9f1b6 | |||
c8989b3332 | |||
9f54472dd6 | |||
115932c65a |
@ -1008,6 +1008,6 @@ ij_html_uniform_ident = false
|
||||
indent_size = 2
|
||||
ij_yaml_keep_indents_on_empty_lines = false
|
||||
ij_yaml_keep_line_breaks = true
|
||||
ij_yaml_space_before_colon = true
|
||||
ij_yaml_space_before_colon = false
|
||||
ij_yaml_spaces_within_braces = true
|
||||
ij_yaml_spaces_within_brackets = true
|
||||
|
12
.github/FUNDING.yml
vendored
12
.github/FUNDING.yml
vendored
@ -1,12 +0,0 @@
|
||||
# These are supported funding model platforms
|
||||
|
||||
github: [NotMyFault, dordsor21, SirYwell]
|
||||
patreon: IntellectualSites # Replace with a single Patreon username
|
||||
open_collective: IntellectualSites
|
||||
ko_fi: # Replace with a single Ko-fi username
|
||||
tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel
|
||||
community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry
|
||||
liberapay: # Replace with a single Liberapay username
|
||||
issuehunt: # Replace with a single IssueHunt username
|
||||
otechie: # Replace with a single Otechie username
|
||||
custom: https://www.paypal.me/AlexanderBrandes # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2']
|
4
.github/ISSUE_TEMPLATE/bug_report.yml
vendored
4
.github/ISSUE_TEMPLATE/bug_report.yml
vendored
@ -18,8 +18,6 @@ body:
|
||||
options:
|
||||
- Paper
|
||||
- Spigot
|
||||
- Tuinity
|
||||
- Purpur
|
||||
validations:
|
||||
required: true
|
||||
|
||||
@ -29,6 +27,8 @@ body:
|
||||
description: Which server version version you using? If your server version is not listed, it is not supported. Update to a supported version first.
|
||||
multiple: false
|
||||
options:
|
||||
- '1.18.1'
|
||||
- '1.18'
|
||||
- '1.17.1'
|
||||
- '1.16.5'
|
||||
- '1.15.2'
|
||||
|
17
.github/PULL_REQUEST_TEMPLATE.md
vendored
17
.github/PULL_REQUEST_TEMPLATE.md
vendored
@ -1,17 +0,0 @@
|
||||
## Overview
|
||||
<!-- Please describe which issue this Pull Request targets
|
||||
|
||||
If there is no issue, please create one so we can look into it before approving your PR.
|
||||
You can do so here: https://github.com/IntellectualSites/PlotSquared/issues
|
||||
-->
|
||||
|
||||
**Fixes {Link to issue}**
|
||||
|
||||
## Description
|
||||
|
||||
## Checklist
|
||||
<!-- Make sure you have completed the following steps (put an "X" between of brackets): -->
|
||||
- [] I included all information required in the sections above
|
||||
- [] I tested my changes and approved their functionality
|
||||
- [] I ensured my changes do not break other parts of the code
|
||||
- [] I read and followed the [contribution guidelines](https://github.com/IntellectualSites/PlotSquared/blob/v6/CONTRIBUTING.md)
|
1
.github/release-drafter.yml
vendored
Normal file
1
.github/release-drafter.yml
vendored
Normal file
@ -0,0 +1 @@
|
||||
_extends: .github
|
34
.github/workflows/build.yml
vendored
34
.github/workflows/build.yml
vendored
@ -1,17 +1,41 @@
|
||||
name: "build"
|
||||
|
||||
on: ["pull_request", "push"]
|
||||
on: [ "pull_request", "push" ]
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: "ubuntu-20.04"
|
||||
steps:
|
||||
- name: "Checkout Repository"
|
||||
uses: "actions/checkout@v2.3.4"
|
||||
- name: "Setup JDK 16"
|
||||
uses: "actions/setup-java@v2.2.0"
|
||||
uses: "actions/checkout@v2.4.0"
|
||||
- name: "Validate Gradle Wrapper"
|
||||
uses: "gradle/wrapper-validation-action@v1.0.4"
|
||||
- name: "Setup Java"
|
||||
uses: "actions/setup-java@v2.4.0"
|
||||
with:
|
||||
distribution: "temurin"
|
||||
java-version: "16"
|
||||
java-version: "17"
|
||||
- name: "Clean Build"
|
||||
run: "./gradlew clean build"
|
||||
- name: "Determine release status"
|
||||
if: "${{ runner.os == 'Linux' }}"
|
||||
run: |
|
||||
if [ "$(./gradlew properties | awk '/^version:/ { print $2; }' | grep '\-SNAPSHOT')" ]; then
|
||||
echo "STATUS=snapshot" >> $GITHUB_ENV
|
||||
else
|
||||
echo "STATUS=release" >> $GITHUB_ENV
|
||||
fi
|
||||
- name: "Publish Release"
|
||||
if: "${{ runner.os == 'Linux' && env.STATUS == 'release' && github.event_name == 'push' && github.ref == 'refs/heads/v6'}}"
|
||||
run: "./gradlew publishToSonatype closeAndReleaseSonatypeStagingRepository"
|
||||
env:
|
||||
ORG_GRADLE_PROJECT_sonatypeUsername: "${{ secrets.SONATYPE_USERNAME }}"
|
||||
ORG_GRADLE_PROJECT_sonatypePassword: "${{ secrets.SONATYPE_PASSWORD }}"
|
||||
ORG_GRADLE_PROJECT_signingKey: "${{ secrets.SIGNING_KEY }}"
|
||||
ORG_GRADLE_PROJECT_signingPassword: "${{ secrets.SIGNING_PASSWORD }}"
|
||||
- name: "Publish Snapshot"
|
||||
if: "${{ runner.os == 'Linux' && env.STATUS != 'release' && github.event_name == 'push' && github.ref == 'refs/heads/v6' }}"
|
||||
run: "./gradlew publishToSonatype"
|
||||
env:
|
||||
ORG_GRADLE_PROJECT_sonatypeUsername: "${{ secrets.SONATYPE_USERNAME }}"
|
||||
ORG_GRADLE_PROJECT_sonatypePassword: "${{ secrets.SONATYPE_PASSWORD }}"
|
||||
|
14
.github/workflows/release-drafter.yml
vendored
Normal file
14
.github/workflows/release-drafter.yml
vendored
Normal file
@ -0,0 +1,14 @@
|
||||
name: "draft release"
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- v6
|
||||
|
||||
jobs:
|
||||
update_release_draft:
|
||||
runs-on: "ubuntu-latest"
|
||||
steps:
|
||||
- uses: "release-drafter/release-drafter@v5.15.0"
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
12
.github/workflows/validate-gradle-wrapper.yml
vendored
12
.github/workflows/validate-gradle-wrapper.yml
vendored
@ -1,12 +0,0 @@
|
||||
name: "validate gradle wrapper"
|
||||
|
||||
on: ["pull_request", "push"]
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: "ubuntu-20.04"
|
||||
steps:
|
||||
- name: "Checkout Repository"
|
||||
uses: "actions/checkout@v2.3.4"
|
||||
- name: "Validate Gradle Wrapper"
|
||||
uses: "gradle/wrapper-validation-action@v1.0.4"
|
@ -24,7 +24,7 @@ dependencies {
|
||||
implementation(libs.bstats)
|
||||
|
||||
// Paper
|
||||
compileOnlyApi(libs.paper)
|
||||
compileOnly(libs.paper)
|
||||
implementation(libs.paperlib)
|
||||
|
||||
// Plugins
|
||||
@ -32,8 +32,8 @@ dependencies {
|
||||
exclude(group = "org.bukkit")
|
||||
exclude(group = "org.spigotmc")
|
||||
}
|
||||
compileOnlyApi(libs.fastasyncworldeditBukkit)
|
||||
testImplementation(libs.fastasyncworldeditBukkit)
|
||||
compileOnly(libs.fastasyncworldeditBukkit) { isTransitive = false }
|
||||
testImplementation(libs.fastasyncworldeditBukkit) { isTransitive = false }
|
||||
compileOnly(libs.vault) {
|
||||
exclude(group = "org.bukkit")
|
||||
}
|
||||
@ -80,6 +80,10 @@ tasks.named<ShadowJar>("shadowJar") {
|
||||
relocate("com.intellectualsites.http", "com.plotsquared.core.http")
|
||||
relocate("com.intellectualsites.paster", "com.plotsquared.core.paster")
|
||||
relocate("org.incendo.serverlib", "com.plotsquared.bukkit.serverlib")
|
||||
relocate("org.jetbrains", "com.plotsquared.core.annotations")
|
||||
relocate("org.intellij.lang", "com.plotsquared.core.intellij.annotations")
|
||||
relocate("javax.annotation", "com.plotsquared.core.annotation")
|
||||
relocate("javax.inject", "com.plotsquared.core.annotation.inject")
|
||||
|
||||
// Get rid of all the libs which are 100% unused.
|
||||
minimize()
|
||||
@ -91,9 +95,10 @@ tasks {
|
||||
withType<Javadoc> {
|
||||
val opt = options as StandardJavadocDocletOptions
|
||||
opt.links("https://papermc.io/javadocs/paper/1.17/")
|
||||
opt.links("https://docs.enginehub.org/javadoc/com.sk89q.worldedit/worldedit-core/7.2.6/")
|
||||
opt.links("https://docs.enginehub.org/javadoc/com.sk89q.worldedit/worldedit-bukkit/7.2.6/")
|
||||
opt.links("https://jd.adventure.kyori.net/api/4.9.1/")
|
||||
opt.links("https://docs.enginehub.org/javadoc/com.sk89q.worldedit/worldedit-core/7.2.7/")
|
||||
opt.links("https://docs.enginehub.org/javadoc/com.sk89q.worldedit/worldedit-bukkit/7.2.7/")
|
||||
opt.links("https://jd.adventure.kyori.net/api/4.9.3/")
|
||||
opt.links("https://notmyfault.github.io/MiniMessage-Javadocs/") // Temporary hosting for 4.2.0-SNAPSHOT, exchange when we jump to 4.10.0
|
||||
opt.links("https://google.github.io/guice/api-docs/5.0.1/javadoc/")
|
||||
opt.links("https://checkerframework.org/api/")
|
||||
}
|
||||
|
@ -27,6 +27,7 @@ package com.plotsquared.bukkit;
|
||||
|
||||
import com.plotsquared.bukkit.util.BukkitUtil;
|
||||
import com.plotsquared.core.command.MainCommand;
|
||||
import com.plotsquared.core.configuration.Settings;
|
||||
import com.plotsquared.core.player.ConsolePlayer;
|
||||
import com.plotsquared.core.player.PlotPlayer;
|
||||
import org.bukkit.command.Command;
|
||||
@ -42,6 +43,7 @@ import java.util.ArrayList;
|
||||
import java.util.Collection;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
import java.util.Locale;
|
||||
|
||||
public class BukkitCommand implements CommandExecutor, TabCompleter {
|
||||
|
||||
@ -63,7 +65,7 @@ public class BukkitCommand implements CommandExecutor, TabCompleter {
|
||||
|
||||
@Override
|
||||
public List<String> onTabComplete(
|
||||
CommandSender commandSender, Command command, String s,
|
||||
CommandSender commandSender, Command command, String label,
|
||||
String[] args
|
||||
) {
|
||||
if (!(commandSender instanceof Player)) {
|
||||
@ -73,8 +75,11 @@ public class BukkitCommand implements CommandExecutor, TabCompleter {
|
||||
if (args.length == 0) {
|
||||
return Collections.singletonList("plots");
|
||||
}
|
||||
if (!Settings.Enabled_Components.TAB_COMPLETED_ALIASES.contains(label.toLowerCase(Locale.ENGLISH))) {
|
||||
return List.of();
|
||||
}
|
||||
Collection<com.plotsquared.core.command.Command> objects =
|
||||
MainCommand.getInstance().tab(player, args, s.endsWith(" "));
|
||||
MainCommand.getInstance().tab(player, args, label.endsWith(" "));
|
||||
if (objects == null) {
|
||||
return null;
|
||||
}
|
||||
|
@ -1180,6 +1180,11 @@ public final class BukkitPlatform extends JavaPlugin implements Listener, PlotPl
|
||||
return this.injector;
|
||||
}
|
||||
|
||||
@Override
|
||||
public @NonNull PlotAreaManager plotAreaManager() {
|
||||
return this.plotAreaManager;
|
||||
}
|
||||
|
||||
@NonNull
|
||||
@Override
|
||||
public Locale getLocale() {
|
||||
|
@ -283,15 +283,15 @@ public class BlockEventListener implements Listener {
|
||||
event.setCancelled(true);
|
||||
pp.sendMessage(
|
||||
TranslatableCaption.of("height.height_limit"),
|
||||
Template.of("minHeight", String.valueOf(area.getMinBuildHeight())),
|
||||
Template.of("maxHeight", String.valueOf(area.getMaxBuildHeight()))
|
||||
Template.template("minHeight", String.valueOf(area.getMinBuildHeight())),
|
||||
Template.template("maxHeight", String.valueOf(area.getMaxBuildHeight()))
|
||||
);
|
||||
}
|
||||
if (!plot.hasOwner()) {
|
||||
if (!Permissions.hasPermission(pp, Permission.PERMISSION_ADMIN_BUILD_UNOWNED)) {
|
||||
pp.sendMessage(
|
||||
TranslatableCaption.of("permission.no_permission_event"),
|
||||
Template.of("node", String.valueOf(Permission.PERMISSION_ADMIN_BUILD_UNOWNED))
|
||||
Template.template("node", String.valueOf(Permission.PERMISSION_ADMIN_BUILD_UNOWNED))
|
||||
);
|
||||
event.setCancelled(true);
|
||||
return;
|
||||
@ -308,7 +308,7 @@ public class BlockEventListener implements Listener {
|
||||
if (!Permissions.hasPermission(pp, Permission.PERMISSION_ADMIN_BUILD_OTHER)) {
|
||||
pp.sendMessage(
|
||||
TranslatableCaption.of("permission.no_permission_event"),
|
||||
Template.of("node", String.valueOf(Permission.PERMISSION_ADMIN_BUILD_OTHER))
|
||||
Template.template("node", String.valueOf(Permission.PERMISSION_ADMIN_BUILD_OTHER))
|
||||
);
|
||||
event.setCancelled(true);
|
||||
plot.debug(player.getName() + " could not place " + event.getBlock().getType()
|
||||
@ -318,8 +318,7 @@ public class BlockEventListener implements Listener {
|
||||
} else if (Settings.Done.RESTRICT_BUILDING && DoneFlag.isDone(plot)) {
|
||||
if (!Permissions.hasPermission(pp, Permission.PERMISSION_ADMIN_BUILD_OTHER)) {
|
||||
pp.sendMessage(
|
||||
TranslatableCaption.of("permission.no_permission_event"),
|
||||
Template.of("node", String.valueOf(Permission.PERMISSION_ADMIN_BUILD_OTHER))
|
||||
TranslatableCaption.of("done.building_restricted")
|
||||
);
|
||||
event.setCancelled(true);
|
||||
return;
|
||||
@ -336,7 +335,7 @@ public class BlockEventListener implements Listener {
|
||||
} else if (!Permissions.hasPermission(pp, Permission.PERMISSION_ADMIN_BUILD_ROAD)) {
|
||||
pp.sendMessage(
|
||||
TranslatableCaption.of("permission.no_permission_event"),
|
||||
Template.of("node", String.valueOf(Permission.PERMISSION_ADMIN_BUILD_ROAD))
|
||||
Template.template("node", String.valueOf(Permission.PERMISSION_ADMIN_BUILD_ROAD))
|
||||
);
|
||||
event.setCancelled(true);
|
||||
}
|
||||
@ -358,7 +357,7 @@ public class BlockEventListener implements Listener {
|
||||
.hasPermission(plotPlayer, Permission.PERMISSION_ADMIN_DESTROY_GROUNDLEVEL)) {
|
||||
plotPlayer.sendMessage(
|
||||
TranslatableCaption.of("permission.no_permission_event"),
|
||||
Template.of("node", String.valueOf(Permission.PERMISSION_ADMIN_DESTROY_GROUNDLEVEL))
|
||||
Template.template("node", String.valueOf(Permission.PERMISSION_ADMIN_DESTROY_GROUNDLEVEL))
|
||||
);
|
||||
event.setCancelled(true);
|
||||
return;
|
||||
@ -369,8 +368,8 @@ public class BlockEventListener implements Listener {
|
||||
event.setCancelled(true);
|
||||
plotPlayer.sendMessage(
|
||||
TranslatableCaption.of("height.height_limit"),
|
||||
Template.of("minHeight", String.valueOf(area.getMinBuildHeight())),
|
||||
Template.of("maxHeight", String.valueOf(area.getMaxBuildHeight()))
|
||||
Template.template("minHeight", String.valueOf(area.getMinBuildHeight())),
|
||||
Template.template("maxHeight", String.valueOf(area.getMaxBuildHeight()))
|
||||
);
|
||||
}
|
||||
if (!plot.hasOwner()) {
|
||||
@ -395,14 +394,13 @@ public class BlockEventListener implements Listener {
|
||||
}
|
||||
plotPlayer.sendMessage(
|
||||
TranslatableCaption.of("permission.no_permission_event"),
|
||||
Template.of("node", String.valueOf(Permission.PERMISSION_ADMIN_DESTROY_OTHER))
|
||||
Template.template("node", String.valueOf(Permission.PERMISSION_ADMIN_DESTROY_OTHER))
|
||||
);
|
||||
event.setCancelled(true);
|
||||
} else if (Settings.Done.RESTRICT_BUILDING && DoneFlag.isDone(plot)) {
|
||||
if (!Permissions.hasPermission(plotPlayer, Permission.PERMISSION_ADMIN_BUILD_OTHER)) {
|
||||
plotPlayer.sendMessage(
|
||||
TranslatableCaption.of("permission.no_permission_event"),
|
||||
Template.of("node", String.valueOf(Permission.PERMISSION_ADMIN_DESTROY_OTHER))
|
||||
TranslatableCaption.of("done.building_restricted")
|
||||
);
|
||||
event.setCancelled(true);
|
||||
return;
|
||||
@ -422,7 +420,7 @@ public class BlockEventListener implements Listener {
|
||||
}
|
||||
pp.sendMessage(
|
||||
TranslatableCaption.of("permission.no_permission_event"),
|
||||
Template.of("node", String.valueOf(Permission.PERMISSION_ADMIN_DESTROY_ROAD))
|
||||
Template.template("node", String.valueOf(Permission.PERMISSION_ADMIN_DESTROY_ROAD))
|
||||
);
|
||||
event.setCancelled(true);
|
||||
}
|
||||
@ -1097,7 +1095,7 @@ public class BlockEventListener implements Listener {
|
||||
if (!Permissions.hasPermission(pp, Permission.PERMISSION_ADMIN_BUILD_ROAD)) {
|
||||
pp.sendMessage(
|
||||
TranslatableCaption.of("permission.no_permission_event"),
|
||||
Template.of("node", String.valueOf(Permission.PERMISSION_ADMIN_BUILD_ROAD))
|
||||
Template.template("node", String.valueOf(Permission.PERMISSION_ADMIN_BUILD_ROAD))
|
||||
);
|
||||
event.setCancelled(true);
|
||||
}
|
||||
@ -1105,7 +1103,7 @@ public class BlockEventListener implements Listener {
|
||||
if (!Permissions.hasPermission(pp, Permission.PERMISSION_ADMIN_BUILD_UNOWNED)) {
|
||||
pp.sendMessage(
|
||||
TranslatableCaption.of("permission.no_permission_event"),
|
||||
Template.of("node", String.valueOf(Permission.PERMISSION_ADMIN_BUILD_UNOWNED))
|
||||
Template.template("node", String.valueOf(Permission.PERMISSION_ADMIN_BUILD_UNOWNED))
|
||||
);
|
||||
event.setCancelled(true);
|
||||
}
|
||||
@ -1113,7 +1111,7 @@ public class BlockEventListener implements Listener {
|
||||
if (!Permissions.hasPermission(pp, Permission.PERMISSION_ADMIN_BUILD_OTHER)) {
|
||||
pp.sendMessage(
|
||||
TranslatableCaption.of("permission.no_permission_event"),
|
||||
Template.of("node", String.valueOf(Permission.PERMISSION_ADMIN_BUILD_OTHER))
|
||||
Template.template("node", String.valueOf(Permission.PERMISSION_ADMIN_BUILD_OTHER))
|
||||
);
|
||||
event.setCancelled(true);
|
||||
}
|
||||
|
@ -32,6 +32,7 @@ import com.plotsquared.core.location.Location;
|
||||
import com.plotsquared.core.plot.Plot;
|
||||
import com.plotsquared.core.plot.PlotArea;
|
||||
import com.plotsquared.core.plot.world.PlotAreaManager;
|
||||
import com.plotsquared.core.plot.world.SinglePlotArea;
|
||||
import com.plotsquared.core.util.ReflectionUtils.RefClass;
|
||||
import com.plotsquared.core.util.ReflectionUtils.RefField;
|
||||
import com.plotsquared.core.util.ReflectionUtils.RefMethod;
|
||||
@ -295,7 +296,7 @@ public class ChunkListener implements Listener {
|
||||
Chunk chunk = event.getChunk();
|
||||
if (Settings.Chunk_Processor.AUTO_TRIM) {
|
||||
String world = chunk.getWorld().getName();
|
||||
if (this.plotAreaManager.hasPlotArea(world)) {
|
||||
if ((!Settings.Enabled_Components.WORLDS || !SinglePlotArea.isSinglePlotWorld(world)) && this.plotAreaManager.hasPlotArea(world)) {
|
||||
if (unloadChunk(world, chunk, true)) {
|
||||
return;
|
||||
}
|
||||
@ -365,8 +366,7 @@ public class ChunkListener implements Listener {
|
||||
}
|
||||
|
||||
private void cleanChunk(final Chunk chunk) {
|
||||
TaskManager.index.incrementAndGet();
|
||||
final int currentIndex = TaskManager.index.get();
|
||||
final int currentIndex = TaskManager.index.incrementAndGet();
|
||||
PlotSquaredTask task = TaskManager.runTaskRepeat(() -> {
|
||||
if (!chunk.isLoaded()) {
|
||||
Objects.requireNonNull(TaskManager.removeTask(currentIndex)).cancel();
|
||||
|
@ -302,7 +302,7 @@ public class PaperListener implements Listener {
|
||||
final PlotPlayer<?> plotPlayer = BukkitUtil.adapt(event.getPlayer());
|
||||
plotPlayer.sendMessage(
|
||||
TranslatableCaption.of("errors.tile_entity_cap_reached"),
|
||||
Template.of("amount", String.valueOf(Settings.Chunk_Processor.MAX_TILES))
|
||||
Template.template("amount", String.valueOf(Settings.Chunk_Processor.MAX_TILES))
|
||||
);
|
||||
event.setCancelled(true);
|
||||
event.setBuild(false);
|
||||
|
@ -84,7 +84,7 @@ public class PaperListener113 extends PaperListener {
|
||||
final PlotPlayer<?> plotPlayer = BukkitUtil.adapt(event.getPlayer());
|
||||
plotPlayer.sendMessage(
|
||||
TranslatableCaption.of("errors.tile_entity_cap_reached"),
|
||||
Template.of("amount", String.valueOf(Settings.Chunk_Processor.MAX_TILES))
|
||||
Template.template("amount", String.valueOf(Settings.Chunk_Processor.MAX_TILES))
|
||||
);
|
||||
event.setCancelled(true);
|
||||
event.setBuild(false);
|
||||
|
@ -364,9 +364,9 @@ public class PlayerEventListener extends PlotListener implements Listener {
|
||||
&& PremiumVerification.isPremium() && UpdateUtility.hasUpdate) {
|
||||
Caption boundary = TranslatableCaption.of("update.update_boundary");
|
||||
Caption updateNotification = TranslatableCaption.of("update.update_notification");
|
||||
Template internalVersion = Template.of("p2version", UpdateUtility.internalVersion.versionString());
|
||||
Template spigotVersion = Template.of("spigotversion", UpdateUtility.spigotVersion);
|
||||
Template downloadUrl = Template.of("downloadurl", "https://www.spigotmc.org/resources/77506/updates");
|
||||
Template internalVersion = Template.template("p2version", UpdateUtility.internalVersion.versionString());
|
||||
Template spigotVersion = Template.template("spigotversion", UpdateUtility.spigotVersion);
|
||||
Template downloadUrl = Template.template("downloadurl", "https://www.spigotmc.org/resources/77506/updates");
|
||||
pp.sendMessage(boundary);
|
||||
pp.sendMessage(updateNotification, internalVersion, spigotVersion, downloadUrl);
|
||||
pp.sendMessage(boundary);
|
||||
@ -419,7 +419,7 @@ public class PlayerEventListener extends PlotListener implements Listener {
|
||||
.equals(BukkitUtil.adaptComplete(to)))) {
|
||||
pp.sendMessage(
|
||||
TranslatableCaption.of("permission.no_permission_event"),
|
||||
Template.of("node", String.valueOf(Permission.PERMISSION_ADMIN_ENTRY_DENIED))
|
||||
Template.template("node", String.valueOf(Permission.PERMISSION_ADMIN_ENTRY_DENIED))
|
||||
);
|
||||
event.setCancelled(true);
|
||||
}
|
||||
@ -535,7 +535,7 @@ public class PlayerEventListener extends PlotListener implements Listener {
|
||||
if (lastPlot != null && !plotExit(pp, lastPlot) && this.tmpTeleport && !kickAccess.get().orElse(false)) {
|
||||
pp.sendMessage(
|
||||
TranslatableCaption.of("permission.no_permission_event"),
|
||||
Template.of("node", String.valueOf(Permission.PERMISSION_ADMIN_EXIT_DENIED))
|
||||
Template.template("node", String.valueOf(Permission.PERMISSION_ADMIN_EXIT_DENIED))
|
||||
);
|
||||
this.tmpTeleport = false;
|
||||
if (lastPlot.equals(BukkitUtil.adapt(from).getPlot())) {
|
||||
@ -553,7 +553,7 @@ public class PlayerEventListener extends PlotListener implements Listener {
|
||||
} else if (!plotEntry(pp, now) && this.tmpTeleport) {
|
||||
pp.sendMessage(
|
||||
TranslatableCaption.of("permission.no_permission_event"),
|
||||
Template.of("node", String.valueOf(Permission.PERMISSION_ADMIN_ENTRY_DENIED))
|
||||
Template.template("node", String.valueOf(Permission.PERMISSION_ADMIN_ENTRY_DENIED))
|
||||
);
|
||||
this.tmpTeleport = false;
|
||||
to.setX(from.getBlockX());
|
||||
@ -564,19 +564,31 @@ public class PlayerEventListener extends PlotListener implements Listener {
|
||||
return;
|
||||
}
|
||||
int border = area.getBorder();
|
||||
int x1;
|
||||
if (x2 > border && this.tmpTeleport) {
|
||||
to.setX(border - 1);
|
||||
this.tmpTeleport = false;
|
||||
player.teleport(event.getTo());
|
||||
this.tmpTeleport = true;
|
||||
pp.sendMessage(TranslatableCaption.of("border.border"));
|
||||
}
|
||||
if (x2 < -border && this.tmpTeleport) {
|
||||
to.setX(-border + 1);
|
||||
this.tmpTeleport = false;
|
||||
player.teleport(event.getTo());
|
||||
this.tmpTeleport = true;
|
||||
pp.sendMessage(TranslatableCaption.of("border.border"));
|
||||
if (!Permissions.hasPermission(pp, Permission.PERMISSION_ADMIN_BYPASS_BORDER)) {
|
||||
to.setX(border - 1);
|
||||
this.tmpTeleport = false;
|
||||
player.teleport(event.getTo());
|
||||
this.tmpTeleport = true;
|
||||
pp.sendMessage(TranslatableCaption.of("border.denied"));
|
||||
} else {
|
||||
pp.sendMessage(TranslatableCaption.of("border.bypass.exited"));
|
||||
}
|
||||
} else if (x2 < -border && this.tmpTeleport) {
|
||||
if (!Permissions.hasPermission(pp, Permission.PERMISSION_ADMIN_BYPASS_BORDER)) {
|
||||
to.setX(-border + 1);
|
||||
this.tmpTeleport = false;
|
||||
player.teleport(event.getTo());
|
||||
this.tmpTeleport = true;
|
||||
pp.sendMessage(TranslatableCaption.of("border.denied"));
|
||||
} else {
|
||||
pp.sendMessage(TranslatableCaption.of("border.bypass.exited"));
|
||||
}
|
||||
} else if (((x1 = MathMan.roundInt(from.getX())) >= border && x2 <= border) || (x1 <= -border && x2 >= -border)) {
|
||||
if (Permissions.hasPermission(pp, Permission.PERMISSION_ADMIN_BYPASS_BORDER)) {
|
||||
pp.sendMessage(TranslatableCaption.of("border.bypass.entered"));
|
||||
}
|
||||
}
|
||||
}
|
||||
int z2;
|
||||
@ -613,7 +625,7 @@ public class PlayerEventListener extends PlotListener implements Listener {
|
||||
if (lastPlot != null && !plotExit(pp, lastPlot) && this.tmpTeleport && !kickAccess.get().orElse(false)) {
|
||||
pp.sendMessage(
|
||||
TranslatableCaption.of("permission.no_permission_event"),
|
||||
Template.of("node", String.valueOf(Permission.PERMISSION_ADMIN_EXIT_DENIED))
|
||||
Template.template("node", String.valueOf(Permission.PERMISSION_ADMIN_EXIT_DENIED))
|
||||
);
|
||||
this.tmpTeleport = false;
|
||||
if (lastPlot.equals(BukkitUtil.adapt(from).getPlot())) {
|
||||
@ -631,7 +643,7 @@ public class PlayerEventListener extends PlotListener implements Listener {
|
||||
} else if (!plotEntry(pp, now) && this.tmpTeleport) {
|
||||
pp.sendMessage(
|
||||
TranslatableCaption.of("permission.no_permission_event"),
|
||||
Template.of("node", String.valueOf(Permission.PERMISSION_ADMIN_ENTRY_DENIED))
|
||||
Template.template("node", String.valueOf(Permission.PERMISSION_ADMIN_ENTRY_DENIED))
|
||||
);
|
||||
this.tmpTeleport = false;
|
||||
player.teleport(from);
|
||||
@ -643,18 +655,31 @@ public class PlayerEventListener extends PlotListener implements Listener {
|
||||
return;
|
||||
}
|
||||
int border = area.getBorder();
|
||||
int z1;
|
||||
if (z2 > border && this.tmpTeleport) {
|
||||
to.setZ(border - 1);
|
||||
this.tmpTeleport = false;
|
||||
player.teleport(event.getTo());
|
||||
this.tmpTeleport = true;
|
||||
pp.sendMessage(TranslatableCaption.of("border.border"));
|
||||
if (!Permissions.hasPermission(pp, Permission.PERMISSION_ADMIN_BYPASS_BORDER)) {
|
||||
to.setZ(border - 1);
|
||||
this.tmpTeleport = false;
|
||||
player.teleport(event.getTo());
|
||||
this.tmpTeleport = true;
|
||||
pp.sendMessage(TranslatableCaption.of("border.denied"));
|
||||
} else {
|
||||
pp.sendMessage(TranslatableCaption.of("border.bypass.exited"));
|
||||
}
|
||||
} else if (z2 < -border && this.tmpTeleport) {
|
||||
to.setZ(-border + 1);
|
||||
this.tmpTeleport = false;
|
||||
player.teleport(event.getTo());
|
||||
this.tmpTeleport = true;
|
||||
pp.sendMessage(TranslatableCaption.of("border.border"));
|
||||
if (!Permissions.hasPermission(pp, Permission.PERMISSION_ADMIN_BYPASS_BORDER)) {
|
||||
to.setZ(-border + 1);
|
||||
this.tmpTeleport = false;
|
||||
player.teleport(event.getTo());
|
||||
this.tmpTeleport = true;
|
||||
pp.sendMessage(TranslatableCaption.of("border.denied"));
|
||||
} else {
|
||||
pp.sendMessage(TranslatableCaption.of("border.bypass.exited"));
|
||||
}
|
||||
} else if (((z1 = MathMan.roundInt(from.getZ())) >= border && z2 <= border) || (z1 <= -border && z2 >= -border)) {
|
||||
if (Permissions.hasPermission(pp, Permission.PERMISSION_ADMIN_BYPASS_BORDER)) {
|
||||
pp.sendMessage(TranslatableCaption.of("border.bypass.entered"));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -704,9 +729,9 @@ public class PlayerEventListener extends PlotListener implements Listener {
|
||||
String worldName = plot.getWorldName();
|
||||
Caption msg = TranslatableCaption.of("chat.plot_chat_format");
|
||||
Template msgTemplate;
|
||||
Template worldNameTemplate = Template.of("world", worldName);
|
||||
Template plotTemplate = Template.of("plot_id", id.toString());
|
||||
Template senderTemplate = Template.of("sender", sender);
|
||||
Template worldNameTemplate = Template.template("world", worldName);
|
||||
Template plotTemplate = Template.template("plot_id", id.toString());
|
||||
Template senderTemplate = Template.template("sender", sender);
|
||||
// If we do/don't want colour, we need to be careful about how to go about it, as players could attempt either <gold></gold> or &6 etc.
|
||||
// In both cases, we want to use a Component Template to ensure that the player cannot use any placeholders in their message on purpose
|
||||
// or accidentally, as component templates are done at the end. We also need to deserialize from legacy color codes to a Component if
|
||||
@ -721,7 +746,7 @@ public class PlayerEventListener extends PlotListener implements Listener {
|
||||
))
|
||||
);
|
||||
} else {
|
||||
msgTemplate = Template.of("msg", BukkitUtil.MINI_MESSAGE.deserialize(
|
||||
msgTemplate = Template.template("msg", BukkitUtil.MINI_MESSAGE.deserialize(
|
||||
ChatColor.stripColor(BukkitUtil.LEGACY_COMPONENT_SERIALIZER.serialize(Component.text(message)))));
|
||||
}
|
||||
for (PlotPlayer<?> receiver : plotRecipients) {
|
||||
@ -729,18 +754,18 @@ public class PlayerEventListener extends PlotListener implements Listener {
|
||||
}
|
||||
if (!spies.isEmpty()) {
|
||||
Caption spymsg = TranslatableCaption.of("chat.plot_chat_spy_format");
|
||||
Template plotidTemplate = Template.of("plot_id", id.getX() + ";" + id.getY());
|
||||
Template spysenderTemplate = Template.of("sender", sender);
|
||||
Template spymessageTemplate = Template.of("msg", Component.text(message));
|
||||
Template plotidTemplate = Template.template("plot_id", id.getX() + ";" + id.getY());
|
||||
Template spysenderTemplate = Template.template("sender", sender);
|
||||
Template spymessageTemplate = Template.template("msg", Component.text(message));
|
||||
for (PlotPlayer<?> player : spies) {
|
||||
player.sendMessage(spymsg, worldNameTemplate, plotidTemplate, spysenderTemplate, spymessageTemplate);
|
||||
}
|
||||
}
|
||||
if (Settings.Chat.LOG_PLOTCHAT_TO_CONSOLE) {
|
||||
Caption spymsg = TranslatableCaption.of("chat.plot_chat_spy_format");
|
||||
Template plotidTemplate = Template.of("plot_id", id.getX() + ";" + id.getY());
|
||||
Template spysenderTemplate = Template.of("sender", sender);
|
||||
Template spymessageTemplate = Template.of("msg", Component.text(message));
|
||||
Template plotidTemplate = Template.template("plot_id", id.getX() + ";" + id.getY());
|
||||
Template spysenderTemplate = Template.template("sender", sender);
|
||||
Template spymessageTemplate = Template.template("msg", Component.text(message));
|
||||
ConsolePlayer.getConsole().sendMessage(spymsg, worldNameTemplate, plotidTemplate, spysenderTemplate,
|
||||
spymessageTemplate
|
||||
);
|
||||
@ -896,7 +921,7 @@ public class PlayerEventListener extends PlotListener implements Listener {
|
||||
if (!Permissions.hasPermission(pp, Permission.PERMISSION_ADMIN_INTERACT_ROAD)) {
|
||||
pp.sendMessage(
|
||||
TranslatableCaption.of("permission.no_permission_event"),
|
||||
Template.of("node", String.valueOf(Permission.PERMISSION_ADMIN_INTERACT_ROAD))
|
||||
Template.template("node", String.valueOf(Permission.PERMISSION_ADMIN_INTERACT_ROAD))
|
||||
);
|
||||
cancelled = true;
|
||||
}
|
||||
@ -904,7 +929,7 @@ public class PlayerEventListener extends PlotListener implements Listener {
|
||||
if (!Permissions.hasPermission(pp, Permission.PERMISSION_ADMIN_INTERACT_UNOWNED)) {
|
||||
pp.sendMessage(
|
||||
TranslatableCaption.of("permission.no_permission_event"),
|
||||
Template.of("node", String.valueOf(Permission.PERMISSION_ADMIN_INTERACT_UNOWNED))
|
||||
Template.template("node", String.valueOf(Permission.PERMISSION_ADMIN_INTERACT_UNOWNED))
|
||||
);
|
||||
cancelled = true;
|
||||
}
|
||||
@ -914,7 +939,7 @@ public class PlayerEventListener extends PlotListener implements Listener {
|
||||
if (!Permissions.hasPermission(pp, Permission.PERMISSION_ADMIN_INTERACT_OTHER)) {
|
||||
pp.sendMessage(
|
||||
TranslatableCaption.of("permission.no_permission_event"),
|
||||
Template.of("node", String.valueOf(Permission.PERMISSION_ADMIN_INTERACT_OTHER))
|
||||
Template.template("node", String.valueOf(Permission.PERMISSION_ADMIN_INTERACT_OTHER))
|
||||
);
|
||||
cancelled = true;
|
||||
}
|
||||
@ -952,7 +977,7 @@ public class PlayerEventListener extends PlotListener implements Listener {
|
||||
.hasPermission(pp, Permission.PERMISSION_ADMIN_INTERACT_ROAD)) {
|
||||
pp.sendMessage(
|
||||
TranslatableCaption.of("permission.no_permission_event"),
|
||||
Template.of("node", String.valueOf(Permission.PERMISSION_ADMIN_INTERACT_ROAD))
|
||||
Template.template("node", String.valueOf(Permission.PERMISSION_ADMIN_INTERACT_ROAD))
|
||||
);
|
||||
e.setCancelled(true);
|
||||
}
|
||||
@ -960,8 +985,7 @@ public class PlayerEventListener extends PlotListener implements Listener {
|
||||
if (Settings.Done.RESTRICT_BUILDING && DoneFlag.isDone(plot)) {
|
||||
if (!Permissions.hasPermission(pp, Permission.PERMISSION_ADMIN_BUILD_OTHER)) {
|
||||
pp.sendMessage(
|
||||
TranslatableCaption.of("permission.no_permission_event"),
|
||||
Template.of("node", String.valueOf(Permission.PERMISSION_ADMIN_BUILD_OTHER))
|
||||
TranslatableCaption.of("done.building_restricted")
|
||||
);
|
||||
e.setCancelled(true);
|
||||
return;
|
||||
@ -971,7 +995,7 @@ public class PlayerEventListener extends PlotListener implements Listener {
|
||||
if (!Permissions.hasPermission(pp, "plots.admin.interact.unowned")) {
|
||||
pp.sendMessage(
|
||||
TranslatableCaption.of("permission.no_permission_event"),
|
||||
Template.of("node", String.valueOf(Permission.PERMISSION_ADMIN_INTERACT_UNOWNED))
|
||||
Template.template("node", String.valueOf(Permission.PERMISSION_ADMIN_INTERACT_UNOWNED))
|
||||
);
|
||||
e.setCancelled(true);
|
||||
}
|
||||
@ -986,7 +1010,7 @@ public class PlayerEventListener extends PlotListener implements Listener {
|
||||
if (!Permissions.hasPermission(pp, Permission.PERMISSION_ADMIN_INTERACT_OTHER)) {
|
||||
pp.sendMessage(
|
||||
TranslatableCaption.of("permission.no_permission_event"),
|
||||
Template.of("node", String.valueOf(Permission.PERMISSION_ADMIN_INTERACT_OTHER))
|
||||
Template.template("node", String.valueOf(Permission.PERMISSION_ADMIN_INTERACT_OTHER))
|
||||
);
|
||||
e.setCancelled(true);
|
||||
plot.debug(pp.getName() + " could not interact with " + entity.getType()
|
||||
@ -1202,7 +1226,7 @@ public class PlayerEventListener extends PlotListener implements Listener {
|
||||
}
|
||||
pp.sendMessage(
|
||||
TranslatableCaption.of("permission.no_permission_event"),
|
||||
Template.of("node", String.valueOf(Permission.PERMISSION_ADMIN_BUILD_ROAD))
|
||||
Template.template("node", String.valueOf(Permission.PERMISSION_ADMIN_BUILD_ROAD))
|
||||
);
|
||||
event.setCancelled(true);
|
||||
} else if (!plot.hasOwner()) {
|
||||
@ -1211,7 +1235,7 @@ public class PlayerEventListener extends PlotListener implements Listener {
|
||||
}
|
||||
pp.sendMessage(
|
||||
TranslatableCaption.of("permission.no_permission_event"),
|
||||
Template.of("node", String.valueOf(Permission.PERMISSION_ADMIN_BUILD_UNOWNED))
|
||||
Template.template("node", String.valueOf(Permission.PERMISSION_ADMIN_BUILD_UNOWNED))
|
||||
);
|
||||
event.setCancelled(true);
|
||||
} else if (!plot.isAdded(pp.getUUID())) {
|
||||
@ -1227,14 +1251,13 @@ public class PlayerEventListener extends PlotListener implements Listener {
|
||||
}
|
||||
pp.sendMessage(
|
||||
TranslatableCaption.of("permission.no_permission_event"),
|
||||
Template.of("node", String.valueOf(Permission.PERMISSION_ADMIN_BUILD_OTHER))
|
||||
Template.template("node", String.valueOf(Permission.PERMISSION_ADMIN_BUILD_OTHER))
|
||||
);
|
||||
event.setCancelled(true);
|
||||
} else if (Settings.Done.RESTRICT_BUILDING && DoneFlag.isDone(plot)) {
|
||||
if (!Permissions.hasPermission(pp, Permission.PERMISSION_ADMIN_BUILD_OTHER)) {
|
||||
pp.sendMessage(
|
||||
TranslatableCaption.of("permission.no_permission_event"),
|
||||
Template.of("node", String.valueOf(Permission.PERMISSION_ADMIN_BUILD_OTHER))
|
||||
TranslatableCaption.of("done.building_restricted")
|
||||
);
|
||||
event.setCancelled(true);
|
||||
}
|
||||
@ -1275,7 +1298,7 @@ public class PlayerEventListener extends PlotListener implements Listener {
|
||||
}
|
||||
plotPlayer.sendMessage(
|
||||
TranslatableCaption.of("permission.no_permission_event"),
|
||||
Template.of("node", String.valueOf(Permission.PERMISSION_ADMIN_BUILD_ROAD))
|
||||
Template.template("node", String.valueOf(Permission.PERMISSION_ADMIN_BUILD_ROAD))
|
||||
);
|
||||
event.setCancelled(true);
|
||||
} else if (!plot.hasOwner()) {
|
||||
@ -1284,7 +1307,7 @@ public class PlayerEventListener extends PlotListener implements Listener {
|
||||
}
|
||||
plotPlayer.sendMessage(
|
||||
TranslatableCaption.of("permission.no_permission_event"),
|
||||
Template.of("node", String.valueOf(Permission.PERMISSION_ADMIN_BUILD_UNOWNED))
|
||||
Template.template("node", String.valueOf(Permission.PERMISSION_ADMIN_BUILD_UNOWNED))
|
||||
);
|
||||
event.setCancelled(true);
|
||||
} else if (!plot.isAdded(plotPlayer.getUUID())) {
|
||||
@ -1301,14 +1324,13 @@ public class PlayerEventListener extends PlotListener implements Listener {
|
||||
}
|
||||
plotPlayer.sendMessage(
|
||||
TranslatableCaption.of("permission.no_permission_event"),
|
||||
Template.of("node", String.valueOf(Permission.PERMISSION_ADMIN_BUILD_OTHER))
|
||||
Template.template("node", String.valueOf(Permission.PERMISSION_ADMIN_BUILD_OTHER))
|
||||
);
|
||||
event.setCancelled(true);
|
||||
} else if (Settings.Done.RESTRICT_BUILDING && DoneFlag.isDone(plot)) {
|
||||
if (!Permissions.hasPermission(plotPlayer, Permission.PERMISSION_ADMIN_BUILD_OTHER)) {
|
||||
plotPlayer.sendMessage(
|
||||
TranslatableCaption.of("permission.no_permission_event"),
|
||||
Template.of("node", String.valueOf(Permission.PERMISSION_ADMIN_BUILD_OTHER))
|
||||
TranslatableCaption.of("done.building_restricted")
|
||||
);
|
||||
event.setCancelled(true);
|
||||
}
|
||||
@ -1334,7 +1356,7 @@ public class PlayerEventListener extends PlotListener implements Listener {
|
||||
if (!Permissions.hasPermission(pp, Permission.PERMISSION_ADMIN_BUILD_ROAD)) {
|
||||
pp.sendMessage(
|
||||
TranslatableCaption.of("permission.no_permission_event"),
|
||||
Template.of("node", String.valueOf(Permission.PERMISSION_ADMIN_BUILD_ROAD))
|
||||
Template.template("node", String.valueOf(Permission.PERMISSION_ADMIN_BUILD_ROAD))
|
||||
);
|
||||
event.setCancelled(true);
|
||||
}
|
||||
@ -1343,7 +1365,7 @@ public class PlayerEventListener extends PlotListener implements Listener {
|
||||
if (!Permissions.hasPermission(pp, Permission.PERMISSION_ADMIN_BUILD_UNOWNED)) {
|
||||
pp.sendMessage(
|
||||
TranslatableCaption.of("permission.no_permission_event"),
|
||||
Template.of("node", String.valueOf(Permission.PERMISSION_ADMIN_BUILD_UNOWNED))
|
||||
Template.template("node", String.valueOf(Permission.PERMISSION_ADMIN_BUILD_UNOWNED))
|
||||
);
|
||||
event.setCancelled(true);
|
||||
}
|
||||
@ -1354,7 +1376,7 @@ public class PlayerEventListener extends PlotListener implements Listener {
|
||||
if (!Permissions.hasPermission(pp, Permission.PERMISSION_ADMIN_BUILD_OTHER)) {
|
||||
pp.sendMessage(
|
||||
TranslatableCaption.of("permission.no_permission_event"),
|
||||
Template.of("node", String.valueOf(Permission.PERMISSION_ADMIN_BUILD_OTHER))
|
||||
Template.template("node", String.valueOf(Permission.PERMISSION_ADMIN_BUILD_OTHER))
|
||||
);
|
||||
event.setCancelled(true);
|
||||
}
|
||||
@ -1383,7 +1405,7 @@ public class PlayerEventListener extends PlotListener implements Listener {
|
||||
if (!Permissions.hasPermission(pp, Permission.PERMISSION_ADMIN_DESTROY_ROAD)) {
|
||||
pp.sendMessage(
|
||||
TranslatableCaption.of("permission.no_permission_event"),
|
||||
Template.of("node", String.valueOf(Permission.PERMISSION_ADMIN_DESTROY_ROAD))
|
||||
Template.template("node", String.valueOf(Permission.PERMISSION_ADMIN_DESTROY_ROAD))
|
||||
);
|
||||
event.setCancelled(true);
|
||||
}
|
||||
@ -1391,7 +1413,7 @@ public class PlayerEventListener extends PlotListener implements Listener {
|
||||
if (!Permissions.hasPermission(pp, Permission.PERMISSION_ADMIN_DESTROY_UNOWNED)) {
|
||||
pp.sendMessage(
|
||||
TranslatableCaption.of("permission.no_permission_event"),
|
||||
Template.of("node", String.valueOf(Permission.PERMISSION_ADMIN_DESTROY_UNOWNED))
|
||||
Template.template("node", String.valueOf(Permission.PERMISSION_ADMIN_DESTROY_UNOWNED))
|
||||
);
|
||||
event.setCancelled(true);
|
||||
}
|
||||
@ -1402,7 +1424,7 @@ public class PlayerEventListener extends PlotListener implements Listener {
|
||||
if (!Permissions.hasPermission(pp, Permission.PERMISSION_ADMIN_DESTROY_OTHER)) {
|
||||
pp.sendMessage(
|
||||
TranslatableCaption.of("permission.no_permission_event"),
|
||||
Template.of("node", String.valueOf(Permission.PERMISSION_ADMIN_DESTROY_OTHER))
|
||||
Template.template("node", String.valueOf(Permission.PERMISSION_ADMIN_DESTROY_OTHER))
|
||||
);
|
||||
event.setCancelled(true);
|
||||
plot.debug(p.getName()
|
||||
@ -1424,7 +1446,7 @@ public class PlayerEventListener extends PlotListener implements Listener {
|
||||
.hasPermission(player, Permission.PERMISSION_ADMIN_DESTROY_UNOWNED)) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("permission.no_permission_event"),
|
||||
Template.of("node", String.valueOf(Permission.PERMISSION_ADMIN_DESTROY_UNOWNED))
|
||||
Template.template("node", String.valueOf(Permission.PERMISSION_ADMIN_DESTROY_UNOWNED))
|
||||
);
|
||||
event.setCancelled(true);
|
||||
}
|
||||
@ -1434,7 +1456,7 @@ public class PlayerEventListener extends PlotListener implements Listener {
|
||||
.hasPermission(player, Permission.PERMISSION_ADMIN_DESTROY_OTHER)) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("permission.no_permission_event"),
|
||||
Template.of("node", String.valueOf(Permission.PERMISSION_ADMIN_DESTROY_OTHER))
|
||||
Template.template("node", String.valueOf(Permission.PERMISSION_ADMIN_DESTROY_OTHER))
|
||||
);
|
||||
event.setCancelled(true);
|
||||
plot.debug(player.getName()
|
||||
@ -1466,7 +1488,7 @@ public class PlayerEventListener extends PlotListener implements Listener {
|
||||
if (!Permissions.hasPermission(pp, Permission.PERMISSION_ADMIN_INTERACT_ROAD)) {
|
||||
pp.sendMessage(
|
||||
TranslatableCaption.of("permission.no_permission_event"),
|
||||
Template.of("node", String.valueOf(Permission.PERMISSION_ADMIN_INTERACT_ROAD))
|
||||
Template.template("node", String.valueOf(Permission.PERMISSION_ADMIN_INTERACT_ROAD))
|
||||
);
|
||||
event.setCancelled(true);
|
||||
}
|
||||
@ -1474,7 +1496,7 @@ public class PlayerEventListener extends PlotListener implements Listener {
|
||||
if (!Permissions.hasPermission(pp, Permission.PERMISSION_ADMIN_INTERACT_UNOWNED)) {
|
||||
pp.sendMessage(
|
||||
TranslatableCaption.of("permission.no_permission_event"),
|
||||
Template.of("node", String.valueOf(Permission.PERMISSION_ADMIN_INTERACT_UNOWNED))
|
||||
Template.template("node", String.valueOf(Permission.PERMISSION_ADMIN_INTERACT_UNOWNED))
|
||||
);
|
||||
event.setCancelled(true);
|
||||
}
|
||||
@ -1532,7 +1554,7 @@ public class PlayerEventListener extends PlotListener implements Listener {
|
||||
if (!Permissions.hasPermission(pp, Permission.PERMISSION_ADMIN_INTERACT_OTHER)) {
|
||||
pp.sendMessage(
|
||||
TranslatableCaption.of("permission.no_permission_event"),
|
||||
Template.of("node", String.valueOf(Permission.PERMISSION_ADMIN_INTERACT_OTHER))
|
||||
Template.template("node", String.valueOf(Permission.PERMISSION_ADMIN_INTERACT_OTHER))
|
||||
);
|
||||
event.setCancelled(true);
|
||||
}
|
||||
@ -1554,7 +1576,7 @@ public class PlayerEventListener extends PlotListener implements Listener {
|
||||
if (!Permissions.hasPermission(pp, Permission.PERMISSION_ADMIN_DESTROY_VEHICLE_ROAD)) {
|
||||
pp.sendMessage(
|
||||
TranslatableCaption.of("permission.no_permission_event"),
|
||||
Template.of("node", String.valueOf(Permission.PERMISSION_ADMIN_DESTROY_VEHICLE_ROAD))
|
||||
Template.template("node", String.valueOf(Permission.PERMISSION_ADMIN_DESTROY_VEHICLE_ROAD))
|
||||
);
|
||||
event.setCancelled(true);
|
||||
}
|
||||
@ -1563,7 +1585,7 @@ public class PlayerEventListener extends PlotListener implements Listener {
|
||||
if (!Permissions.hasPermission(pp, Permission.PERMISSION_ADMIN_DESTROY_VEHICLE_UNOWNED)) {
|
||||
pp.sendMessage(
|
||||
TranslatableCaption.of("permission.no_permission_event"),
|
||||
Template.of("node", String.valueOf(Permission.PERMISSION_ADMIN_DESTROY_VEHICLE_UNOWNED))
|
||||
Template.template("node", String.valueOf(Permission.PERMISSION_ADMIN_DESTROY_VEHICLE_UNOWNED))
|
||||
);
|
||||
event.setCancelled(true);
|
||||
return;
|
||||
@ -1577,7 +1599,7 @@ public class PlayerEventListener extends PlotListener implements Listener {
|
||||
if (!Permissions.hasPermission(pp, Permission.PERMISSION_ADMIN_DESTROY_VEHICLE_OTHER)) {
|
||||
pp.sendMessage(
|
||||
TranslatableCaption.of("permission.no_permission_event"),
|
||||
Template.of("node", String.valueOf(Permission.PERMISSION_ADMIN_DESTROY_VEHICLE_OTHER))
|
||||
Template.template("node", String.valueOf(Permission.PERMISSION_ADMIN_DESTROY_VEHICLE_OTHER))
|
||||
);
|
||||
event.setCancelled(true);
|
||||
plot.debug(pp.getName()
|
||||
@ -1602,7 +1624,7 @@ public class PlayerEventListener extends PlotListener implements Listener {
|
||||
if (!Permissions.hasPermission(plotPlayer, Permission.PERMISSION_ADMIN_PROJECTILE_ROAD)) {
|
||||
plotPlayer.sendMessage(
|
||||
TranslatableCaption.of("permission.no_permission_event"),
|
||||
Template.of("node", String.valueOf(Permission.PERMISSION_ADMIN_PROJECTILE_ROAD))
|
||||
Template.template("node", String.valueOf(Permission.PERMISSION_ADMIN_PROJECTILE_ROAD))
|
||||
);
|
||||
event.setHatching(false);
|
||||
}
|
||||
@ -1610,7 +1632,7 @@ public class PlayerEventListener extends PlotListener implements Listener {
|
||||
if (!Permissions.hasPermission(plotPlayer, Permission.PERMISSION_ADMIN_PROJECTILE_UNOWNED)) {
|
||||
plotPlayer.sendMessage(
|
||||
TranslatableCaption.of("permission.no_permission_event"),
|
||||
Template.of("node", String.valueOf(Permission.PERMISSION_ADMIN_PROJECTILE_UNOWNED))
|
||||
Template.template("node", String.valueOf(Permission.PERMISSION_ADMIN_PROJECTILE_UNOWNED))
|
||||
);
|
||||
event.setHatching(false);
|
||||
}
|
||||
@ -1618,7 +1640,7 @@ public class PlayerEventListener extends PlotListener implements Listener {
|
||||
if (!Permissions.hasPermission(plotPlayer, Permission.PERMISSION_ADMIN_PROJECTILE_OTHER)) {
|
||||
plotPlayer.sendMessage(
|
||||
TranslatableCaption.of("permission.no_permission_event"),
|
||||
Template.of("node", String.valueOf(Permission.PERMISSION_ADMIN_PROJECTILE_OTHER))
|
||||
Template.template("node", String.valueOf(Permission.PERMISSION_ADMIN_PROJECTILE_OTHER))
|
||||
);
|
||||
event.setHatching(false);
|
||||
}
|
||||
|
@ -27,6 +27,7 @@ package com.plotsquared.bukkit.listener;
|
||||
|
||||
import com.plotsquared.core.PlotSquared;
|
||||
import com.plotsquared.core.plot.world.PlotAreaManager;
|
||||
import com.plotsquared.core.plot.world.SinglePlotArea;
|
||||
import com.plotsquared.core.plot.world.SinglePlotAreaManager;
|
||||
import com.plotsquared.core.util.ReflectionUtils;
|
||||
import org.bukkit.Chunk;
|
||||
@ -86,7 +87,7 @@ public class SingleWorldListener implements Listener {
|
||||
if (!(man instanceof SinglePlotAreaManager)) {
|
||||
return;
|
||||
}
|
||||
if (!isPlotId(name)) {
|
||||
if (!SinglePlotArea.isSinglePlotWorld(name)) {
|
||||
return;
|
||||
}
|
||||
|
||||
@ -103,31 +104,4 @@ public class SingleWorldListener implements Listener {
|
||||
handle(event);
|
||||
}
|
||||
|
||||
private boolean isPlotId(String worldName) {
|
||||
int len = worldName.length();
|
||||
int separator = 0;
|
||||
for (int i = 0; i < len; i++) {
|
||||
switch (worldName.charAt(i)) {
|
||||
case '_':
|
||||
separator++;
|
||||
break;
|
||||
case '-':
|
||||
case '0':
|
||||
case '1':
|
||||
case '2':
|
||||
case '3':
|
||||
case '4':
|
||||
case '5':
|
||||
case '6':
|
||||
case '7':
|
||||
case '8':
|
||||
case '9':
|
||||
break;
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
}
|
||||
return separator == 1;
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -36,7 +36,7 @@ import org.checkerframework.checker.nullness.qual.Nullable;
|
||||
* world creation by executing a console command
|
||||
*
|
||||
* @deprecated Deprecated and scheduled for removal without replacement
|
||||
* in favor of the build in setup wizard.
|
||||
* in favor of the build in setup wizard.
|
||||
*/
|
||||
@Deprecated(forRemoval = true)
|
||||
@Singleton
|
||||
|
@ -178,8 +178,7 @@ public class BukkitEntityUtil {
|
||||
if (!Permissions
|
||||
.hasPermission(plotPlayer, Permission.PERMISSION_ADMIN_BUILD_OTHER)) {
|
||||
plotPlayer.sendMessage(
|
||||
TranslatableCaption.of("permission.no_permission_event"),
|
||||
Template.of("node", String.valueOf(Permission.PERMISSION_ADMIN_BUILD_OTHER))
|
||||
TranslatableCaption.of("done.building_restricted")
|
||||
);
|
||||
return false;
|
||||
}
|
||||
@ -189,7 +188,7 @@ public class BukkitEntityUtil {
|
||||
if (!Permissions.hasPermission(plotPlayer, Permission.PERMISSION_ADMIN_DESTROY + "." + stub)) {
|
||||
plotPlayer.sendMessage(
|
||||
TranslatableCaption.of("permission.no_permission_event"),
|
||||
Template.of("node", Permission.PERMISSION_ADMIN_DESTROY + "." + stub)
|
||||
Template.template("node", Permission.PERMISSION_ADMIN_DESTROY + "." + stub)
|
||||
);
|
||||
return false;
|
||||
}
|
||||
@ -201,7 +200,7 @@ public class BukkitEntityUtil {
|
||||
if (!Permissions.hasPermission(plotPlayer, Permission.PERMISSION_ADMIN_DESTROY + "." + stub)) {
|
||||
plotPlayer.sendMessage(
|
||||
TranslatableCaption.of("permission.no_permission_event"),
|
||||
Template.of("node", Permission.PERMISSION_ADMIN_DESTROY + "." + stub)
|
||||
Template.template("node", Permission.PERMISSION_ADMIN_DESTROY + "." + stub)
|
||||
);
|
||||
if (plot != null) {
|
||||
plot.debug(player.getName()
|
||||
@ -222,7 +221,7 @@ public class BukkitEntityUtil {
|
||||
if (!Permissions.hasPermission(plotPlayer, Permission.PERMISSION_ADMIN_PVE + "." + stub)) {
|
||||
plotPlayer.sendMessage(
|
||||
TranslatableCaption.of("permission.no_permission_event"),
|
||||
Template.of("node", Permission.PERMISSION_ADMIN_PVE + "." + stub)
|
||||
Template.template("node", Permission.PERMISSION_ADMIN_PVE + "." + stub)
|
||||
);
|
||||
if (plot != null) {
|
||||
plot.debug(player.getName() + " could not attack " + entityType
|
||||
@ -243,7 +242,7 @@ public class BukkitEntityUtil {
|
||||
if (!Permissions.hasPermission(plotPlayer, Permission.PERMISSION_ADMIN_PVE + "." + stub)) {
|
||||
plotPlayer.sendMessage(
|
||||
TranslatableCaption.of("permission.no_permission_event"),
|
||||
Template.of("node", Permission.PERMISSION_ADMIN_PVE + "." + stub)
|
||||
Template.template("node", Permission.PERMISSION_ADMIN_PVE + "." + stub)
|
||||
);
|
||||
if (plot != null) {
|
||||
plot.debug(player.getName() + " could not attack " + entityType
|
||||
@ -257,7 +256,7 @@ public class BukkitEntityUtil {
|
||||
.hasPermission(plotPlayer, Permission.PERMISSION_ADMIN_PVP + "." + stub)) {
|
||||
plotPlayer.sendMessage(
|
||||
TranslatableCaption.of("permission.no_permission_event"),
|
||||
Template.of("node", Permission.PERMISSION_ADMIN_PVP + "." + stub)
|
||||
Template.template("node", Permission.PERMISSION_ADMIN_PVP + "." + stub)
|
||||
);
|
||||
plot.debug(player.getName() + " could not attack " + entityType
|
||||
+ " because pve = false");
|
||||
@ -271,7 +270,7 @@ public class BukkitEntityUtil {
|
||||
if (!Permissions.hasPermission(plotPlayer, Permission.PERMISSION_ADMIN_PVP + "." + stub)) {
|
||||
plotPlayer.sendMessage(
|
||||
TranslatableCaption.of("permission.no_permission_event"),
|
||||
Template.of("node", Permission.PERMISSION_ADMIN_PVP + "." + stub)
|
||||
Template.template("node", Permission.PERMISSION_ADMIN_PVP + "." + stub)
|
||||
);
|
||||
return false;
|
||||
}
|
||||
@ -288,7 +287,7 @@ public class BukkitEntityUtil {
|
||||
if (!Permissions.hasPermission(plotPlayer, Permission.PERMISSION_ADMIN_PVE + "." + stub)) {
|
||||
plotPlayer.sendMessage(
|
||||
TranslatableCaption.of("permission.no_permission_event"),
|
||||
Template.of("node", Permission.PERMISSION_ADMIN_PVE + "." + stub)
|
||||
Template.template("node", Permission.PERMISSION_ADMIN_PVE + "." + stub)
|
||||
);
|
||||
if (plot != null) {
|
||||
plot.debug(player.getName() + " could not attack " + entityType
|
||||
@ -310,7 +309,7 @@ public class BukkitEntityUtil {
|
||||
if (!Permissions.hasPermission(plotPlayer, Permission.PERMISSION_ADMIN_PVE + "." + stub)) {
|
||||
plotPlayer.sendMessage(
|
||||
TranslatableCaption.of("permission.no_permission_event"),
|
||||
Template.of("node", Permission.PERMISSION_ADMIN_PVE + "." + stub)
|
||||
Template.template("node", Permission.PERMISSION_ADMIN_PVE + "." + stub)
|
||||
);
|
||||
if (plot != null) {
|
||||
plot.debug(player.getName() + " could not attack " + entityType
|
||||
|
@ -176,7 +176,7 @@ public class BukkitRegionManager extends RegionManager {
|
||||
final boolean ignoreAugment,
|
||||
final @Nullable Runnable whenDone
|
||||
) {
|
||||
final BukkitWorld world = new BukkitWorld((World) pos1.getWorld());
|
||||
final BukkitWorld world = (BukkitWorld) worldUtil.getWeWorld(pos1.getWorldName());
|
||||
|
||||
final int p1x = pos1.getX();
|
||||
final int p1z = pos1.getZ();
|
||||
|
@ -54,6 +54,7 @@ import io.papermc.lib.PaperLib;
|
||||
import net.kyori.adventure.platform.bukkit.BukkitAudiences;
|
||||
import net.kyori.adventure.text.minimessage.MiniMessage;
|
||||
import net.kyori.adventure.text.minimessage.Template;
|
||||
import net.kyori.adventure.text.minimessage.template.TemplateResolver;
|
||||
import net.kyori.adventure.text.serializer.legacy.LegacyComponentSerializer;
|
||||
import org.apache.logging.log4j.LogManager;
|
||||
import org.apache.logging.log4j.Logger;
|
||||
@ -369,7 +370,8 @@ public class BukkitUtil extends WorldUtil {
|
||||
if (blockstate instanceof final Sign sign) {
|
||||
for (int i = 0; i < lines.length; i++) {
|
||||
sign.setLine(i, LEGACY_COMPONENT_SERIALIZER
|
||||
.serialize(MINI_MESSAGE.parse(lines[i].getComponent(LocaleHolder.console()), replacements)));
|
||||
.serialize(MINI_MESSAGE.deserialize(lines[i].getComponent(LocaleHolder.console()),
|
||||
TemplateResolver.templates(replacements))));
|
||||
}
|
||||
sign.update(true);
|
||||
}
|
||||
|
@ -248,9 +248,12 @@ permissions:
|
||||
plots.admin.components.other: true
|
||||
plots.admin.vehicle.break.unowned: true
|
||||
plots.admin.pve.unowned: true
|
||||
plots.admin.border.bypass: true
|
||||
|
||||
plots.teleport.delay.bypass:
|
||||
default: op
|
||||
plots.admin.border.bypass:
|
||||
default: op
|
||||
plots.worldedit.bypass:
|
||||
default: op
|
||||
plots.gamemode.bypass:
|
||||
|
@ -1,8 +0,0 @@
|
||||
# Contributing
|
||||
If you feel like you can improve the plugin any way, then you are more than welcome to contribute to PlotSquared. It would be highly appreciated if you made sure to test your code before committing it, as it will save us a lot of time and effort.
|
||||
|
||||
### Code Style
|
||||
If you are planning to commit any changes to the project, it would be highly appreciated if you were to follow the project
|
||||
code style conventions. To make this easier we have provided settings that can be picked up by your IDE.
|
||||
|
||||
IntelliJ: Install the `EditorConfig` plugin. Now IntelliJ is able to pick up the provided `.editorconfig` file automatically.
|
@ -5,8 +5,8 @@ dependencies {
|
||||
compileOnlyApi(libs.checkerqual)
|
||||
|
||||
// Minecraft expectations
|
||||
compileOnlyApi(libs.guava)
|
||||
compileOnlyApi(libs.gson)
|
||||
compileOnly(libs.guava)
|
||||
|
||||
// Platform expectations
|
||||
compileOnlyApi(libs.snakeyaml)
|
||||
@ -25,14 +25,14 @@ dependencies {
|
||||
compileOnlyApi(libs.findbugs)
|
||||
|
||||
// Plugins
|
||||
compileOnlyApi(libs.worldeditCore) {
|
||||
compileOnly(libs.worldeditCore) {
|
||||
exclude(group = "bukkit-classloader-check")
|
||||
exclude(group = "mockito-core")
|
||||
exclude(group = "dummypermscompat")
|
||||
}
|
||||
testImplementation(libs.worldeditCore)
|
||||
compileOnlyApi(libs.fastasyncworldeditCore)
|
||||
testImplementation(libs.fastasyncworldeditCore)
|
||||
compileOnly(libs.fastasyncworldeditCore) { isTransitive = false }
|
||||
testImplementation(libs.fastasyncworldeditCore) { isTransitive = false }
|
||||
|
||||
// Logging
|
||||
compileOnlyApi(libs.log4j)
|
||||
@ -40,7 +40,7 @@ dependencies {
|
||||
// Other libraries
|
||||
api(libs.prtree)
|
||||
api(libs.aopalliance)
|
||||
api(libs.pipeline) {
|
||||
api(libs.rorledning) {
|
||||
exclude(group = "com.google.guava")
|
||||
}
|
||||
api(libs.arkitektonika)
|
||||
@ -50,9 +50,9 @@ dependencies {
|
||||
tasks.processResources {
|
||||
filesMatching("plugin.properties") {
|
||||
expand(
|
||||
"version" to project.version.toString(),
|
||||
"commit" to rootProject.grgit.head().abbreviatedId,
|
||||
"date" to rootProject.grgit.head().dateTime.format(DateTimeFormatter.ofPattern("yy.MM.dd"))
|
||||
"version" to project.version.toString(),
|
||||
"commit" to rootProject.grgit.head().abbreviatedId,
|
||||
"date" to rootProject.grgit.head().dateTime.format(DateTimeFormatter.ofPattern("yy.MM.dd"))
|
||||
)
|
||||
}
|
||||
}
|
||||
|
@ -38,6 +38,7 @@ import com.plotsquared.core.inject.annotations.DefaultGenerator;
|
||||
import com.plotsquared.core.location.World;
|
||||
import com.plotsquared.core.permissions.PermissionHandler;
|
||||
import com.plotsquared.core.player.PlotPlayer;
|
||||
import com.plotsquared.core.plot.world.PlotAreaManager;
|
||||
import com.plotsquared.core.queue.GlobalBlockQueue;
|
||||
import com.plotsquared.core.util.ChunkManager;
|
||||
import com.plotsquared.core.util.EconHandler;
|
||||
@ -268,6 +269,13 @@ public interface PlotPlatform<P> extends LocaleHolder {
|
||||
return injector().getInstance(ChunkManager.class);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the {@link PlotAreaManager} implementation.
|
||||
*
|
||||
* @return the PlotAreaManager
|
||||
*/
|
||||
@NonNull PlotAreaManager plotAreaManager();
|
||||
|
||||
/**
|
||||
* Get the platform specific console {@link Audience}
|
||||
*
|
||||
|
@ -283,7 +283,7 @@ public class PlotSquared {
|
||||
* @return Plot area manager
|
||||
*/
|
||||
public @NonNull PlotAreaManager getPlotAreaManager() {
|
||||
return this.platform.injector().getInstance(PlotAreaManager.class);
|
||||
return this.platform.plotAreaManager();
|
||||
}
|
||||
|
||||
public void startExpiryTasks() {
|
||||
@ -758,6 +758,9 @@ public class PlotSquared {
|
||||
if (this_max < last_max) {
|
||||
plot.getArea().setMeta("lastPlot", plot.getId());
|
||||
}
|
||||
if (callEvent) {
|
||||
eventDispatcher.callPostDelete(plot);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
|
@ -193,19 +193,28 @@ public class PlayerBackupProfile implements BackupProfile {
|
||||
future.completeExceptionally(new IllegalArgumentException(
|
||||
"The backup is non-existent or not in the correct format"));
|
||||
} else {
|
||||
this.schematicHandler.paste(schematic, plot, 0, 1, 0, false, player, new RunnableVal<Boolean>() {
|
||||
@Override
|
||||
public void run(Boolean value) {
|
||||
if (value) {
|
||||
future.complete(null);
|
||||
} else {
|
||||
future.completeExceptionally(new RuntimeException(MINI_MESSAGE.stripTokens(
|
||||
TranslatableCaption
|
||||
.of("schematics.schematic_paste_failed")
|
||||
.getComponent(ConsolePlayer.getConsole()))));
|
||||
this.schematicHandler.paste(
|
||||
schematic,
|
||||
plot,
|
||||
0,
|
||||
plot.getArea().getMinBuildHeight(),
|
||||
0,
|
||||
false,
|
||||
player,
|
||||
new RunnableVal<>() {
|
||||
@Override
|
||||
public void run(Boolean value) {
|
||||
if (value) {
|
||||
future.complete(null);
|
||||
} else {
|
||||
future.completeExceptionally(new RuntimeException(MINI_MESSAGE.stripTokens(
|
||||
TranslatableCaption
|
||||
.of("schematics.schematic_paste_failed")
|
||||
.getComponent(ConsolePlayer.getConsole()))));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
@ -107,7 +107,7 @@ public class SimpleBackupManager implements BackupManager {
|
||||
if (player != null) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("backups.backup_automatic_started"),
|
||||
Template.of("plot", plot.getId().toString())
|
||||
Template.template("plot", plot.getId().toString())
|
||||
);
|
||||
}
|
||||
profile.createBackup().whenComplete((backup, throwable) -> {
|
||||
|
@ -77,7 +77,7 @@ public class Add extends Command {
|
||||
TranslatableCaption.of("permission.no_plot_perms")
|
||||
);
|
||||
checkTrue(args.length == 1, TranslatableCaption.of("commandconfig.command_syntax"),
|
||||
Template.of("value", "/plot add <player | *>")
|
||||
Template.template("value", "/plot add <player | *>")
|
||||
);
|
||||
final CompletableFuture<Boolean> future = new CompletableFuture<>();
|
||||
PlayerManager.getUUIDsFromString(args[0], (uuids, throwable) -> {
|
||||
@ -87,7 +87,7 @@ public class Add extends Command {
|
||||
} else {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("errors.invalid_player"),
|
||||
Template.of("value", args[0])
|
||||
Template.template("value", args[0])
|
||||
);
|
||||
}
|
||||
future.completeExceptionally(throwable);
|
||||
@ -95,7 +95,7 @@ public class Add extends Command {
|
||||
} else {
|
||||
try {
|
||||
checkTrue(!uuids.isEmpty(), TranslatableCaption.of("errors.invalid_player"),
|
||||
Template.of("value", args[0])
|
||||
Template.template("value", args[0])
|
||||
);
|
||||
Iterator<UUID> iterator = uuids.iterator();
|
||||
int size = plot.getTrusted().size() + plot.getMembers().size();
|
||||
@ -106,7 +106,7 @@ public class Add extends Command {
|
||||
.hasPermission(player, Permission.PERMISSION_ADMIN_COMMAND_TRUST))) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("errors.invalid_player"),
|
||||
Template.of("value", PlayerManager.getName(uuid))
|
||||
Template.template("value", PlayerManager.getName(uuid))
|
||||
);
|
||||
iterator.remove();
|
||||
continue;
|
||||
@ -114,7 +114,7 @@ public class Add extends Command {
|
||||
if (plot.isOwner(uuid)) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("member.already_added"),
|
||||
Template.of("player", PlayerManager.getName(uuid))
|
||||
Template.template("player", PlayerManager.getName(uuid))
|
||||
);
|
||||
iterator.remove();
|
||||
continue;
|
||||
@ -122,7 +122,7 @@ public class Add extends Command {
|
||||
if (plot.getMembers().contains(uuid)) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("member.already_added"),
|
||||
Template.of("player", PlayerManager.getName(uuid))
|
||||
Template.template("player", PlayerManager.getName(uuid))
|
||||
);
|
||||
iterator.remove();
|
||||
continue;
|
||||
@ -132,10 +132,10 @@ public class Add extends Command {
|
||||
checkTrue(!uuids.isEmpty(), null);
|
||||
int localAddSize = plot.getMembers().size();
|
||||
int maxAddSize = Permissions.hasPermissionRange(player, Permission.PERMISSION_ADD, Settings.Limit.MAX_PLOTS);
|
||||
if (localAddSize > maxAddSize) {
|
||||
if (localAddSize >= maxAddSize) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("members.plot_max_members_added"),
|
||||
Template.of("amount", String.valueOf(localAddSize))
|
||||
Template.template("amount", String.valueOf(localAddSize))
|
||||
);
|
||||
return;
|
||||
}
|
||||
@ -166,7 +166,7 @@ public class Add extends Command {
|
||||
|
||||
@Override
|
||||
public Collection<Command> tab(final PlotPlayer<?> player, final String[] args, final boolean space) {
|
||||
return TabCompletions.completePlayers(String.join(",", args).trim(), Collections.emptyList());
|
||||
return TabCompletions.completePlayers(player, String.join(",", args).trim(), Collections.emptyList());
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -99,7 +99,7 @@ public class Alias extends SubCommand {
|
||||
} else {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("permission.no_permission"),
|
||||
Template.of("node", String.valueOf(Permission.PERMISSION_ALIAS_SET))
|
||||
Template.template("node", String.valueOf(Permission.PERMISSION_ALIAS_SET))
|
||||
);
|
||||
}
|
||||
}
|
||||
@ -115,7 +115,7 @@ public class Alias extends SubCommand {
|
||||
} else {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("permission.no_permission"),
|
||||
Template.of("node", String.valueOf(Permission.PERMISSION_ALIAS_REMOVE))
|
||||
Template.template("node", String.valueOf(Permission.PERMISSION_ALIAS_REMOVE))
|
||||
);
|
||||
}
|
||||
}
|
||||
@ -156,13 +156,13 @@ public class Alias extends SubCommand {
|
||||
.anyMatch()) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("alias.alias_is_taken"),
|
||||
Template.of("alias", alias)
|
||||
Template.template("alias", alias)
|
||||
);
|
||||
return;
|
||||
}
|
||||
if (Settings.UUID.OFFLINE) {
|
||||
plot.setAlias(alias);
|
||||
player.sendMessage(TranslatableCaption.of("alias.alias_set_to"), Template.of("alias", alias));
|
||||
player.sendMessage(TranslatableCaption.of("alias.alias_set_to"), Template.template("alias", alias));
|
||||
return;
|
||||
}
|
||||
PlotSquared.get().getImpromptuUUIDPipeline().getSingle(alias, ((uuid, throwable) -> {
|
||||
@ -171,13 +171,13 @@ public class Alias extends SubCommand {
|
||||
} else if (uuid != null) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("alias.alias_is_taken"),
|
||||
Template.of("alias", alias)
|
||||
Template.template("alias", alias)
|
||||
);
|
||||
} else {
|
||||
plot.setAlias(alias);
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("alias.alias_set_to"),
|
||||
Template.of("alias", alias)
|
||||
Template.template("alias", alias)
|
||||
);
|
||||
}
|
||||
}));
|
||||
@ -189,7 +189,7 @@ public class Alias extends SubCommand {
|
||||
if (!plot.getAlias().isEmpty()) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("alias.alias_removed"),
|
||||
Template.of("alias", alias)
|
||||
Template.template("alias", alias)
|
||||
);
|
||||
} else {
|
||||
player.sendMessage(
|
||||
|
@ -29,6 +29,7 @@ import com.google.inject.Inject;
|
||||
import com.plotsquared.core.PlotSquared;
|
||||
import com.plotsquared.core.configuration.ConfigurationSection;
|
||||
import com.plotsquared.core.configuration.ConfigurationUtil;
|
||||
import com.plotsquared.core.configuration.Settings;
|
||||
import com.plotsquared.core.configuration.caption.CaptionHolder;
|
||||
import com.plotsquared.core.configuration.caption.Templates;
|
||||
import com.plotsquared.core.configuration.caption.TranslatableCaption;
|
||||
@ -75,6 +76,7 @@ import com.sk89q.worldedit.math.BlockVector3;
|
||||
import com.sk89q.worldedit.regions.CuboidRegion;
|
||||
import com.sk89q.worldedit.regions.Region;
|
||||
import net.kyori.adventure.text.minimessage.Template;
|
||||
import net.kyori.adventure.text.minimessage.template.TemplateResolver;
|
||||
import org.checkerframework.checker.nullness.qual.NonNull;
|
||||
|
||||
import java.io.File;
|
||||
@ -146,14 +148,14 @@ public class Area extends SubCommand {
|
||||
if (!Permissions.hasPermission(player, Permission.PERMISSION_AREA_CREATE)) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("permission.no_permission"),
|
||||
Template.of("node", String.valueOf(Permission.PERMISSION_AREA_CREATE))
|
||||
Template.template("node", String.valueOf(Permission.PERMISSION_AREA_CREATE))
|
||||
);
|
||||
return false;
|
||||
}
|
||||
if (args.length < 2) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("single.single_area_needs_name"),
|
||||
Template.of("command", "/plot area single <name>")
|
||||
Template.template("command", "/plot area single <name>")
|
||||
);
|
||||
return false;
|
||||
}
|
||||
@ -222,7 +224,7 @@ public class Area extends SubCommand {
|
||||
hybridPlotWorld.setAllowSigns(false);
|
||||
final File parentFile = FileUtils.getFile(
|
||||
PlotSquared.platform().getDirectory(),
|
||||
"schematics" + File.separator + "GEN_ROAD_SCHEMATIC" + File.separator + hybridPlotWorld.getWorldName() + File.separator
|
||||
Settings.Paths.SCHEMATICS + File.separator + "GEN_ROAD_SCHEMATIC" + File.separator + hybridPlotWorld.getWorldName() + File.separator
|
||||
+ hybridPlotWorld.getId()
|
||||
);
|
||||
if (!parentFile.exists() && !parentFile.mkdirs()) {
|
||||
@ -284,7 +286,7 @@ public class Area extends SubCommand {
|
||||
} else {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("errors.error_create"),
|
||||
Template.of("world", hybridPlotWorld.getWorldName())
|
||||
Template.template("world", hybridPlotWorld.getWorldName())
|
||||
);
|
||||
}
|
||||
};
|
||||
@ -295,7 +297,7 @@ public class Area extends SubCommand {
|
||||
if (!Permissions.hasPermission(player, Permission.PERMISSION_AREA_CREATE)) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("permission.no_permission"),
|
||||
Template.of("node", String.valueOf(Permission.PERMISSION_AREA_CREATE))
|
||||
Template.template("node", String.valueOf(Permission.PERMISSION_AREA_CREATE))
|
||||
);
|
||||
return false;
|
||||
}
|
||||
@ -328,12 +330,12 @@ public class Area extends SubCommand {
|
||||
);
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("set.set_attribute"),
|
||||
Template.of("attribute", "area_pos1"),
|
||||
Template.of("value", location.getX() + "," + location.getZ())
|
||||
Template.template("attribute", "area_pos1"),
|
||||
Template.template("value", location.getX() + "," + location.getZ())
|
||||
);
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("area.set_pos2"),
|
||||
Template.of("command", "/plot area create pos2")
|
||||
Template.template("command", "/plot area create pos2")
|
||||
);
|
||||
return true;
|
||||
}
|
||||
@ -373,7 +375,7 @@ public class Area extends SubCommand {
|
||||
if (!areas.isEmpty()) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("cluster.cluster_intersection"),
|
||||
Template.of("cluster", areas.iterator().next().toString())
|
||||
Template.template("cluster", areas.iterator().next().toString())
|
||||
);
|
||||
return false;
|
||||
}
|
||||
@ -412,7 +414,7 @@ public class Area extends SubCommand {
|
||||
} else {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("errors.error_create"),
|
||||
Template.of("world", area.getWorldName())
|
||||
Template.template("world", area.getWorldName())
|
||||
);
|
||||
}
|
||||
};
|
||||
@ -446,7 +448,7 @@ public class Area extends SubCommand {
|
||||
if (other != null && Objects.equals(pa.getId(), other.getId())) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("setup.setup_world_taken"),
|
||||
Template.of("value", pa.toString())
|
||||
Template.template("value", pa.toString())
|
||||
);
|
||||
return false;
|
||||
}
|
||||
@ -461,8 +463,8 @@ public class Area extends SubCommand {
|
||||
if (pair.length != 2) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("commandconfig.command_syntax_extended"),
|
||||
Template.of("value1,", getCommandString()),
|
||||
Template.of("value2", " create [world[:id]] [<modifier>=<value>]...")
|
||||
Template.template("value1,", getCommandString()),
|
||||
Template.template("value2", " create [world[:id]] [<modifier>=<value>]...")
|
||||
);
|
||||
return false;
|
||||
}
|
||||
@ -498,8 +500,8 @@ public class Area extends SubCommand {
|
||||
default -> {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("commandconfig.command_syntax_extended"),
|
||||
Template.of("value1", getCommandString()),
|
||||
Template.of("value2", " create [world[:id]] [<modifier>=<value>]...")
|
||||
Template.template("value1", getCommandString()),
|
||||
Template.template("value2", " create [world[:id]] [<modifier>=<value>]...")
|
||||
);
|
||||
return false;
|
||||
}
|
||||
@ -509,7 +511,7 @@ public class Area extends SubCommand {
|
||||
if (this.worldUtil.isWorld(pa.getWorldName())) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("setup.setup_world_taken"),
|
||||
Template.of("value", pa.getWorldName())
|
||||
Template.template("value", pa.getWorldName())
|
||||
);
|
||||
return false;
|
||||
}
|
||||
@ -530,7 +532,7 @@ public class Area extends SubCommand {
|
||||
} else {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("errors.error_create"),
|
||||
Template.of("world", pa.getWorldName())
|
||||
Template.template("world", pa.getWorldName())
|
||||
);
|
||||
}
|
||||
try {
|
||||
@ -549,12 +551,12 @@ public class Area extends SubCommand {
|
||||
if (pa.getId() == null) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("commandconfig.command_syntax"),
|
||||
Template.of("value", getUsage())
|
||||
Template.template("value", getUsage())
|
||||
);
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("commandconfig.command_syntax_extended"),
|
||||
Template.of("value1", getCommandString()),
|
||||
Template.of("value2", " create [world[:id]] [<modifier>=<value>]...")
|
||||
Template.template("value1", getCommandString()),
|
||||
Template.template("value2", " create [world[:id]] [<modifier>=<value>]...")
|
||||
);
|
||||
return false;
|
||||
}
|
||||
@ -571,7 +573,7 @@ public class Area extends SubCommand {
|
||||
metaData.computeIfAbsent(player.getUUID(), missingUUID -> new HashMap<>()).put("area_create_area", pa);
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("single.get_position"),
|
||||
Template.of("command", getCommandString())
|
||||
Template.template("command", getCommandString())
|
||||
);
|
||||
break;
|
||||
}
|
||||
@ -581,7 +583,7 @@ public class Area extends SubCommand {
|
||||
if (!Permissions.hasPermission(player, Permission.PERMISSION_AREA_INFO)) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("permission.no_permission"),
|
||||
Template.of("node", String.valueOf(Permission.PERMISSION_AREA_INFO))
|
||||
Template.template("node", String.valueOf(Permission.PERMISSION_AREA_INFO))
|
||||
);
|
||||
return false;
|
||||
}
|
||||
@ -592,15 +594,15 @@ public class Area extends SubCommand {
|
||||
default -> {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("commandconfig.command_syntax_extended"),
|
||||
Template.of("value1", getCommandString()),
|
||||
Template.of("value2", " info [area]")
|
||||
Template.template("value1", getCommandString()),
|
||||
Template.template("value2", " info [area]")
|
||||
);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
if (area == null) {
|
||||
if (args.length == 2) {
|
||||
player.sendMessage(TranslatableCaption.of("errors.not_valid_plot_world"), Template.of("value", args[1]));
|
||||
player.sendMessage(TranslatableCaption.of("errors.not_valid_plot_world"), Template.template("value", args[1]));
|
||||
} else {
|
||||
player.sendMessage(TranslatableCaption.of("errors.not_in_plot_world"));
|
||||
}
|
||||
@ -624,19 +626,19 @@ public class Area extends SubCommand {
|
||||
percent = claimed == 0 ? 0 : 100d * claimed / Integer.MAX_VALUE;
|
||||
region = "N/A";
|
||||
}
|
||||
Template headerTemplate = Template.of(
|
||||
Template headerTemplate = Template.template(
|
||||
"header",
|
||||
TranslatableCaption.of("info.plot_info_header").getComponent(player)
|
||||
);
|
||||
Template nameTemplate = Template.of("name", name);
|
||||
Template typeTemplate = Template.of("type", area.getType().name());
|
||||
Template terrainTemplate = Template.of("terrain", area.getTerrain().name());
|
||||
Template usageTemplate = Template.of("usage", String.format("%.2f", percent));
|
||||
Template claimedTemplate = Template.of("claimed", String.valueOf(claimed));
|
||||
Template clustersTemplate = Template.of("clusters", String.valueOf(clusters));
|
||||
Template regionTemplate = Template.of("region", region);
|
||||
Template generatorTemplate = Template.of("generator", generator);
|
||||
Template footerTemplate = Template.of(
|
||||
Template nameTemplate = Template.template("name", name);
|
||||
Template typeTemplate = Template.template("type", area.getType().name());
|
||||
Template terrainTemplate = Template.template("terrain", area.getTerrain().name());
|
||||
Template usageTemplate = Template.template("usage", String.format("%.2f", percent));
|
||||
Template claimedTemplate = Template.template("claimed", String.valueOf(claimed));
|
||||
Template clustersTemplate = Template.template("clusters", String.valueOf(clusters));
|
||||
Template regionTemplate = Template.template("region", region);
|
||||
Template generatorTemplate = Template.template("generator", generator);
|
||||
Template footerTemplate = Template.template(
|
||||
"footer",
|
||||
TranslatableCaption.of("info.plot_info_footer").getComponent(player)
|
||||
);
|
||||
@ -659,7 +661,7 @@ public class Area extends SubCommand {
|
||||
if (!Permissions.hasPermission(player, Permission.PERMISSION_AREA_LIST)) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("permission.no_permission"),
|
||||
Template.of("node", String.valueOf(Permission.PERMISSION_AREA_LIST))
|
||||
Template.template("node", String.valueOf(Permission.PERMISSION_AREA_LIST))
|
||||
);
|
||||
return false;
|
||||
}
|
||||
@ -676,13 +678,13 @@ public class Area extends SubCommand {
|
||||
default:
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("commandconfig.command_syntax_extended"),
|
||||
Template.of("value1", getCommandString()),
|
||||
Template.of("value2", " list [#]")
|
||||
Template.template("value1", getCommandString()),
|
||||
Template.template("value2", " list [#]")
|
||||
);
|
||||
return false;
|
||||
}
|
||||
final List<PlotArea> areas = new ArrayList<>(Arrays.asList(this.plotAreaManager.getAllPlotAreas()));
|
||||
paginate(player, areas, 8, page, new RunnableVal3<Integer, PlotArea, CaptionHolder>() {
|
||||
paginate(player, areas, 8, page, new RunnableVal3<>() {
|
||||
@Override
|
||||
public void run(Integer i, PlotArea area, CaptionHolder caption) {
|
||||
String name;
|
||||
@ -703,27 +705,27 @@ public class Area extends SubCommand {
|
||||
percent = claimed == 0 ? 0 : (double) claimed / Short.MAX_VALUE * Short.MAX_VALUE;
|
||||
region = "N/A";
|
||||
}
|
||||
Template claimedTemplate = Template.of("claimed", String.valueOf(claimed));
|
||||
Template usageTemplate = Template.of("usage", String.format("%.2f", percent) + "%");
|
||||
Template clustersTemplate = Template.of("clusters", String.valueOf(clusters));
|
||||
Template regionTemplate = Template.of("region", region);
|
||||
Template generatorTemplate = Template.of("generator", generator);
|
||||
Template claimedTemplate = Template.template("claimed", String.valueOf(claimed));
|
||||
Template usageTemplate = Template.template("usage", String.format("%.2f", percent) + "%");
|
||||
Template clustersTemplate = Template.template("clusters", String.valueOf(clusters));
|
||||
Template regionTemplate = Template.template("region", region);
|
||||
Template generatorTemplate = Template.template("generator", generator);
|
||||
String tooltip = MINI_MESSAGE.serialize(MINI_MESSAGE
|
||||
.parse(
|
||||
.deserialize(
|
||||
TranslatableCaption.of("info.area_list_tooltip").getComponent(player),
|
||||
claimedTemplate,
|
||||
usageTemplate,
|
||||
clustersTemplate,
|
||||
regionTemplate,
|
||||
generatorTemplate
|
||||
TemplateResolver.templates(claimedTemplate,
|
||||
usageTemplate,
|
||||
clustersTemplate,
|
||||
regionTemplate,
|
||||
generatorTemplate)
|
||||
));
|
||||
Template tooltipTemplate = Template.of("hover_info", tooltip);
|
||||
Template visitcmdTemplate = Template.of("command_tp", "/plot area tp " + area);
|
||||
Template infocmdTemplate = Template.of("command_info", "/plot area info " + area);
|
||||
Template numberTemplate = Template.of("number", String.valueOf(i));
|
||||
Template nameTemplate = Template.of("area_name", name);
|
||||
Template typeTemplate = Template.of("area_type", area.getType().name());
|
||||
Template terrainTemplate = Template.of("area_terrain", area.getTerrain().name());
|
||||
Template tooltipTemplate = Template.template("hover_info", tooltip);
|
||||
Template visitcmdTemplate = Template.template("command_tp", "/plot area tp " + area);
|
||||
Template infocmdTemplate = Template.template("command_info", "/plot area info " + area);
|
||||
Template numberTemplate = Template.template("number", String.valueOf(i));
|
||||
Template nameTemplate = Template.template("area_name", name);
|
||||
Template typeTemplate = Template.template("area_type", area.getType().name());
|
||||
Template terrainTemplate = Template.template("area_terrain", area.getTerrain().name());
|
||||
caption.set(TranslatableCaption.of("info.area_list_item"));
|
||||
caption.setTemplates(
|
||||
tooltipTemplate,
|
||||
@ -742,7 +744,7 @@ public class Area extends SubCommand {
|
||||
if (!Permissions.hasPermission(player, Permission.PERMISSION_AREA_REGEN)) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("permission.no_permission"),
|
||||
Template.of("node", String.valueOf(Permission.PERMISSION_AREA_REGEN))
|
||||
Template.template("node", String.valueOf(Permission.PERMISSION_AREA_REGEN))
|
||||
);
|
||||
return false;
|
||||
}
|
||||
@ -754,7 +756,7 @@ public class Area extends SubCommand {
|
||||
if (area.getType() != PlotAreaType.PARTIAL) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("single.delete_world_region"),
|
||||
Template.of("world", area.getWorldName())
|
||||
Template.template("world", area.getWorldName())
|
||||
);
|
||||
return false;
|
||||
}
|
||||
@ -775,20 +777,20 @@ public class Area extends SubCommand {
|
||||
if (!Permissions.hasPermission(player, Permission.PERMISSION_AREA_TP)) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("permission.no_permission"),
|
||||
Template.of("node", String.valueOf(Permission.PERMISSION_AREA_TP))
|
||||
Template.template("node", String.valueOf(Permission.PERMISSION_AREA_TP))
|
||||
);
|
||||
return false;
|
||||
}
|
||||
if (args.length != 2) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("commandconfig.command_syntax"),
|
||||
Template.of("value", "/plot area tp [area]")
|
||||
Template.template("value", "/plot area tp [area]")
|
||||
);
|
||||
return false;
|
||||
}
|
||||
PlotArea area = this.plotAreaManager.getPlotAreaByString(args[1]);
|
||||
if (area == null) {
|
||||
player.sendMessage(TranslatableCaption.of("errors.not_valid_plot_world"), Template.of("value", args[1]));
|
||||
player.sendMessage(TranslatableCaption.of("errors.not_valid_plot_world"), Template.template("value", args[1]));
|
||||
return false;
|
||||
}
|
||||
Location center;
|
||||
@ -856,11 +858,11 @@ public class Area extends SubCommand {
|
||||
) {
|
||||
}).collect(Collectors.toCollection(LinkedList::new));
|
||||
if (Permissions.hasPermission(player, Permission.PERMISSION_AREA) && args[0].length() > 0) {
|
||||
commands.addAll(TabCompletions.completePlayers(args[0], Collections.emptyList()));
|
||||
commands.addAll(TabCompletions.completePlayers(player, args[0], Collections.emptyList()));
|
||||
}
|
||||
return commands;
|
||||
}
|
||||
return TabCompletions.completePlayers(String.join(",", args).trim(), Collections.emptyList());
|
||||
return TabCompletions.completePlayers(player, String.join(",", args).trim(), Collections.emptyList());
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -117,13 +117,13 @@ public class Auto extends SubCommand {
|
||||
if (diff < 0 && grantedPlots < sizeX * sizeZ) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("permission.cant_claim_more_plots"),
|
||||
Template.of("amount", String.valueOf(diff + grantedPlots))
|
||||
Template.template("amount", String.valueOf(diff + grantedPlots))
|
||||
);
|
||||
return false;
|
||||
} else if (diff >= 0 && grantedPlots + diff < sizeX * sizeZ) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("permission.cant_claim_more_plots"),
|
||||
Template.of("amount", String.valueOf(diff + grantedPlots))
|
||||
Template.template("amount", String.valueOf(diff + grantedPlots))
|
||||
);
|
||||
return false;
|
||||
} else {
|
||||
@ -135,14 +135,14 @@ public class Auto extends SubCommand {
|
||||
}
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("economy.removed_granted_plot"),
|
||||
Template.of("usedGrants", String.valueOf(grantedPlots - left)),
|
||||
Template.of("remainingGrants", String.valueOf(left))
|
||||
Template.template("usedGrants", String.valueOf(grantedPlots - left)),
|
||||
Template.template("remainingGrants", String.valueOf(left))
|
||||
);
|
||||
}
|
||||
} else {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("permission.cant_claim_more_plots"),
|
||||
Template.of("amount", String.valueOf(player.getAllowedPlots())
|
||||
Template.template("amount", String.valueOf(player.getAllowedPlots())
|
||||
)
|
||||
);
|
||||
return false;
|
||||
@ -222,7 +222,7 @@ public class Auto extends SubCommand {
|
||||
} else {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("commandconfig.command_syntax"),
|
||||
Template.of("value", getUsage())
|
||||
Template.template("value", getUsage())
|
||||
);
|
||||
return true;
|
||||
}
|
||||
@ -245,7 +245,7 @@ public class Auto extends SubCommand {
|
||||
if (event.getEventResult() == Result.DENY) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("events.event_denied"),
|
||||
Template.of("value", "Auto claim")
|
||||
Template.template("value", "Auto claim")
|
||||
);
|
||||
return true;
|
||||
}
|
||||
@ -256,13 +256,13 @@ public class Auto extends SubCommand {
|
||||
if (!force && mega && !Permissions.hasPermission(player, Permission.PERMISSION_AUTO_MEGA)) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("permission.no_permission"),
|
||||
Template.of("node", String.valueOf(Permission.PERMISSION_AUTO_MEGA))
|
||||
Template.template("node", String.valueOf(Permission.PERMISSION_AUTO_MEGA))
|
||||
);
|
||||
}
|
||||
if (!force && sizeX * sizeZ > Settings.Claim.MAX_AUTO_AREA) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("permission.cant_claim_more_plots_num"),
|
||||
Template.of("amount", String.valueOf(Settings.Claim.MAX_AUTO_AREA))
|
||||
Template.template("amount", String.valueOf(Settings.Claim.MAX_AUTO_AREA))
|
||||
);
|
||||
return false;
|
||||
}
|
||||
@ -280,8 +280,8 @@ public class Auto extends SubCommand {
|
||||
if (!plotarea.hasSchematic(schematic)) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("schematics.schematic_invalid_named"),
|
||||
Template.of("schemname", schematic),
|
||||
Template.of("reason", "non-existent")
|
||||
Template.template("schemname", schematic),
|
||||
Template.template("reason", "non-existent")
|
||||
);
|
||||
return true;
|
||||
}
|
||||
@ -292,7 +292,7 @@ public class Auto extends SubCommand {
|
||||
.hasPermission(player, "plots.admin.command.schematic")) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("permission.no_permission"),
|
||||
Template.of("node", "plots.claim.%s0")
|
||||
Template.template("node", "plots.claim.%s0")
|
||||
);
|
||||
return true;
|
||||
}
|
||||
@ -311,15 +311,15 @@ public class Auto extends SubCommand {
|
||||
if (!force && this.econHandler.getMoney(player) < cost) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("economy.cannot_afford_plot"),
|
||||
Template.of("money", this.econHandler.format(cost)),
|
||||
Template.of("balance", this.econHandler.format(this.econHandler.getMoney(player)))
|
||||
Template.template("money", this.econHandler.format(cost)),
|
||||
Template.template("balance", this.econHandler.format(this.econHandler.getMoney(player)))
|
||||
);
|
||||
return false;
|
||||
}
|
||||
this.econHandler.withdrawMoney(player, cost);
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("economy.removed_balance"),
|
||||
Template.of("money", this.econHandler.format(cost))
|
||||
Template.template("money", this.econHandler.format(cost))
|
||||
);
|
||||
}
|
||||
}
|
||||
@ -344,6 +344,7 @@ public class Auto extends SubCommand {
|
||||
continue;
|
||||
}
|
||||
plot.claim(player, !plotIterator.hasNext(), null, true, true);
|
||||
eventDispatcher.callPostAuto(player, plot);
|
||||
}
|
||||
final PlotAutoMergeEvent mergeEvent = this.eventDispatcher.callAutoMerge(
|
||||
plots.get(0),
|
||||
@ -352,7 +353,7 @@ public class Auto extends SubCommand {
|
||||
if (!force && mergeEvent.getEventResult() == Result.DENY) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("events.event_denied"),
|
||||
Template.of("value", "Auto merge")
|
||||
Template.template("value", "Auto merge")
|
||||
);
|
||||
return false;
|
||||
}
|
||||
|
@ -74,7 +74,7 @@ public final class Backup extends Command {
|
||||
private static boolean sendMessage(PlotPlayer<?> player) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("commandconfig.command_syntax"),
|
||||
Template.of("value", "/plot backup <save | list | load>")
|
||||
Template.template("value", "/plot backup <save | list | load>")
|
||||
);
|
||||
return true;
|
||||
}
|
||||
@ -142,34 +142,34 @@ public final class Backup extends Command {
|
||||
} else if (!plot.hasOwner()) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("backups.backup_impossible"),
|
||||
Template.of("plot", TranslatableCaption.of("generic.generic_unowned").getComponent(player))
|
||||
Template.template("plot", TranslatableCaption.of("generic.generic_unowned").getComponent(player))
|
||||
);
|
||||
} else if (plot.getVolume() > Integer.MAX_VALUE) {
|
||||
player.sendMessage(TranslatableCaption.of("schematics.schematic_too_large"));
|
||||
} else if (plot.isMerged()) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("backups.backup_impossible"),
|
||||
Template.of("plot", TranslatableCaption.of("generic.generic_merged").getComponent(player))
|
||||
Template.template("plot", TranslatableCaption.of("generic.generic_merged").getComponent(player))
|
||||
);
|
||||
} else if (!plot.isOwner(player.getUUID()) && !Permissions
|
||||
.hasPermission(player, Permission.PERMISSION_ADMIN_BACKUP_OTHER)) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("permission.no_permission"),
|
||||
Template.of("node", String.valueOf(Permission.PERMISSION_ADMIN_BACKUP_OTHER))
|
||||
Template.template("node", String.valueOf(Permission.PERMISSION_ADMIN_BACKUP_OTHER))
|
||||
);
|
||||
} else {
|
||||
final BackupProfile backupProfile = Objects.requireNonNull(this.backupManager.getProfile(plot));
|
||||
if (backupProfile instanceof NullBackupProfile) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("backups.backup_impossible"),
|
||||
Template.of("plot", TranslatableCaption.of("generic.generic_other").getComponent(player))
|
||||
Template.template("plot", TranslatableCaption.of("generic.generic_other").getComponent(player))
|
||||
);
|
||||
} else {
|
||||
backupProfile.createBackup().whenComplete((backup, throwable) -> {
|
||||
if (throwable != null) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("backups.backup_save_failed"),
|
||||
Template.of("reason", throwable.getMessage())
|
||||
Template.template("reason", throwable.getMessage())
|
||||
);
|
||||
throwable.printStackTrace();
|
||||
} else {
|
||||
@ -196,12 +196,12 @@ public final class Backup extends Command {
|
||||
} else if (!plot.hasOwner()) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("backups.backup_impossible"),
|
||||
Template.of("plot", TranslatableCaption.of("generic.generic_unowned").getComponent(player))
|
||||
Template.template("plot", TranslatableCaption.of("generic.generic_unowned").getComponent(player))
|
||||
);
|
||||
} else if (plot.isMerged()) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("backups.backup_impossible"),
|
||||
Template.of("plot", TranslatableCaption.of("generic.generic_merged").getComponent(player))
|
||||
Template.template("plot", TranslatableCaption.of("generic.generic_merged").getComponent(player))
|
||||
);
|
||||
} else if (plot.getVolume() > Integer.MAX_VALUE) {
|
||||
player.sendMessage(TranslatableCaption.of("schematics.schematic_too_large"));
|
||||
@ -209,34 +209,34 @@ public final class Backup extends Command {
|
||||
.hasPermission(player, Permission.PERMISSION_ADMIN_BACKUP_OTHER)) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("permission.no_permission"),
|
||||
Template.of("node", String.valueOf(Permission.PERMISSION_ADMIN_BACKUP_OTHER))
|
||||
Template.template("node", String.valueOf(Permission.PERMISSION_ADMIN_BACKUP_OTHER))
|
||||
);
|
||||
} else {
|
||||
final BackupProfile backupProfile = Objects.requireNonNull(this.backupManager.getProfile(plot));
|
||||
if (backupProfile instanceof NullBackupProfile) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("backups.backup_impossible"),
|
||||
Template.of("plot", TranslatableCaption.of("generic.generic_other").getComponent(player))
|
||||
Template.template("plot", TranslatableCaption.of("generic.generic_other").getComponent(player))
|
||||
);
|
||||
} else {
|
||||
backupProfile.listBackups().whenComplete((backups, throwable) -> {
|
||||
if (throwable != null) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("backups.backup_list_failed"),
|
||||
Template.of("reason", throwable.getMessage())
|
||||
Template.template("reason", throwable.getMessage())
|
||||
);
|
||||
throwable.printStackTrace();
|
||||
} else {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("backups.backup_list_header"),
|
||||
Template.of("plot", plot.getId().toCommaSeparatedString())
|
||||
Template.template("plot", plot.getId().toCommaSeparatedString())
|
||||
);
|
||||
try {
|
||||
for (int i = 0; i < backups.size(); i++) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("backups.backup_list_entry"),
|
||||
Template.of("number", Integer.toString(i + 1)),
|
||||
Template.of("value", DateTimeFormatter.RFC_1123_DATE_TIME.format(ZonedDateTime.ofInstant(
|
||||
Template.template("number", Integer.toString(i + 1)),
|
||||
Template.template("value", DateTimeFormatter.RFC_1123_DATE_TIME.format(ZonedDateTime.ofInstant(
|
||||
Instant.ofEpochMilli(backups.get(i).getCreationTime()),
|
||||
ZoneId.systemDefault()
|
||||
)))
|
||||
@ -267,12 +267,12 @@ public final class Backup extends Command {
|
||||
} else if (!plot.hasOwner()) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("backups.backup_impossible"),
|
||||
Template.of("plot", TranslatableCaption.of("generic.generic_unowned").getComponent(player))
|
||||
Template.template("plot", TranslatableCaption.of("generic.generic_unowned").getComponent(player))
|
||||
);
|
||||
} else if (plot.isMerged()) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("backups.backup_impossible"),
|
||||
Template.of("plot", TranslatableCaption.of("generic.generic_merged").getComponent(player))
|
||||
Template.template("plot", TranslatableCaption.of("generic.generic_merged").getComponent(player))
|
||||
);
|
||||
} else if (plot.getVolume() > Integer.MAX_VALUE) {
|
||||
player.sendMessage(TranslatableCaption.of("schematics.schematic_too_large"));
|
||||
@ -280,12 +280,12 @@ public final class Backup extends Command {
|
||||
.hasPermission(player, Permission.PERMISSION_ADMIN_BACKUP_OTHER)) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("permission.no_permission"),
|
||||
Template.of("node", String.valueOf(Permission.PERMISSION_ADMIN_BACKUP_OTHER))
|
||||
Template.template("node", String.valueOf(Permission.PERMISSION_ADMIN_BACKUP_OTHER))
|
||||
);
|
||||
} else if (args.length == 0) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("commandconfig.command_syntax"),
|
||||
Template.of("value", "Usage: /plot backup save/list/load")
|
||||
Template.template("value", "Usage: /plot backup save/list/load")
|
||||
);
|
||||
} else {
|
||||
final int number;
|
||||
@ -294,7 +294,7 @@ public final class Backup extends Command {
|
||||
} catch (final Exception e) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("invalid.not_a_number"),
|
||||
Template.of("value", args[0])
|
||||
Template.template("value", args[0])
|
||||
);
|
||||
return;
|
||||
}
|
||||
@ -302,21 +302,21 @@ public final class Backup extends Command {
|
||||
if (backupProfile instanceof NullBackupProfile) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("backups.backup_impossible"),
|
||||
Template.of("plot", TranslatableCaption.of("generic.generic_other").getComponent(player))
|
||||
Template.template("plot", TranslatableCaption.of("generic.generic_other").getComponent(player))
|
||||
);
|
||||
} else {
|
||||
backupProfile.listBackups().whenComplete((backups, throwable) -> {
|
||||
if (throwable != null) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("backups.backup_load_failure"),
|
||||
Template.of("reason", throwable.getMessage())
|
||||
Template.template("reason", throwable.getMessage())
|
||||
);
|
||||
throwable.printStackTrace();
|
||||
} else {
|
||||
if (number < 1 || number > backups.size()) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("backups.backup_impossible"),
|
||||
Template.of(
|
||||
Template.template(
|
||||
"plot",
|
||||
TranslatableCaption.of("generic.generic_invalid_choice").getComponent(player)
|
||||
)
|
||||
@ -328,7 +328,7 @@ public final class Backup extends Command {
|
||||
.exists(backup.getFile())) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("backups.backup_impossible"),
|
||||
Template.of(
|
||||
Template.template(
|
||||
"plot",
|
||||
TranslatableCaption.of("generic.generic_invalid_choice").getComponent(player)
|
||||
)
|
||||
@ -340,7 +340,7 @@ public final class Backup extends Command {
|
||||
if (error != null) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("backups.backup_load_failure"),
|
||||
Template.of("reason", error.getMessage())
|
||||
Template.template("reason", error.getMessage())
|
||||
);
|
||||
} else {
|
||||
player.sendMessage(TranslatableCaption.of("backups.backup_load_success"));
|
||||
|
@ -63,7 +63,7 @@ public class Biome extends SetCommand {
|
||||
player.sendMessage(TranslatableCaption.of("biome.need_biome"));
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("commandconfig.subcommand_set_options_header"),
|
||||
Template.of("values", biomes)
|
||||
Template.template("values", biomes)
|
||||
);
|
||||
return false;
|
||||
}
|
||||
@ -80,7 +80,7 @@ public class Biome extends SetCommand {
|
||||
plot.removeRunning();
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("biome.biome_set_to"),
|
||||
Template.of("value", value.toLowerCase())
|
||||
Template.template("value", value.toLowerCase())
|
||||
);
|
||||
});
|
||||
return true;
|
||||
|
@ -91,7 +91,7 @@ public class Buy extends Command {
|
||||
checkTrue(
|
||||
player.getPlotCount() + plots.size() <= player.getAllowedPlots(),
|
||||
TranslatableCaption.of("permission.cant_claim_more_plots"),
|
||||
Template.of("amount", String.valueOf(player.getAllowedPlots()))
|
||||
Template.template("amount", String.valueOf(player.getAllowedPlots()))
|
||||
);
|
||||
double price = plot.getFlag(PriceFlag.class);
|
||||
if (price <= 0) {
|
||||
@ -104,8 +104,8 @@ public class Buy extends Command {
|
||||
checkTrue(
|
||||
this.econHandler.getMoney(player) >= price,
|
||||
TranslatableCaption.of("economy.cannot_afford_plot"),
|
||||
Template.of("money", this.econHandler.format(price)),
|
||||
Template.of("balance", this.econHandler.format(this.econHandler.getMoney(player)))
|
||||
Template.template("money", this.econHandler.format(price)),
|
||||
Template.template("balance", this.econHandler.format(this.econHandler.getMoney(player)))
|
||||
);
|
||||
this.econHandler.withdrawMoney(player, price);
|
||||
// Failure
|
||||
@ -113,7 +113,7 @@ public class Buy extends Command {
|
||||
confirm.run(this, () -> {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("economy.removed_balance"),
|
||||
Template.of("money", this.econHandler.format(price))
|
||||
Template.template("money", this.econHandler.format(price))
|
||||
);
|
||||
|
||||
this.econHandler.depositMoney(PlotSquared.platform().playerManager().getOfflinePlayer(plot.getOwnerAbs()), price);
|
||||
@ -122,9 +122,9 @@ public class Buy extends Command {
|
||||
if (owner != null) {
|
||||
owner.sendMessage(
|
||||
TranslatableCaption.of("economy.plot_sold"),
|
||||
Template.of("plot", plot.getId().toString()),
|
||||
Template.of("player", player.getName()),
|
||||
Template.of("price", this.econHandler.format(price))
|
||||
Template.template("plot", plot.getId().toString()),
|
||||
Template.template("player", player.getName()),
|
||||
Template.template("price", this.econHandler.format(price))
|
||||
);
|
||||
}
|
||||
PlotFlag<?, ?> plotFlag = plot.getFlagContainer().getFlag(PriceFlag.class);
|
||||
@ -135,7 +135,7 @@ public class Buy extends Command {
|
||||
plot.setOwner(player.getUUID());
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("working.claimed"),
|
||||
Template.of("plot", plot.getId().toString())
|
||||
Template.template("plot", plot.getId().toString())
|
||||
);
|
||||
whenDone.run(Buy.this, CommandResult.SUCCESS);
|
||||
}, () -> {
|
||||
|
@ -62,7 +62,7 @@ public class Caps extends SubCommand {
|
||||
.hasPermission(player, Permission.PERMISSION_ADMIN_CAPS_OTHER)) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("permission.no_permission"),
|
||||
Template.of("node", String.valueOf(Permission.PERMISSION_ADMIN_CAPS_OTHER))
|
||||
Template.template("node", String.valueOf(Permission.PERMISSION_ADMIN_CAPS_OTHER))
|
||||
);
|
||||
return false;
|
||||
}
|
||||
@ -94,10 +94,10 @@ public class Caps extends SubCommand {
|
||||
: String.valueOf(max);
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("info.plot_caps_format"),
|
||||
Template.of("cap", name),
|
||||
Template.of("current", String.valueOf(current)),
|
||||
Template.of("limit", maxBeautified),
|
||||
Template.of("percentage", percentage)
|
||||
Template.template("cap", name),
|
||||
Template.template("current", String.valueOf(current)),
|
||||
Template.template("limit", maxBeautified),
|
||||
Template.template("percentage", percentage)
|
||||
);
|
||||
}
|
||||
|
||||
|
@ -32,7 +32,7 @@ import net.kyori.adventure.text.minimessage.Template;
|
||||
|
||||
/**
|
||||
* @deprecated In favor of "/plot toggle chat" and
|
||||
* scheduled for removal within the next major release.
|
||||
* scheduled for removal within the next major release.
|
||||
*/
|
||||
@Deprecated(forRemoval = true)
|
||||
@CommandDeclaration(command = "chat",
|
||||
@ -48,7 +48,7 @@ public class Chat extends SubCommand {
|
||||
check(area, TranslatableCaption.of("errors.not_in_plot_world"));
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("errors.deprecated_commands"),
|
||||
Template.of("replacement", "/plot toggle chat")
|
||||
Template.template("replacement", "/plot toggle chat")
|
||||
);
|
||||
if (player.getPlotAreaAbs().isForcingPlotChat()) {
|
||||
player.sendMessage(TranslatableCaption.of("chat.plot_chat_forced"));
|
||||
|
@ -89,7 +89,7 @@ public class Claim extends SubCommand {
|
||||
if (event.getEventResult() == Result.DENY) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("events.event_denied"),
|
||||
Template.of("value", "Claim")
|
||||
Template.template("value", "Claim")
|
||||
);
|
||||
return true;
|
||||
}
|
||||
@ -108,14 +108,14 @@ public class Claim extends SubCommand {
|
||||
if (grants <= 0) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("permission.cant_claim_more_plots"),
|
||||
Template.of("amount", String.valueOf(grants))
|
||||
Template.template("amount", String.valueOf(grants))
|
||||
);
|
||||
metaDataAccess.remove();
|
||||
}
|
||||
} else {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("permission.cant_claim_more_plots"),
|
||||
Template.of("amount", String.valueOf(player.getAllowedPlots()))
|
||||
Template.template("amount", String.valueOf(player.getAllowedPlots()))
|
||||
);
|
||||
return false;
|
||||
}
|
||||
@ -130,8 +130,8 @@ public class Claim extends SubCommand {
|
||||
if (!area.hasSchematic(schematic)) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("schematics.schematic_invalid_named"),
|
||||
Template.of("schemname", schematic),
|
||||
Template.of("reason", "non-existent")
|
||||
Template.template("schemname", schematic),
|
||||
Template.template("reason", "non-existent")
|
||||
);
|
||||
}
|
||||
if (!Permissions.hasPermission(player, Permission.PERMISSION_CLAIM_SCHEMATIC
|
||||
@ -141,7 +141,7 @@ public class Claim extends SubCommand {
|
||||
) && !force) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("permission.no_schematic_permission"),
|
||||
Template.of("value", schematic)
|
||||
Template.template("value", schematic)
|
||||
);
|
||||
}
|
||||
}
|
||||
@ -157,16 +157,16 @@ public class Claim extends SubCommand {
|
||||
if (this.econHandler.getMoney(player) < cost) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("economy.cannot_afford_plot"),
|
||||
Template.of("money", this.econHandler.format(cost)),
|
||||
Template.of("balance", this.econHandler.format(this.econHandler.getMoney(player)))
|
||||
Template.template("money", this.econHandler.format(cost)),
|
||||
Template.template("balance", this.econHandler.format(this.econHandler.getMoney(player)))
|
||||
);
|
||||
return false;
|
||||
}
|
||||
this.econHandler.withdrawMoney(player, cost);
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("economy.removed_balance"),
|
||||
Template.of("money", this.econHandler.format(cost)),
|
||||
Template.of("balance", this.econHandler.format(this.econHandler.getMoney(player)))
|
||||
Template.template("money", this.econHandler.format(cost)),
|
||||
Template.template("balance", this.econHandler.format(this.econHandler.getMoney(player)))
|
||||
);
|
||||
}
|
||||
}
|
||||
@ -178,15 +178,17 @@ public class Claim extends SubCommand {
|
||||
}
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("economy.removed_granted_plot"),
|
||||
Template.of("usedGrants", String.valueOf((grants - 1))),
|
||||
Template.of("remainingGrants", String.valueOf(grants))
|
||||
Template.template("usedGrants", String.valueOf((grants - 1))),
|
||||
Template.template("remainingGrants", String.valueOf(grants))
|
||||
);
|
||||
}
|
||||
}
|
||||
int border = area.getBorder();
|
||||
if (border != Integer.MAX_VALUE && plot.getDistanceFromOrigin() > border && !force) {
|
||||
player.sendMessage(TranslatableCaption.of("border.border"));
|
||||
return false;
|
||||
if (!Permissions.hasPermission(player, Permission.PERMISSION_ADMIN_BYPASS_BORDER)) {
|
||||
int border = area.getBorder();
|
||||
if (border != Integer.MAX_VALUE && plot.getDistanceFromOrigin() > border && !force) {
|
||||
player.sendMessage(TranslatableCaption.of("border.denied"));
|
||||
return false;
|
||||
}
|
||||
}
|
||||
plot.setOwnerAbs(player.getUUID());
|
||||
final String finalSchematic = schematic;
|
||||
@ -203,16 +205,18 @@ public class Claim extends SubCommand {
|
||||
if (mergeEvent.getEventResult() == Result.DENY) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("events.event_denied"),
|
||||
Template.of("value", "Auto merge on claim")
|
||||
Template.template("value", "Auto merge on claim")
|
||||
);
|
||||
} else {
|
||||
plot.getPlotModificationManager().autoMerge(
|
||||
if (plot.getPlotModificationManager().autoMerge(
|
||||
mergeEvent.getDir(),
|
||||
mergeEvent.getMax(),
|
||||
player.getUUID(),
|
||||
player,
|
||||
true
|
||||
);
|
||||
)) {
|
||||
eventDispatcher.callPostMerge(player, plot);
|
||||
}
|
||||
}
|
||||
}
|
||||
return null;
|
||||
|
@ -85,7 +85,7 @@ public class Clear extends Command {
|
||||
if (eventResult == Result.DENY) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("events.event_denied"),
|
||||
Template.of("value", "Clear")
|
||||
Template.template("value", "Clear")
|
||||
);
|
||||
return CompletableFuture.completedFuture(true);
|
||||
}
|
||||
@ -136,8 +136,8 @@ public class Clear extends Command {
|
||||
}
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("working.clearing_done"),
|
||||
Template.of("amount", String.valueOf(System.currentTimeMillis() - start)),
|
||||
Template.of("plot", plot.getId().toString())
|
||||
Template.template("amount", String.valueOf(System.currentTimeMillis() - start)),
|
||||
Template.template("plot", plot.getId().toString())
|
||||
);
|
||||
});
|
||||
});
|
||||
|
@ -69,7 +69,7 @@ public class Cluster extends SubCommand {
|
||||
// return arguments
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("cluster.cluster_available_args"),
|
||||
Template.of(
|
||||
Template.template(
|
||||
"list",
|
||||
"<dark_aqua>list</dark_aqua><gray>, </gray><dark_aqua>create</dark_aqua><gray>, </gray><dark_aqua>delete</dark_aqua><gray>, </gray><dark_aqua>resize</dark_aqua><gray>, </gray><dark_aqua>invite</dark_aqua><gray>, </gray><dark_aqua>kick</dark_aqua><gray>, </gray><dark_aqua>leave</dark_aqua><gray>, </gray><dark_aqua>members</dark_aqua><gray>, </gray><dark_aqua>info</dark_aqua><gray>, </gray><dark_aqua>tp</dark_aqua><gray>, </gray><dark_aqua>sethome</dark_aqua>"
|
||||
)
|
||||
@ -83,14 +83,14 @@ public class Cluster extends SubCommand {
|
||||
if (!Permissions.hasPermission(player, Permission.PERMISSION_CLUSTER_LIST)) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("permission.no_permission"),
|
||||
Template.of("node", String.valueOf(Permission.PERMISSION_CLUSTER_LIST))
|
||||
Template.template("node", String.valueOf(Permission.PERMISSION_CLUSTER_LIST))
|
||||
);
|
||||
return false;
|
||||
}
|
||||
if (args.length != 1) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("commandconfig.command_syntax"),
|
||||
Template.of("value", "/plot cluster list")
|
||||
Template.template("value", "/plot cluster list")
|
||||
);
|
||||
return false;
|
||||
}
|
||||
@ -102,7 +102,7 @@ public class Cluster extends SubCommand {
|
||||
Set<PlotCluster> clusters = area.getClusters();
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("cluster.cluster_list_heading"),
|
||||
Template.of("amount", clusters.size() + "")
|
||||
Template.template("amount", clusters.size() + "")
|
||||
);
|
||||
for (PlotCluster cluster : clusters) {
|
||||
// Ignore unmanaged clusters
|
||||
@ -110,22 +110,22 @@ public class Cluster extends SubCommand {
|
||||
if (player.getUUID().equals(cluster.owner)) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("cluster.cluster_list_element_owner"),
|
||||
Template.of("cluster", name)
|
||||
Template.template("cluster", name)
|
||||
);
|
||||
} else if (cluster.helpers.contains(player.getUUID())) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("cluster.cluster_list_element_helpers"),
|
||||
Template.of("cluster", name)
|
||||
Template.template("cluster", name)
|
||||
);
|
||||
} else if (cluster.invited.contains(player.getUUID())) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("cluster.cluster_list_element_invited"),
|
||||
Template.of("cluster", name)
|
||||
Template.template("cluster", name)
|
||||
);
|
||||
} else {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("cluster.cluster_list_element"),
|
||||
Template.of("cluster", cluster.toString())
|
||||
Template.template("cluster", cluster.toString())
|
||||
);
|
||||
}
|
||||
}
|
||||
@ -136,7 +136,7 @@ public class Cluster extends SubCommand {
|
||||
if (!Permissions.hasPermission(player, Permission.PERMISSION_CLUSTER_CREATE)) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("permission.no_permission"),
|
||||
Template.of("node", String.valueOf(Permission.PERMISSION_CLUSTER_CREATE))
|
||||
Template.template("node", String.valueOf(Permission.PERMISSION_CLUSTER_CREATE))
|
||||
);
|
||||
return false;
|
||||
}
|
||||
@ -148,7 +148,7 @@ public class Cluster extends SubCommand {
|
||||
if (args.length != 4) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("commandconfig.command_syntax"),
|
||||
Template.of("value", "/plot cluster create <name> <id-bot> <id-top>")
|
||||
Template.template("value", "/plot cluster create <name> <id-bot> <id-top>")
|
||||
);
|
||||
return false;
|
||||
}
|
||||
@ -158,7 +158,7 @@ public class Cluster extends SubCommand {
|
||||
if (currentClusters >= player.getAllowedPlots()) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("permission.cant_claim_more_clusters"),
|
||||
Template.of("amount", String.valueOf(player.getAllowedPlots()))
|
||||
Template.template("amount", String.valueOf(player.getAllowedPlots()))
|
||||
);
|
||||
}
|
||||
PlotId pos1;
|
||||
@ -176,7 +176,7 @@ public class Cluster extends SubCommand {
|
||||
if (area.getCluster(name) != null) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("alias.alias_is_taken"),
|
||||
Template.of("alias", name)
|
||||
Template.template("alias", name)
|
||||
);
|
||||
return false;
|
||||
}
|
||||
@ -190,7 +190,7 @@ public class Cluster extends SubCommand {
|
||||
if (cluster != null) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("cluster.cluster_intersection"),
|
||||
Template.of("cluster", cluster.getName())
|
||||
Template.template("cluster", cluster.getName())
|
||||
);
|
||||
return false;
|
||||
}
|
||||
@ -198,7 +198,7 @@ public class Cluster extends SubCommand {
|
||||
if (!area.contains(pos1) || !area.contains(pos2)) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("cluster.cluster_outside"),
|
||||
Template.of("area", String.valueOf(area))
|
||||
Template.template("area", String.valueOf(area))
|
||||
);
|
||||
return false;
|
||||
}
|
||||
@ -211,7 +211,7 @@ public class Cluster extends SubCommand {
|
||||
if (!plot.isOwner(uuid)) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("permission.no_permission"),
|
||||
Template.of("node", String.valueOf(Permission.PERMISSION_CLUSTER_CREATE_OTHER))
|
||||
Template.template("node", String.valueOf(Permission.PERMISSION_CLUSTER_CREATE_OTHER))
|
||||
);
|
||||
return false;
|
||||
}
|
||||
@ -233,7 +233,7 @@ public class Cluster extends SubCommand {
|
||||
if (current + cluster.getArea() > allowed) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("permission.no_permission"),
|
||||
Template.of("node", Permission.PERMISSION_CLUSTER_SIZE + "." + (current + cluster.getArea()))
|
||||
Template.template("node", Permission.PERMISSION_CLUSTER_SIZE + "." + (current + cluster.getArea()))
|
||||
);
|
||||
return false;
|
||||
}
|
||||
@ -252,7 +252,7 @@ public class Cluster extends SubCommand {
|
||||
}
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("cluster.cluster_created"),
|
||||
Template.of("name", name)
|
||||
Template.template("name", name)
|
||||
);
|
||||
return true;
|
||||
}
|
||||
@ -262,14 +262,14 @@ public class Cluster extends SubCommand {
|
||||
if (!Permissions.hasPermission(player, Permission.PERMISSION_CLUSTER_DELETE)) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("permission.no_permission"),
|
||||
Template.of("node", String.valueOf(Permission.PERMISSION_CLUSTER_DELETE))
|
||||
Template.template("node", String.valueOf(Permission.PERMISSION_CLUSTER_DELETE))
|
||||
);
|
||||
return false;
|
||||
}
|
||||
if (args.length != 1 && args.length != 2) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("commandconfig.command_syntax"),
|
||||
Template.of("value", "/plot cluster delete [name]")
|
||||
Template.template("value", "/plot cluster delete [name]")
|
||||
);
|
||||
return false;
|
||||
}
|
||||
@ -284,7 +284,7 @@ public class Cluster extends SubCommand {
|
||||
if (cluster == null) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("cluster.invalid_cluster_name"),
|
||||
Template.of("cluster", args[1])
|
||||
Template.template("cluster", args[1])
|
||||
);
|
||||
return false;
|
||||
}
|
||||
@ -300,13 +300,13 @@ public class Cluster extends SubCommand {
|
||||
.hasPermission(player, Permission.PERMISSION_CLUSTER_DELETE_OTHER)) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("permission.no_permission"),
|
||||
Template.of("node", String.valueOf(Permission.PERMISSION_CLUSTER_DELETE_OTHER))
|
||||
Template.template("node", String.valueOf(Permission.PERMISSION_CLUSTER_DELETE_OTHER))
|
||||
);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
DBFunc.delete(cluster);
|
||||
player.sendMessage(TranslatableCaption.of("cluster.cluster_deleted"), Template.of(
|
||||
player.sendMessage(TranslatableCaption.of("cluster.cluster_deleted"), Template.template(
|
||||
"cluster",
|
||||
String.valueOf(cluster)
|
||||
));
|
||||
@ -317,14 +317,14 @@ public class Cluster extends SubCommand {
|
||||
if (!Permissions.hasPermission(player, Permission.PERMISSION_CLUSTER_RESIZE)) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("permission.no_permission"),
|
||||
Template.of("node", String.valueOf(Permission.PERMISSION_CLUSTER_RESIZE))
|
||||
Template.template("node", String.valueOf(Permission.PERMISSION_CLUSTER_RESIZE))
|
||||
);
|
||||
return false;
|
||||
}
|
||||
if (args.length != 3) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("commandconfig.command_syntax"),
|
||||
Template.of("value", "/plot cluster resize [name]")
|
||||
Template.template("value", "/plot cluster resize [name]")
|
||||
);
|
||||
return false;
|
||||
}
|
||||
@ -358,7 +358,7 @@ public class Cluster extends SubCommand {
|
||||
.hasPermission(player, Permission.PERMISSION_CLUSTER_RESIZE_OTHER)) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("permission.no_permission"),
|
||||
Template.of("node", String.valueOf(Permission.PERMISSION_CLUSTER_RESIZE_OTHER))
|
||||
Template.template("node", String.valueOf(Permission.PERMISSION_CLUSTER_RESIZE_OTHER))
|
||||
);
|
||||
return false;
|
||||
}
|
||||
@ -368,7 +368,7 @@ public class Cluster extends SubCommand {
|
||||
if (intersect != null) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("cluster.cluster_intersection"),
|
||||
Template.of("cluster", intersect.getName())
|
||||
Template.template("cluster", intersect.getName())
|
||||
);
|
||||
return false;
|
||||
}
|
||||
@ -384,7 +384,7 @@ public class Cluster extends SubCommand {
|
||||
.hasPermission(player, Permission.PERMISSION_CLUSTER_RESIZE_SHRINK)) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("permission.no_permission"),
|
||||
Template.of("node", String.valueOf(Permission.PERMISSION_CLUSTER_RESIZE_SHRINK))
|
||||
Template.template("node", String.valueOf(Permission.PERMISSION_CLUSTER_RESIZE_SHRINK))
|
||||
);
|
||||
return false;
|
||||
}
|
||||
@ -395,7 +395,7 @@ public class Cluster extends SubCommand {
|
||||
.hasPermission(player, Permission.PERMISSION_CLUSTER_RESIZE_EXPAND)) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("permission.no_permission"),
|
||||
Template.of("node", String.valueOf(Permission.PERMISSION_CLUSTER_RESIZE_EXPAND))
|
||||
Template.template("node", String.valueOf(Permission.PERMISSION_CLUSTER_RESIZE_EXPAND))
|
||||
);
|
||||
return false;
|
||||
}
|
||||
@ -414,7 +414,7 @@ public class Cluster extends SubCommand {
|
||||
if (current + cluster.getArea() > allowed) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("permission.no_permission"),
|
||||
Template.of("node", Permission.PERMISSION_CLUSTER + "." + (current + cluster.getArea()))
|
||||
Template.template("node", Permission.PERMISSION_CLUSTER + "." + (current + cluster.getArea()))
|
||||
);
|
||||
return false;
|
||||
}
|
||||
@ -429,14 +429,14 @@ public class Cluster extends SubCommand {
|
||||
if (!Permissions.hasPermission(player, Permission.PERMISSION_CLUSTER_INVITE)) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("permission.no_permission"),
|
||||
Template.of("node", String.valueOf(Permission.PERMISSION_CLUSTER_INVITE))
|
||||
Template.template("node", String.valueOf(Permission.PERMISSION_CLUSTER_INVITE))
|
||||
);
|
||||
return false;
|
||||
}
|
||||
if (args.length != 2) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("commandconfig.command_syntax"),
|
||||
Template.of("value", "/plot cluster invite <player>")
|
||||
Template.template("value", "/plot cluster invite <player>")
|
||||
);
|
||||
return false;
|
||||
}
|
||||
@ -455,7 +455,7 @@ public class Cluster extends SubCommand {
|
||||
.hasPermission(player, Permission.PERMISSION_CLUSTER_INVITE_OTHER)) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("permission.no_permission"),
|
||||
Template.of("node", Permission.PERMISSION_CLUSTER_INVITE_OTHER.toString())
|
||||
Template.template("node", Permission.PERMISSION_CLUSTER_INVITE_OTHER.toString())
|
||||
);
|
||||
return false;
|
||||
}
|
||||
@ -468,7 +468,7 @@ public class Cluster extends SubCommand {
|
||||
} else if (throwable != null) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("errors.invalid_player"),
|
||||
Template.of("value", args[1])
|
||||
Template.template("value", args[1])
|
||||
);
|
||||
} else {
|
||||
if (!cluster.isAdded(uuid)) {
|
||||
@ -480,7 +480,7 @@ public class Cluster extends SubCommand {
|
||||
if (otherPlayer != null) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("cluster.cluster_invited"),
|
||||
Template.of("cluster", cluster.getName())
|
||||
Template.template("cluster", cluster.getName())
|
||||
);
|
||||
}
|
||||
}
|
||||
@ -495,14 +495,14 @@ public class Cluster extends SubCommand {
|
||||
if (!Permissions.hasPermission(player, Permission.PERMISSION_CLUSTER_KICK)) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("permission.no_permission"),
|
||||
Template.of("node", Permission.PERMISSION_CLUSTER_KICK.toString())
|
||||
Template.template("node", Permission.PERMISSION_CLUSTER_KICK.toString())
|
||||
);
|
||||
return false;
|
||||
}
|
||||
if (args.length != 2) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("commandconfig.command_syntax"),
|
||||
Template.of("value", "/plot cluster kick <player>")
|
||||
Template.template("value", "/plot cluster kick <player>")
|
||||
);
|
||||
return false;
|
||||
}
|
||||
@ -520,7 +520,7 @@ public class Cluster extends SubCommand {
|
||||
.hasPermission(player, Permission.PERMISSION_CLUSTER_KICK_OTHER)) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("permission.no_permission"),
|
||||
Template.of("node", Permission.PERMISSION_CLUSTER_KICK_OTHER.toString())
|
||||
Template.template("node", Permission.PERMISSION_CLUSTER_KICK_OTHER.toString())
|
||||
);
|
||||
return false;
|
||||
}
|
||||
@ -533,7 +533,7 @@ public class Cluster extends SubCommand {
|
||||
} else if (throwable != null) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("errors.invalid_player"),
|
||||
Template.of("value", args[1])
|
||||
Template.template("value", args[1])
|
||||
);
|
||||
} else {
|
||||
// Can't kick if the player is yourself, the owner, or not added to the cluster
|
||||
@ -541,7 +541,7 @@ public class Cluster extends SubCommand {
|
||||
|| !cluster.isAdded(uuid)) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("cluster.cannot_kick_player"),
|
||||
Template.of("value", cluster.getName())
|
||||
Template.template("value", cluster.getName())
|
||||
);
|
||||
} else {
|
||||
if (cluster.helpers.contains(uuid)) {
|
||||
@ -556,7 +556,7 @@ public class Cluster extends SubCommand {
|
||||
if (player2 != null) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("cluster.cluster_removed"),
|
||||
Template.of("cluster", cluster.getName())
|
||||
Template.template("cluster", cluster.getName())
|
||||
);
|
||||
}
|
||||
for (final Plot plot : PlotQuery.newQuery().inWorld(player2.getLocation()
|
||||
@ -577,14 +577,14 @@ public class Cluster extends SubCommand {
|
||||
if (!Permissions.hasPermission(player, Permission.PERMISSION_CLUSTER_LEAVE)) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("permission.no_permission"),
|
||||
Template.of("node", Permission.PERMISSION_CLUSTER_LEAVE.toString())
|
||||
Template.template("node", Permission.PERMISSION_CLUSTER_LEAVE.toString())
|
||||
);
|
||||
return false;
|
||||
}
|
||||
if (args.length != 1 && args.length != 2) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("commandconfig.command_syntax"),
|
||||
Template.of("value", "/plot cluster leave [name]")
|
||||
Template.template("value", "/plot cluster leave [name]")
|
||||
);
|
||||
return false;
|
||||
}
|
||||
@ -598,7 +598,7 @@ public class Cluster extends SubCommand {
|
||||
if (cluster == null) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("cluster.invalid_cluster_name"),
|
||||
Template.of("cluster", args[1])
|
||||
Template.template("cluster", args[1])
|
||||
);
|
||||
return false;
|
||||
}
|
||||
@ -626,7 +626,7 @@ public class Cluster extends SubCommand {
|
||||
DBFunc.removeInvited(cluster, uuid);
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("cluster.cluster_removed"),
|
||||
Template.of("cluster", cluster.getName())
|
||||
Template.template("cluster", cluster.getName())
|
||||
);
|
||||
for (final Plot plot : PlotQuery.newQuery().inWorld(player.getLocation().getWorldName())
|
||||
.ownedBy(uuid)) {
|
||||
@ -641,14 +641,14 @@ public class Cluster extends SubCommand {
|
||||
if (!Permissions.hasPermission(player, Permission.PERMISSION_CLUSTER_HELPERS)) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("permission.no_permission"),
|
||||
Template.of("node", Permission.PERMISSION_CLUSTER_HELPERS.toString())
|
||||
Template.template("node", Permission.PERMISSION_CLUSTER_HELPERS.toString())
|
||||
);
|
||||
return false;
|
||||
}
|
||||
if (args.length != 3) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("commandconfig.command_syntax"),
|
||||
Template.of("value", "/plot cluster members <add | remove> <player>")
|
||||
Template.template("value", "/plot cluster members <add | remove> <player>")
|
||||
);
|
||||
return false;
|
||||
}
|
||||
@ -669,7 +669,7 @@ public class Cluster extends SubCommand {
|
||||
} else if (throwable != null) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("errors.invalid_player"),
|
||||
Template.of("value", args[2])
|
||||
Template.template("value", args[2])
|
||||
);
|
||||
} else {
|
||||
if (args[1].equalsIgnoreCase("add")) {
|
||||
@ -683,7 +683,7 @@ public class Cluster extends SubCommand {
|
||||
} else {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("commandconfig.command_syntax"),
|
||||
Template.of("value", "/plot cluster members <add | remove> <player>")
|
||||
Template.template("value", "/plot cluster members <add | remove> <player>")
|
||||
);
|
||||
}
|
||||
}
|
||||
@ -696,14 +696,14 @@ public class Cluster extends SubCommand {
|
||||
if (!Permissions.hasPermission(player, Permission.PERMISSION_CLUSTER_TP)) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("permission.no_permission"),
|
||||
Template.of("node", Permission.PERMISSION_CLUSTER_TP.toString())
|
||||
Template.template("node", Permission.PERMISSION_CLUSTER_TP.toString())
|
||||
);
|
||||
return false;
|
||||
}
|
||||
if (args.length != 2) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("commandconfig.command_syntax"),
|
||||
Template.of("value", "/plot cluster tp <name>")
|
||||
Template.template("value", "/plot cluster tp <name>")
|
||||
);
|
||||
return false;
|
||||
}
|
||||
@ -716,7 +716,7 @@ public class Cluster extends SubCommand {
|
||||
if (cluster == null) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("cluster.invalid_cluster_name"),
|
||||
Template.of("cluster", args[1])
|
||||
Template.template("cluster", args[1])
|
||||
);
|
||||
return false;
|
||||
}
|
||||
@ -725,7 +725,7 @@ public class Cluster extends SubCommand {
|
||||
if (!Permissions.hasPermission(player, Permission.PERMISSION_CLUSTER_TP_OTHER)) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("permission.no_permission"),
|
||||
Template.of("node", Permission.PERMISSION_CLUSTER_TP_OTHER.toString())
|
||||
Template.template("node", Permission.PERMISSION_CLUSTER_TP_OTHER.toString())
|
||||
);
|
||||
return false;
|
||||
}
|
||||
@ -741,14 +741,14 @@ public class Cluster extends SubCommand {
|
||||
if (!Permissions.hasPermission(player, Permission.PERMISSION_CLUSTER_INFO)) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("permission.no_permission"),
|
||||
Template.of("node", Permission.PERMISSION_CLUSTER_TP.toString())
|
||||
Template.template("node", Permission.PERMISSION_CLUSTER_TP.toString())
|
||||
);
|
||||
return false;
|
||||
}
|
||||
if (args.length != 1 && args.length != 2) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("commandconfig.command_syntax"),
|
||||
Template.of("value", "/plot cluster info [name]")
|
||||
Template.template("value", "/plot cluster info [name]")
|
||||
);
|
||||
}
|
||||
PlotArea area = player.getApplicablePlotArea();
|
||||
@ -762,7 +762,7 @@ public class Cluster extends SubCommand {
|
||||
if (cluster == null) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("cluster.invalid_cluster_name"),
|
||||
Template.of("cluster", args[1])
|
||||
Template.template("cluster", args[1])
|
||||
);
|
||||
return false;
|
||||
}
|
||||
@ -791,11 +791,11 @@ public class Cluster extends SubCommand {
|
||||
cluster.getP2().getY() - cluster.getP1().getY() + 1);
|
||||
String rights = cluster.isAdded(player.getUUID()) + "";
|
||||
Caption message = TranslatableCaption.of("cluster.cluster_info");
|
||||
Template idTemplate = Template.of("id", id);
|
||||
Template ownerTemplate = Template.of("owner", owner);
|
||||
Template nameTemplate = Template.of("name", name);
|
||||
Template sizeTemplate = Template.of("size", size);
|
||||
Template rightsTemplate = Template.of("rights", rights);
|
||||
Template idTemplate = Template.template("id", id);
|
||||
Template ownerTemplate = Template.template("owner", owner);
|
||||
Template nameTemplate = Template.template("name", name);
|
||||
Template sizeTemplate = Template.template("size", size);
|
||||
Template rightsTemplate = Template.template("rights", rights);
|
||||
player.sendMessage(
|
||||
message,
|
||||
idTemplate,
|
||||
@ -814,14 +814,14 @@ public class Cluster extends SubCommand {
|
||||
if (!Permissions.hasPermission(player, Permission.PERMISSION_CLUSTER_SETHOME)) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("permission.no_permission"),
|
||||
Template.of("node", Permission.PERMISSION_CLUSTER_SETHOME.toString())
|
||||
Template.template("node", Permission.PERMISSION_CLUSTER_SETHOME.toString())
|
||||
);
|
||||
return false;
|
||||
}
|
||||
if (args.length != 1 && args.length != 2) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("commandconfig.command_syntax"),
|
||||
Template.of("value", "/plot cluster sethome")
|
||||
Template.template("value", "/plot cluster sethome")
|
||||
);
|
||||
return false;
|
||||
}
|
||||
@ -839,7 +839,7 @@ public class Cluster extends SubCommand {
|
||||
.hasPermission(player, Permission.PERMISSION_CLUSTER_SETHOME_OTHER)) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("permission.no_permission"),
|
||||
Template.of("node", Permission.PERMISSION_CLUSTER_SETHOME_OTHER.toString())
|
||||
Template.template("node", Permission.PERMISSION_CLUSTER_SETHOME_OTHER.toString())
|
||||
);
|
||||
return false;
|
||||
}
|
||||
@ -858,7 +858,7 @@ public class Cluster extends SubCommand {
|
||||
}
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("cluster.cluster_available_args"),
|
||||
Template.of(
|
||||
Template.template(
|
||||
"list",
|
||||
"<dark_aqua>list</dark_aqua><gray>, </gray><dark_aqua>create</dark_aqua><gray>, </gray><dark_aqua>delete</dark_aqua><gray>, </gray><dark_aqua>resize</dark_aqua><gray>, </gray><dark_aqua>invite</dark_aqua><gray>, </gray><dark_aqua>kick</dark_aqua><gray>, </gray><dark_aqua>leave</dark_aqua><gray>, </gray><dark_aqua>members</dark_aqua><gray>, </gray><dark_aqua>info</dark_aqua><gray>, </gray><dark_aqua>tp</dark_aqua><gray>, </gray><dark_aqua>sethome</dark_aqua>"
|
||||
)
|
||||
@ -916,11 +916,11 @@ public class Cluster extends SubCommand {
|
||||
) {
|
||||
}).collect(Collectors.toCollection(LinkedList::new));
|
||||
if (Permissions.hasPermission(player, Permission.PERMISSION_CLUSTER) && args[0].length() > 0) {
|
||||
commands.addAll(TabCompletions.completePlayers(args[0], Collections.emptyList()));
|
||||
commands.addAll(TabCompletions.completePlayers(player, args[0], Collections.emptyList()));
|
||||
}
|
||||
return commands;
|
||||
}
|
||||
return TabCompletions.completePlayers(String.join(",", args).trim(), Collections.emptyList());
|
||||
return TabCompletions.completePlayers(player, String.join(",", args).trim(), Collections.emptyList());
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -59,9 +59,9 @@ public class CmdConfirm {
|
||||
if (commandStr != null) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("confirm.requires_confirm"),
|
||||
Template.of("command", commandStr),
|
||||
Template.of("timeout", String.valueOf(Settings.Confirmation.CONFIRMATION_TIMEOUT_SECONDS)),
|
||||
Template.of("value", "/plot confirm")
|
||||
Template.template("command", commandStr),
|
||||
Template.template("timeout", String.valueOf(Settings.Confirmation.CONFIRMATION_TIMEOUT_SECONDS)),
|
||||
Template.template("value", "/plot confirm")
|
||||
);
|
||||
}
|
||||
TaskManager.runTaskLater(() -> {
|
||||
|
@ -263,9 +263,9 @@ public abstract class Command {
|
||||
max = c.size();
|
||||
}
|
||||
// Send the header
|
||||
Template curTemplate = Template.of("cur", String.valueOf(page + 1));
|
||||
Template maxTemplate = Template.of("max", String.valueOf(totalPages + 1));
|
||||
Template amountTemplate = Template.of("amount", String.valueOf(c.size()));
|
||||
Template curTemplate = Template.template("cur", String.valueOf(page + 1));
|
||||
Template maxTemplate = Template.template("max", String.valueOf(totalPages + 1));
|
||||
Template amountTemplate = Template.template("amount", String.valueOf(c.size()));
|
||||
player.sendMessage(header, curTemplate, maxTemplate, amountTemplate);
|
||||
// Send the page content
|
||||
List<T> subList = c.subList(page * size, max);
|
||||
@ -277,9 +277,9 @@ public abstract class Command {
|
||||
player.sendMessage(msg.get(), msg.getTemplates());
|
||||
}
|
||||
// Send the footer
|
||||
Template command1 = Template.of("command1", baseCommand + " " + page);
|
||||
Template command2 = Template.of("command2", baseCommand + " " + (page + 2));
|
||||
Template clickable = Template.of("clickable", TranslatableCaption.of("list.clickable").getComponent(player));
|
||||
Template command1 = Template.template("command1", baseCommand + " " + page);
|
||||
Template command2 = Template.template("command2", baseCommand + " " + (page + 2));
|
||||
Template clickable = Template.template("clickable", TranslatableCaption.of("list.clickable").getComponent(player));
|
||||
player.sendMessage(TranslatableCaption.of("list.page_turn"), command1, command2, clickable);
|
||||
}
|
||||
|
||||
@ -289,7 +289,7 @@ public abstract class Command {
|
||||
* @param confirm Instance, Success, Failure
|
||||
* @param whenDone task to run when done
|
||||
* @return CompletableFuture true if the command executed fully, false in
|
||||
* any other case
|
||||
* any other case
|
||||
*/
|
||||
public CompletableFuture<Boolean> execute(
|
||||
PlotPlayer<?> player, String[] args,
|
||||
@ -332,7 +332,7 @@ public abstract class Command {
|
||||
if (commands.isEmpty()) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("commandconfig.did_you_mean"),
|
||||
Template.of("value", MainCommand.getInstance().help.getUsage())
|
||||
Template.template("value", MainCommand.getInstance().help.getUsage())
|
||||
);
|
||||
return CompletableFuture.completedFuture(false);
|
||||
}
|
||||
@ -353,7 +353,7 @@ public abstract class Command {
|
||||
}
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("commandconfig.did_you_mean"),
|
||||
Template.of("value", cmd.getUsage())
|
||||
Template.template("value", cmd.getUsage())
|
||||
);
|
||||
return CompletableFuture.completedFuture(false);
|
||||
}
|
||||
@ -389,7 +389,7 @@ public abstract class Command {
|
||||
// TODO improve or remove the Argument system
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("commandconfig.command_syntax"),
|
||||
Template.of("value", StringMan.join(fullSplit, " "))
|
||||
Template.template("value", StringMan.join(fullSplit, " "))
|
||||
);
|
||||
return false;
|
||||
}
|
||||
@ -478,7 +478,7 @@ public abstract class Command {
|
||||
if (message) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("permission.no_permission"),
|
||||
Template.of("node", getPermission())
|
||||
Template.template("node", getPermission())
|
||||
);
|
||||
}
|
||||
} else {
|
||||
@ -503,7 +503,7 @@ public abstract class Command {
|
||||
public void sendUsage(PlotPlayer<?> player) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("commandconfig.command_syntax"),
|
||||
Template.of("value", getUsage())
|
||||
Template.template("value", getUsage())
|
||||
);
|
||||
}
|
||||
|
||||
|
@ -51,8 +51,8 @@ public class Comment extends SubCommand {
|
||||
if (args.length < 2) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("comment.comment_syntax"),
|
||||
Template.of("command", "/plot comment [X;Z]"),
|
||||
Template.of("list", StringMan.join(CommentManager.inboxes.keySet(), "|"))
|
||||
Template.template("command", "/plot comment [X;Z]"),
|
||||
Template.template("list", StringMan.join(CommentManager.inboxes.keySet(), "|"))
|
||||
);
|
||||
return false;
|
||||
}
|
||||
@ -71,8 +71,8 @@ public class Comment extends SubCommand {
|
||||
if (args.length < 3) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("comment.comment_syntax"),
|
||||
Template.of("command", "/plot comment [X;Z]"),
|
||||
Template.of("list", StringMan.join(CommentManager.inboxes.keySet(), "|"))
|
||||
Template.template("command", "/plot comment [X;Z]"),
|
||||
Template.template("list", StringMan.join(CommentManager.inboxes.keySet(), "|"))
|
||||
);
|
||||
return false;
|
||||
}
|
||||
@ -83,8 +83,8 @@ public class Comment extends SubCommand {
|
||||
if (inbox == null) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("comment.comment_syntax"),
|
||||
Template.of("command", "/plot comment [X;Z]"),
|
||||
Template.of("list", StringMan.join(CommentManager.inboxes.keySet(), "|"))
|
||||
Template.template("command", "/plot comment [X;Z]"),
|
||||
Template.template("list", StringMan.join(CommentManager.inboxes.keySet(), "|"))
|
||||
);
|
||||
return false;
|
||||
}
|
||||
@ -104,8 +104,8 @@ public class Comment extends SubCommand {
|
||||
player.sendMessage(TranslatableCaption.of("comment.no_plot_inbox"));
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("comment.comment_syntax"),
|
||||
Template.of("command", "/plot comment [X;Z]"),
|
||||
Template.of("list", StringMan.join(CommentManager.inboxes.keySet(), "|"))
|
||||
Template.template("command", "/plot comment [X;Z]"),
|
||||
Template.template("list", StringMan.join(CommentManager.inboxes.keySet(), "|"))
|
||||
);
|
||||
return false;
|
||||
}
|
||||
|
@ -74,7 +74,7 @@ public class Condense extends SubCommand {
|
||||
if (args.length != 2 && args.length != 3) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("commandconfig.command_syntax"),
|
||||
Template.of("value", "/plot condense <area> <start | stop | info> [radius]")
|
||||
Template.template("value", "/plot condense <area> <start | stop | info> [radius]")
|
||||
);
|
||||
return false;
|
||||
}
|
||||
@ -88,7 +88,7 @@ public class Condense extends SubCommand {
|
||||
if (args.length == 2) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("commandconfig.command_syntax"),
|
||||
Template.of("value", "/plot condense" + area + " start <radius>")
|
||||
Template.template("value", "/plot condense" + area + " start <radius>")
|
||||
);
|
||||
return false;
|
||||
}
|
||||
@ -187,8 +187,8 @@ public class Condense extends SubCommand {
|
||||
if (result.get()) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("condense.moving"),
|
||||
Template.of("origin", String.valueOf(origin)),
|
||||
Template.of("possible", String.valueOf(possible))
|
||||
Template.template("origin", String.valueOf(origin)),
|
||||
Template.template("possible", String.valueOf(possible))
|
||||
);
|
||||
TaskManager.runTaskLater(task, TaskTime.ticks(1L));
|
||||
}
|
||||
@ -208,7 +208,7 @@ public class Condense extends SubCommand {
|
||||
if (i >= free.size()) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("condense.skipping"),
|
||||
Template.of("plot", String.valueOf(origin))
|
||||
Template.template("plot", String.valueOf(origin))
|
||||
);
|
||||
}
|
||||
}
|
||||
@ -229,7 +229,7 @@ public class Condense extends SubCommand {
|
||||
if (args.length == 2) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("commandconfig.command_syntax"),
|
||||
Template.of("value", "/plot condense " + area + " info <radius>")
|
||||
Template.template("value", "/plot condense " + area + " info <radius>")
|
||||
);
|
||||
return false;
|
||||
}
|
||||
@ -250,20 +250,20 @@ public class Condense extends SubCommand {
|
||||
player.sendMessage(TranslatableCaption.of("condense.default_eval"));
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("condense.minimum_radius"),
|
||||
Template.of("minimumRadius", String.valueOf(minimumRadius))
|
||||
Template.template("minimumRadius", String.valueOf(minimumRadius))
|
||||
);
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("condense.minimum_radius"),
|
||||
Template.of("maxMove", String.valueOf(maxMove))
|
||||
Template.template("maxMove", String.valueOf(maxMove))
|
||||
);
|
||||
player.sendMessage(TranslatableCaption.of("condense.input_eval"));
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("condense.input_radius"),
|
||||
Template.of("radius", String.valueOf(radius))
|
||||
Template.template("radius", String.valueOf(radius))
|
||||
);
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("condense.estimated_moves"),
|
||||
Template.of("userMove", String.valueOf(userMove))
|
||||
Template.template("userMove", String.valueOf(userMove))
|
||||
);
|
||||
player.sendMessage(TranslatableCaption.of("condense.eta"));
|
||||
player.sendMessage(TranslatableCaption.of("condense.radius_measured"));
|
||||
@ -272,7 +272,7 @@ public class Condense extends SubCommand {
|
||||
}
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("commandconfig.command_syntax"),
|
||||
Template.of("value", "/plot condense " + area.getWorldName() + " <start | stop | info> [radius]")
|
||||
Template.template("value", "/plot condense " + area.getWorldName() + " <start | stop | info> [radius]")
|
||||
);
|
||||
return false;
|
||||
}
|
||||
|
@ -64,7 +64,7 @@ public class Continue extends SubCommand {
|
||||
.hasPermission(player, Permission.PERMISSION_ADMIN_COMMAND_CONTINUE)) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("permission.no_permission"),
|
||||
Template.of("node", TranslatableCaption.of("permission.no_plot_perms").getComponent(player))
|
||||
Template.template("node", TranslatableCaption.of("permission.no_plot_perms").getComponent(player))
|
||||
);
|
||||
return false;
|
||||
}
|
||||
@ -77,7 +77,7 @@ public class Continue extends SubCommand {
|
||||
< player.getPlotCount() + size)) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("permission.cant_claim_more_plots"),
|
||||
Template.of("amount", String.valueOf(player.getAllowedPlots()))
|
||||
Template.template("amount", String.valueOf(player.getAllowedPlots()))
|
||||
);
|
||||
return false;
|
||||
}
|
||||
@ -91,7 +91,7 @@ public class Continue extends SubCommand {
|
||||
if (event.getEventResult() == Result.DENY) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("events.event_denied"),
|
||||
Template.of("value", "Done flag removal")
|
||||
Template.template("value", "Done flag removal")
|
||||
);
|
||||
return true;
|
||||
}
|
||||
|
@ -57,7 +57,7 @@ public class Copy extends SubCommand {
|
||||
if (args.length != 1) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("commandconfig.command_syntax"),
|
||||
Template.of("value", "/plot copy <X;Z>")
|
||||
Template.template("value", "/plot copy <X;Z>")
|
||||
);
|
||||
return false;
|
||||
}
|
||||
@ -76,8 +76,8 @@ public class Copy extends SubCommand {
|
||||
|
||||
plot1.getPlotModificationManager().copy(plot2, player).thenAccept(result -> {
|
||||
if (result) {
|
||||
player.sendMessage(TranslatableCaption.of("move.copy_success"), Template.of("origin", String.valueOf(plot1)),
|
||||
Template.of("target", String.valueOf(plot2))
|
||||
player.sendMessage(TranslatableCaption.of("move.copy_success"), Template.template("origin", String.valueOf(plot1)),
|
||||
Template.template("target", String.valueOf(plot2))
|
||||
);
|
||||
} else {
|
||||
player.sendMessage(TranslatableCaption.of("move.requires_unowned"));
|
||||
|
@ -68,7 +68,7 @@ public class CreateRoadSchematic extends SubCommand {
|
||||
this.hybridUtils.setupRoadSchematic(plot);
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("schematics.schematic_road_created"),
|
||||
Template.of("command", "/plot debugroadregen")
|
||||
Template.template("command", "/plot debugroadregen")
|
||||
);
|
||||
return true;
|
||||
}
|
||||
|
@ -108,7 +108,7 @@ public class DatabaseCommand extends SubCommand {
|
||||
if (args.length < 1) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("commandconfig.command_syntax"),
|
||||
Template.of("value", "/plot database [area] <sqlite | mysql | import>")
|
||||
Template.template("value", "/plot database [area] <sqlite | mysql | import>")
|
||||
);
|
||||
return false;
|
||||
}
|
||||
@ -123,7 +123,7 @@ public class DatabaseCommand extends SubCommand {
|
||||
if (args.length < 1) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("commandconfig.command_syntax"),
|
||||
Template.of("value", "/plot database [area] <sqlite|mysql|import>")
|
||||
Template.template("value", "/plot database [area] <sqlite|mysql|import>")
|
||||
);
|
||||
player.sendMessage(TranslatableCaption.of("database.arg"));
|
||||
return false;
|
||||
@ -136,7 +136,7 @@ public class DatabaseCommand extends SubCommand {
|
||||
if (args.length < 2) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("commandconfig.command_syntax"),
|
||||
Template.of("value", "/plot database import <sqlite file> [prefix]")
|
||||
Template.template("value", "/plot database import <sqlite file> [prefix]")
|
||||
);
|
||||
return false;
|
||||
}
|
||||
@ -147,7 +147,7 @@ public class DatabaseCommand extends SubCommand {
|
||||
if (!file.exists()) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("database.does_not_exist"),
|
||||
Template.of("value", String.valueOf(file))
|
||||
Template.template("value", String.valueOf(file))
|
||||
);
|
||||
return false;
|
||||
}
|
||||
@ -191,8 +191,8 @@ public class DatabaseCommand extends SubCommand {
|
||||
}
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("database.skipping_duplicated_plot"),
|
||||
Template.of("plot", String.valueOf(plot)),
|
||||
Template.of("id", String.valueOf(plot.temp))
|
||||
Template.template("plot", String.valueOf(plot)),
|
||||
Template.template("id", String.valueOf(plot.temp))
|
||||
);
|
||||
continue;
|
||||
}
|
||||
|
@ -42,6 +42,7 @@ import com.sk89q.worldedit.world.entity.EntityType;
|
||||
import net.kyori.adventure.text.Component;
|
||||
import net.kyori.adventure.text.TextComponent;
|
||||
import net.kyori.adventure.text.minimessage.Template;
|
||||
import net.kyori.adventure.text.minimessage.template.TemplateResolver;
|
||||
import org.checkerframework.checker.nullness.qual.NonNull;
|
||||
|
||||
import java.util.Collection;
|
||||
@ -75,7 +76,7 @@ public class Debug extends SubCommand {
|
||||
if (args.length == 0) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("commandconfig.command_syntax"),
|
||||
Template.of("value", "/plot debug <loadedchunks | player | debug-players | entitytypes | msg>")
|
||||
Template.template("value", "/plot debug <loadedchunks | player | debug-players | entitytypes | msg>")
|
||||
);
|
||||
}
|
||||
if (args.length > 0) {
|
||||
@ -102,7 +103,7 @@ public class Debug extends SubCommand {
|
||||
final Collection<UUIDMapping> mappings = PlotSquared.get().getImpromptuUUIDPipeline().getAllImmediately();
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("debug.cached_uuids"),
|
||||
Template.of("value", String.valueOf(mappings.size()))
|
||||
Template.template("value", String.valueOf(mappings.size()))
|
||||
);
|
||||
return true;
|
||||
}
|
||||
@ -111,7 +112,7 @@ public class Debug extends SubCommand {
|
||||
for (final PlotPlayer<?> pp : PlotPlayer.getDebugModePlayers()) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("debug.player_in_debugmode_list"),
|
||||
Template.of("value", pp.getName())
|
||||
Template.template("value", pp.getName())
|
||||
);
|
||||
}
|
||||
return true;
|
||||
@ -148,25 +149,29 @@ public class Debug extends SubCommand {
|
||||
String line = TranslatableCaption.of("debug.debug_line").getComponent(player) + "\n";
|
||||
String section = TranslatableCaption.of("debug.debug_section").getComponent(player) + "\n";
|
||||
information.append(header);
|
||||
information.append(MINI_MESSAGE.parse(section, Template.of("val", "PlotArea")));
|
||||
information.append(MINI_MESSAGE.deserialize(section, TemplateResolver.templates(Template.template("val", "PlotArea"))));
|
||||
information.append(MINI_MESSAGE
|
||||
.parse(
|
||||
.deserialize(
|
||||
line,
|
||||
Template.of("var", "Plot Worlds"),
|
||||
Template.of("val", StringMan.join(this.plotAreaManager.getAllPlotAreas(), ", "))
|
||||
));
|
||||
TemplateResolver.templates(
|
||||
Template.template("var", "Plot Worlds"),
|
||||
Template.template("val", StringMan.join(this.plotAreaManager.getAllPlotAreas(), ", "))
|
||||
)));
|
||||
information.append(
|
||||
MINI_MESSAGE.parse(
|
||||
MINI_MESSAGE.deserialize(
|
||||
line,
|
||||
Template.of("var", "Owned Plots"),
|
||||
Template.of("val", String.valueOf(PlotQuery.newQuery().allPlots().count()))
|
||||
));
|
||||
information.append(MINI_MESSAGE.parse(section, Template.of("val", "Messages")));
|
||||
information.append(MINI_MESSAGE.parse(
|
||||
TemplateResolver.templates(
|
||||
Template.template("var", "Owned Plots"),
|
||||
Template.template("val", String.valueOf(PlotQuery.newQuery().allPlots().count()))
|
||||
)));
|
||||
information.append(MINI_MESSAGE.deserialize(section,
|
||||
TemplateResolver.templates(Template.template("val", "Messages"))));
|
||||
information.append(MINI_MESSAGE.deserialize(
|
||||
line,
|
||||
Template.of("var", "Total Messages"),
|
||||
Template.of("val", String.valueOf(captions.size()))
|
||||
));
|
||||
TemplateResolver.templates(
|
||||
Template.template("var", "Total Messages"),
|
||||
Template.template("val", String.valueOf(captions.size()))
|
||||
)));
|
||||
player.sendMessage(StaticCaption.of(MINI_MESSAGE.serialize(information.build())));
|
||||
return true;
|
||||
}
|
||||
|
@ -102,7 +102,7 @@ public class DebugExec extends SubCommand {
|
||||
if (analysis != null) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("debugexec.changes_column"),
|
||||
Template.of("value", String.valueOf(analysis.changes))
|
||||
Template.template("value", String.valueOf(analysis.changes))
|
||||
);
|
||||
return true;
|
||||
}
|
||||
@ -112,7 +112,7 @@ public class DebugExec extends SubCommand {
|
||||
public void run(PlotAnalysis value) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("debugexec.analyze_done"),
|
||||
Template.of("command", "/plot debugexec analyze")
|
||||
Template.template("command", "/plot debugexec analyze")
|
||||
);
|
||||
}
|
||||
});
|
||||
@ -122,7 +122,7 @@ public class DebugExec extends SubCommand {
|
||||
if (args.length != 2) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("commandconfig.command_syntax"),
|
||||
Template.of("value", "/plot debugexec analyze <threshold>")
|
||||
Template.template("value", "/plot debugexec analyze <threshold>")
|
||||
);
|
||||
player.sendMessage(TranslatableCaption.of("debugexec.threshold_default"));
|
||||
return false;
|
||||
@ -133,7 +133,7 @@ public class DebugExec extends SubCommand {
|
||||
} catch (NumberFormatException ignored) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("debugexec.invalid_threshold"),
|
||||
Template.of("value", args[1])
|
||||
Template.template("value", args[1])
|
||||
);
|
||||
player.sendMessage(TranslatableCaption.of("debugexec.threshold_default_double"));
|
||||
return false;
|
||||
@ -167,7 +167,7 @@ public class DebugExec extends SubCommand {
|
||||
if (args.length != 2) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("commandconfig.command_syntax"),
|
||||
Template.of("value", "/plot debugexec remove-flag <flag>")
|
||||
Template.template("value", "/plot debugexec remove-flag <flag>")
|
||||
);
|
||||
return false;
|
||||
}
|
||||
@ -185,7 +185,7 @@ public class DebugExec extends SubCommand {
|
||||
}
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("debugexec.cleared_flag"),
|
||||
Template.of("value", flag)
|
||||
Template.template("value", flag)
|
||||
);
|
||||
return true;
|
||||
}
|
||||
@ -193,7 +193,7 @@ public class DebugExec extends SubCommand {
|
||||
if (args.length != 2) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("commandconfig.command_syntax"),
|
||||
Template.of("value", "Invalid syntax: /plot debugexec start-rgar <world>")
|
||||
Template.template("value", "Invalid syntax: /plot debugexec start-rgar <world>")
|
||||
);
|
||||
return false;
|
||||
}
|
||||
@ -201,7 +201,7 @@ public class DebugExec extends SubCommand {
|
||||
if (area == null) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("errors.not_valid_plot_world"),
|
||||
Template.of("value", args[1])
|
||||
Template.template("value", args[1])
|
||||
);
|
||||
return false;
|
||||
}
|
||||
|
@ -133,8 +133,8 @@ public class DebugPaste extends SubCommand {
|
||||
} catch (IOException ignored) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("debugpaste.latest_log"),
|
||||
Template.of("file", "latest.log"),
|
||||
Template.of("size", "14MB")
|
||||
Template.template("file", "latest.log"),
|
||||
Template.template("size", "14MB")
|
||||
);
|
||||
}
|
||||
|
||||
@ -143,7 +143,7 @@ public class DebugPaste extends SubCommand {
|
||||
} catch (final IllegalArgumentException ignored) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("debugpaste.empty_file"),
|
||||
Template.of("file", "settings.yml")
|
||||
Template.template("file", "settings.yml")
|
||||
);
|
||||
}
|
||||
try {
|
||||
@ -151,7 +151,7 @@ public class DebugPaste extends SubCommand {
|
||||
} catch (final IllegalArgumentException ignored) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("debugpaste.empty_file"),
|
||||
Template.of("file", "worlds.yml")
|
||||
Template.template("file", "worlds.yml")
|
||||
);
|
||||
}
|
||||
|
||||
@ -164,7 +164,7 @@ public class DebugPaste extends SubCommand {
|
||||
} catch (final IOException ignored) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("debugpaste.skip_multiverse"),
|
||||
Template.of("file", "worlds.yml")
|
||||
Template.template("file", "worlds.yml")
|
||||
);
|
||||
}
|
||||
|
||||
@ -179,20 +179,20 @@ public class DebugPaste extends SubCommand {
|
||||
String.format("https://athion.net/ISPaster/paste/view/%s", pasteId);
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("debugpaste.debug_report_created"),
|
||||
Template.of("url", link)
|
||||
Template.template("url", link)
|
||||
);
|
||||
} else {
|
||||
final String responseMessage = jsonObject.get("response").getAsString();
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("debugpaste.creation_failed"),
|
||||
Template.of("value", responseMessage)
|
||||
Template.template("value", responseMessage)
|
||||
);
|
||||
}
|
||||
} catch (final Throwable throwable) {
|
||||
throwable.printStackTrace();
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("debugpaste.creation_failed"),
|
||||
Template.of("value", throwable.getMessage())
|
||||
Template.template("value", throwable.getMessage())
|
||||
);
|
||||
}
|
||||
} catch (IOException e) {
|
||||
|
@ -67,7 +67,7 @@ public class DebugRoadRegen extends SubCommand {
|
||||
if (args.length < 1) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("commandconfig.command_syntax"),
|
||||
Template.of("value", DebugRoadRegen.USAGE)
|
||||
Template.template("value", DebugRoadRegen.USAGE)
|
||||
);
|
||||
return false;
|
||||
}
|
||||
@ -87,7 +87,7 @@ public class DebugRoadRegen extends SubCommand {
|
||||
default:
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("commandconfig.command_syntax"),
|
||||
Template.of("value", DebugRoadRegen.USAGE)
|
||||
Template.template("value", DebugRoadRegen.USAGE)
|
||||
);
|
||||
return false;
|
||||
}
|
||||
@ -110,11 +110,11 @@ public class DebugRoadRegen extends SubCommand {
|
||||
queue.setCompleteTask(() -> {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("debugroadregen.regen_done"),
|
||||
Template.of("value", plot.getId().toString())
|
||||
Template.template("value", plot.getId().toString())
|
||||
);
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("debugroadregen.regen_all"),
|
||||
Template.of("value", "/plot regenallroads")
|
||||
Template.template("value", "/plot regenallroads")
|
||||
);
|
||||
});
|
||||
manager.createRoadEast(plot, queue);
|
||||
@ -133,18 +133,18 @@ public class DebugRoadRegen extends SubCommand {
|
||||
} catch (NumberFormatException ignored) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("invalid.not_valid_number"),
|
||||
Template.of("value", "0, 256")
|
||||
Template.template("value", "0, 256")
|
||||
);
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("commandconfig.command_syntax"),
|
||||
Template.of("value", DebugRoadRegen.USAGE)
|
||||
Template.template("value", DebugRoadRegen.USAGE)
|
||||
);
|
||||
return false;
|
||||
}
|
||||
} else if (args.length != 0) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("commandconfig.command_syntax"),
|
||||
Template.of("value", DebugRoadRegen.USAGE)
|
||||
Template.template("value", DebugRoadRegen.USAGE)
|
||||
);
|
||||
return false;
|
||||
}
|
||||
@ -162,11 +162,11 @@ public class DebugRoadRegen extends SubCommand {
|
||||
}
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("debugroadregen.schematic"),
|
||||
Template.of("command", "/plot createroadschematic")
|
||||
Template.template("command", "/plot createroadschematic")
|
||||
);
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("debugroadregen.regenallroads"),
|
||||
Template.of("command", "/plot regenallroads")
|
||||
Template.template("command", "/plot regenallroads")
|
||||
);
|
||||
boolean result = this.hybridUtils.scheduleSingleRegionRoadUpdate(plot, height);
|
||||
if (!result) {
|
||||
|
@ -85,7 +85,7 @@ public class Delete extends SubCommand {
|
||||
if (eventResult == Result.DENY) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("events.event_denied"),
|
||||
Template.of("value", "Delete")
|
||||
Template.template("value", "Delete")
|
||||
);
|
||||
return true;
|
||||
}
|
||||
@ -121,15 +121,16 @@ public class Delete extends SubCommand {
|
||||
this.econHandler.depositMoney(player, value);
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("economy.added_balance"),
|
||||
Template.of("money", this.econHandler.format(value))
|
||||
Template.template("money", this.econHandler.format(value))
|
||||
);
|
||||
}
|
||||
}
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("working.deleting_done"),
|
||||
Template.of("amount", String.valueOf(System.currentTimeMillis() - start)),
|
||||
Template.of("plot", plot.getId().toString())
|
||||
Template.template("amount", String.valueOf(System.currentTimeMillis() - start)),
|
||||
Template.template("plot", plot.getId().toString())
|
||||
);
|
||||
eventDispatcher.callPostDelete(plot);
|
||||
});
|
||||
if (result) {
|
||||
plot.addRunning();
|
||||
|
@ -52,7 +52,7 @@ import java.util.concurrent.TimeoutException;
|
||||
|
||||
@CommandDeclaration(command = "deny",
|
||||
aliases = {"d", "ban"},
|
||||
usage = "/plot deny <player",
|
||||
usage = "/plot deny <player>",
|
||||
category = CommandCategory.SETTINGS,
|
||||
requiredType = RequiredType.PLAYER)
|
||||
public class Deny extends SubCommand {
|
||||
@ -94,10 +94,10 @@ public class Deny extends SubCommand {
|
||||
|
||||
int maxDenySize = Permissions.hasPermissionRange(player, Permission.PERMISSION_DENY, Settings.Limit.MAX_PLOTS);
|
||||
int size = plot.getDenied().size();
|
||||
if (size > (maxDenySize - 1)) {
|
||||
if (size >= maxDenySize) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("members.plot_max_members_denied"),
|
||||
Template.of("amount", String.valueOf(size))
|
||||
Template.template("amount", String.valueOf(size))
|
||||
);
|
||||
return false;
|
||||
}
|
||||
@ -108,7 +108,7 @@ public class Deny extends SubCommand {
|
||||
} else if (throwable != null || uuids.isEmpty()) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("errors.invalid_player"),
|
||||
Template.of("value", args[0])
|
||||
Template.template("value", args[0])
|
||||
);
|
||||
} else {
|
||||
for (UUID uuid : uuids) {
|
||||
@ -117,7 +117,7 @@ public class Deny extends SubCommand {
|
||||
.hasPermission(player, Permission.PERMISSION_ADMIN_COMMAND_DENY))) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("errors.invalid_player"),
|
||||
Template.of("value", args[0])
|
||||
Template.template("value", args[0])
|
||||
);
|
||||
} else if (plot.isOwner(uuid)) {
|
||||
player.sendMessage(TranslatableCaption.of("deny.cant_remove_owner"));
|
||||
@ -125,7 +125,7 @@ public class Deny extends SubCommand {
|
||||
} else if (plot.getDenied().contains(uuid)) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("member.already_added"),
|
||||
Template.of("player", PlayerManager.getName(uuid))
|
||||
Template.template("player", PlayerManager.getName(uuid))
|
||||
);
|
||||
return;
|
||||
} else {
|
||||
@ -157,7 +157,7 @@ public class Deny extends SubCommand {
|
||||
|
||||
@Override
|
||||
public Collection<Command> tab(final PlotPlayer<?> player, final String[] args, final boolean space) {
|
||||
return TabCompletions.completePlayers(String.join(",", args).trim(), Collections.emptyList());
|
||||
return TabCompletions.completePlayers(player, String.join(",", args).trim(), Collections.emptyList());
|
||||
}
|
||||
|
||||
private void handleKick(PlotPlayer<?> player, Plot plot) {
|
||||
|
@ -61,7 +61,7 @@ public class Desc extends SetCommand {
|
||||
if (event.getEventResult() == Result.DENY) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("events.event_denied"),
|
||||
Template.of("value", "Description removal")
|
||||
Template.template("value", "Description removal")
|
||||
);
|
||||
return false;
|
||||
}
|
||||
@ -76,7 +76,7 @@ public class Desc extends SetCommand {
|
||||
if (event.getEventResult() == Result.DENY) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("events.event_denied"),
|
||||
Template.of("value", "Description set")
|
||||
Template.template("value", "Description set")
|
||||
);
|
||||
return false;
|
||||
}
|
||||
|
@ -70,11 +70,11 @@ public class Dislike extends SubCommand {
|
||||
.map(completion -> new Command(null, true, completion, "", RequiredType.PLAYER, CommandCategory.INFO) {
|
||||
}).collect(Collectors.toCollection(LinkedList::new));
|
||||
if (Permissions.hasPermission(player, Permission.PERMISSION_RATE) && args[0].length() > 0) {
|
||||
commands.addAll(TabCompletions.completePlayers(args[0], Collections.emptyList()));
|
||||
commands.addAll(TabCompletions.completePlayers(player, args[0], Collections.emptyList()));
|
||||
}
|
||||
return commands;
|
||||
}
|
||||
return TabCompletions.completePlayers(String.join(",", args).trim(), Collections.emptyList());
|
||||
return TabCompletions.completePlayers(player, String.join(",", args).trim(), Collections.emptyList());
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -77,7 +77,7 @@ public class Done extends SubCommand {
|
||||
if (event.getEventResult() == Result.DENY) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("events.event_denied"),
|
||||
Template.of("value", "Done")
|
||||
Template.template("value", "Done")
|
||||
);
|
||||
return true;
|
||||
}
|
||||
@ -98,7 +98,7 @@ public class Done extends SubCommand {
|
||||
plot.addRunning();
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("web.generating_link"),
|
||||
Template.of("plot", plot.getId().toString())
|
||||
Template.template("plot", plot.getId().toString())
|
||||
);
|
||||
final Settings.Auto_Clear doneRequirements = Settings.AUTO_CLEAR.get("done");
|
||||
if (ExpireManager.IMP == null || doneRequirements == null) {
|
||||
|
@ -121,7 +121,7 @@ public class Download extends SubCommand {
|
||||
if (!Permissions.hasPermission(player, Permission.PERMISSION_DOWNLOAD_WORLD)) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("permission.no_permission"),
|
||||
Template.of("node", Permission.PERMISSION_DOWNLOAD_WORLD.toString())
|
||||
Template.template("node", Permission.PERMISSION_DOWNLOAD_WORLD.toString())
|
||||
);
|
||||
return false;
|
||||
}
|
||||
@ -135,18 +135,18 @@ public class Download extends SubCommand {
|
||||
if (url == null) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("web.generating_link_failed"),
|
||||
Template.of("plot", plot.getId().toString())
|
||||
Template.template("plot", plot.getId().toString())
|
||||
);
|
||||
return;
|
||||
}
|
||||
player.sendMessage(TranslatableCaption.of("web.generation_link_success_legacy_world"), Template.of("url", url.toString()));
|
||||
player.sendMessage(TranslatableCaption.of("web.generation_link_success_legacy_world"), Template.template("url", url.toString()));
|
||||
}
|
||||
});
|
||||
} else {
|
||||
sendUsage(player);
|
||||
return false;
|
||||
}
|
||||
player.sendMessage(TranslatableCaption.of("web.generating_link"), Template.of("plot", plot.getId().toString()));
|
||||
player.sendMessage(TranslatableCaption.of("web.generating_link"), Template.template("plot", plot.getId().toString()));
|
||||
return true;
|
||||
}
|
||||
|
||||
@ -173,11 +173,11 @@ public class Download extends SubCommand {
|
||||
) {
|
||||
}).collect(Collectors.toCollection(LinkedList::new));
|
||||
if (Permissions.hasPermission(player, Permission.PERMISSION_DOWNLOAD) && args[0].length() > 0) {
|
||||
commands.addAll(TabCompletions.completePlayers(args[0], Collections.emptyList()));
|
||||
commands.addAll(TabCompletions.completePlayers(player, args[0], Collections.emptyList()));
|
||||
}
|
||||
return commands;
|
||||
}
|
||||
return TabCompletions.completePlayers(String.join(",", args).trim(), Collections.emptyList());
|
||||
return TabCompletions.completePlayers(player, String.join(",", args).trim(), Collections.emptyList());
|
||||
}
|
||||
|
||||
private void upload(PlotPlayer<?> player, Plot plot) {
|
||||
@ -190,8 +190,8 @@ public class Download extends SubCommand {
|
||||
public void run(URL value) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("web.generation_link_success"),
|
||||
Template.of("download", value.toString()),
|
||||
Template.of("delete", "Not available")
|
||||
Template.template("download", value.toString()),
|
||||
Template.template("delete", "Not available")
|
||||
);
|
||||
player.sendMessage(StaticCaption.of(value.toString()));
|
||||
}
|
||||
@ -205,13 +205,13 @@ public class Download extends SubCommand {
|
||||
if (throwable != null || !result.isSuccess()) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("web.generating_link_failed"),
|
||||
Template.of("plot", plot.getId().toString())
|
||||
Template.template("plot", plot.getId().toString())
|
||||
);
|
||||
} else {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("web.generation_link_success"),
|
||||
Template.of("download", result.getDownloadUrl()),
|
||||
Template.of("delete", result.getDeletionUrl())
|
||||
Template.template("download", result.getDownloadUrl()),
|
||||
Template.template("delete", result.getDeletionUrl())
|
||||
);
|
||||
}
|
||||
});
|
||||
|
@ -54,6 +54,7 @@ import com.plotsquared.core.util.task.RunnableVal3;
|
||||
import net.kyori.adventure.text.Component;
|
||||
import net.kyori.adventure.text.TextComponent;
|
||||
import net.kyori.adventure.text.minimessage.Template;
|
||||
import net.kyori.adventure.text.minimessage.template.TemplateResolver;
|
||||
import org.checkerframework.checker.nullness.qual.NonNull;
|
||||
import org.checkerframework.checker.nullness.qual.Nullable;
|
||||
|
||||
@ -86,7 +87,7 @@ public final class FlagCommand extends Command {
|
||||
private static boolean sendMessage(PlotPlayer<?> player) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("commandconfig.command_syntax"),
|
||||
Template.of("value", "/plot flag <set | remove | add | list | info> <flag> <value>")
|
||||
Template.template("value", "/plot flag <set | remove | add | list | info> <flag> <value>")
|
||||
);
|
||||
return true;
|
||||
}
|
||||
@ -112,7 +113,7 @@ public final class FlagCommand extends Command {
|
||||
if (!result) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("permission.no_permission"),
|
||||
Template.of(
|
||||
Template.template(
|
||||
"node",
|
||||
perm
|
||||
)
|
||||
@ -131,16 +132,16 @@ public final class FlagCommand extends Command {
|
||||
);
|
||||
final boolean result = Permissions.hasPermission(player, permission);
|
||||
if (!result) {
|
||||
player.sendMessage(TranslatableCaption.of("permission.no_permission"), Template.of("node", permission));
|
||||
player.sendMessage(TranslatableCaption.of("permission.no_permission"), Template.template("node", permission));
|
||||
return false;
|
||||
}
|
||||
}
|
||||
} catch (final FlagParseException e) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("flag.flag_parse_error"),
|
||||
Template.of("flag_name", flag.getName()),
|
||||
Template.of("flag_value", e.getValue()),
|
||||
Template.of("error", e.getErrorMessage().getComponent(player))
|
||||
Template.template("flag_name", flag.getName()),
|
||||
Template.template("flag_value", e.getValue()),
|
||||
Template.template("error", e.getErrorMessage().getComponent(player))
|
||||
);
|
||||
return false;
|
||||
} catch (final Exception e) {
|
||||
@ -157,7 +158,7 @@ public final class FlagCommand extends Command {
|
||||
perm = basePerm;
|
||||
}
|
||||
if (!result) {
|
||||
player.sendMessage(TranslatableCaption.of("permission.no_permission"), Template.of("node", perm));
|
||||
player.sendMessage(TranslatableCaption.of("permission.no_permission"), Template.template("node", perm));
|
||||
}
|
||||
return result;
|
||||
}
|
||||
@ -182,7 +183,7 @@ public final class FlagCommand extends Command {
|
||||
.hasPermission(player, Permission.PERMISSION_SET_FLAG_OTHER)) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("permission.no_permission"),
|
||||
Template.of("node", String.valueOf(Permission.PERMISSION_SET_FLAG_OTHER))
|
||||
Template.template("node", String.valueOf(Permission.PERMISSION_SET_FLAG_OTHER))
|
||||
);
|
||||
return false;
|
||||
}
|
||||
@ -217,7 +218,7 @@ public final class FlagCommand extends Command {
|
||||
if (best != null) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("flag.not_valid_flag_suggested"),
|
||||
Template.of("value", best)
|
||||
Template.template("value", best)
|
||||
);
|
||||
suggested = true;
|
||||
}
|
||||
@ -326,7 +327,7 @@ public final class FlagCommand extends Command {
|
||||
if (args.length < 2) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("commandconfig.command_syntax"),
|
||||
Template.of("value", "/plot flag set <flag> <value>")
|
||||
Template.template("value", "/plot flag set <flag> <value>")
|
||||
);
|
||||
return;
|
||||
}
|
||||
@ -339,7 +340,7 @@ public final class FlagCommand extends Command {
|
||||
if (event.getEventResult() == Result.DENY) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("events.event_denied"),
|
||||
Template.of("value", "Flag set")
|
||||
Template.template("value", "Flag set")
|
||||
);
|
||||
return;
|
||||
}
|
||||
@ -355,15 +356,15 @@ public final class FlagCommand extends Command {
|
||||
} catch (final FlagParseException e) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("flag.flag_parse_error"),
|
||||
Template.of("flag_name", plotFlag.getName()),
|
||||
Template.of("flag_value", e.getValue()),
|
||||
Template.of("error", e.getErrorMessage().getComponent(player))
|
||||
Template.template("flag_name", plotFlag.getName()),
|
||||
Template.template("flag_value", e.getValue()),
|
||||
Template.template("error", e.getErrorMessage().getComponent(player))
|
||||
);
|
||||
return;
|
||||
}
|
||||
plot.setFlag(parsed);
|
||||
player.sendMessage(TranslatableCaption.of("flag.flag_added"), Template.of("flag", String.valueOf(args[0])),
|
||||
Template.of("value", String.valueOf(parsed))
|
||||
player.sendMessage(TranslatableCaption.of("flag.flag_added"), Template.template("flag", String.valueOf(args[0])),
|
||||
Template.template("value", String.valueOf(parsed))
|
||||
);
|
||||
}
|
||||
|
||||
@ -384,7 +385,7 @@ public final class FlagCommand extends Command {
|
||||
if (args.length < 2) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("commandconfig.command_syntax"),
|
||||
Template.of("value", "/plot flag add <flag> <values>")
|
||||
Template.template("value", "/plot flag add <flag> <values>")
|
||||
);
|
||||
return;
|
||||
}
|
||||
@ -397,7 +398,7 @@ public final class FlagCommand extends Command {
|
||||
if (event.getEventResult() == Result.DENY) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("events.event_denied"),
|
||||
Template.of("value", "Flag add")
|
||||
Template.template("value", "Flag add")
|
||||
);
|
||||
return;
|
||||
}
|
||||
@ -418,9 +419,9 @@ public final class FlagCommand extends Command {
|
||||
} catch (FlagParseException e) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("flag.flag_parse_error"),
|
||||
Template.of("flag_name", plotFlag.getName()),
|
||||
Template.of("flag_value", e.getValue()),
|
||||
Template.of("error", e.getErrorMessage().getComponent(player))
|
||||
Template.template("flag_name", plotFlag.getName()),
|
||||
Template.template("flag_value", e.getValue()),
|
||||
Template.template("error", e.getErrorMessage().getComponent(player))
|
||||
);
|
||||
return;
|
||||
}
|
||||
@ -430,8 +431,8 @@ public final class FlagCommand extends Command {
|
||||
player.sendMessage(TranslatableCaption.of("flag.flag_not_added"));
|
||||
return;
|
||||
}
|
||||
player.sendMessage(TranslatableCaption.of("flag.flag_added"), Template.of("flag", String.valueOf(args[0])),
|
||||
Template.of("value", String.valueOf(parsed))
|
||||
player.sendMessage(TranslatableCaption.of("flag.flag_added"), Template.template("flag", String.valueOf(args[0])),
|
||||
Template.template("value", String.valueOf(parsed))
|
||||
);
|
||||
}
|
||||
|
||||
@ -452,7 +453,7 @@ public final class FlagCommand extends Command {
|
||||
if (args.length != 1 && args.length != 2) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("commandconfig.command_syntax"),
|
||||
Template.of("value", "/plot flag remove <flag> [values]")
|
||||
Template.template("value", "/plot flag remove <flag> [values]")
|
||||
);
|
||||
return;
|
||||
}
|
||||
@ -465,7 +466,7 @@ public final class FlagCommand extends Command {
|
||||
if (event.getEventResult() == Result.DENY) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("events.event_denied"),
|
||||
Template.of("value", "Flag remove")
|
||||
Template.template("value", "Flag remove")
|
||||
);
|
||||
return;
|
||||
}
|
||||
@ -475,7 +476,7 @@ public final class FlagCommand extends Command {
|
||||
if (args.length != 2) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("permission.no_permission"),
|
||||
Template.of("node", Permission.PERMISSION_SET_FLAG_KEY.format(args[0].toLowerCase()))
|
||||
Template.template("node", Permission.PERMISSION_SET_FLAG_KEY.format(args[0].toLowerCase()))
|
||||
);
|
||||
return;
|
||||
}
|
||||
@ -490,9 +491,9 @@ public final class FlagCommand extends Command {
|
||||
} catch (final FlagParseException e) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("flag.flag_parse_error"),
|
||||
Template.of("flag_name", flag.getName()),
|
||||
Template.of("flag_value", e.getValue()),
|
||||
Template.of("error", String.valueOf(e.getErrorMessage()))
|
||||
Template.template("flag_name", flag.getName()),
|
||||
Template.template("flag_value", e.getValue()),
|
||||
Template.template("error", String.valueOf(e.getErrorMessage()))
|
||||
);
|
||||
return;
|
||||
}
|
||||
@ -503,7 +504,7 @@ public final class FlagCommand extends Command {
|
||||
if (list.removeAll((List) parsedFlag.getValue())) {
|
||||
if (list.isEmpty()) {
|
||||
if (plot.removeFlag(flag)) {
|
||||
player.sendMessage(TranslatableCaption.of("flag.flag_removed"), Template.of("flag", args[0]), Template.of(
|
||||
player.sendMessage(TranslatableCaption.of("flag.flag_removed"), Template.template("flag", args[0]), Template.template(
|
||||
"value",
|
||||
String.valueOf(flag)
|
||||
));
|
||||
@ -518,7 +519,7 @@ public final class FlagCommand extends Command {
|
||||
if (addEvent.getEventResult() == Result.DENY) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("events.event_denied"),
|
||||
Template.of("value", "Re-addition of " + plotFlag.getName())
|
||||
Template.template("value", "Re-addition of " + plotFlag.getName())
|
||||
);
|
||||
return;
|
||||
}
|
||||
@ -541,7 +542,7 @@ public final class FlagCommand extends Command {
|
||||
return;
|
||||
}
|
||||
}
|
||||
player.sendMessage(TranslatableCaption.of("flag.flag_removed"), Template.of("flag", args[0]), Template.of(
|
||||
player.sendMessage(TranslatableCaption.of("flag.flag_removed"), Template.template("flag", args[0]), Template.template(
|
||||
"value",
|
||||
String.valueOf(flag)
|
||||
));
|
||||
@ -576,20 +577,22 @@ public final class FlagCommand extends Command {
|
||||
for (final Map.Entry<String, ArrayList<String>> entry : flags.entrySet()) {
|
||||
Collections.sort(entry.getValue());
|
||||
Component category =
|
||||
MINI_MESSAGE.parse(
|
||||
MINI_MESSAGE.deserialize(
|
||||
TranslatableCaption.of("flag.flag_list_categories").getComponent(player),
|
||||
Template.of("category", entry.getKey())
|
||||
TemplateResolver.templates(Template.template("category", entry.getKey()))
|
||||
);
|
||||
TextComponent.Builder builder = Component.text().append(category);
|
||||
final Iterator<String> flagIterator = entry.getValue().iterator();
|
||||
while (flagIterator.hasNext()) {
|
||||
final String flag = flagIterator.next();
|
||||
builder.append(MINI_MESSAGE
|
||||
.parse(
|
||||
.deserialize(
|
||||
TranslatableCaption.of("flag.flag_list_flag").getComponent(player),
|
||||
Template.of("command", "/plot flag info " + flag),
|
||||
Template.of("flag", flag),
|
||||
Template.of("suffix", flagIterator.hasNext() ? ", " : "")
|
||||
TemplateResolver.templates(
|
||||
Template.template("command", "/plot flag info " + flag),
|
||||
Template.template("flag", flag),
|
||||
Template.template("suffix", flagIterator.hasNext() ? ", " : "")
|
||||
)
|
||||
));
|
||||
}
|
||||
player.sendMessage(StaticCaption.of(MINI_MESSAGE.serialize(builder.build())));
|
||||
@ -613,7 +616,7 @@ public final class FlagCommand extends Command {
|
||||
if (args.length < 1) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("commandconfig.command_syntax"),
|
||||
Template.of("value", "/plot flag info <flag>")
|
||||
Template.template("value", "/plot flag info <flag>")
|
||||
);
|
||||
return;
|
||||
}
|
||||
@ -621,11 +624,11 @@ public final class FlagCommand extends Command {
|
||||
if (plotFlag != null) {
|
||||
player.sendMessage(TranslatableCaption.of("flag.flag_info_header"));
|
||||
// Flag name
|
||||
player.sendMessage(TranslatableCaption.of("flag.flag_info_name"), Template.of("flag", plotFlag.getName()));
|
||||
player.sendMessage(TranslatableCaption.of("flag.flag_info_name"), Template.template("flag", plotFlag.getName()));
|
||||
// Flag category
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("flag.flag_info_category"),
|
||||
Templates.of(player, "value", plotFlag.getFlagCategory())
|
||||
Templates.template(player, "value", plotFlag.getFlagCategory())
|
||||
);
|
||||
// Flag description
|
||||
// TODO maybe merge and \n instead?
|
||||
@ -634,16 +637,16 @@ public final class FlagCommand extends Command {
|
||||
// Flag example
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("flag.flag_info_example"),
|
||||
Template.of("command", "/plot flag set"),
|
||||
Template.of("flag", plotFlag.getName()),
|
||||
Template.of("value", plotFlag.getExample())
|
||||
Template.template("command", "/plot flag set"),
|
||||
Template.template("flag", plotFlag.getName()),
|
||||
Template.template("value", plotFlag.getExample())
|
||||
);
|
||||
// Default value
|
||||
final String defaultValue = player.getLocation().getPlotArea().getFlagContainer()
|
||||
.getFlagErased(plotFlag.getClass()).toString();
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("flag.flag_info_default_value"),
|
||||
Template.of("value", defaultValue)
|
||||
Template.template("value", defaultValue)
|
||||
);
|
||||
// Footer. Done this way to prevent the duplicate-message-thingy from catching it
|
||||
player.sendMessage(TranslatableCaption.of("flag.flag_info_footer"));
|
||||
|
@ -71,7 +71,7 @@ public class Grant extends Command {
|
||||
checkTrue(
|
||||
args.length >= 1 && args.length <= 2,
|
||||
TranslatableCaption.of("commandconfig.command_syntax"),
|
||||
Template.of("value", "/plot grant <check | add> [player]")
|
||||
Template.template("value", "/plot grant <check | add> [player]")
|
||||
);
|
||||
final String arg0 = args[0].toLowerCase();
|
||||
switch (arg0) {
|
||||
@ -79,7 +79,7 @@ public class Grant extends Command {
|
||||
if (!Permissions.hasPermission(player, Permission.PERMISSION_GRANT.format(arg0))) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("permission.no_permission"),
|
||||
Template.of("node", Permission.PERMISSION_GRANT.format(arg0))
|
||||
Template.template("node", Permission.PERMISSION_GRANT.format(arg0))
|
||||
);
|
||||
return CompletableFuture.completedFuture(false);
|
||||
}
|
||||
@ -92,7 +92,7 @@ public class Grant extends Command {
|
||||
} else if (throwable != null || uuids.size() != 1) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("errors.invalid_player"),
|
||||
Template.of("value", String.valueOf(uuids))
|
||||
Template.template("value", String.valueOf(uuids))
|
||||
);
|
||||
} else {
|
||||
final UUIDMapping uuid = uuids.toArray(new UUIDMapping[0])[0];
|
||||
@ -103,7 +103,7 @@ public class Grant extends Command {
|
||||
if (args[0].equalsIgnoreCase("check")) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("grants.granted_plots"),
|
||||
Template.of("amount", String.valueOf(access.get().orElse(0)))
|
||||
Template.template("amount", String.valueOf(access.get().orElse(0)))
|
||||
);
|
||||
} else {
|
||||
access.set(access.get().orElse(0) + 1);
|
||||
@ -123,7 +123,7 @@ public class Grant extends Command {
|
||||
}
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("grants.granted_plots"),
|
||||
Template.of("amount", String.valueOf(granted))
|
||||
Template.template("amount", String.valueOf(granted))
|
||||
);
|
||||
} else { // add
|
||||
int amount;
|
||||
@ -138,7 +138,7 @@ public class Grant extends Command {
|
||||
DBFunc.addPersistentMeta(uuid.getUuid(), key, rawData, replace);
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("grants.added"),
|
||||
Template.of("grants", String.valueOf(amount))
|
||||
Template.template("grants", String.valueOf(amount))
|
||||
);
|
||||
}
|
||||
}
|
||||
@ -176,11 +176,11 @@ public class Grant extends Command {
|
||||
) {
|
||||
}).collect(Collectors.toCollection(LinkedList::new));
|
||||
if (Permissions.hasPermission(player, Permission.PERMISSION_GRANT_SINGLE) && args[0].length() > 0) {
|
||||
commands.addAll(TabCompletions.completePlayers(args[0], Collections.emptyList()));
|
||||
commands.addAll(TabCompletions.completePlayers(player, args[0], Collections.emptyList()));
|
||||
}
|
||||
return commands;
|
||||
}
|
||||
return TabCompletions.completePlayers(String.join(",", args).trim(), Collections.emptyList());
|
||||
return TabCompletions.completePlayers(player, String.join(",", args).trim(), Collections.emptyList());
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -36,6 +36,7 @@ import com.plotsquared.core.util.task.RunnableVal3;
|
||||
import net.kyori.adventure.text.Component;
|
||||
import net.kyori.adventure.text.TextComponent;
|
||||
import net.kyori.adventure.text.minimessage.Template;
|
||||
import net.kyori.adventure.text.minimessage.template.TemplateResolver;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.Locale;
|
||||
@ -120,19 +121,23 @@ public class Help extends Command {
|
||||
builder.append(MINI_MESSAGE.parse(TranslatableCaption.of("help.help_header").getComponent(player)));
|
||||
for (CommandCategory c : CommandCategory.values()) {
|
||||
builder.append(Component.newline()).append(MINI_MESSAGE
|
||||
.parse(
|
||||
.deserialize(
|
||||
TranslatableCaption.of("help.help_info_item").getComponent(player),
|
||||
Template.of("command", "/plot help"),
|
||||
Template.of("category", c.name().toLowerCase()),
|
||||
Template.of("category_desc", c.getComponent(player))
|
||||
TemplateResolver.templates(
|
||||
Template.template("command", "/plot help"),
|
||||
Template.template("category", c.name().toLowerCase()),
|
||||
Template.template("category_desc", c.getComponent(player))
|
||||
)
|
||||
));
|
||||
}
|
||||
builder.append(Component.newline()).append(MINI_MESSAGE
|
||||
.parse(
|
||||
.deserialize(
|
||||
TranslatableCaption.of("help.help_info_item").getComponent(player),
|
||||
Template.of("command", "/plot help"),
|
||||
Template.of("category", "all"),
|
||||
Template.of("category_desc", "Display all commands")
|
||||
TemplateResolver.templates(
|
||||
Template.template("command", "/plot help"),
|
||||
Template.template("category", "all"),
|
||||
Template.template("category_desc", "Display all commands")
|
||||
)
|
||||
));
|
||||
builder.append(Component.newline()).append(MINI_MESSAGE.parse(TranslatableCaption
|
||||
.of("help.help_footer")
|
||||
|
@ -79,8 +79,8 @@ public class HomeCommand extends Command {
|
||||
} else if (plots.size() < page || page < 1) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("invalid.number_not_in_range"),
|
||||
Template.of("min", "1"),
|
||||
Template.of("max", String.valueOf(plots.size()))
|
||||
Template.template("min", "1"),
|
||||
Template.template("max", String.valueOf(plots.size()))
|
||||
);
|
||||
return;
|
||||
}
|
||||
@ -115,7 +115,7 @@ public class HomeCommand extends Command {
|
||||
.hasPermission(player, Permission.PERMISSION_HOME)) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("permission.no_permission"),
|
||||
Template.of("node", Permission.PERMISSION_VISIT_OWNED.toString())
|
||||
Template.template("node", Permission.PERMISSION_VISIT_OWNED.toString())
|
||||
);
|
||||
return CompletableFuture.completedFuture(false);
|
||||
}
|
||||
@ -137,7 +137,7 @@ public class HomeCommand extends Command {
|
||||
} catch (NumberFormatException ignored) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("invalid.not_a_number"),
|
||||
Template.of("value", identifier)
|
||||
Template.template("value", identifier)
|
||||
);
|
||||
return CompletableFuture.completedFuture(false);
|
||||
}
|
||||
@ -178,7 +178,7 @@ public class HomeCommand extends Command {
|
||||
} catch (NumberFormatException ignored) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("invalid.not_a_number"),
|
||||
Template.of("value", identifier)
|
||||
Template.template("value", identifier)
|
||||
);
|
||||
return CompletableFuture.completedFuture(false);
|
||||
}
|
||||
|
@ -44,6 +44,7 @@ import com.plotsquared.core.util.task.RunnableVal;
|
||||
import net.kyori.adventure.text.Component;
|
||||
import net.kyori.adventure.text.TextComponent;
|
||||
import net.kyori.adventure.text.minimessage.Template;
|
||||
import net.kyori.adventure.text.minimessage.template.TemplateResolver;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.Collections;
|
||||
@ -79,9 +80,9 @@ public class Inbox extends SubCommand {
|
||||
max = comments.length;
|
||||
}
|
||||
TextComponent.Builder builder = Component.text();
|
||||
builder.append(MINI_MESSAGE.parse(TranslatableCaption.of("list.comment_list_header_paged").getComponent(player) + '\n',
|
||||
Template.of("amount", String.valueOf(comments.length)), Template.of("cur", String.valueOf(page + 1)),
|
||||
Template.of("max", String.valueOf(totalPages + 1)), Template.of("word", "all")
|
||||
builder.append(MINI_MESSAGE.deserialize(TranslatableCaption.of("list.comment_list_header_paged").getComponent(player) + '\n',
|
||||
TemplateResolver.templates(Template.template("amount", String.valueOf(comments.length)), Template.template("cur", String.valueOf(page + 1)),
|
||||
Template.template("max", String.valueOf(totalPages + 1)), Template.template("word", "all"))
|
||||
));
|
||||
|
||||
// This might work xD
|
||||
@ -90,30 +91,32 @@ public class Inbox extends SubCommand {
|
||||
Component commentColored;
|
||||
if (player.getName().equals(comment.senderName)) {
|
||||
commentColored = MINI_MESSAGE
|
||||
.parse(
|
||||
.deserialize(
|
||||
TranslatableCaption.of("list.comment_list_by_lister").getComponent(player),
|
||||
Template.of("comment", comment.comment)
|
||||
TemplateResolver.templates(Template.template("comment", comment.comment))
|
||||
);
|
||||
} else {
|
||||
commentColored = MINI_MESSAGE
|
||||
.parse(
|
||||
.deserialize(
|
||||
TranslatableCaption.of("list.comment_list_by_other").getComponent(player),
|
||||
Template.of("comment", comment.comment)
|
||||
TemplateResolver.templates(Template.template("comment", comment.comment))
|
||||
);
|
||||
}
|
||||
Template number = Template.of("number", String.valueOf(x));
|
||||
Template world = Template.of("world", comment.world);
|
||||
Template plot_id = Template.of("plot_id", comment.id.getX() + ";" + comment.id.getY());
|
||||
Template commenter = Template.of("commenter", comment.senderName);
|
||||
Template commentTemplate = Template.of("comment", commentColored);
|
||||
Template number = Template.template("number", String.valueOf(x));
|
||||
Template world = Template.template("world", comment.world);
|
||||
Template plot_id = Template.template("plot_id", comment.id.getX() + ";" + comment.id.getY());
|
||||
Template commenter = Template.template("commenter", comment.senderName);
|
||||
Template commentTemplate = Template.template("comment", commentColored);
|
||||
builder.append(MINI_MESSAGE
|
||||
.parse(
|
||||
.deserialize(
|
||||
TranslatableCaption.of("list.comment_list_comment").getComponent(player),
|
||||
number,
|
||||
world,
|
||||
plot_id,
|
||||
commenter,
|
||||
commentTemplate
|
||||
TemplateResolver.templates(
|
||||
number,
|
||||
world,
|
||||
plot_id,
|
||||
commenter,
|
||||
commentTemplate
|
||||
)
|
||||
));
|
||||
}
|
||||
player.sendMessage(StaticCaption.of(MINI_MESSAGE.serialize(builder.build())));
|
||||
@ -150,20 +153,20 @@ public class Inbox extends SubCommand {
|
||||
if (total != 0) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("comment.inbox_item"),
|
||||
Template.of("value", inbox + " (" + total + '/' + unread + ')')
|
||||
Template.template("value", inbox + " (" + total + '/' + unread + ')')
|
||||
);
|
||||
return;
|
||||
}
|
||||
}
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("comment.inbox_item"),
|
||||
Template.of("value", inbox.toString())
|
||||
Template.template("value", inbox.toString())
|
||||
);
|
||||
}
|
||||
})) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("comment.inbox_item"),
|
||||
Template.of("value", inbox.toString())
|
||||
Template.template("value", inbox.toString())
|
||||
);
|
||||
}
|
||||
}
|
||||
@ -174,7 +177,7 @@ public class Inbox extends SubCommand {
|
||||
if (inbox == null) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("comment.invalid_inbox"),
|
||||
Template.of("list", StringMan.join(CommentManager.inboxes.keySet(), ", "))
|
||||
Template.template("list", StringMan.join(CommentManager.inboxes.keySet(), ", "))
|
||||
);
|
||||
return false;
|
||||
}
|
||||
@ -197,7 +200,7 @@ public class Inbox extends SubCommand {
|
||||
if (args.length != 3) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("commandconfig.command_syntax"),
|
||||
Template.of("value", "/plot inbox " + inbox + " delete <index>")
|
||||
Template.template("value", "/plot inbox " + inbox + " delete <index>")
|
||||
);
|
||||
return true;
|
||||
}
|
||||
@ -214,7 +217,7 @@ public class Inbox extends SubCommand {
|
||||
} catch (NumberFormatException ignored) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("commandconfig.command_syntax"),
|
||||
Template.of("value", "/plot inbox " + inbox + " delete <index>")
|
||||
Template.template("value", "/plot inbox " + inbox + " delete <index>")
|
||||
);
|
||||
return false;
|
||||
}
|
||||
@ -235,7 +238,7 @@ public class Inbox extends SubCommand {
|
||||
if (success) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("comment.comment_removed_success"),
|
||||
Template.of("value", comment.comment)
|
||||
Template.template("value", comment.comment)
|
||||
);
|
||||
} else {
|
||||
player.sendMessage(
|
||||
@ -256,7 +259,7 @@ public class Inbox extends SubCommand {
|
||||
if (!comments.isEmpty()) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("comment.comment_removed_success"),
|
||||
Template.of("value", String.valueOf(comments))
|
||||
Template.template("value", String.valueOf(comments))
|
||||
);
|
||||
plot.getPlotCommentContainer().removeComments(comments);
|
||||
}
|
||||
@ -307,11 +310,11 @@ public class Inbox extends SubCommand {
|
||||
.map(completion -> new Command(null, true, completion, "", RequiredType.PLAYER, CommandCategory.CHAT) {
|
||||
}).collect(Collectors.toCollection(LinkedList::new));
|
||||
if (Permissions.hasPermission(player, Permission.PERMISSION_INBOX) && args[0].length() > 0) {
|
||||
commands.addAll(TabCompletions.completePlayers(args[0], Collections.emptyList()));
|
||||
commands.addAll(TabCompletions.completePlayers(player, args[0], Collections.emptyList()));
|
||||
}
|
||||
return commands;
|
||||
}
|
||||
return TabCompletions.completePlayers(String.join(",", args).trim(), Collections.emptyList());
|
||||
return TabCompletions.completePlayers(player, String.join(",", args).trim(), Collections.emptyList());
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -97,7 +97,7 @@ public class Info extends SubCommand {
|
||||
.hasPermission(Permission.PERMISSION_AREA_INFO_FORCE.toString())) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("permission.no_permission"),
|
||||
Template.of("node", Permission.PERMISSION_AREA_INFO_FORCE.toString())
|
||||
Template.template("node", Permission.PERMISSION_AREA_INFO_FORCE.toString())
|
||||
);
|
||||
return true;
|
||||
}
|
||||
@ -119,7 +119,7 @@ public class Info extends SubCommand {
|
||||
if (!hasOwner && !containsEveryone && !trustedEveryone) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("info.plot_info_unclaimed"),
|
||||
Template.of("plot", plot.getId().getX() + ";" + plot.getId().getY())
|
||||
Template.template("plot", plot.getId().getX() + ";" + plot.getId().getY())
|
||||
);
|
||||
return true;
|
||||
}
|
||||
@ -161,7 +161,7 @@ public class Info extends SubCommand {
|
||||
}).collect(Collectors.toCollection(LinkedList::new));
|
||||
|
||||
if (Permissions.hasPermission(player, Permission.PERMISSION_AREA_INFO_FORCE) && args[0].length() > 0) {
|
||||
commands.addAll(TabCompletions.completePlayers(args[0], Collections.emptyList()));
|
||||
commands.addAll(TabCompletions.completePlayers(player, args[0], Collections.emptyList()));
|
||||
}
|
||||
|
||||
return commands;
|
||||
|
@ -89,7 +89,7 @@ public class Kick extends SubCommand {
|
||||
} else if (throwable != null || uuids.isEmpty()) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("errors.invalid_player"),
|
||||
Template.of("value", args[0])
|
||||
Template.template("value", args[0])
|
||||
);
|
||||
} else {
|
||||
Set<PlotPlayer<?>> players = new HashSet<>();
|
||||
@ -113,7 +113,7 @@ public class Kick extends SubCommand {
|
||||
if (players.isEmpty()) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("errors.invalid_player"),
|
||||
Template.of("value", args[0])
|
||||
Template.template("value", args[0])
|
||||
);
|
||||
return;
|
||||
}
|
||||
@ -121,14 +121,14 @@ public class Kick extends SubCommand {
|
||||
if (!plot.equals(player2.getCurrentPlot())) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("errors.invalid_player"),
|
||||
Template.of("value", args[0])
|
||||
Template.template("value", args[0])
|
||||
);
|
||||
return;
|
||||
}
|
||||
if (Permissions.hasPermission(player2, Permission.PERMISSION_ADMIN_ENTRY_DENIED)) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("cluster.cannot_kick_player"),
|
||||
Template.of("name", player2.getName())
|
||||
Template.template("name", player2.getName())
|
||||
);
|
||||
return;
|
||||
}
|
||||
|
@ -74,7 +74,7 @@ public class Leave extends Command {
|
||||
}
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("member.plot_left"),
|
||||
Template.of("player", player.getName())
|
||||
Template.template("player", player.getName())
|
||||
);
|
||||
} else {
|
||||
player.sendMessage(
|
||||
|
@ -160,7 +160,7 @@ public class Like extends SubCommand {
|
||||
if (oldRating != null) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("ratings.rating_already_exists"),
|
||||
Template.of("plot", plot.getId().toString())
|
||||
Template.template("plot", plot.getId().toString())
|
||||
);
|
||||
return;
|
||||
}
|
||||
@ -178,12 +178,12 @@ public class Like extends SubCommand {
|
||||
if (like) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("ratings.rating_liked"),
|
||||
Template.of("plot", plot.getId().toString())
|
||||
Template.template("plot", plot.getId().toString())
|
||||
);
|
||||
} else {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("ratings.rating_disliked"),
|
||||
Template.of("plot", plot.getId().toString())
|
||||
Template.template("plot", plot.getId().toString())
|
||||
);
|
||||
}
|
||||
}
|
||||
@ -220,11 +220,11 @@ public class Like extends SubCommand {
|
||||
.map(completion -> new Command(null, true, completion, "", RequiredType.PLAYER, CommandCategory.INFO) {
|
||||
}).collect(Collectors.toCollection(LinkedList::new));
|
||||
if (Permissions.hasPermission(player, Permission.PERMISSION_RATE) && args[0].length() > 0) {
|
||||
commands.addAll(TabCompletions.completePlayers(args[0], Collections.emptyList()));
|
||||
commands.addAll(TabCompletions.completePlayers(player, args[0], Collections.emptyList()));
|
||||
}
|
||||
return commands;
|
||||
}
|
||||
return TabCompletions.completePlayers(String.join(",", args).trim(), Collections.emptyList());
|
||||
return TabCompletions.completePlayers(player, String.join(",", args).trim(), Collections.emptyList());
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -54,6 +54,7 @@ import com.plotsquared.core.uuid.UUIDMapping;
|
||||
import net.kyori.adventure.text.Component;
|
||||
import net.kyori.adventure.text.TextComponent;
|
||||
import net.kyori.adventure.text.minimessage.Template;
|
||||
import net.kyori.adventure.text.minimessage.template.TemplateResolver;
|
||||
import org.checkerframework.checker.nullness.qual.NonNull;
|
||||
|
||||
import java.util.ArrayList;
|
||||
@ -166,7 +167,7 @@ public class ListCmd extends SubCommand {
|
||||
if (query == null) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("commandconfig.did_you_mean"),
|
||||
Template.of(
|
||||
Template.template(
|
||||
"value",
|
||||
new StringComparison<>(args[0], new String[]{"mine", "shared", "world", "all"}).getBestMatch()
|
||||
)
|
||||
@ -426,18 +427,18 @@ public class ListCmd extends SubCommand {
|
||||
} else {
|
||||
color = TranslatableCaption.of("info.plot_list_default");
|
||||
}
|
||||
Component trusted = MINI_MESSAGE.parse(
|
||||
Component trusted = MINI_MESSAGE.deserialize(
|
||||
TranslatableCaption.of("info.plot_info_trusted").getComponent(player),
|
||||
Template.of("trusted", PlayerManager.getPlayerList(plot.getTrusted(), player))
|
||||
TemplateResolver.templates(Template.template("trusted", PlayerManager.getPlayerList(plot.getTrusted(), player)))
|
||||
);
|
||||
Component members = MINI_MESSAGE.parse(
|
||||
Component members = MINI_MESSAGE.deserialize(
|
||||
TranslatableCaption.of("info.plot_info_members").getComponent(player),
|
||||
Template.of("members", PlayerManager.getPlayerList(plot.getMembers(), player))
|
||||
TemplateResolver.templates(Template.template("members", PlayerManager.getPlayerList(plot.getMembers(), player)))
|
||||
);
|
||||
Template command_tp = Template.of("command_tp", "/plot visit " + plot.getArea() + ";" + plot.getId());
|
||||
Template command_info = Template.of("command_info", "/plot info " + plot.getArea() + ";" + plot.getId());
|
||||
Template command_tp = Template.template("command_tp", "/plot visit " + plot.getArea() + ";" + plot.getId());
|
||||
Template command_info = Template.template("command_info", "/plot info " + plot.getArea() + ";" + plot.getId());
|
||||
Template hover_info =
|
||||
Template.of(
|
||||
Template.template(
|
||||
"hover_info",
|
||||
MINI_MESSAGE.serialize(Component
|
||||
.text()
|
||||
@ -446,10 +447,10 @@ public class ListCmd extends SubCommand {
|
||||
.append(members)
|
||||
.asComponent())
|
||||
);
|
||||
Template numberTemplate = Template.of("number", String.valueOf(i));
|
||||
Template plotTemplate = Template.of(
|
||||
Template numberTemplate = Template.template("number", String.valueOf(i));
|
||||
Template plotTemplate = Template.template(
|
||||
"plot",
|
||||
MINI_MESSAGE.parse(color.getComponent(player), Template.of("plot", plot.toString()))
|
||||
MINI_MESSAGE.deserialize(color.getComponent(player), TemplateResolver.templates(Template.template("plot", plot.toString())))
|
||||
);
|
||||
|
||||
String prefix = "";
|
||||
@ -461,12 +462,12 @@ public class ListCmd extends SubCommand {
|
||||
.get(Settings.UUID.BLOCKING_TIMEOUT, TimeUnit.MILLISECONDS);
|
||||
for (final UUIDMapping uuidMapping : names) {
|
||||
PlotPlayer<?> pp = PlotSquared.platform().playerManager().getPlayerIfExists(uuidMapping.getUuid());
|
||||
Template prefixTemplate = Template.of("prefix", prefix);
|
||||
Template playerTemplate = Template.of("player", uuidMapping.getUsername());
|
||||
Template prefixTemplate = Template.template("prefix", prefix);
|
||||
Template playerTemplate = Template.template("player", uuidMapping.getUsername());
|
||||
if (pp != null) {
|
||||
builder.append(MINI_MESSAGE.parse(online, prefixTemplate, playerTemplate));
|
||||
builder.append(MINI_MESSAGE.deserialize(online, TemplateResolver.templates(prefixTemplate, playerTemplate)));
|
||||
} else {
|
||||
builder.append(MINI_MESSAGE.parse(offline, prefixTemplate, playerTemplate));
|
||||
builder.append(MINI_MESSAGE.deserialize(offline, TemplateResolver.templates(prefixTemplate, playerTemplate)));
|
||||
}
|
||||
prefix = ", ";
|
||||
}
|
||||
@ -487,7 +488,7 @@ public class ListCmd extends SubCommand {
|
||||
} catch (TimeoutException e) {
|
||||
player.sendMessage(TranslatableCaption.of("players.fetching_players_timeout"));
|
||||
}
|
||||
Template players = Template.of("players", builder.asComponent());
|
||||
Template players = Template.template("players", builder.asComponent());
|
||||
caption.set(TranslatableCaption.of("info.plot_list_item"));
|
||||
caption.setTemplates(command_tp, command_info, hover_info, numberTemplate, plotTemplate, players);
|
||||
}
|
||||
@ -532,7 +533,7 @@ public class ListCmd extends SubCommand {
|
||||
}).collect(Collectors.toCollection(LinkedList::new));
|
||||
|
||||
if (Permissions.hasPermission(player, Permission.PERMISSION_LIST_PLAYER) && args[0].length() > 0) {
|
||||
commands.addAll(TabCompletions.completePlayers(args[0], Collections.emptyList()));
|
||||
commands.addAll(TabCompletions.completePlayers(player, args[0], Collections.emptyList()));
|
||||
}
|
||||
|
||||
return commands;
|
||||
|
@ -105,7 +105,7 @@ public class Load extends SubCommand {
|
||||
// No schematics found:
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("web.load_null"),
|
||||
Template.of("command", "/plot load")
|
||||
Template.template("command", "/plot load")
|
||||
);
|
||||
return false;
|
||||
}
|
||||
@ -116,7 +116,7 @@ public class Load extends SubCommand {
|
||||
// use /plot load <index>
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("invalid.not_valid_number"),
|
||||
Template.of("value", "(1, " + schematics.size() + ')')
|
||||
Template.template("value", "(1, " + schematics.size() + ')')
|
||||
);
|
||||
return false;
|
||||
}
|
||||
@ -136,7 +136,7 @@ public class Load extends SubCommand {
|
||||
plot.removeRunning();
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("schematics.schematic_invalid"),
|
||||
Template.of("reason", "non-existent or not in gzip format")
|
||||
Template.template("reason", "non-existent or not in gzip format")
|
||||
);
|
||||
return;
|
||||
}
|
||||
@ -149,7 +149,7 @@ public class Load extends SubCommand {
|
||||
0,
|
||||
false,
|
||||
player,
|
||||
new RunnableVal<Boolean>() {
|
||||
new RunnableVal<>() {
|
||||
@Override
|
||||
public void run(Boolean value) {
|
||||
plot.removeRunning();
|
||||
@ -167,7 +167,7 @@ public class Load extends SubCommand {
|
||||
plot.removeRunning();
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("commandconfig.command_syntax"),
|
||||
Template.of("value", "/plot load <index>")
|
||||
Template.template("value", "/plot load <index>")
|
||||
);
|
||||
return false;
|
||||
}
|
||||
@ -218,7 +218,7 @@ public class Load extends SubCommand {
|
||||
}
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("web.load_list"),
|
||||
Template.of("command", "/plot load #")
|
||||
Template.template("command", "/plot load #")
|
||||
);
|
||||
}
|
||||
}
|
||||
|
@ -274,7 +274,7 @@ public class MainCommand extends Command {
|
||||
}
|
||||
tp = true;
|
||||
} else {
|
||||
player.sendMessage(TranslatableCaption.of("border.border"));
|
||||
player.sendMessage(TranslatableCaption.of("border.denied"));
|
||||
}
|
||||
// Trim command
|
||||
args = Arrays.copyOfRange(args, 1, args.length);
|
||||
@ -318,7 +318,7 @@ public class MainCommand extends Command {
|
||||
if (message != null) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("errors.error"),
|
||||
net.kyori.adventure.text.minimessage.Template.of("value", message)
|
||||
net.kyori.adventure.text.minimessage.Template.template("value", message)
|
||||
);
|
||||
} else {
|
||||
player.sendMessage(
|
||||
|
@ -43,6 +43,7 @@ import com.plotsquared.core.util.Permissions;
|
||||
import com.plotsquared.core.util.PlotExpression;
|
||||
import com.plotsquared.core.util.StringMan;
|
||||
import net.kyori.adventure.text.minimessage.Template;
|
||||
import net.kyori.adventure.text.minimessage.template.TemplateResolver;
|
||||
import org.checkerframework.checker.nullness.qual.NonNull;
|
||||
|
||||
import java.util.UUID;
|
||||
@ -122,11 +123,11 @@ public class Merge extends SubCommand {
|
||||
if (direction == null) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("commandconfig.command_syntax"),
|
||||
Template.of("value", "/plot merge <" + StringMan.join(values, " | ") + "> [removeroads]")
|
||||
Template.template("value", "/plot merge <" + StringMan.join(values, " | ") + "> [removeroads]")
|
||||
);
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("help.direction"),
|
||||
Template.of("dir", direction(location.getYaw()))
|
||||
Template.template("dir", direction(location.getYaw()))
|
||||
);
|
||||
return false;
|
||||
}
|
||||
@ -137,7 +138,7 @@ public class Merge extends SubCommand {
|
||||
if (event.getEventResult() == Result.DENY) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("events.event_denied"),
|
||||
Template.of("value", "Merge")
|
||||
Template.template("value", "Merge")
|
||||
);
|
||||
return false;
|
||||
}
|
||||
@ -148,7 +149,7 @@ public class Merge extends SubCommand {
|
||||
if (!force && size - 1 > maxSize) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("permission.no_permission"),
|
||||
Template.of("node", Permission.PERMISSION_MERGE + "." + (size + 1))
|
||||
Template.template("node", Permission.PERMISSION_MERGE + "." + (size + 1))
|
||||
);
|
||||
return false;
|
||||
}
|
||||
@ -175,7 +176,7 @@ public class Merge extends SubCommand {
|
||||
.hasPermission(player, Permission.PERMISSION_MERGE_KEEP_ROAD)) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("permission.no_permission"),
|
||||
Template.of("node", String.valueOf(Permission.PERMISSION_MERGE_KEEP_ROAD))
|
||||
Template.template("node", String.valueOf(Permission.PERMISSION_MERGE_KEEP_ROAD))
|
||||
);
|
||||
return true;
|
||||
}
|
||||
@ -184,11 +185,12 @@ public class Merge extends SubCommand {
|
||||
this.econHandler.withdrawMoney(player, price);
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("economy.removed_balance"),
|
||||
Template.of("money", this.econHandler.format(price)),
|
||||
Template.of("balance", this.econHandler.format(this.econHandler.getMoney(player)))
|
||||
Template.template("money", this.econHandler.format(price)),
|
||||
Template.template("balance", this.econHandler.format(this.econHandler.getMoney(player)))
|
||||
);
|
||||
}
|
||||
player.sendMessage(TranslatableCaption.of("merge.success_merge"));
|
||||
eventDispatcher.callPostMerge(player, plot);
|
||||
return true;
|
||||
}
|
||||
player.sendMessage(TranslatableCaption.of("merge.no_available_automerge"));
|
||||
@ -198,7 +200,7 @@ public class Merge extends SubCommand {
|
||||
&& this.econHandler.getMoney(player) < price) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("economy.cannot_afford_merge"),
|
||||
Template.of("money", this.econHandler.format(price))
|
||||
Template.template("money", this.econHandler.format(price))
|
||||
);
|
||||
return false;
|
||||
}
|
||||
@ -212,7 +214,7 @@ public class Merge extends SubCommand {
|
||||
.hasPermission(player, Permission.PERMISSION_MERGE_KEEP_ROAD)) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("permission.no_permission"),
|
||||
Template.of("node", String.valueOf(Permission.PERMISSION_MERGE_KEEP_ROAD))
|
||||
Template.template("node", String.valueOf(Permission.PERMISSION_MERGE_KEEP_ROAD))
|
||||
);
|
||||
return true;
|
||||
}
|
||||
@ -221,10 +223,11 @@ public class Merge extends SubCommand {
|
||||
this.econHandler.withdrawMoney(player, price);
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("economy.removed_balance"),
|
||||
Template.of("money", this.econHandler.format(price))
|
||||
Template.template("money", this.econHandler.format(price))
|
||||
);
|
||||
}
|
||||
player.sendMessage(TranslatableCaption.of("merge.success_merge"));
|
||||
eventDispatcher.callPostMerge(player, plot);
|
||||
return true;
|
||||
}
|
||||
Plot adjacent = plot.getRelative(direction);
|
||||
@ -236,7 +239,7 @@ public class Merge extends SubCommand {
|
||||
if (!force && !Permissions.hasPermission(player, Permission.PERMISSION_MERGE_OTHER)) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("permission.no_permission"),
|
||||
Template.of("node", String.valueOf(Permission.PERMISSION_MERGE_OTHER))
|
||||
Template.template("node", String.valueOf(Permission.PERMISSION_MERGE_OTHER))
|
||||
);
|
||||
return false;
|
||||
}
|
||||
@ -261,24 +264,27 @@ public class Merge extends SubCommand {
|
||||
if (!force && this.econHandler.getMoney(player) < price) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("economy.cannot_afford_merge"),
|
||||
Template.of("money", this.econHandler.format(price))
|
||||
Template.template("money", this.econHandler.format(price))
|
||||
);
|
||||
return;
|
||||
}
|
||||
this.econHandler.withdrawMoney(player, price);
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("economy.removed_balance"),
|
||||
Template.of("money", this.econHandler.format(price))
|
||||
Template.template("money", this.econHandler.format(price))
|
||||
);
|
||||
}
|
||||
player.sendMessage(TranslatableCaption.of("merge.success_merge"));
|
||||
eventDispatcher.callPostMerge(player, plot);
|
||||
};
|
||||
if (!force && hasConfirmation(player)) {
|
||||
CmdConfirm.addPending(accepter, MINI_MESSAGE.serialize(MINI_MESSAGE
|
||||
.parse(
|
||||
.deserialize(
|
||||
TranslatableCaption.of("merge.merge_request_confirm").getComponent(player),
|
||||
Template.of("player", player.getName()),
|
||||
Template.of("location", plot.getWorldName() + ";" + plot.getId())
|
||||
TemplateResolver.templates(
|
||||
Template.template("player", player.getName()),
|
||||
Template.template("location", plot.getWorldName() + ";" + plot.getId())
|
||||
)
|
||||
)),
|
||||
run
|
||||
);
|
||||
|
@ -110,8 +110,8 @@ public class Move extends SubCommand {
|
||||
if (result) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("move.move_success"),
|
||||
Template.of("origin", plot1.toString()),
|
||||
Template.of("target", plot2.toString())
|
||||
Template.template("origin", plot1.toString()),
|
||||
Template.template("target", plot2.toString())
|
||||
);
|
||||
return true;
|
||||
} else {
|
||||
|
@ -80,7 +80,7 @@ public class Music extends SubCommand {
|
||||
.hasPermission(player, Permission.PERMISSION_ADMIN_MUSIC_OTHER)) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("permission.no_permission"),
|
||||
Template.of("node", String.valueOf(Permission.PERMISSION_ADMIN_MUSIC_OTHER))
|
||||
Template.template("node", String.valueOf(Permission.PERMISSION_ADMIN_MUSIC_OTHER))
|
||||
);
|
||||
return true;
|
||||
}
|
||||
@ -103,15 +103,15 @@ public class Music extends SubCommand {
|
||||
if (event.getEventResult() == Result.DENY) {
|
||||
getPlayer().sendMessage(
|
||||
TranslatableCaption.of("events.event_denied"),
|
||||
Template.of("value", "Music removal")
|
||||
Template.template("value", "Music removal")
|
||||
);
|
||||
return true;
|
||||
}
|
||||
plot.removeFlag(event.getFlag());
|
||||
getPlayer().sendMessage(
|
||||
TranslatableCaption.of("flag.flag_removed"),
|
||||
Template.of("flag", "music"),
|
||||
Template.of("value", "music_disc")
|
||||
Template.template("flag", "music"),
|
||||
Template.template("value", "music_disc")
|
||||
);
|
||||
} else if (item.getName().toLowerCase(Locale.ENGLISH).contains("disc")) {
|
||||
PlotFlag<?, ?> plotFlag = plot.getFlagContainer().getFlag(MusicFlag.class)
|
||||
@ -120,13 +120,13 @@ public class Music extends SubCommand {
|
||||
if (event.getEventResult() == Result.DENY) {
|
||||
getPlayer().sendMessage(
|
||||
TranslatableCaption.of("events.event_denied"),
|
||||
Template.of("value", "Music addition")
|
||||
Template.template("value", "Music addition")
|
||||
);
|
||||
return true;
|
||||
}
|
||||
plot.setFlag(event.getFlag());
|
||||
getPlayer().sendMessage(TranslatableCaption.of("flag.flag_added"), Template.of("flag", "music"),
|
||||
Template.of("value", String.valueOf(event.getFlag().getValue()))
|
||||
getPlayer().sendMessage(TranslatableCaption.of("flag.flag_added"), Template.template("flag", "music"),
|
||||
Template.template("value", String.valueOf(event.getFlag().getValue()))
|
||||
);
|
||||
} else {
|
||||
getPlayer().sendMessage(TranslatableCaption.of("flag.flag_not_added"));
|
||||
|
@ -55,7 +55,7 @@ public class Near extends Command {
|
||||
final Plot plot = check(player.getCurrentPlot(), TranslatableCaption.of("errors.not_in_plot"));
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("near.plot_near"),
|
||||
Template.of("list", StringMan.join(plot.getPlayersInPlot(), ", "))
|
||||
Template.template("list", StringMan.join(plot.getPlayersInPlot(), ", "))
|
||||
);
|
||||
return CompletableFuture.completedFuture(true);
|
||||
}
|
||||
|
@ -44,6 +44,7 @@ import com.plotsquared.core.util.TabCompletions;
|
||||
import com.plotsquared.core.util.task.TaskManager;
|
||||
import net.kyori.adventure.text.minimessage.Template;
|
||||
import org.checkerframework.checker.nullness.qual.NonNull;
|
||||
import org.checkerframework.checker.nullness.qual.Nullable;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.Collections;
|
||||
@ -72,10 +73,11 @@ public class Owner extends SetCommand {
|
||||
if (value == null || value.isEmpty()) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("commandconfig.command_syntax"),
|
||||
Template.of("value", "/plot setowner <owner>")
|
||||
Template.template("value", "/plot setowner <owner>")
|
||||
);
|
||||
return false;
|
||||
}
|
||||
@Nullable final UUID oldOwner = plot.getOwnerAbs();
|
||||
Set<Plot> plots = plot.getConnectedPlots();
|
||||
|
||||
final Consumer<UUID> uuidConsumer = uuid -> {
|
||||
@ -83,7 +85,7 @@ public class Owner extends SetCommand {
|
||||
&& !value.equalsIgnoreCase("-")) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("errors.invalid_player"),
|
||||
Template.of("value", value)
|
||||
Template.template("value", value)
|
||||
);
|
||||
return;
|
||||
}
|
||||
@ -97,7 +99,7 @@ public class Owner extends SetCommand {
|
||||
if (event.getEventResult() == Result.DENY) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("events.event_denied"),
|
||||
Template.of("value", "Owner change")
|
||||
Template.template("value", "Owner change")
|
||||
);
|
||||
return;
|
||||
}
|
||||
@ -120,16 +122,19 @@ public class Owner extends SetCommand {
|
||||
if (unlinkEvent.getEventResult() == Result.DENY) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("events.event_denied"),
|
||||
Template.of("value", "Unlink on owner change")
|
||||
Template.template("value", "Unlink on owner change")
|
||||
);
|
||||
return;
|
||||
}
|
||||
plot.getPlotModificationManager().unlinkPlot(unlinkEvent.isCreateRoad(), unlinkEvent.isCreateRoad());
|
||||
if (plot.getPlotModificationManager().unlinkPlot(unlinkEvent.isCreateRoad(), unlinkEvent.isCreateRoad())) {
|
||||
eventDispatcher.callPostUnlink(plot, PlotUnlinkEvent.REASON.NEW_OWNER);
|
||||
}
|
||||
Set<Plot> connected = plot.getConnectedPlots();
|
||||
for (Plot current : connected) {
|
||||
current.unclaim();
|
||||
current.getPlotModificationManager().removeSign();
|
||||
}
|
||||
eventDispatcher.callPostOwnerChange(player, plot, oldOwner);
|
||||
player.sendMessage(TranslatableCaption.of("owner.set_owner"));
|
||||
return;
|
||||
}
|
||||
@ -137,7 +142,7 @@ public class Owner extends SetCommand {
|
||||
if (plot.isOwner(uuid)) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("member.already_owner"),
|
||||
Template.of("player", PlayerManager.getName(uuid, false))
|
||||
Template.template("player", PlayerManager.getName(uuid, false))
|
||||
);
|
||||
return;
|
||||
}
|
||||
@ -146,7 +151,7 @@ public class Owner extends SetCommand {
|
||||
if (other == null) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("errors.invalid_player_offline"),
|
||||
Template.of("player", PlayerManager.getName(uuid))
|
||||
Template.template("player", PlayerManager.getName(uuid))
|
||||
);
|
||||
return;
|
||||
}
|
||||
@ -178,10 +183,11 @@ public class Owner extends SetCommand {
|
||||
}
|
||||
plot.getPlotModificationManager().setSign(finalName);
|
||||
player.sendMessage(TranslatableCaption.of("owner.set_owner"));
|
||||
eventDispatcher.callPostOwnerChange(player, plot, oldOwner);
|
||||
if (other != null) {
|
||||
other.sendMessage(
|
||||
TranslatableCaption.of("owner.now_owner"),
|
||||
Template.of("plot", plot.getArea() + ";" + plot.getId())
|
||||
Template.template("plot", plot.getArea() + ";" + plot.getId())
|
||||
);
|
||||
}
|
||||
} else {
|
||||
@ -209,7 +215,7 @@ public class Owner extends SetCommand {
|
||||
|
||||
@Override
|
||||
public Collection<Command> tab(final PlotPlayer<?> player, final String[] args, final boolean space) {
|
||||
return TabCompletions.completePlayers(String.join(",", args).trim(), Collections.emptyList());
|
||||
return TabCompletions.completePlayers(player, String.join(",", args).trim(), Collections.emptyList());
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -46,7 +46,7 @@ public class PluginCmd extends SubCommand {
|
||||
StaticCaption.of("<gray>>> </gray><gold><bold>" + PlotSquared
|
||||
.platform()
|
||||
.pluginName() + " <reset><gray>(<gold>Version</gold><gray>: </gray><gold><version></gold><gray>)</gray>"),
|
||||
Template.of("version", String.valueOf(PlotSquared.get().getVersion()))
|
||||
Template.template("version", String.valueOf(PlotSquared.get().getVersion()))
|
||||
);
|
||||
player.sendMessage(StaticCaption.of(
|
||||
"<gray>>> </gray><gold><bold>Authors<reset><gray>: </gray><gold>Citymonstret </gold><gray>& </gray><gold>Empire92 </gold><gray>& </gray><gold>MattBDev </gold><gray>& </gray><gold>dordsor21 </gold><gray>& </gray><gold>NotMyFault </gold><gray>& </gray><gold>SirYwell</gold>"));
|
||||
@ -56,7 +56,7 @@ public class PluginCmd extends SubCommand {
|
||||
"<gray>>> </gray><gold><bold>Discord<reset><gray>: </gray><gold><click:open_url:https://discord.gg/intellectualsites>https://discord.gg/intellectualsites</gold>"));
|
||||
player.sendMessage(
|
||||
StaticCaption.of("<gray>>> </gray><gold><bold>Premium<reset><gray>: <gold><value></gold>"),
|
||||
Template.of("value", String.valueOf(PremiumVerification.isPremium()))
|
||||
Template.template("value", String.valueOf(PremiumVerification.isPremium()))
|
||||
);
|
||||
});
|
||||
return true;
|
||||
|
@ -103,7 +103,7 @@ public class Purge extends SubCommand {
|
||||
if (area == null) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("errors.not_valid_plot_world"),
|
||||
Template.of("value", split[1])
|
||||
Template.template("value", split[1])
|
||||
);
|
||||
return false;
|
||||
}
|
||||
@ -115,7 +115,7 @@ public class Purge extends SubCommand {
|
||||
} catch (IllegalArgumentException ignored) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("invalid.not_valid_plot_id"),
|
||||
Template.of("value", split[1])
|
||||
Template.template("value", split[1])
|
||||
);
|
||||
return false;
|
||||
}
|
||||
@ -126,7 +126,7 @@ public class Purge extends SubCommand {
|
||||
if (ownerMapping == null) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("errors.invalid_player"),
|
||||
Template.of("value", split[1])
|
||||
Template.template("value", split[1])
|
||||
);
|
||||
return false;
|
||||
}
|
||||
@ -138,7 +138,7 @@ public class Purge extends SubCommand {
|
||||
if (addedMapping == null) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("errors.invalid_player"),
|
||||
Template.of("value", split[1])
|
||||
Template.template("value", split[1])
|
||||
);
|
||||
return false;
|
||||
}
|
||||
@ -243,7 +243,7 @@ public class Purge extends SubCommand {
|
||||
DBFunc.purgeIds(ids);
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("purge.purge_success"),
|
||||
Template.of("amount", ids.size() + "/" + toDelete.size())
|
||||
Template.template("amount", ids.size() + "/" + toDelete.size())
|
||||
);
|
||||
});
|
||||
}
|
||||
|
@ -155,7 +155,7 @@ public class Rate extends SubCommand {
|
||||
if (plot.getRatings().containsKey(player.getUUID())) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("ratings.rating_already_exists"),
|
||||
Template.of("plot", plot.getId().toString())
|
||||
Template.template("plot", plot.getId().toString())
|
||||
);
|
||||
return;
|
||||
}
|
||||
@ -175,7 +175,7 @@ public class Rate extends SubCommand {
|
||||
plot.addRating(this.getPlayer().getUUID(), event.getRating());
|
||||
getPlayer().sendMessage(
|
||||
TranslatableCaption.of("ratings.rating_applied"),
|
||||
Template.of("plot", plot.getId().toString())
|
||||
Template.template("plot", plot.getId().toString())
|
||||
);
|
||||
}
|
||||
return false;
|
||||
@ -248,7 +248,7 @@ public class Rate extends SubCommand {
|
||||
if (plot.getRatings().containsKey(uuid)) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("ratings.rating_already_exists"),
|
||||
Template.of("plot", plot.getId().toString())
|
||||
Template.template("plot", plot.getId().toString())
|
||||
);
|
||||
return;
|
||||
}
|
||||
@ -258,7 +258,7 @@ public class Rate extends SubCommand {
|
||||
plot.addRating(uuid, event.getRating());
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("ratings.rating_applied"),
|
||||
Template.of("plot", plot.getId().toString())
|
||||
Template.template("plot", plot.getId().toString())
|
||||
);
|
||||
}
|
||||
};
|
||||
@ -292,11 +292,11 @@ public class Rate extends SubCommand {
|
||||
.map(completion -> new Command(null, true, completion, "", RequiredType.PLAYER, CommandCategory.INFO) {
|
||||
}).collect(Collectors.toCollection(LinkedList::new));
|
||||
if (Permissions.hasPermission(player, Permission.PERMISSION_RATE) && args[0].length() > 0) {
|
||||
commands.addAll(TabCompletions.completePlayers(args[0], Collections.emptyList()));
|
||||
commands.addAll(TabCompletions.completePlayers(player, args[0], Collections.emptyList()));
|
||||
}
|
||||
return commands;
|
||||
}
|
||||
return TabCompletions.completePlayers(String.join(",", args).trim(), Collections.emptyList());
|
||||
return TabCompletions.completePlayers(player, String.join(",", args).trim(), Collections.emptyList());
|
||||
}
|
||||
|
||||
private static class MutableInt {
|
||||
|
@ -65,18 +65,18 @@ public class RegenAllRoads extends SubCommand {
|
||||
} catch (NumberFormatException ignored) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("invalid.not_valid_number"),
|
||||
Template.of("value", "(0, 256)")
|
||||
Template.template("value", "(0, 256)")
|
||||
);
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("commandconfig.command_syntax"),
|
||||
Template.of("value", "/plot regenallroads <world> [height]")
|
||||
Template.template("value", "/plot regenallroads <world> [height]")
|
||||
);
|
||||
return false;
|
||||
}
|
||||
} else if (args.length != 1) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("commandconfig.command_syntax"),
|
||||
Template.of("value", "/plot regenallroads <world> [height]")
|
||||
Template.template("value", "/plot regenallroads <world> [height]")
|
||||
);
|
||||
return false;
|
||||
}
|
||||
@ -84,7 +84,7 @@ public class RegenAllRoads extends SubCommand {
|
||||
if (area == null) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("errors.not_valid_plot_world"),
|
||||
Template.of("value", args[0])
|
||||
Template.template("value", args[0])
|
||||
);
|
||||
return false;
|
||||
}
|
||||
@ -96,7 +96,7 @@ public class RegenAllRoads extends SubCommand {
|
||||
}
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("debugroadregen.schematic"),
|
||||
Template.of("command", "/plot createroadschematic")
|
||||
Template.template("command", "/plot createroadschematic")
|
||||
);
|
||||
player.sendMessage(TranslatableCaption.of("debugroadregen.regenallroads_started"));
|
||||
boolean result = this.hybridUtils.scheduleRoadUpdate(area, height);
|
||||
|
@ -86,7 +86,7 @@ public class Remove extends SubCommand {
|
||||
} else if (throwable != null) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("errors.invalid_player"),
|
||||
Template.of("value", args[0])
|
||||
Template.template("value", args[0])
|
||||
);
|
||||
return;
|
||||
} else if (!uuids.isEmpty()) {
|
||||
@ -123,12 +123,12 @@ public class Remove extends SubCommand {
|
||||
if (count == 0) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("errors.invalid_player"),
|
||||
Template.of("value", args[0])
|
||||
Template.template("value", args[0])
|
||||
);
|
||||
} else {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("member.removed_players"),
|
||||
Template.of("amount", count + "")
|
||||
Template.template("amount", count + "")
|
||||
);
|
||||
}
|
||||
});
|
||||
@ -142,7 +142,7 @@ public class Remove extends SubCommand {
|
||||
if (plot == null) {
|
||||
return Collections.emptyList();
|
||||
}
|
||||
return TabCompletions.completeAddedPlayers(plot, String.join(",", args).trim(),
|
||||
return TabCompletions.completeAddedPlayers(player, plot, String.join(",", args).trim(),
|
||||
Collections.singletonList(player.getName())
|
||||
);
|
||||
}
|
||||
|
@ -48,7 +48,7 @@ import java.util.UUID;
|
||||
|
||||
/**
|
||||
* @deprecated In favor of "/plot download" (Arkitektonika) and scheduled
|
||||
* for removal within the next major release.
|
||||
* for removal within the next major release.
|
||||
*/
|
||||
@Deprecated(forRemoval = true)
|
||||
@CommandDeclaration(command = "save",
|
||||
@ -123,7 +123,7 @@ public class Save extends SubCommand {
|
||||
player.sendMessage(TranslatableCaption.of("web.save_success"));
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("errors.deprecated_commands"),
|
||||
Template.of("replacement", "/plot download")
|
||||
Template.template("replacement", "/plot download")
|
||||
);
|
||||
try (final MetaDataAccess<List<String>> schematicAccess =
|
||||
player.accessTemporaryMetaData(PlayerMetaDataKeys.TEMPORARY_SCHEMATICS)) {
|
||||
|
@ -80,7 +80,7 @@ public class SchematicCmd extends SubCommand {
|
||||
if (args.length < 1) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("commandconfig.command_syntax"),
|
||||
Template.of("value", "Possible values: save, paste, exportall, list")
|
||||
Template.template("value", "Possible values: save, paste, exportall, list")
|
||||
);
|
||||
return true;
|
||||
}
|
||||
@ -90,14 +90,14 @@ public class SchematicCmd extends SubCommand {
|
||||
if (!Permissions.hasPermission(player, Permission.PERMISSION_SCHEMATIC_PASTE)) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("permission.no_permission"),
|
||||
Template.of("node", String.valueOf(Permission.PERMISSION_SCHEMATIC_PASTE))
|
||||
Template.template("node", String.valueOf(Permission.PERMISSION_SCHEMATIC_PASTE))
|
||||
);
|
||||
return false;
|
||||
}
|
||||
if (args.length < 2) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("commandconfig.command_syntax"),
|
||||
Template.of("value", "Possible values: save, paste, exportall, list")
|
||||
Template.template("value", "Possible values: save, paste, exportall, list")
|
||||
);
|
||||
break;
|
||||
}
|
||||
@ -138,7 +138,7 @@ public class SchematicCmd extends SubCommand {
|
||||
e.printStackTrace();
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("schematics.schematic_invalid"),
|
||||
Template.of("reason", "non-existent url: " + location)
|
||||
Template.template("reason", "non-existent url: " + location)
|
||||
);
|
||||
SchematicCmd.this.running = false;
|
||||
return;
|
||||
@ -154,7 +154,7 @@ public class SchematicCmd extends SubCommand {
|
||||
SchematicCmd.this.running = false;
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("schematics.schematic_invalid"),
|
||||
Template.of("reason", "non-existent or not in gzip format")
|
||||
Template.template("reason", "non-existent or not in gzip format")
|
||||
);
|
||||
return;
|
||||
}
|
||||
@ -166,7 +166,7 @@ public class SchematicCmd extends SubCommand {
|
||||
0,
|
||||
false,
|
||||
player,
|
||||
new RunnableVal<Boolean>() {
|
||||
new RunnableVal<>() {
|
||||
@Override
|
||||
public void run(Boolean value) {
|
||||
SchematicCmd.this.running = false;
|
||||
@ -191,7 +191,7 @@ public class SchematicCmd extends SubCommand {
|
||||
player.sendMessage(TranslatableCaption.of("schematics.schematic_exportall_world_args"));
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("commandconfig.command_syntax"),
|
||||
Template.of("value", "Use /plot schematic exportall <area>")
|
||||
Template.template("value", "Use /plot schematic exportall <area>")
|
||||
);
|
||||
return false;
|
||||
}
|
||||
@ -199,7 +199,7 @@ public class SchematicCmd extends SubCommand {
|
||||
if (area == null) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("errors.not_valid_plot_world"),
|
||||
Template.of("value", args[1])
|
||||
Template.template("value", args[1])
|
||||
);
|
||||
return false;
|
||||
}
|
||||
@ -208,7 +208,7 @@ public class SchematicCmd extends SubCommand {
|
||||
player.sendMessage(TranslatableCaption.of("schematic.schematic_exportall_world"));
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("commandconfig.command_syntax"),
|
||||
Template.of("value", "Use /plot sch exportall <area>")
|
||||
Template.template("value", "Use /plot sch exportall <area>")
|
||||
);
|
||||
return false;
|
||||
}
|
||||
@ -222,7 +222,7 @@ public class SchematicCmd extends SubCommand {
|
||||
player.sendMessage(TranslatableCaption.of("schematics.schematic_exportall_started"));
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("schematics.plot_to_schem"),
|
||||
Template.of("amount", String.valueOf(plots.size()))
|
||||
Template.template("amount", String.valueOf(plots.size()))
|
||||
);
|
||||
}
|
||||
}
|
||||
@ -230,7 +230,7 @@ public class SchematicCmd extends SubCommand {
|
||||
if (!Permissions.hasPermission(player, Permission.PERMISSION_SCHEMATIC_SAVE)) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("permission.no_permission"),
|
||||
Template.of("node", String.valueOf(Permission.PERMISSION_SCHEMATIC_SAVE))
|
||||
Template.template("node", String.valueOf(Permission.PERMISSION_SCHEMATIC_SAVE))
|
||||
);
|
||||
return false;
|
||||
}
|
||||
@ -273,19 +273,19 @@ public class SchematicCmd extends SubCommand {
|
||||
if (!Permissions.hasPermission(player, Permission.PERMISSION_SCHEMATIC_LIST)) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("permission.no_permission"),
|
||||
Template.of("node", String.valueOf(Permission.PERMISSION_SCHEMATIC_LIST))
|
||||
Template.template("node", String.valueOf(Permission.PERMISSION_SCHEMATIC_LIST))
|
||||
);
|
||||
return false;
|
||||
}
|
||||
final String string = StringMan.join(this.schematicHandler.getSchematicNames(), "$2, $1");
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("schematics.schematic_list"),
|
||||
Template.of("list", string)
|
||||
Template.template("list", string)
|
||||
);
|
||||
}
|
||||
default -> player.sendMessage(
|
||||
TranslatableCaption.of("commandconfig.command_syntax"),
|
||||
Template.of("value", "Possible values: save, paste, exportall, list")
|
||||
Template.template("value", "Possible values: save, paste, exportall, list")
|
||||
);
|
||||
}
|
||||
return true;
|
||||
@ -317,11 +317,11 @@ public class SchematicCmd extends SubCommand {
|
||||
) {
|
||||
}).collect(Collectors.toCollection(LinkedList::new));
|
||||
if (Permissions.hasPermission(player, Permission.PERMISSION_SCHEMATIC) && args[0].length() > 0) {
|
||||
commands.addAll(TabCompletions.completePlayers(args[0], Collections.emptyList()));
|
||||
commands.addAll(TabCompletions.completePlayers(player, args[0], Collections.emptyList()));
|
||||
}
|
||||
return commands;
|
||||
}
|
||||
return TabCompletions.completePlayers(String.join(",", args).trim(), Collections.emptyList());
|
||||
return TabCompletions.completePlayers(player, String.join(",", args).trim(), Collections.emptyList());
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -130,7 +130,7 @@ public class Set extends SubCommand {
|
||||
}
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("invalid.component_illegal_block"),
|
||||
Template.of("value", forbiddenType)
|
||||
Template.template("value", forbiddenType)
|
||||
);
|
||||
return true;
|
||||
}
|
||||
@ -142,7 +142,7 @@ public class Set extends SubCommand {
|
||||
if (!Permissions.hasPermission(player, Permission.PERMISSION_SET_COMPONENT.format(component))) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("permission.no_permission"),
|
||||
Template.of("node", Permission.PERMISSION_SET_COMPONENT.format(component))
|
||||
Template.template("node", Permission.PERMISSION_SET_COMPONENT.format(component))
|
||||
);
|
||||
return false;
|
||||
}
|
||||
@ -165,7 +165,7 @@ public class Set extends SubCommand {
|
||||
plot.removeRunning();
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("working.component_complete"),
|
||||
Template.of("plot", plot.getId().toString())
|
||||
Template.template("plot", plot.getId().toString())
|
||||
);
|
||||
});
|
||||
if (Settings.QUEUE.NOTIFY_PROGRESS) {
|
||||
@ -288,7 +288,7 @@ public class Set extends SubCommand {
|
||||
}).collect(Collectors.toCollection(LinkedList::new));
|
||||
|
||||
if (Permissions.hasPermission(player, Permission.PERMISSION_SET) && args[0].length() > 0) {
|
||||
commands.addAll(TabCompletions.completePlayers(args[0], Collections.emptyList()));
|
||||
commands.addAll(TabCompletions.completePlayers(player, args[0], Collections.emptyList()));
|
||||
}
|
||||
return commands;
|
||||
} else if (args.length > 1) {
|
||||
|
@ -48,7 +48,7 @@ public abstract class SetCommand extends SubCommand {
|
||||
if (!Permissions.hasPermission(player, Permission.PERMISSION_ADMIN_COMMAND.format(getFullId()))) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("permission.no_permission"),
|
||||
Template.of("node", Permission.PERMISSION_ADMIN_COMMAND.format(getFullId()))
|
||||
Template.template("node", Permission.PERMISSION_ADMIN_COMMAND.format(getFullId()))
|
||||
);
|
||||
player.sendMessage(TranslatableCaption.of("working.plot_not_claimed"));
|
||||
return false;
|
||||
@ -58,7 +58,7 @@ public abstract class SetCommand extends SubCommand {
|
||||
if (!Permissions.hasPermission(player, Permission.PERMISSION_ADMIN_COMMAND.format(getFullId()))) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("permission.no_permission"),
|
||||
Template.of("node", Permission.PERMISSION_ADMIN_COMMAND.format(getFullId()))
|
||||
Template.template("node", Permission.PERMISSION_ADMIN_COMMAND.format(getFullId()))
|
||||
);
|
||||
player.sendMessage(TranslatableCaption.of("permission.no_plot_perms"));
|
||||
return false;
|
||||
|
@ -67,7 +67,7 @@ public class SetHome extends SetCommand {
|
||||
default -> {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("commandconfig.command_syntax"),
|
||||
Template.of("value", "Use /plot set home [none]")
|
||||
Template.template("value", "Use /plot set home [none]")
|
||||
);
|
||||
return false;
|
||||
}
|
||||
|
@ -85,7 +85,7 @@ public class Setup extends SubCommand {
|
||||
player.sendMessage(TranslatableCaption.of("setup.setup_not_started"));
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("commandconfig.command_syntax"),
|
||||
Template.of("value", "Use /plot setup to start a setup process.")
|
||||
Template.template("value", "Use /plot setup to start a setup process.")
|
||||
);
|
||||
return true;
|
||||
}
|
||||
|
@ -85,8 +85,8 @@ public class Swap extends SubCommand {
|
||||
return plot1.getPlotModificationManager().move(plot2, player, () -> {
|
||||
}, true).thenApply(result -> {
|
||||
if (result) {
|
||||
player.sendMessage(TranslatableCaption.of("swap.swap_success"), Template.of("origin", String.valueOf(plot1)),
|
||||
Template.of("target", String.valueOf(plot2))
|
||||
player.sendMessage(TranslatableCaption.of("swap.swap_success"), Template.template("origin", String.valueOf(plot1)),
|
||||
Template.template("target", String.valueOf(plot2))
|
||||
);
|
||||
return true;
|
||||
} else {
|
||||
|
@ -59,7 +59,7 @@ public class Target extends SubCommand {
|
||||
if (args.length == 0) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("commandconfig.command_syntax"),
|
||||
Template.of("value", "/plot target <<X;Z> | nearest>")
|
||||
Template.template("value", "/plot target <<X;Z> | nearest>")
|
||||
);
|
||||
return false;
|
||||
}
|
||||
@ -83,7 +83,7 @@ public class Target extends SubCommand {
|
||||
target.getCenter(player::setCompassTarget);
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("compass.compass_target"),
|
||||
Template.of("target", target.toString())
|
||||
Template.template("target", target.toString())
|
||||
);
|
||||
return true;
|
||||
}
|
||||
|
@ -176,13 +176,13 @@ public class Template extends SubCommand {
|
||||
if (args[0].equalsIgnoreCase("export")) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("commandconfig.command_syntax"),
|
||||
net.kyori.adventure.text.minimessage.Template.of("value", "/plot template export <world>")
|
||||
net.kyori.adventure.text.minimessage.Template.template("value", "/plot template export <world>")
|
||||
);
|
||||
return true;
|
||||
} else if (args[0].equalsIgnoreCase("import")) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("commandconfig.command_syntax"),
|
||||
net.kyori.adventure.text.minimessage.Template.of("value", "/plot template import <world> <template>")
|
||||
net.kyori.adventure.text.minimessage.Template.template("value", "/plot template import <world> <template>")
|
||||
);
|
||||
return true;
|
||||
}
|
||||
@ -196,14 +196,14 @@ public class Template extends SubCommand {
|
||||
if (args.length != 3) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("commandconfig.command_syntax"),
|
||||
net.kyori.adventure.text.minimessage.Template.of("value", "/plot template import <world> <template>")
|
||||
net.kyori.adventure.text.minimessage.Template.template("value", "/plot template import <world> <template>")
|
||||
);
|
||||
return false;
|
||||
}
|
||||
if (this.plotAreaManager.hasPlotArea(world)) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("setup.setup_world_taken"),
|
||||
net.kyori.adventure.text.minimessage.Template.of("value", world)
|
||||
net.kyori.adventure.text.minimessage.Template.template("value", world)
|
||||
);
|
||||
return false;
|
||||
}
|
||||
@ -211,7 +211,7 @@ public class Template extends SubCommand {
|
||||
if (!result) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("template.invalid_template"),
|
||||
net.kyori.adventure.text.minimessage.Template.of("value", args[2])
|
||||
net.kyori.adventure.text.minimessage.Template.template("value", args[2])
|
||||
);
|
||||
return false;
|
||||
}
|
||||
@ -249,7 +249,7 @@ public class Template extends SubCommand {
|
||||
if (args.length != 2) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("commandconfig.command_syntax"),
|
||||
net.kyori.adventure.text.minimessage.Template.of("value", "/plot template export <world>")
|
||||
net.kyori.adventure.text.minimessage.Template.template("value", "/plot template export <world>")
|
||||
);
|
||||
return false;
|
||||
}
|
||||
@ -257,7 +257,7 @@ public class Template extends SubCommand {
|
||||
if (area == null) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("errors.not_valid_plot_world"),
|
||||
net.kyori.adventure.text.minimessage.Template.of("value", args[1])
|
||||
net.kyori.adventure.text.minimessage.Template.template("value", args[1])
|
||||
);
|
||||
return false;
|
||||
}
|
||||
@ -269,7 +269,7 @@ public class Template extends SubCommand {
|
||||
e.printStackTrace();
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("template.template_failed"),
|
||||
net.kyori.adventure.text.minimessage.Template.of("value", e.getMessage())
|
||||
net.kyori.adventure.text.minimessage.Template.template("value", e.getMessage())
|
||||
);
|
||||
return;
|
||||
}
|
||||
@ -305,11 +305,11 @@ public class Template extends SubCommand {
|
||||
) {
|
||||
}).collect(Collectors.toCollection(LinkedList::new));
|
||||
if (Permissions.hasPermission(player, Permission.PERMISSION_TEMPLATE) && args[0].length() > 0) {
|
||||
commands.addAll(TabCompletions.completePlayers(args[0], Collections.emptyList()));
|
||||
commands.addAll(TabCompletions.completePlayers(player, args[0], Collections.emptyList()));
|
||||
}
|
||||
return commands;
|
||||
}
|
||||
return TabCompletions.completePlayers(String.join(",", args).trim(), Collections.emptyList());
|
||||
return TabCompletions.completePlayers(player, String.join(",", args).trim(), Collections.emptyList());
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -54,12 +54,12 @@ public class Toggle extends Command {
|
||||
if (toggle(player, "chatspy")) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("toggle.toggle_disabled"),
|
||||
Template.of("setting", command.toString())
|
||||
Template.template("setting", command.toString())
|
||||
);
|
||||
} else {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("toggle.toggle_enabled"),
|
||||
Template.of("setting", command.toString())
|
||||
Template.template("setting", command.toString())
|
||||
);
|
||||
}
|
||||
}
|
||||
@ -75,12 +75,12 @@ public class Toggle extends Command {
|
||||
if (toggle(player, "worldedit")) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("toggle.toggle_disabled"),
|
||||
Template.of("setting", command.toString())
|
||||
Template.template("setting", command.toString())
|
||||
);
|
||||
} else {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("toggle.toggle_enabled"),
|
||||
Template.of("setting", command.toString())
|
||||
Template.template("setting", command.toString())
|
||||
);
|
||||
}
|
||||
}
|
||||
@ -95,12 +95,12 @@ public class Toggle extends Command {
|
||||
if (toggle(player, "chat")) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("toggle.toggle_disabled"),
|
||||
Template.of("setting", command.toString())
|
||||
Template.template("setting", command.toString())
|
||||
);
|
||||
} else {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("toggle.toggle_enabled"),
|
||||
Template.of("setting", command.toString())
|
||||
Template.template("setting", command.toString())
|
||||
);
|
||||
}
|
||||
}
|
||||
@ -115,12 +115,12 @@ public class Toggle extends Command {
|
||||
if (toggle(player, "ignoreExpireTask")) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("toggle.toggle_enabled"),
|
||||
Template.of("setting", command.toString())
|
||||
Template.template("setting", command.toString())
|
||||
);
|
||||
} else {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("toggle.toggle_disabled"),
|
||||
Template.of("setting", command.toString())
|
||||
Template.template("setting", command.toString())
|
||||
);
|
||||
}
|
||||
}
|
||||
@ -135,12 +135,12 @@ public class Toggle extends Command {
|
||||
if (toggle(player, "disabletitles")) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("toggle.toggle_enabled"),
|
||||
Template.of("setting", command.toString())
|
||||
Template.template("setting", command.toString())
|
||||
);
|
||||
} else {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("toggle.toggle_disabled"),
|
||||
Template.of("setting", command.toString())
|
||||
Template.template("setting", command.toString())
|
||||
);
|
||||
}
|
||||
}
|
||||
@ -155,12 +155,12 @@ public class Toggle extends Command {
|
||||
if (toggle(player, "disabletime")) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("toggle.toggle_enabled"),
|
||||
Template.of("setting", command.toString())
|
||||
Template.template("setting", command.toString())
|
||||
);
|
||||
} else {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("toggle.toggle_disabled"),
|
||||
Template.of("setting", command.toString())
|
||||
Template.template("setting", command.toString())
|
||||
);
|
||||
}
|
||||
}
|
||||
@ -175,12 +175,12 @@ public class Toggle extends Command {
|
||||
if (toggle(player, "debug")) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("toggle.toggle_disabled"),
|
||||
Template.of("setting", command.toString())
|
||||
Template.template("setting", command.toString())
|
||||
);
|
||||
} else {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("toggle.toggle_enabled"),
|
||||
Template.of("setting", command.toString())
|
||||
Template.template("setting", command.toString())
|
||||
);
|
||||
}
|
||||
player.refreshDebug();
|
||||
|
@ -93,7 +93,7 @@ public class Trust extends Command {
|
||||
} else {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("errors.invalid_player"),
|
||||
Template.of("value", args[0])
|
||||
Template.template("value", args[0])
|
||||
);
|
||||
}
|
||||
future.completeExceptionally(throwable);
|
||||
@ -112,7 +112,7 @@ public class Trust extends Command {
|
||||
.hasPermission(player, Permission.PERMISSION_ADMIN_COMMAND_TRUST))) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("errors.invalid_player"),
|
||||
Template.of("value", PlayerManager.getName(uuid))
|
||||
Template.template("value", PlayerManager.getName(uuid))
|
||||
);
|
||||
iterator.remove();
|
||||
continue;
|
||||
@ -120,7 +120,7 @@ public class Trust extends Command {
|
||||
if (currentPlot.isOwner(uuid)) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("member.already_added"),
|
||||
Template.of("value", PlayerManager.getName(uuid))
|
||||
Template.template("value", PlayerManager.getName(uuid))
|
||||
);
|
||||
iterator.remove();
|
||||
continue;
|
||||
@ -128,7 +128,7 @@ public class Trust extends Command {
|
||||
if (currentPlot.getTrusted().contains(uuid)) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("member.already_added"),
|
||||
Template.of("value", PlayerManager.getName(uuid))
|
||||
Template.template("value", PlayerManager.getName(uuid))
|
||||
);
|
||||
iterator.remove();
|
||||
continue;
|
||||
@ -138,10 +138,10 @@ public class Trust extends Command {
|
||||
checkTrue(!uuids.isEmpty(), null);
|
||||
int localTrustSize = currentPlot.getTrusted().size();
|
||||
int maxTrustSize = Permissions.hasPermissionRange(player, Permission.PERMISSION_TRUST, Settings.Limit.MAX_PLOTS);
|
||||
if (localTrustSize > maxTrustSize) {
|
||||
if (localTrustSize >= maxTrustSize) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("members.plot_max_members_trusted"),
|
||||
Template.of("amount", String.valueOf(localTrustSize))
|
||||
Template.template("amount", String.valueOf(localTrustSize))
|
||||
);
|
||||
return;
|
||||
}
|
||||
@ -168,7 +168,7 @@ public class Trust extends Command {
|
||||
|
||||
@Override
|
||||
public Collection<Command> tab(final PlotPlayer<?> player, final String[] args, final boolean space) {
|
||||
return TabCompletions.completePlayers(String.join(",", args).trim(), Collections.emptyList());
|
||||
return TabCompletions.completePlayers(player, String.join(",", args).trim(), Collections.emptyList());
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -73,6 +73,7 @@ public class Unlink extends SubCommand {
|
||||
}
|
||||
if (!plot.isMerged()) {
|
||||
player.sendMessage(TranslatableCaption.of("merge.unlink_impossible"));
|
||||
return false;
|
||||
}
|
||||
final boolean createRoad;
|
||||
if (args.length != 0) {
|
||||
@ -92,7 +93,7 @@ public class Unlink extends SubCommand {
|
||||
if (event.getEventResult() == Result.DENY) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("events.event_denied"),
|
||||
Template.of("value", "Unlink")
|
||||
Template.template("value", "Unlink")
|
||||
);
|
||||
return true;
|
||||
}
|
||||
@ -100,6 +101,7 @@ public class Unlink extends SubCommand {
|
||||
if (!force && !plot.isOwner(player.getUUID()) && !Permissions
|
||||
.hasPermission(player, Permission.PERMISSION_ADMIN_COMMAND_UNLINK)) {
|
||||
player.sendMessage(TranslatableCaption.of("permission.no_plot_perms"));
|
||||
return true;
|
||||
}
|
||||
Runnable runnable = () -> {
|
||||
if (!plot.getPlotModificationManager().unlinkPlot(createRoad, createRoad)) {
|
||||
@ -107,6 +109,7 @@ public class Unlink extends SubCommand {
|
||||
return;
|
||||
}
|
||||
player.sendMessage(TranslatableCaption.of("merge.unlink_success"));
|
||||
eventDispatcher.callPostUnlink(plot, PlotUnlinkEvent.REASON.PLAYER_COMMAND);
|
||||
};
|
||||
if (hasConfirmation(player)) {
|
||||
CmdConfirm.addPending(player, "/plot unlink " + plot.getId(), runnable);
|
||||
|
@ -107,8 +107,8 @@ public class Visit extends Command {
|
||||
} else if (plots.size() < page || page < 1) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("invalid.number_not_in_range"),
|
||||
Template.of("min", "1"),
|
||||
Template.of("max", String.valueOf(plots.size()))
|
||||
Template.template("min", "1"),
|
||||
Template.template("max", String.valueOf(plots.size()))
|
||||
);
|
||||
return;
|
||||
}
|
||||
@ -140,26 +140,21 @@ public class Visit extends Command {
|
||||
return;
|
||||
}
|
||||
} else {
|
||||
if (!Permissions.hasPermission(player, Permission.PERMISSION_VISIT_OTHER)) {
|
||||
// allow visit, if UntrustedVisit flag is set, or if the player has either the plot.visit.other or
|
||||
// plot.admin.visit.untrusted permission
|
||||
if (!plot.getFlag(UntrustedVisitFlag.class) && !Permissions.hasPermission(player, Permission.PERMISSION_VISIT_OTHER)
|
||||
&& !Permissions.hasPermission(player, Permission.PERMISSION_ADMIN_VISIT_UNTRUSTED)) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("permission.no_permission"),
|
||||
Templates.of("node", "plots.visit.other")
|
||||
);
|
||||
return;
|
||||
}
|
||||
if (!plot.getFlag(UntrustedVisitFlag.class) && !Permissions
|
||||
.hasPermission(player, Permission.PERMISSION_ADMIN_VISIT_UNTRUSTED)) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("permission.no_permission"),
|
||||
Templates.of("node", "plots.admin.visit.untrusted")
|
||||
);
|
||||
return;
|
||||
}
|
||||
if (plot.isDenied(player.getUUID())) {
|
||||
if (!Permissions.hasPermission(player, Permission.PERMISSION_VISIT_DENIED)) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("permission.no_permission"),
|
||||
Template.of("node", String.valueOf(Permission.PERMISSION_VISIT_DENIED))
|
||||
Template.template("node", String.valueOf(Permission.PERMISSION_VISIT_DENIED))
|
||||
);
|
||||
return;
|
||||
}
|
||||
@ -262,7 +257,7 @@ public class Visit extends Command {
|
||||
} catch (NumberFormatException ignored) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("invalid.not_a_number"),
|
||||
Template.of("value", args[1])
|
||||
Template.template("value", args[1])
|
||||
);
|
||||
return CompletableFuture.completedFuture(false);
|
||||
}
|
||||
@ -295,7 +290,7 @@ public class Visit extends Command {
|
||||
} else {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("errors.invalid_player"),
|
||||
Template.of("value", finalArgs[0])
|
||||
Template.template("value", finalArgs[0])
|
||||
);
|
||||
}
|
||||
} else {
|
||||
@ -334,7 +329,7 @@ public class Visit extends Command {
|
||||
public Collection<Command> tab(PlotPlayer<?> player, String[] args, boolean space) {
|
||||
final List<Command> completions = new ArrayList<>();
|
||||
switch (args.length - 1) {
|
||||
case 0 -> completions.addAll(TabCompletions.completePlayers(args[0], Collections.emptyList()));
|
||||
case 0 -> completions.addAll(TabCompletions.completePlayers(player, args[0], Collections.emptyList()));
|
||||
case 1 -> {
|
||||
completions.addAll(
|
||||
TabCompletions.completeAreas(args[1]));
|
||||
|
@ -47,6 +47,7 @@ import com.sk89q.worldedit.function.pattern.Pattern;
|
||||
import com.sk89q.worldedit.world.item.ItemTypes;
|
||||
import net.kyori.adventure.text.minimessage.MiniMessage;
|
||||
import net.kyori.adventure.text.minimessage.Template;
|
||||
import net.kyori.adventure.text.minimessage.template.TemplateResolver;
|
||||
import org.apache.logging.log4j.LogManager;
|
||||
import org.apache.logging.log4j.Logger;
|
||||
import org.checkerframework.checker.nullness.qual.NonNull;
|
||||
@ -71,7 +72,6 @@ public class ComponentPresetManager {
|
||||
private static final Logger LOGGER = LogManager.getLogger("PlotSquared/" + ComponentPresetManager.class.getSimpleName());
|
||||
|
||||
private final List<ComponentPreset> presets;
|
||||
private final String guiName;
|
||||
private final EconHandler econHandler;
|
||||
private final InventoryUtil inventoryUtil;
|
||||
private File componentsFile;
|
||||
@ -104,15 +104,14 @@ public class ComponentPresetManager {
|
||||
|
||||
final YamlConfiguration yamlConfiguration = YamlConfiguration.loadConfiguration(this.componentsFile);
|
||||
|
||||
if (!yamlConfiguration.contains("title")) {
|
||||
yamlConfiguration.set("title", "&6Plot Components");
|
||||
if (yamlConfiguration.contains("title")) {
|
||||
yamlConfiguration.set("title", "#Now in /lang/messages_%.json, preset.title");
|
||||
try {
|
||||
yamlConfiguration.save(this.componentsFile);
|
||||
} catch (IOException e) {
|
||||
LOGGER.error("Failed to save default values to components.yml", e);
|
||||
}
|
||||
}
|
||||
this.guiName = yamlConfiguration.getString("title", "&6Plot Components");
|
||||
|
||||
if (yamlConfiguration.contains("presets")) {
|
||||
this.presets = yamlConfiguration
|
||||
@ -183,7 +182,8 @@ public class ComponentPresetManager {
|
||||
allowedPresets.add(componentPreset);
|
||||
}
|
||||
final int size = (int) Math.ceil((double) allowedPresets.size() / 9.0D);
|
||||
final PlotInventory plotInventory = new PlotInventory(this.inventoryUtil, player, size, this.guiName) {
|
||||
final PlotInventory plotInventory = new PlotInventory(this.inventoryUtil, player, size,
|
||||
TranslatableCaption.of("preset.title").getComponent(player)) {
|
||||
@Override
|
||||
public boolean onClick(final int index) {
|
||||
if (!getPlayer().getCurrentPlot().equals(plot)) {
|
||||
@ -218,7 +218,7 @@ public class ComponentPresetManager {
|
||||
econHandler.withdrawMoney(getPlayer(), componentPreset.getCost());
|
||||
getPlayer().sendMessage(
|
||||
TranslatableCaption.of("economy.removed_balance"),
|
||||
Template.of("money", econHandler.format(componentPreset.getCost()))
|
||||
Template.template("money", econHandler.format(componentPreset.getCost()))
|
||||
);
|
||||
}
|
||||
}
|
||||
@ -247,15 +247,15 @@ public class ComponentPresetManager {
|
||||
final ComponentPreset preset = allowedPresets.get(i);
|
||||
final List<String> lore = new ArrayList<>();
|
||||
if (preset.getCost() > 0 && this.econHandler.isEnabled(plot.getArea())) {
|
||||
lore.add(MINI_MESSAGE.serialize(MINI_MESSAGE.parse(
|
||||
lore.add(MINI_MESSAGE.serialize(MINI_MESSAGE.deserialize(
|
||||
TranslatableCaption.of("preset.preset_lore_cost").getComponent(player),
|
||||
Template.of("cost", String.format("%.2f", preset.getCost()))
|
||||
TemplateResolver.templates(Template.template("cost", String.format("%.2f", preset.getCost())))
|
||||
)));
|
||||
}
|
||||
lore.add(MINI_MESSAGE.serialize(MINI_MESSAGE.parse(
|
||||
lore.add(MINI_MESSAGE.serialize(MINI_MESSAGE.deserialize(
|
||||
TranslatableCaption.of("preset.preset_lore_component").getComponent(player),
|
||||
Template.of("component", preset.getComponent().name().toLowerCase()),
|
||||
Template.of("prefix", TranslatableCaption.of("core.prefix").getComponent(player))
|
||||
TemplateResolver.templates(Template.template("component", preset.getComponent().name().toLowerCase()),
|
||||
Template.template("prefix", TranslatableCaption.of("core.prefix").getComponent(player)))
|
||||
)));
|
||||
lore.removeIf(String::isEmpty);
|
||||
lore.addAll(preset.getDescription());
|
||||
|
@ -74,7 +74,7 @@ public interface ConfigurationSection {
|
||||
*
|
||||
* @param path Path to check for existence.
|
||||
* @return True if this section contains the requested path, either via
|
||||
* default or being set.
|
||||
* default or being set.
|
||||
* @throws IllegalArgumentException Thrown when path is {@code null}.
|
||||
*/
|
||||
boolean contains(String path);
|
||||
@ -88,7 +88,7 @@ public interface ConfigurationSection {
|
||||
*
|
||||
* @param path Path to check for existence.
|
||||
* @return True if this section contains the requested path, regardless of
|
||||
* having a default.
|
||||
* having a default.
|
||||
* @throws IllegalArgumentException Thrown when path is {@code null}.
|
||||
*/
|
||||
boolean isSet(String path);
|
||||
|
@ -556,8 +556,10 @@ public class Settings extends Config {
|
||||
public static boolean ON_DEATH = false;
|
||||
@Comment("Teleport to your plot on login")
|
||||
public static boolean ON_LOGIN = false;
|
||||
@Comment("Teleport to your plot on claim")
|
||||
@Comment("Teleport to your plot on claim (/plot claim)")
|
||||
public static boolean ON_CLAIM = true;
|
||||
@Comment("Teleport to your plot on auto (/plot auto)")
|
||||
public static boolean ON_AUTO = true;
|
||||
@Comment({"Add a delay to all teleport commands (in seconds)",
|
||||
"Assign `plots.teleport.delay.bypass` to bypass the cooldown"})
|
||||
public static int DELAY = 0;
|
||||
@ -708,6 +710,9 @@ public class Settings extends Config {
|
||||
"If you would like to still show the owner of the plot, append the contents of \"titles.title_entered_plot_sub\" onto the " +
|
||||
"former lang key."})
|
||||
public static boolean TITLES_AS_ACTIONBAR = false;
|
||||
@Comment({"If the default title should be displayed on plots with server-plot flag set.",
|
||||
"Titles will still be sent if the plot-title flag is set."})
|
||||
public static boolean DISPLAY_DEFAULT_ON_SERVER_PLOT = false;
|
||||
|
||||
}
|
||||
|
||||
|
@ -61,6 +61,7 @@ public class CaptionUtility {
|
||||
)
|
||||
);
|
||||
|
||||
private static final MiniMessage MINI_MESSAGE = MiniMessage.miniMessage();
|
||||
|
||||
/**
|
||||
* Format a chat message but keep the formatting keys
|
||||
@ -106,9 +107,9 @@ public class CaptionUtility {
|
||||
*/
|
||||
public static String stripClickEvents(final @NonNull String miniMessageString) {
|
||||
// parse, transform and serialize again
|
||||
Component component = MiniMessage.get().parse(miniMessageString);
|
||||
Component component = MINI_MESSAGE.parse(miniMessageString);
|
||||
component = CLICK_STRIP_TRANSFORM.transform(component);
|
||||
return MiniMessage.get().serialize(component);
|
||||
return MINI_MESSAGE.serialize(component);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -29,6 +29,7 @@ import com.plotsquared.core.plot.PlotArea;
|
||||
import com.plotsquared.core.util.PlayerManager;
|
||||
import net.kyori.adventure.text.minimessage.MiniMessage;
|
||||
import net.kyori.adventure.text.minimessage.Template;
|
||||
import net.kyori.adventure.text.minimessage.template.TemplateResolver;
|
||||
import org.checkerframework.checker.nullness.qual.NonNull;
|
||||
|
||||
import java.util.UUID;
|
||||
@ -53,13 +54,35 @@ public final class Templates {
|
||||
* @param caption Caption object
|
||||
* @param replacements Replacements
|
||||
* @return Generated template
|
||||
* @deprecated Use {@link #template(LocaleHolder, String, Caption, Template...)} instead. This method is going to
|
||||
* be removed once MiniMessage drops {@link MiniMessage#parse(String, Template...)}
|
||||
*/
|
||||
@Deprecated(forRemoval = true, since = "6.2.0")
|
||||
public static @NonNull Template of(
|
||||
final @NonNull LocaleHolder localeHolder,
|
||||
final @NonNull String key, final @NonNull Caption caption,
|
||||
final @NonNull Template... replacements
|
||||
) {
|
||||
return Template.of(key, MINI_MESSAGE.parse(caption.getComponent(localeHolder), replacements));
|
||||
return Template.template(key, MINI_MESSAGE.parse(caption.getComponent(localeHolder), replacements));
|
||||
}
|
||||
|
||||
/**
|
||||
* Create a {@link net.kyori.adventure.text.minimessage.Template} from a PlotSquared {@link Caption}
|
||||
*
|
||||
* @param localeHolder Locale holder
|
||||
* @param key Template key
|
||||
* @param caption Caption object
|
||||
* @param replacements Replacements
|
||||
* @return Generated template
|
||||
* @since 6.2.0
|
||||
*/
|
||||
public static @NonNull Template template(
|
||||
final @NonNull LocaleHolder localeHolder,
|
||||
final @NonNull String key, final @NonNull Caption caption,
|
||||
final @NonNull Template... replacements
|
||||
) {
|
||||
return Template.template(key, MINI_MESSAGE.deserialize(caption.getComponent(localeHolder),
|
||||
TemplateResolver.templates(replacements)));
|
||||
}
|
||||
|
||||
/**
|
||||
@ -71,7 +94,7 @@ public final class Templates {
|
||||
*/
|
||||
public static @NonNull Template of(final @NonNull String key, final @NonNull UUID uuid) {
|
||||
final String username = PlayerManager.getName(uuid);
|
||||
return Template.of(key, username);
|
||||
return Template.template(key, username);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -82,7 +105,7 @@ public final class Templates {
|
||||
* @return Generated template
|
||||
*/
|
||||
public static @NonNull Template of(final @NonNull String key, final @NonNull String value) {
|
||||
return Template.of(key, value);
|
||||
return Template.template(key, value);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -93,7 +116,7 @@ public final class Templates {
|
||||
* @return Generated template
|
||||
*/
|
||||
public static @NonNull Template of(final @NonNull String key, final @NonNull PlotArea area) {
|
||||
return Template.of(key, area.toString());
|
||||
return Template.template(key, area.toString());
|
||||
}
|
||||
|
||||
/**
|
||||
@ -104,7 +127,7 @@ public final class Templates {
|
||||
* @return Generated template
|
||||
*/
|
||||
public static @NonNull Template of(final @NonNull String key, final @NonNull Number number) {
|
||||
return Template.of(key, number.toString());
|
||||
return Template.template(key, number.toString());
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -0,0 +1,62 @@
|
||||
/*
|
||||
* _____ _ _ _____ _
|
||||
* | __ \| | | | / ____| | |
|
||||
* | |__) | | ___ | |_| (___ __ _ _ _ __ _ _ __ ___ __| |
|
||||
* | ___/| |/ _ \| __|\___ \ / _` | | | |/ _` | '__/ _ \/ _` |
|
||||
* | | | | (_) | |_ ____) | (_| | |_| | (_| | | | __/ (_| |
|
||||
* |_| |_|\___/ \__|_____/ \__, |\__,_|\__,_|_| \___|\__,_|
|
||||
* | |
|
||||
* |_|
|
||||
* PlotSquared plot management system for Minecraft
|
||||
* Copyright (C) 2021 IntellectualSites
|
||||
*
|
||||
* 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, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
/**
|
||||
* Future versions of MiniMessage, starting of 4.10.0, have a different naming convention. If PlotSquared updates
|
||||
* MiniMessage, certain methods are going to be renamed to keep up consistency with the new naming convention.
|
||||
* <br>
|
||||
* The existing methods have not been deprecated yet, since we don't know when we will update MiniMessage, but we know
|
||||
* it likely will be a major update, because MiniMessage 4.10.0 did not retain backwards compatibility.
|
||||
* <br>
|
||||
* <table border="1">
|
||||
* <caption>MiniMessage naming convention relevant for PlotSquared API</caption>
|
||||
* <tr>
|
||||
* <td>Current method</td>
|
||||
* <td>Future change</td>
|
||||
* </tr>
|
||||
* <tr>
|
||||
* <td>{@link net.kyori.adventure.text.minimessage.Template}</td> <td>{@code Placeholder}</td>
|
||||
* </tr>
|
||||
* <tr>
|
||||
* <td>{@link net.kyori.adventure.text.minimessage.Template#template(java.lang.String, java.lang.String)}</td> <td>{@code Placeholder#component(String, ComponentLike)}</td>
|
||||
* </tr>
|
||||
* <tr>
|
||||
* <td>{@link net.kyori.adventure.text.minimessage.template.TemplateResolver}</td> <td>{@code PlaceholderResolver}</td>
|
||||
* </tr>
|
||||
* <tr>
|
||||
* <td>{@link net.kyori.adventure.text.minimessage.template.TemplateResolver#templates(net.kyori.adventure.text.minimessage.Template...)}</td> <td>{@code PlaceholderResolver#placeholders}</td>
|
||||
* </tr>
|
||||
* <tr>
|
||||
* <td>{@link net.kyori.adventure.text.minimessage.MiniMessage#parse(java.lang.String)}</td> <td>{@code MiniMessage#deserialize()}</td>
|
||||
* </tr>
|
||||
* <tr>
|
||||
* <td>{@link net.kyori.adventure.text.minimessage.MiniMessage#get()}</td> <td>{@code MiniMessage#miniMessage()}</td>
|
||||
* </tr>
|
||||
* </table>
|
||||
* <br>
|
||||
* This table has been added in 6.2.0
|
||||
*
|
||||
*/
|
||||
package com.plotsquared.core.configuration.caption;
|
@ -2099,6 +2099,7 @@ public class SQLManager implements AbstractDB {
|
||||
case "default":
|
||||
case "0,0,0":
|
||||
case "center":
|
||||
case "centre":
|
||||
break;
|
||||
default:
|
||||
try {
|
||||
@ -2946,6 +2947,7 @@ public class SQLManager implements AbstractDB {
|
||||
case "default":
|
||||
case "0,0,0":
|
||||
case "center":
|
||||
case "centre":
|
||||
break;
|
||||
default:
|
||||
try {
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user