mirror of
https://github.com/IntellectualSites/PlotSquared.git
synced 2024-11-22 05:06:44 +01:00
Address style violations
This commit is contained in:
parent
252d6a2866
commit
2988ad6b11
4
.github/workflows/build.yml
vendored
4
.github/workflows/build.yml
vendored
@ -9,9 +9,9 @@ jobs:
|
|||||||
- name: "Checkout Repository"
|
- name: "Checkout Repository"
|
||||||
uses: "actions/checkout@v2.3.4"
|
uses: "actions/checkout@v2.3.4"
|
||||||
- name: "Setup JDK 16"
|
- name: "Setup JDK 16"
|
||||||
uses: "actions/setup-java@v2.1.0"
|
uses: "actions/setup-java@v2.2.0"
|
||||||
with:
|
with:
|
||||||
distribution: "adopt"
|
distribution: "temurin"
|
||||||
java-version: "16"
|
java-version: "16"
|
||||||
- name: "Clean Build"
|
- name: "Clean Build"
|
||||||
run: "./gradlew clean build"
|
run: "./gradlew clean build"
|
||||||
|
@ -120,6 +120,8 @@ import io.papermc.lib.PaperLib;
|
|||||||
import net.kyori.adventure.audience.Audience;
|
import net.kyori.adventure.audience.Audience;
|
||||||
import net.kyori.adventure.text.Component;
|
import net.kyori.adventure.text.Component;
|
||||||
import net.kyori.adventure.text.serializer.legacy.LegacyComponentSerializer;
|
import net.kyori.adventure.text.serializer.legacy.LegacyComponentSerializer;
|
||||||
|
import org.apache.logging.log4j.LogManager;
|
||||||
|
import org.apache.logging.log4j.Logger;
|
||||||
import org.bstats.bukkit.Metrics;
|
import org.bstats.bukkit.Metrics;
|
||||||
import org.bstats.charts.DrilldownPie;
|
import org.bstats.charts.DrilldownPie;
|
||||||
import org.bstats.charts.SimplePie;
|
import org.bstats.charts.SimplePie;
|
||||||
@ -140,8 +142,6 @@ import org.bukkit.plugin.java.JavaPlugin;
|
|||||||
import org.checkerframework.checker.nullness.qual.NonNull;
|
import org.checkerframework.checker.nullness.qual.NonNull;
|
||||||
import org.checkerframework.checker.nullness.qual.Nullable;
|
import org.checkerframework.checker.nullness.qual.Nullable;
|
||||||
import org.incendo.serverlib.ServerLib;
|
import org.incendo.serverlib.ServerLib;
|
||||||
import org.apache.logging.log4j.LogManager;
|
|
||||||
import org.apache.logging.log4j.Logger;
|
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.lang.reflect.Method;
|
import java.lang.reflect.Method;
|
||||||
@ -274,7 +274,8 @@ public final class BukkitPlatform extends JavaPlugin implements Listener, PlotPl
|
|||||||
// We create the injector after PlotSquared has been initialized, so that we have access
|
// We create the injector after PlotSquared has been initialized, so that we have access
|
||||||
// to generated instances and settings
|
// to generated instances and settings
|
||||||
this.injector = Guice
|
this.injector = Guice
|
||||||
.createInjector(Stage.PRODUCTION,
|
.createInjector(
|
||||||
|
Stage.PRODUCTION,
|
||||||
new PermissionModule(),
|
new PermissionModule(),
|
||||||
new WorldManagerModule(),
|
new WorldManagerModule(),
|
||||||
new PlotSquaredModule(),
|
new PlotSquaredModule(),
|
||||||
@ -853,7 +854,7 @@ public final class BukkitPlatform extends JavaPlugin implements Listener, PlotPl
|
|||||||
if (area != null) {
|
if (area != null) {
|
||||||
PlotId currentPlotId = area.getPlotAbs(pLoc).getId();
|
PlotId currentPlotId = area.getPlotAbs(pLoc).getId();
|
||||||
if (!originalPlotId.equals(currentPlotId) && (currentPlotId == null || !area.getPlot(
|
if (!originalPlotId.equals(currentPlotId) && (currentPlotId == null || !area.getPlot(
|
||||||
originalPlotId)
|
originalPlotId)
|
||||||
.equals(area.getPlot(currentPlotId)))) {
|
.equals(area.getPlot(currentPlotId)))) {
|
||||||
if (entity.hasMetadata("ps-tmp-teleport")) {
|
if (entity.hasMetadata("ps-tmp-teleport")) {
|
||||||
continue;
|
continue;
|
||||||
@ -991,10 +992,11 @@ public final class BukkitPlatform extends JavaPlugin implements Listener, PlotPl
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public @Nullable final ChunkGenerator getDefaultWorldGenerator(
|
public @Nullable
|
||||||
|
final ChunkGenerator getDefaultWorldGenerator(
|
||||||
final @NonNull String worldName,
|
final @NonNull String worldName,
|
||||||
final @Nullable String id)
|
final @Nullable String id
|
||||||
{
|
) {
|
||||||
final IndependentPlotGenerator result;
|
final IndependentPlotGenerator result;
|
||||||
if (id != null && id.equalsIgnoreCase("single")) {
|
if (id != null && id.equalsIgnoreCase("single")) {
|
||||||
result = injector().getInstance(SingleWorldGenerator.class);
|
result = injector().getInstance(SingleWorldGenerator.class);
|
||||||
@ -1023,7 +1025,8 @@ public final class BukkitPlatform extends JavaPlugin implements Listener, PlotPl
|
|||||||
}
|
}
|
||||||
return new BukkitPlotGenerator(world, gen, this.plotAreaManager);
|
return new BukkitPlotGenerator(world, gen, this.plotAreaManager);
|
||||||
} else {
|
} else {
|
||||||
return new BukkitPlotGenerator(world,
|
return new BukkitPlotGenerator(
|
||||||
|
world,
|
||||||
injector().getInstance(Key.get(IndependentPlotGenerator.class, DefaultGenerator.class)),
|
injector().getInstance(Key.get(IndependentPlotGenerator.class, DefaultGenerator.class)),
|
||||||
this.plotAreaManager
|
this.plotAreaManager
|
||||||
);
|
);
|
||||||
@ -1088,11 +1091,11 @@ public final class BukkitPlatform extends JavaPlugin implements Listener, PlotPl
|
|||||||
String manager = worldConfig.getString("generator.plugin", pluginName());
|
String manager = worldConfig.getString("generator.plugin", pluginName());
|
||||||
PlotAreaBuilder builder =
|
PlotAreaBuilder builder =
|
||||||
PlotAreaBuilder.newBuilder().plotManager(manager).generatorName(worldConfig.getString(
|
PlotAreaBuilder.newBuilder().plotManager(manager).generatorName(worldConfig.getString(
|
||||||
"generator.init",
|
"generator.init",
|
||||||
manager
|
manager
|
||||||
))
|
))
|
||||||
.plotAreaType(ConfigurationUtil.getType(worldConfig)).terrainType(ConfigurationUtil.getTerrain(
|
.plotAreaType(ConfigurationUtil.getType(worldConfig)).terrainType(ConfigurationUtil.getTerrain(
|
||||||
worldConfig))
|
worldConfig))
|
||||||
.settingsNodesWrapper(new SettingsNodesWrapper(new ConfigurationNode[0], null)).worldName(worldName);
|
.settingsNodesWrapper(new SettingsNodesWrapper(new ConfigurationNode[0], null)).worldName(worldName);
|
||||||
injector().getInstance(SetupUtils.class).setupWorld(builder);
|
injector().getInstance(SetupUtils.class).setupWorld(builder);
|
||||||
world = Bukkit.getWorld(worldName);
|
world = Bukkit.getWorld(worldName);
|
||||||
|
@ -26,6 +26,8 @@
|
|||||||
package com.plotsquared.bukkit.entity;
|
package com.plotsquared.bukkit.entity;
|
||||||
|
|
||||||
import com.plotsquared.core.configuration.Settings;
|
import com.plotsquared.core.configuration.Settings;
|
||||||
|
import org.apache.logging.log4j.LogManager;
|
||||||
|
import org.apache.logging.log4j.Logger;
|
||||||
import org.bukkit.Art;
|
import org.bukkit.Art;
|
||||||
import org.bukkit.DyeColor;
|
import org.bukkit.DyeColor;
|
||||||
import org.bukkit.Location;
|
import org.bukkit.Location;
|
||||||
@ -55,8 +57,6 @@ import org.bukkit.inventory.InventoryHolder;
|
|||||||
import org.bukkit.inventory.ItemStack;
|
import org.bukkit.inventory.ItemStack;
|
||||||
import org.bukkit.util.EulerAngle;
|
import org.bukkit.util.EulerAngle;
|
||||||
import org.bukkit.util.Vector;
|
import org.bukkit.util.Vector;
|
||||||
import org.apache.logging.log4j.LogManager;
|
|
||||||
import org.apache.logging.log4j.Logger;
|
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
@ -1209,4 +1209,5 @@ public class BlockEventListener implements Listener {
|
|||||||
event.setCancelled(true);
|
event.setCancelled(true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -349,7 +349,8 @@ public class EntityEventListener implements Listener {
|
|||||||
// trampling farmland
|
// trampling farmland
|
||||||
BlockType blockType = BukkitAdapter.asBlockType(type);
|
BlockType blockType = BukkitAdapter.asBlockType(type);
|
||||||
if (!this.eventDispatcher.checkPlayerBlockEvent(pp,
|
if (!this.eventDispatcher.checkPlayerBlockEvent(pp,
|
||||||
PlayerBlockEventType.TRIGGER_PHYSICAL, location, blockType, true)) {
|
PlayerBlockEventType.TRIGGER_PHYSICAL, location, blockType, true
|
||||||
|
)) {
|
||||||
event.setCancelled(true);
|
event.setCancelled(true);
|
||||||
}
|
}
|
||||||
return;
|
return;
|
||||||
|
@ -711,7 +711,8 @@ public class PlayerEventListener extends PlotListener implements Listener {
|
|||||||
// allowing colour.
|
// allowing colour.
|
||||||
if (plotPlayer.hasPermission("plots.chat.color")) {
|
if (plotPlayer.hasPermission("plots.chat.color")) {
|
||||||
msgTemplate = Template
|
msgTemplate = Template
|
||||||
.of("msg",
|
.of(
|
||||||
|
"msg",
|
||||||
BukkitUtil.LEGACY_COMPONENT_SERIALIZER.deserialize(ChatColor.translateAlternateColorCodes(
|
BukkitUtil.LEGACY_COMPONENT_SERIALIZER.deserialize(ChatColor.translateAlternateColorCodes(
|
||||||
'&',
|
'&',
|
||||||
message
|
message
|
||||||
@ -1116,7 +1117,9 @@ public class PlayerEventListener extends PlotListener implements Listener {
|
|||||||
|
|
||||||
// todo: when the code above is rearranged, it would be great to beautify this as well.
|
// todo: when the code above is rearranged, it would be great to beautify this as well.
|
||||||
// will code this as a temporary, specific bug fix (for dragon eggs)
|
// will code this as a temporary, specific bug fix (for dragon eggs)
|
||||||
if (blockType != Material.DRAGON_EGG) return;
|
if (blockType != Material.DRAGON_EGG) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
eventType = PlayerBlockEventType.INTERACT_BLOCK;
|
eventType = PlayerBlockEventType.INTERACT_BLOCK;
|
||||||
blocktype1 = BukkitAdapter.asBlockType(block.getType());
|
blocktype1 = BukkitAdapter.asBlockType(block.getType());
|
||||||
|
@ -34,8 +34,9 @@ import org.checkerframework.checker.nullness.qual.Nullable;
|
|||||||
/**
|
/**
|
||||||
* Multiverse specific manager that informs Multiverse of
|
* Multiverse specific manager that informs Multiverse of
|
||||||
* world creation by executing a console command
|
* world creation by executing a console command
|
||||||
|
*
|
||||||
* @deprecated Deprecated and scheduled for removal without replacement
|
* @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)
|
@Deprecated(forRemoval = true)
|
||||||
@Singleton
|
@Singleton
|
||||||
|
@ -88,8 +88,10 @@ public class BukkitOfflinePlayer implements OfflinePlotPlayer {
|
|||||||
final @NonNull String stub,
|
final @NonNull String stub,
|
||||||
final @NonNull String key
|
final @NonNull String key
|
||||||
) {
|
) {
|
||||||
return this.permissionProfile.hasPermission(world, stub + "." + key) || this.permissionProfile.hasPermission(world,
|
return this.permissionProfile.hasPermission(world, stub + "." + key) || this.permissionProfile.hasPermission(
|
||||||
stub + ".*");
|
world,
|
||||||
|
stub + ".*"
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -55,6 +55,8 @@ import net.kyori.adventure.platform.bukkit.BukkitAudiences;
|
|||||||
import net.kyori.adventure.text.minimessage.MiniMessage;
|
import net.kyori.adventure.text.minimessage.MiniMessage;
|
||||||
import net.kyori.adventure.text.minimessage.Template;
|
import net.kyori.adventure.text.minimessage.Template;
|
||||||
import net.kyori.adventure.text.serializer.legacy.LegacyComponentSerializer;
|
import net.kyori.adventure.text.serializer.legacy.LegacyComponentSerializer;
|
||||||
|
import org.apache.logging.log4j.LogManager;
|
||||||
|
import org.apache.logging.log4j.Logger;
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.Chunk;
|
import org.bukkit.Chunk;
|
||||||
import org.bukkit.Material;
|
import org.bukkit.Material;
|
||||||
@ -98,8 +100,6 @@ import org.bukkit.entity.WaterMob;
|
|||||||
import org.checkerframework.checker.index.qual.NonNegative;
|
import org.checkerframework.checker.index.qual.NonNegative;
|
||||||
import org.checkerframework.checker.nullness.qual.NonNull;
|
import org.checkerframework.checker.nullness.qual.NonNull;
|
||||||
import org.checkerframework.checker.nullness.qual.Nullable;
|
import org.checkerframework.checker.nullness.qual.Nullable;
|
||||||
import org.apache.logging.log4j.LogManager;
|
|
||||||
import org.apache.logging.log4j.Logger;
|
|
||||||
|
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
import java.util.HashSet;
|
import java.util.HashSet;
|
||||||
@ -140,7 +140,8 @@ public class BukkitUtil extends WorldUtil {
|
|||||||
*/
|
*/
|
||||||
public static @NonNull Location adapt(final org.bukkit.@NonNull Location location) {
|
public static @NonNull Location adapt(final org.bukkit.@NonNull Location location) {
|
||||||
return Location
|
return Location
|
||||||
.at(com.plotsquared.bukkit.util.BukkitWorld.of(location.getWorld()),
|
.at(
|
||||||
|
com.plotsquared.bukkit.util.BukkitWorld.of(location.getWorld()),
|
||||||
MathMan.roundInt(location.getX()),
|
MathMan.roundInt(location.getX()),
|
||||||
MathMan.roundInt(location.getY()),
|
MathMan.roundInt(location.getY()),
|
||||||
MathMan.roundInt(location.getZ())
|
MathMan.roundInt(location.getZ())
|
||||||
@ -156,7 +157,8 @@ public class BukkitUtil extends WorldUtil {
|
|||||||
*/
|
*/
|
||||||
public static @NonNull Location adaptComplete(final org.bukkit.@NonNull Location location) {
|
public static @NonNull Location adaptComplete(final org.bukkit.@NonNull Location location) {
|
||||||
return Location
|
return Location
|
||||||
.at(com.plotsquared.bukkit.util.BukkitWorld.of(location.getWorld()),
|
.at(
|
||||||
|
com.plotsquared.bukkit.util.BukkitWorld.of(location.getWorld()),
|
||||||
MathMan.roundInt(location.getX()),
|
MathMan.roundInt(location.getX()),
|
||||||
MathMan.roundInt(location.getY()),
|
MathMan.roundInt(location.getY()),
|
||||||
MathMan.roundInt(location.getZ()),
|
MathMan.roundInt(location.getZ()),
|
||||||
@ -516,45 +518,46 @@ public class BukkitUtil extends WorldUtil {
|
|||||||
tileEntityTypes.addAll(BlockCategories.FLOWER_POTS.getAll());
|
tileEntityTypes.addAll(BlockCategories.FLOWER_POTS.getAll());
|
||||||
// Individual Types
|
// Individual Types
|
||||||
// Add these from strings
|
// Add these from strings
|
||||||
Stream.of("barrel",
|
Stream.of(
|
||||||
"beacon",
|
"barrel",
|
||||||
"beehive",
|
"beacon",
|
||||||
"bee_nest",
|
"beehive",
|
||||||
"bell",
|
"bee_nest",
|
||||||
"blast_furnace",
|
"bell",
|
||||||
"brewing_stand",
|
"blast_furnace",
|
||||||
"campfire",
|
"brewing_stand",
|
||||||
"chest",
|
"campfire",
|
||||||
"ender_chest",
|
"chest",
|
||||||
"trapped_chest",
|
"ender_chest",
|
||||||
"command_block",
|
"trapped_chest",
|
||||||
"end_gateway",
|
"command_block",
|
||||||
"hopper",
|
"end_gateway",
|
||||||
"jigsaw",
|
"hopper",
|
||||||
"jubekox",
|
"jigsaw",
|
||||||
"lectern",
|
"jubekox",
|
||||||
"note_block",
|
"lectern",
|
||||||
"black_shulker_box",
|
"note_block",
|
||||||
"blue_shulker_box",
|
"black_shulker_box",
|
||||||
"brown_shulker_box",
|
"blue_shulker_box",
|
||||||
"cyan_shulker_box",
|
"brown_shulker_box",
|
||||||
"gray_shulker_box",
|
"cyan_shulker_box",
|
||||||
"green_shulker_box",
|
"gray_shulker_box",
|
||||||
"light_blue_shulker_box",
|
"green_shulker_box",
|
||||||
"light_gray_shulker_box",
|
"light_blue_shulker_box",
|
||||||
"lime_shulker_box",
|
"light_gray_shulker_box",
|
||||||
"magenta_shulker_box",
|
"lime_shulker_box",
|
||||||
"orange_shulker_box",
|
"magenta_shulker_box",
|
||||||
"pink_shulker_box",
|
"orange_shulker_box",
|
||||||
"purple_shulker_box",
|
"pink_shulker_box",
|
||||||
"red_shulker_box",
|
"purple_shulker_box",
|
||||||
"shulker_box",
|
"red_shulker_box",
|
||||||
"white_shulker_box",
|
"shulker_box",
|
||||||
"yellow_shulker_box",
|
"white_shulker_box",
|
||||||
"smoker",
|
"yellow_shulker_box",
|
||||||
"structure_block",
|
"smoker",
|
||||||
"structure_void"
|
"structure_block",
|
||||||
)
|
"structure_void"
|
||||||
|
)
|
||||||
.map(BlockTypes::get).filter(Objects::nonNull).forEach(tileEntityTypes::add);
|
.map(BlockTypes::get).filter(Objects::nonNull).forEach(tileEntityTypes::add);
|
||||||
}
|
}
|
||||||
return this.tileEntityTypes;
|
return this.tileEntityTypes;
|
||||||
|
@ -33,12 +33,12 @@ import com.sk89q.worldedit.bukkit.BukkitWorld;
|
|||||||
import com.sk89q.worldedit.math.BlockVector3;
|
import com.sk89q.worldedit.math.BlockVector3;
|
||||||
import com.sk89q.worldedit.regions.CuboidRegion;
|
import com.sk89q.worldedit.regions.CuboidRegion;
|
||||||
import com.sk89q.worldedit.world.block.BaseBlock;
|
import com.sk89q.worldedit.world.block.BaseBlock;
|
||||||
|
import org.apache.logging.log4j.LogManager;
|
||||||
|
import org.apache.logging.log4j.Logger;
|
||||||
import org.bukkit.Chunk;
|
import org.bukkit.Chunk;
|
||||||
import org.bukkit.World;
|
import org.bukkit.World;
|
||||||
import org.bukkit.entity.Entity;
|
import org.bukkit.entity.Entity;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
import org.apache.logging.log4j.LogManager;
|
|
||||||
import org.apache.logging.log4j.Logger;
|
|
||||||
|
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.HashSet;
|
import java.util.HashSet;
|
||||||
|
@ -32,12 +32,12 @@ import com.google.inject.Inject;
|
|||||||
import com.plotsquared.core.PlotSquared;
|
import com.plotsquared.core.PlotSquared;
|
||||||
import com.plotsquared.core.PlotVersion;
|
import com.plotsquared.core.PlotVersion;
|
||||||
import com.plotsquared.core.configuration.Settings;
|
import com.plotsquared.core.configuration.Settings;
|
||||||
|
import org.apache.logging.log4j.LogManager;
|
||||||
|
import org.apache.logging.log4j.Logger;
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.event.Listener;
|
import org.bukkit.event.Listener;
|
||||||
import org.bukkit.plugin.java.JavaPlugin;
|
import org.bukkit.plugin.java.JavaPlugin;
|
||||||
import org.bukkit.scheduler.BukkitTask;
|
import org.bukkit.scheduler.BukkitTask;
|
||||||
import org.apache.logging.log4j.LogManager;
|
|
||||||
import org.apache.logging.log4j.Logger;
|
|
||||||
|
|
||||||
import javax.net.ssl.HttpsURLConnection;
|
import javax.net.ssl.HttpsURLConnection;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
|
@ -32,9 +32,9 @@ import com.plotsquared.core.uuid.UUIDService;
|
|||||||
import com.sk89q.squirrelid.Profile;
|
import com.sk89q.squirrelid.Profile;
|
||||||
import com.sk89q.squirrelid.resolver.HttpRepositoryService;
|
import com.sk89q.squirrelid.resolver.HttpRepositoryService;
|
||||||
import com.sk89q.squirrelid.resolver.ProfileService;
|
import com.sk89q.squirrelid.resolver.ProfileService;
|
||||||
import org.checkerframework.checker.nullness.qual.NonNull;
|
|
||||||
import org.apache.logging.log4j.LogManager;
|
import org.apache.logging.log4j.LogManager;
|
||||||
import org.apache.logging.log4j.Logger;
|
import org.apache.logging.log4j.Logger;
|
||||||
|
import org.checkerframework.checker.nullness.qual.NonNull;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
@ -152,7 +152,8 @@ public class PlotAPI {
|
|||||||
*/
|
*/
|
||||||
public void sendConsoleMessage(
|
public void sendConsoleMessage(
|
||||||
final @NonNull String message,
|
final @NonNull String message,
|
||||||
final @NonNull Template @NonNull... replacements) {
|
final @NonNull Template @NonNull ... replacements
|
||||||
|
) {
|
||||||
ConsolePlayer.getConsole().sendMessage(StaticCaption.of(message), replacements);
|
ConsolePlayer.getConsole().sendMessage(StaticCaption.of(message), replacements);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -164,7 +165,7 @@ public class PlotAPI {
|
|||||||
*/
|
*/
|
||||||
public void sendConsoleMessage(
|
public void sendConsoleMessage(
|
||||||
final @NonNull Caption caption,
|
final @NonNull Caption caption,
|
||||||
final @NonNull Template @NonNull... replacements
|
final @NonNull Template @NonNull ... replacements
|
||||||
) {
|
) {
|
||||||
ConsolePlayer.getConsole().sendMessage(caption, replacements);
|
ConsolePlayer.getConsole().sendMessage(caption, replacements);
|
||||||
}
|
}
|
||||||
|
@ -73,11 +73,11 @@ import com.plotsquared.core.util.task.TaskManager;
|
|||||||
import com.plotsquared.core.uuid.UUIDPipeline;
|
import com.plotsquared.core.uuid.UUIDPipeline;
|
||||||
import com.sk89q.worldedit.WorldEdit;
|
import com.sk89q.worldedit.WorldEdit;
|
||||||
import com.sk89q.worldedit.math.BlockVector2;
|
import com.sk89q.worldedit.math.BlockVector2;
|
||||||
|
import org.apache.logging.log4j.LogManager;
|
||||||
|
import org.apache.logging.log4j.Logger;
|
||||||
import org.checkerframework.checker.nullness.qual.MonotonicNonNull;
|
import org.checkerframework.checker.nullness.qual.MonotonicNonNull;
|
||||||
import org.checkerframework.checker.nullness.qual.NonNull;
|
import org.checkerframework.checker.nullness.qual.NonNull;
|
||||||
import org.checkerframework.checker.nullness.qual.Nullable;
|
import org.checkerframework.checker.nullness.qual.Nullable;
|
||||||
import org.apache.logging.log4j.LogManager;
|
|
||||||
import org.apache.logging.log4j.Logger;
|
|
||||||
|
|
||||||
import java.io.BufferedReader;
|
import java.io.BufferedReader;
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
@ -135,8 +135,8 @@ public class PlotSquared {
|
|||||||
new UUIDPipeline(Executors.newSingleThreadExecutor());
|
new UUIDPipeline(Executors.newSingleThreadExecutor());
|
||||||
// Localization
|
// Localization
|
||||||
private final Map<String, CaptionMap> captionMaps = new HashMap<>();
|
private final Map<String, CaptionMap> captionMaps = new HashMap<>();
|
||||||
private CaptionLoader captionLoader;
|
|
||||||
public HashMap<String, HashMap<PlotId, Plot>> plots_tmp;
|
public HashMap<String, HashMap<PlotId, Plot>> plots_tmp;
|
||||||
|
private CaptionLoader captionLoader;
|
||||||
// WorldEdit instance
|
// WorldEdit instance
|
||||||
private WorldEdit worldedit;
|
private WorldEdit worldedit;
|
||||||
private File configFile;
|
private File configFile;
|
||||||
@ -556,7 +556,7 @@ public class PlotSquared {
|
|||||||
*
|
*
|
||||||
* @param input an array of plots to sort
|
* @param input an array of plots to sort
|
||||||
*/
|
*/
|
||||||
private void sortPlotsByHash(final @NonNull Plot @NonNull[] input) {
|
private void sortPlotsByHash(final @NonNull Plot @NonNull [] input) {
|
||||||
List<Plot>[] bucket = new ArrayList[32];
|
List<Plot>[] bucket = new ArrayList[32];
|
||||||
Arrays.fill(bucket, new ArrayList<>());
|
Arrays.fill(bucket, new ArrayList<>());
|
||||||
boolean maxLength = false;
|
boolean maxLength = false;
|
||||||
|
@ -66,6 +66,7 @@ public class PlayerBackupProfile implements BackupProfile {
|
|||||||
private final SchematicHandler schematicHandler;
|
private final SchematicHandler schematicHandler;
|
||||||
private final Object backupLock = new Object();
|
private final Object backupLock = new Object();
|
||||||
private volatile List<Backup> backupCache;
|
private volatile List<Backup> backupCache;
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
public PlayerBackupProfile(
|
public PlayerBackupProfile(
|
||||||
@Assisted final @NonNull UUID owner, @Assisted final @NonNull Plot plot,
|
@Assisted final @NonNull UUID owner, @Assisted final @NonNull Plot plot,
|
||||||
|
@ -261,8 +261,8 @@ public class Area extends SubCommand {
|
|||||||
|
|
||||||
// Now the schematic is saved, which is wonderful!
|
// Now the schematic is saved, which is wonderful!
|
||||||
PlotAreaBuilder singleBuilder = PlotAreaBuilder.ofPlotArea(hybridPlotWorld).plotManager(PlotSquared
|
PlotAreaBuilder singleBuilder = PlotAreaBuilder.ofPlotArea(hybridPlotWorld).plotManager(PlotSquared
|
||||||
.platform()
|
.platform()
|
||||||
.pluginName())
|
.pluginName())
|
||||||
.generatorName(PlotSquared.platform().pluginName()).maximumId(plotId).minimumId(plotId);
|
.generatorName(PlotSquared.platform().pluginName()).maximumId(plotId).minimumId(plotId);
|
||||||
Runnable singleRun = () -> {
|
Runnable singleRun = () -> {
|
||||||
final String path =
|
final String path =
|
||||||
@ -310,9 +310,9 @@ public class Area extends SubCommand {
|
|||||||
switch (args[1].toLowerCase()) {
|
switch (args[1].toLowerCase()) {
|
||||||
case "pos1" -> { // Set position 1
|
case "pos1" -> { // Set position 1
|
||||||
HybridPlotWorld area = (HybridPlotWorld) metaData.computeIfAbsent(
|
HybridPlotWorld area = (HybridPlotWorld) metaData.computeIfAbsent(
|
||||||
player.getUUID(),
|
player.getUUID(),
|
||||||
missingUUID -> new HashMap<>()
|
missingUUID -> new HashMap<>()
|
||||||
)
|
)
|
||||||
.get("area_create_area");
|
.get("area_create_area");
|
||||||
if (area == null) {
|
if (area == null) {
|
||||||
player.sendMessage(
|
player.sendMessage(
|
||||||
@ -340,9 +340,9 @@ public class Area extends SubCommand {
|
|||||||
case "pos2" -> { // Set position 2 and finish creation for type=2 (partial)
|
case "pos2" -> { // Set position 2 and finish creation for type=2 (partial)
|
||||||
final HybridPlotWorld area =
|
final HybridPlotWorld area =
|
||||||
(HybridPlotWorld) metaData.computeIfAbsent(
|
(HybridPlotWorld) metaData.computeIfAbsent(
|
||||||
player.getUUID(),
|
player.getUUID(),
|
||||||
missingUUID -> new HashMap<>()
|
missingUUID -> new HashMap<>()
|
||||||
)
|
)
|
||||||
.get("area_create_area");
|
.get("area_create_area");
|
||||||
if (area == null) {
|
if (area == null) {
|
||||||
player.sendMessage(
|
player.sendMessage(
|
||||||
@ -378,8 +378,8 @@ public class Area extends SubCommand {
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
PlotAreaBuilder builder = PlotAreaBuilder.ofPlotArea(area).plotManager(PlotSquared
|
PlotAreaBuilder builder = PlotAreaBuilder.ofPlotArea(area).plotManager(PlotSquared
|
||||||
.platform()
|
.platform()
|
||||||
.pluginName())
|
.pluginName())
|
||||||
.generatorName(PlotSquared.platform().pluginName()).minimumId(PlotId.of(1, 1))
|
.generatorName(PlotSquared.platform().pluginName()).minimumId(PlotId.of(1, 1))
|
||||||
.maximumId(PlotId.of(numX, numZ));
|
.maximumId(PlotId.of(numX, numZ));
|
||||||
final String path =
|
final String path =
|
||||||
@ -718,8 +718,8 @@ public class Area extends SubCommand {
|
|||||||
generatorTemplate
|
generatorTemplate
|
||||||
));
|
));
|
||||||
Template tooltipTemplate = Template.of("hover_info", tooltip);
|
Template tooltipTemplate = Template.of("hover_info", tooltip);
|
||||||
Template visitcmdTemplate = Template.of("command_tp", "/plot area tp " + area.toString());
|
Template visitcmdTemplate = Template.of("command_tp", "/plot area tp " + area);
|
||||||
Template infocmdTemplate = Template.of("command_info", "/plot area info " + area.toString());
|
Template infocmdTemplate = Template.of("command_info", "/plot area info " + area);
|
||||||
Template numberTemplate = Template.of("number", String.valueOf(i));
|
Template numberTemplate = Template.of("number", String.valueOf(i));
|
||||||
Template nameTemplate = Template.of("area_name", name);
|
Template nameTemplate = Template.of("area_name", name);
|
||||||
Template typeTemplate = Template.of("area_type", area.getType().name());
|
Template typeTemplate = Template.of("area_type", area.getType().name());
|
||||||
@ -844,8 +844,8 @@ public class Area extends SubCommand {
|
|||||||
completions.add("tp");
|
completions.add("tp");
|
||||||
}
|
}
|
||||||
final List<Command> commands = completions.stream().filter(completion -> completion
|
final List<Command> commands = completions.stream().filter(completion -> completion
|
||||||
.toLowerCase()
|
.toLowerCase()
|
||||||
.startsWith(args[0].toLowerCase()))
|
.startsWith(args[0].toLowerCase()))
|
||||||
.map(completion -> new Command(
|
.map(completion -> new Command(
|
||||||
null,
|
null,
|
||||||
true,
|
true,
|
||||||
|
@ -316,8 +316,10 @@ public final class Backup extends Command {
|
|||||||
if (number < 1 || number > backups.size()) {
|
if (number < 1 || number > backups.size()) {
|
||||||
player.sendMessage(
|
player.sendMessage(
|
||||||
TranslatableCaption.of("backups.backup_impossible"),
|
TranslatableCaption.of("backups.backup_impossible"),
|
||||||
Template.of("plot",
|
Template.of(
|
||||||
TranslatableCaption.of("generic.generic_invalid_choice").getComponent(player))
|
"plot",
|
||||||
|
TranslatableCaption.of("generic.generic_invalid_choice").getComponent(player)
|
||||||
|
)
|
||||||
);
|
);
|
||||||
} else {
|
} else {
|
||||||
final com.plotsquared.core.backup.Backup backup =
|
final com.plotsquared.core.backup.Backup backup =
|
||||||
@ -326,7 +328,10 @@ public final class Backup extends Command {
|
|||||||
.exists(backup.getFile())) {
|
.exists(backup.getFile())) {
|
||||||
player.sendMessage(
|
player.sendMessage(
|
||||||
TranslatableCaption.of("backups.backup_impossible"),
|
TranslatableCaption.of("backups.backup_impossible"),
|
||||||
Template.of("plot", TranslatableCaption.of("generic.generic_invalid_choice").getComponent(player))
|
Template.of(
|
||||||
|
"plot",
|
||||||
|
TranslatableCaption.of("generic.generic_invalid_choice").getComponent(player)
|
||||||
|
)
|
||||||
);
|
);
|
||||||
} else {
|
} else {
|
||||||
CmdConfirm.addPending(player, "/plot backup load " + number,
|
CmdConfirm.addPending(player, "/plot backup load " + number,
|
||||||
|
@ -97,7 +97,8 @@ public class Buy extends Command {
|
|||||||
if (price <= 0) {
|
if (price <= 0) {
|
||||||
throw new CommandException(TranslatableCaption.of("economy.not_for_sale"));
|
throw new CommandException(TranslatableCaption.of("economy.not_for_sale"));
|
||||||
}
|
}
|
||||||
checkTrue(this.econHandler.isSupported(),
|
checkTrue(
|
||||||
|
this.econHandler.isSupported(),
|
||||||
TranslatableCaption.of("economy.vault_or_consumer_null")
|
TranslatableCaption.of("economy.vault_or_consumer_null")
|
||||||
);
|
);
|
||||||
checkTrue(
|
checkTrue(
|
||||||
|
@ -89,7 +89,9 @@ public class Caps extends SubCommand {
|
|||||||
final int current = countedEntities[type];
|
final int current = countedEntities[type];
|
||||||
final int max = plot.getFlag(capFlag);
|
final int max = plot.getFlag(capFlag);
|
||||||
final String percentage = String.format("%.1f", 100 * ((float) current / max));
|
final String percentage = String.format("%.1f", 100 * ((float) current / max));
|
||||||
String maxBeautified = max >= Integer.MAX_VALUE ? TranslatableCaption.of("info.infinite").getComponent(player) : String.valueOf(max);
|
String maxBeautified = max >= Integer.MAX_VALUE
|
||||||
|
? TranslatableCaption.of("info.infinite").getComponent(player)
|
||||||
|
: String.valueOf(max);
|
||||||
player.sendMessage(
|
player.sendMessage(
|
||||||
TranslatableCaption.of("info.plot_caps_format"),
|
TranslatableCaption.of("info.plot_caps_format"),
|
||||||
Template.of("cap", name),
|
Template.of("cap", name),
|
||||||
|
@ -46,9 +46,9 @@ import com.plotsquared.core.util.Permissions;
|
|||||||
import com.plotsquared.core.util.PlotExpression;
|
import com.plotsquared.core.util.PlotExpression;
|
||||||
import com.plotsquared.core.util.task.TaskManager;
|
import com.plotsquared.core.util.task.TaskManager;
|
||||||
import net.kyori.adventure.text.minimessage.Template;
|
import net.kyori.adventure.text.minimessage.Template;
|
||||||
import org.checkerframework.checker.nullness.qual.NonNull;
|
|
||||||
import org.apache.logging.log4j.LogManager;
|
import org.apache.logging.log4j.LogManager;
|
||||||
import org.apache.logging.log4j.Logger;
|
import org.apache.logging.log4j.Logger;
|
||||||
|
import org.checkerframework.checker.nullness.qual.NonNull;
|
||||||
|
|
||||||
@CommandDeclaration(
|
@CommandDeclaration(
|
||||||
command = "claim",
|
command = "claim",
|
||||||
|
@ -67,8 +67,12 @@ public class Cluster extends SubCommand {
|
|||||||
// list, create, delete, resize, invite, kick, leave, helpers, tp, sethome
|
// list, create, delete, resize, invite, kick, leave, helpers, tp, sethome
|
||||||
if (args.length == 0) {
|
if (args.length == 0) {
|
||||||
// return arguments
|
// return arguments
|
||||||
player.sendMessage(TranslatableCaption.of("cluster.cluster_available_args"),
|
player.sendMessage(
|
||||||
Template.of("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>")
|
TranslatableCaption.of("cluster.cluster_available_args"),
|
||||||
|
Template.of(
|
||||||
|
"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>"
|
||||||
|
)
|
||||||
);
|
);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@ -102,7 +106,7 @@ public class Cluster extends SubCommand {
|
|||||||
);
|
);
|
||||||
for (PlotCluster cluster : clusters) {
|
for (PlotCluster cluster : clusters) {
|
||||||
// Ignore unmanaged clusters
|
// Ignore unmanaged clusters
|
||||||
String name = "'" + cluster.getName() + "' : " + cluster.toString();
|
String name = "'" + cluster.getName() + "' : " + cluster;
|
||||||
if (player.getUUID().equals(cluster.owner)) {
|
if (player.getUUID().equals(cluster.owner)) {
|
||||||
player.sendMessage(
|
player.sendMessage(
|
||||||
TranslatableCaption.of("cluster.cluster_list_element_owner"),
|
TranslatableCaption.of("cluster.cluster_list_element_owner"),
|
||||||
@ -852,8 +856,12 @@ public class Cluster extends SubCommand {
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
player.sendMessage(TranslatableCaption.of("cluster.cluster_available_args"),
|
player.sendMessage(
|
||||||
Template.of("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>")
|
TranslatableCaption.of("cluster.cluster_available_args"),
|
||||||
|
Template.of(
|
||||||
|
"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>"
|
||||||
|
)
|
||||||
);
|
);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@ -896,8 +904,8 @@ public class Cluster extends SubCommand {
|
|||||||
completions.add("sethome");
|
completions.add("sethome");
|
||||||
}
|
}
|
||||||
final List<Command> commands = completions.stream().filter(completion -> completion
|
final List<Command> commands = completions.stream().filter(completion -> completion
|
||||||
.toLowerCase()
|
.toLowerCase()
|
||||||
.startsWith(args[0].toLowerCase()))
|
.startsWith(args[0].toLowerCase()))
|
||||||
.map(completion -> new Command(
|
.map(completion -> new Command(
|
||||||
null,
|
null,
|
||||||
true,
|
true,
|
||||||
|
@ -88,7 +88,7 @@ public class Condense extends SubCommand {
|
|||||||
if (args.length == 2) {
|
if (args.length == 2) {
|
||||||
player.sendMessage(
|
player.sendMessage(
|
||||||
TranslatableCaption.of("commandconfig.command_syntax"),
|
TranslatableCaption.of("commandconfig.command_syntax"),
|
||||||
Template.of("value", "/plot condense" + area.toString() + " start <radius>")
|
Template.of("value", "/plot condense" + area + " start <radius>")
|
||||||
);
|
);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@ -229,7 +229,7 @@ public class Condense extends SubCommand {
|
|||||||
if (args.length == 2) {
|
if (args.length == 2) {
|
||||||
player.sendMessage(
|
player.sendMessage(
|
||||||
TranslatableCaption.of("commandconfig.command_syntax"),
|
TranslatableCaption.of("commandconfig.command_syntax"),
|
||||||
Template.of("value", "/plot condense " + area.toString() + " info <radius>")
|
Template.of("value", "/plot condense " + area + " info <radius>")
|
||||||
);
|
);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
@ -77,7 +77,8 @@ public class Copy extends SubCommand {
|
|||||||
plot1.getPlotModificationManager().copy(plot2, player).thenAccept(result -> {
|
plot1.getPlotModificationManager().copy(plot2, player).thenAccept(result -> {
|
||||||
if (result) {
|
if (result) {
|
||||||
player.sendMessage(TranslatableCaption.of("move.copy_success"), Template.of("origin", String.valueOf(plot1)),
|
player.sendMessage(TranslatableCaption.of("move.copy_success"), Template.of("origin", String.valueOf(plot1)),
|
||||||
Template.of("target", String.valueOf(plot2)));
|
Template.of("target", String.valueOf(plot2))
|
||||||
|
);
|
||||||
} else {
|
} else {
|
||||||
player.sendMessage(TranslatableCaption.of("move.requires_unowned"));
|
player.sendMessage(TranslatableCaption.of("move.requires_unowned"));
|
||||||
}
|
}
|
||||||
|
@ -125,7 +125,7 @@ public class Debug extends SubCommand {
|
|||||||
for (final EntityType entityType : category.getAll()) {
|
for (final EntityType entityType : category.getAll()) {
|
||||||
builder.append(entityType.getId()).append(" ");
|
builder.append(entityType.getId()).append(" ");
|
||||||
}
|
}
|
||||||
player.sendMessage(StaticCaption.of("<prefix>" + builder.toString()));
|
player.sendMessage(StaticCaption.of("<prefix>" + builder));
|
||||||
});
|
});
|
||||||
EntityType.REGISTRY.values().stream().sorted(Comparator.comparing(EntityType::getId))
|
EntityType.REGISTRY.values().stream().sorted(Comparator.comparing(EntityType::getId))
|
||||||
.forEach(entityType -> {
|
.forEach(entityType -> {
|
||||||
|
@ -80,7 +80,8 @@ public class DebugExec extends SubCommand {
|
|||||||
@Override
|
@Override
|
||||||
public boolean onCommand(final PlotPlayer<?> player, String[] args) {
|
public boolean onCommand(final PlotPlayer<?> player, String[] args) {
|
||||||
List<String> allowedParams = Arrays
|
List<String> allowedParams = Arrays
|
||||||
.asList("analyze",
|
.asList(
|
||||||
|
"analyze",
|
||||||
"calibrate-analysis",
|
"calibrate-analysis",
|
||||||
"start-expire",
|
"start-expire",
|
||||||
"stop-expire",
|
"stop-expire",
|
||||||
|
@ -65,8 +65,8 @@ public class Dislike extends SubCommand {
|
|||||||
completions.add("purge");
|
completions.add("purge");
|
||||||
}
|
}
|
||||||
final List<Command> commands = completions.stream().filter(completion -> completion
|
final List<Command> commands = completions.stream().filter(completion -> completion
|
||||||
.toLowerCase()
|
.toLowerCase()
|
||||||
.startsWith(args[0].toLowerCase()))
|
.startsWith(args[0].toLowerCase()))
|
||||||
.map(completion -> new Command(null, true, completion, "", RequiredType.PLAYER, CommandCategory.INFO) {
|
.map(completion -> new Command(null, true, completion, "", RequiredType.PLAYER, CommandCategory.INFO) {
|
||||||
}).collect(Collectors.toCollection(LinkedList::new));
|
}).collect(Collectors.toCollection(LinkedList::new));
|
||||||
if (Permissions.hasPermission(player, Permission.PERMISSION_RATE) && args[0].length() > 0) {
|
if (Permissions.hasPermission(player, Permission.PERMISSION_RATE) && args[0].length() > 0) {
|
||||||
|
@ -161,8 +161,8 @@ public class Download extends SubCommand {
|
|||||||
completions.add("world");
|
completions.add("world");
|
||||||
}
|
}
|
||||||
final List<Command> commands = completions.stream().filter(completion -> completion
|
final List<Command> commands = completions.stream().filter(completion -> completion
|
||||||
.toLowerCase()
|
.toLowerCase()
|
||||||
.startsWith(args[0].toLowerCase()))
|
.startsWith(args[0].toLowerCase()))
|
||||||
.map(completion -> new Command(
|
.map(completion -> new Command(
|
||||||
null,
|
null,
|
||||||
true,
|
true,
|
||||||
|
@ -363,7 +363,8 @@ public final class FlagCommand extends Command {
|
|||||||
}
|
}
|
||||||
plot.setFlag(parsed);
|
plot.setFlag(parsed);
|
||||||
player.sendMessage(TranslatableCaption.of("flag.flag_added"), Template.of("flag", String.valueOf(args[0])),
|
player.sendMessage(TranslatableCaption.of("flag.flag_added"), Template.of("flag", String.valueOf(args[0])),
|
||||||
Template.of("value", String.valueOf(parsed)));
|
Template.of("value", String.valueOf(parsed))
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@CommandDeclaration(command = "add",
|
@CommandDeclaration(command = "add",
|
||||||
@ -430,7 +431,8 @@ public final class FlagCommand extends Command {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
player.sendMessage(TranslatableCaption.of("flag.flag_added"), Template.of("flag", String.valueOf(args[0])),
|
player.sendMessage(TranslatableCaption.of("flag.flag_added"), Template.of("flag", String.valueOf(args[0])),
|
||||||
Template.of("value", String.valueOf(parsed)));
|
Template.of("value", String.valueOf(parsed))
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@CommandDeclaration(command = "remove",
|
@CommandDeclaration(command = "remove",
|
||||||
@ -539,7 +541,8 @@ public final class FlagCommand extends Command {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
player.sendMessage(TranslatableCaption.of("flag.flag_removed"), Template.of("flag", args[0]), Template.of("value",
|
player.sendMessage(TranslatableCaption.of("flag.flag_removed"), Template.of("flag", args[0]), Template.of(
|
||||||
|
"value",
|
||||||
String.valueOf(flag)
|
String.valueOf(flag)
|
||||||
));
|
));
|
||||||
}
|
}
|
||||||
@ -582,7 +585,8 @@ public final class FlagCommand extends Command {
|
|||||||
while (flagIterator.hasNext()) {
|
while (flagIterator.hasNext()) {
|
||||||
final String flag = flagIterator.next();
|
final String flag = flagIterator.next();
|
||||||
builder.append(MINI_MESSAGE
|
builder.append(MINI_MESSAGE
|
||||||
.parse(TranslatableCaption.of("flag.flag_list_flag").getComponent(player),
|
.parse(
|
||||||
|
TranslatableCaption.of("flag.flag_list_flag").getComponent(player),
|
||||||
Template.of("command", "/plot flag info " + flag),
|
Template.of("command", "/plot flag info " + flag),
|
||||||
Template.of("flag", flag),
|
Template.of("flag", flag),
|
||||||
Template.of("suffix", flagIterator.hasNext() ? ", " : "")
|
Template.of("suffix", flagIterator.hasNext() ? ", " : "")
|
||||||
|
@ -164,8 +164,8 @@ public class Grant extends Command {
|
|||||||
completions.add("check");
|
completions.add("check");
|
||||||
}
|
}
|
||||||
final List<Command> commands = completions.stream().filter(completion -> completion
|
final List<Command> commands = completions.stream().filter(completion -> completion
|
||||||
.toLowerCase()
|
.toLowerCase()
|
||||||
.startsWith(args[0].toLowerCase()))
|
.startsWith(args[0].toLowerCase()))
|
||||||
.map(completion -> new Command(
|
.map(completion -> new Command(
|
||||||
null,
|
null,
|
||||||
true,
|
true,
|
||||||
|
@ -120,14 +120,16 @@ public class Help extends Command {
|
|||||||
builder.append(MINI_MESSAGE.parse(TranslatableCaption.of("help.help_header").getComponent(player)));
|
builder.append(MINI_MESSAGE.parse(TranslatableCaption.of("help.help_header").getComponent(player)));
|
||||||
for (CommandCategory c : CommandCategory.values()) {
|
for (CommandCategory c : CommandCategory.values()) {
|
||||||
builder.append(Component.newline()).append(MINI_MESSAGE
|
builder.append(Component.newline()).append(MINI_MESSAGE
|
||||||
.parse(TranslatableCaption.of("help.help_info_item").getComponent(player),
|
.parse(
|
||||||
|
TranslatableCaption.of("help.help_info_item").getComponent(player),
|
||||||
Template.of("command", "/plot help"),
|
Template.of("command", "/plot help"),
|
||||||
Template.of("category", c.name().toLowerCase()),
|
Template.of("category", c.name().toLowerCase()),
|
||||||
Template.of("category_desc", c.getComponent(player))
|
Template.of("category_desc", c.getComponent(player))
|
||||||
));
|
));
|
||||||
}
|
}
|
||||||
builder.append(Component.newline()).append(MINI_MESSAGE
|
builder.append(Component.newline()).append(MINI_MESSAGE
|
||||||
.parse(TranslatableCaption.of("help.help_info_item").getComponent(player),
|
.parse(
|
||||||
|
TranslatableCaption.of("help.help_info_item").getComponent(player),
|
||||||
Template.of("command", "/plot help"),
|
Template.of("command", "/plot help"),
|
||||||
Template.of("category", "all"),
|
Template.of("category", "all"),
|
||||||
Template.of("category_desc", "Display all commands")
|
Template.of("category_desc", "Display all commands")
|
||||||
@ -139,10 +141,10 @@ public class Help extends Command {
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
new HelpMenu(player).setCategory(catEnum).getCommands().generateMaxPages().generatePage(
|
new HelpMenu(player).setCategory(catEnum).getCommands().generateMaxPages().generatePage(
|
||||||
page - 1,
|
page - 1,
|
||||||
getParent().toString(),
|
getParent().toString(),
|
||||||
player
|
player
|
||||||
)
|
)
|
||||||
.render();
|
.render();
|
||||||
return true;
|
return true;
|
||||||
});
|
});
|
||||||
@ -151,7 +153,8 @@ public class Help extends Command {
|
|||||||
@Override
|
@Override
|
||||||
public Collection<Command> tab(PlotPlayer<?> player, String[] args, boolean space) {
|
public Collection<Command> tab(PlotPlayer<?> player, String[] args, boolean space) {
|
||||||
return Stream.of("claiming", "teleport", "settings", "chat", "schematic", "appearance", "info", "debug",
|
return Stream.of("claiming", "teleport", "settings", "chat", "schematic", "appearance", "info", "debug",
|
||||||
"administration", "all")
|
"administration", "all"
|
||||||
|
)
|
||||||
.filter(value -> value.startsWith(args[0].toLowerCase(Locale.ENGLISH)))
|
.filter(value -> value.startsWith(args[0].toLowerCase(Locale.ENGLISH)))
|
||||||
.map(value -> new Command(null, false, value, "", RequiredType.NONE, null) {
|
.map(value -> new Command(null, false, value, "", RequiredType.NONE, null) {
|
||||||
}).collect(Collectors.toList());
|
}).collect(Collectors.toList());
|
||||||
|
@ -150,7 +150,7 @@ public class Inbox extends SubCommand {
|
|||||||
if (total != 0) {
|
if (total != 0) {
|
||||||
player.sendMessage(
|
player.sendMessage(
|
||||||
TranslatableCaption.of("comment.inbox_item"),
|
TranslatableCaption.of("comment.inbox_item"),
|
||||||
Template.of("value", inbox.toString() + " (" + total + '/' + unread + ')')
|
Template.of("value", inbox + " (" + total + '/' + unread + ')')
|
||||||
);
|
);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@ -179,7 +179,7 @@ public class Inbox extends SubCommand {
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
final MetaDataKey<Long> metaDataKey = MetaDataKey.of(
|
final MetaDataKey<Long> metaDataKey = MetaDataKey.of(
|
||||||
String.format("inbox:%s", inbox.toString()),
|
String.format("inbox:%s", inbox),
|
||||||
new TypeLiteral<>() {
|
new TypeLiteral<>() {
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
@ -302,8 +302,8 @@ public class Inbox extends SubCommand {
|
|||||||
completions.add("report");
|
completions.add("report");
|
||||||
}
|
}
|
||||||
final List<Command> commands = completions.stream().filter(completion -> completion
|
final List<Command> commands = completions.stream().filter(completion -> completion
|
||||||
.toLowerCase()
|
.toLowerCase()
|
||||||
.startsWith(args[0].toLowerCase()))
|
.startsWith(args[0].toLowerCase()))
|
||||||
.map(completion -> new Command(null, true, completion, "", RequiredType.PLAYER, CommandCategory.CHAT) {
|
.map(completion -> new Command(null, true, completion, "", RequiredType.PLAYER, CommandCategory.CHAT) {
|
||||||
}).collect(Collectors.toCollection(LinkedList::new));
|
}).collect(Collectors.toCollection(LinkedList::new));
|
||||||
if (Permissions.hasPermission(player, Permission.PERMISSION_INBOX) && args[0].length() > 0) {
|
if (Permissions.hasPermission(player, Permission.PERMISSION_INBOX) && args[0].length() > 0) {
|
||||||
|
@ -155,8 +155,8 @@ public class Info extends SubCommand {
|
|||||||
}
|
}
|
||||||
|
|
||||||
final List<Command> commands = completions.stream().filter(completion -> completion
|
final List<Command> commands = completions.stream().filter(completion -> completion
|
||||||
.toLowerCase()
|
.toLowerCase()
|
||||||
.startsWith(args[0].toLowerCase()))
|
.startsWith(args[0].toLowerCase()))
|
||||||
.map(completion -> new Command(null, true, completion, "", RequiredType.PLAYER, CommandCategory.INFO) {
|
.map(completion -> new Command(null, true, completion, "", RequiredType.PLAYER, CommandCategory.INFO) {
|
||||||
}).collect(Collectors.toCollection(LinkedList::new));
|
}).collect(Collectors.toCollection(LinkedList::new));
|
||||||
|
|
||||||
|
@ -215,8 +215,8 @@ public class Like extends SubCommand {
|
|||||||
completions.add("purge");
|
completions.add("purge");
|
||||||
}
|
}
|
||||||
final List<Command> commands = completions.stream().filter(completion -> completion
|
final List<Command> commands = completions.stream().filter(completion -> completion
|
||||||
.toLowerCase()
|
.toLowerCase()
|
||||||
.startsWith(args[0].toLowerCase()))
|
.startsWith(args[0].toLowerCase()))
|
||||||
.map(completion -> new Command(null, true, completion, "", RequiredType.PLAYER, CommandCategory.INFO) {
|
.map(completion -> new Command(null, true, completion, "", RequiredType.PLAYER, CommandCategory.INFO) {
|
||||||
}).collect(Collectors.toCollection(LinkedList::new));
|
}).collect(Collectors.toCollection(LinkedList::new));
|
||||||
if (Permissions.hasPermission(player, Permission.PERMISSION_RATE) && args[0].length() > 0) {
|
if (Permissions.hasPermission(player, Permission.PERMISSION_RATE) && args[0].length() > 0) {
|
||||||
|
@ -526,8 +526,8 @@ public class ListCmd extends SubCommand {
|
|||||||
}
|
}
|
||||||
|
|
||||||
final List<Command> commands = completions.stream().filter(completion -> completion
|
final List<Command> commands = completions.stream().filter(completion -> completion
|
||||||
.toLowerCase()
|
.toLowerCase()
|
||||||
.startsWith(args[0].toLowerCase()))
|
.startsWith(args[0].toLowerCase()))
|
||||||
.map(completion -> new Command(null, true, completion, "", RequiredType.NONE, CommandCategory.TELEPORT) {
|
.map(completion -> new Command(null, true, completion, "", RequiredType.NONE, CommandCategory.TELEPORT) {
|
||||||
}).collect(Collectors.toCollection(LinkedList::new));
|
}).collect(Collectors.toCollection(LinkedList::new));
|
||||||
|
|
||||||
|
@ -44,7 +44,6 @@ import com.sk89q.worldedit.world.item.ItemTypes;
|
|||||||
import net.kyori.adventure.text.minimessage.Template;
|
import net.kyori.adventure.text.minimessage.Template;
|
||||||
|
|
||||||
import javax.annotation.Nullable;
|
import javax.annotation.Nullable;
|
||||||
|
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
import java.util.Locale;
|
import java.util.Locale;
|
||||||
@ -85,7 +84,12 @@ public class Music extends SubCommand {
|
|||||||
);
|
);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
PlotInventory inv = new PlotInventory(this.inventoryUtil, player, 2, TranslatableCaption.of("plotjukebox.jukebox_header").getComponent(player)) {
|
PlotInventory inv = new PlotInventory(
|
||||||
|
this.inventoryUtil,
|
||||||
|
player,
|
||||||
|
2,
|
||||||
|
TranslatableCaption.of("plotjukebox.jukebox_header").getComponent(player)
|
||||||
|
) {
|
||||||
@Override
|
@Override
|
||||||
public boolean onClick(int index) {
|
public boolean onClick(int index) {
|
||||||
PlotItemStack item = getItem(index);
|
PlotItemStack item = getItem(index);
|
||||||
@ -104,7 +108,8 @@ public class Music extends SubCommand {
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
plot.removeFlag(event.getFlag());
|
plot.removeFlag(event.getFlag());
|
||||||
getPlayer().sendMessage(TranslatableCaption.of("flag.flag_removed"),
|
getPlayer().sendMessage(
|
||||||
|
TranslatableCaption.of("flag.flag_removed"),
|
||||||
Template.of("flag", "music"),
|
Template.of("flag", "music"),
|
||||||
Template.of("value", "music_disc")
|
Template.of("value", "music_disc")
|
||||||
);
|
);
|
||||||
@ -121,7 +126,8 @@ public class Music extends SubCommand {
|
|||||||
}
|
}
|
||||||
plot.setFlag(event.getFlag());
|
plot.setFlag(event.getFlag());
|
||||||
getPlayer().sendMessage(TranslatableCaption.of("flag.flag_added"), Template.of("flag", "music"),
|
getPlayer().sendMessage(TranslatableCaption.of("flag.flag_added"), Template.of("flag", "music"),
|
||||||
Template.of("value", String.valueOf(event.getFlag().getValue())));
|
Template.of("value", String.valueOf(event.getFlag().getValue()))
|
||||||
|
);
|
||||||
} else {
|
} else {
|
||||||
getPlayer().sendMessage(TranslatableCaption.of("flag.flag_not_added"));
|
getPlayer().sendMessage(TranslatableCaption.of("flag.flag_not_added"));
|
||||||
}
|
}
|
||||||
|
@ -87,7 +87,8 @@ public class Owner extends SetCommand {
|
|||||||
);
|
);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
PlotChangeOwnerEvent event = this.eventDispatcher.callOwnerChange(player,
|
PlotChangeOwnerEvent event = this.eventDispatcher.callOwnerChange(
|
||||||
|
player,
|
||||||
plot,
|
plot,
|
||||||
plot.hasOwner() ? plot.getOwnerAbs() : null,
|
plot.hasOwner() ? plot.getOwnerAbs() : null,
|
||||||
uuid,
|
uuid,
|
||||||
|
@ -40,9 +40,9 @@ import com.plotsquared.core.util.query.PlotQuery;
|
|||||||
import com.plotsquared.core.util.task.TaskManager;
|
import com.plotsquared.core.util.task.TaskManager;
|
||||||
import com.plotsquared.core.uuid.UUIDMapping;
|
import com.plotsquared.core.uuid.UUIDMapping;
|
||||||
import net.kyori.adventure.text.minimessage.Template;
|
import net.kyori.adventure.text.minimessage.Template;
|
||||||
import org.checkerframework.checker.nullness.qual.NonNull;
|
|
||||||
import org.apache.logging.log4j.LogManager;
|
import org.apache.logging.log4j.LogManager;
|
||||||
import org.apache.logging.log4j.Logger;
|
import org.apache.logging.log4j.Logger;
|
||||||
|
import org.checkerframework.checker.nullness.qual.NonNull;
|
||||||
|
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.HashSet;
|
import java.util.HashSet;
|
||||||
|
@ -287,8 +287,8 @@ public class Rate extends SubCommand {
|
|||||||
completions.add("purge");
|
completions.add("purge");
|
||||||
}
|
}
|
||||||
final List<Command> commands = completions.stream().filter(completion -> completion
|
final List<Command> commands = completions.stream().filter(completion -> completion
|
||||||
.toLowerCase()
|
.toLowerCase()
|
||||||
.startsWith(args[0].toLowerCase()))
|
.startsWith(args[0].toLowerCase()))
|
||||||
.map(completion -> new Command(null, true, completion, "", RequiredType.PLAYER, CommandCategory.INFO) {
|
.map(completion -> new Command(null, true, completion, "", RequiredType.PLAYER, CommandCategory.INFO) {
|
||||||
}).collect(Collectors.toCollection(LinkedList::new));
|
}).collect(Collectors.toCollection(LinkedList::new));
|
||||||
if (Permissions.hasPermission(player, Permission.PERMISSION_RATE) && args[0].length() > 0) {
|
if (Permissions.hasPermission(player, Permission.PERMISSION_RATE) && args[0].length() > 0) {
|
||||||
|
@ -305,8 +305,8 @@ public class SchematicCmd extends SubCommand {
|
|||||||
completions.add("paste");
|
completions.add("paste");
|
||||||
}
|
}
|
||||||
final List<Command> commands = completions.stream().filter(completion -> completion
|
final List<Command> commands = completions.stream().filter(completion -> completion
|
||||||
.toLowerCase()
|
.toLowerCase()
|
||||||
.startsWith(args[0].toLowerCase()))
|
.startsWith(args[0].toLowerCase()))
|
||||||
.map(completion -> new Command(
|
.map(completion -> new Command(
|
||||||
null,
|
null,
|
||||||
true,
|
true,
|
||||||
|
@ -282,8 +282,8 @@ public class Set extends SubCommand {
|
|||||||
completions.add("middle");
|
completions.add("middle");
|
||||||
}
|
}
|
||||||
final List<Command> commands = completions.stream().filter(completion -> completion
|
final List<Command> commands = completions.stream().filter(completion -> completion
|
||||||
.toLowerCase()
|
.toLowerCase()
|
||||||
.startsWith(args[0].toLowerCase()))
|
.startsWith(args[0].toLowerCase()))
|
||||||
.map(completion -> new Command(null, true, completion, "", RequiredType.NONE, CommandCategory.APPEARANCE) {
|
.map(completion -> new Command(null, true, completion, "", RequiredType.NONE, CommandCategory.APPEARANCE) {
|
||||||
}).collect(Collectors.toCollection(LinkedList::new));
|
}).collect(Collectors.toCollection(LinkedList::new));
|
||||||
|
|
||||||
|
@ -86,7 +86,8 @@ public class Swap extends SubCommand {
|
|||||||
}, true).thenApply(result -> {
|
}, true).thenApply(result -> {
|
||||||
if (result) {
|
if (result) {
|
||||||
player.sendMessage(TranslatableCaption.of("swap.swap_success"), Template.of("origin", String.valueOf(plot1)),
|
player.sendMessage(TranslatableCaption.of("swap.swap_success"), Template.of("origin", String.valueOf(plot1)),
|
||||||
Template.of("target", String.valueOf(plot2)));
|
Template.of("target", String.valueOf(plot2))
|
||||||
|
);
|
||||||
return true;
|
return true;
|
||||||
} else {
|
} else {
|
||||||
player.sendMessage(TranslatableCaption.of("swap.swap_overlap"));
|
player.sendMessage(TranslatableCaption.of("swap.swap_overlap"));
|
||||||
|
@ -293,8 +293,8 @@ public class Template extends SubCommand {
|
|||||||
completions.add("import");
|
completions.add("import");
|
||||||
}
|
}
|
||||||
final List<Command> commands = completions.stream().filter(completion -> completion
|
final List<Command> commands = completions.stream().filter(completion -> completion
|
||||||
.toLowerCase()
|
.toLowerCase()
|
||||||
.startsWith(args[0].toLowerCase()))
|
.startsWith(args[0].toLowerCase()))
|
||||||
.map(completion -> new Command(
|
.map(completion -> new Command(
|
||||||
null,
|
null,
|
||||||
true,
|
true,
|
||||||
|
@ -46,9 +46,9 @@ import com.plotsquared.core.util.task.TaskManager;
|
|||||||
import com.plotsquared.core.util.task.TaskTime;
|
import com.plotsquared.core.util.task.TaskTime;
|
||||||
import com.sk89q.worldedit.math.BlockVector2;
|
import com.sk89q.worldedit.math.BlockVector2;
|
||||||
import com.sk89q.worldedit.regions.CuboidRegion;
|
import com.sk89q.worldedit.regions.CuboidRegion;
|
||||||
import org.checkerframework.checker.nullness.qual.NonNull;
|
|
||||||
import org.apache.logging.log4j.LogManager;
|
import org.apache.logging.log4j.LogManager;
|
||||||
import org.apache.logging.log4j.Logger;
|
import org.apache.logging.log4j.Logger;
|
||||||
|
import org.checkerframework.checker.nullness.qual.NonNull;
|
||||||
|
|
||||||
import java.util.HashSet;
|
import java.util.HashSet;
|
||||||
import java.util.Iterator;
|
import java.util.Iterator;
|
||||||
|
@ -47,10 +47,10 @@ import com.sk89q.worldedit.function.pattern.Pattern;
|
|||||||
import com.sk89q.worldedit.world.item.ItemTypes;
|
import com.sk89q.worldedit.world.item.ItemTypes;
|
||||||
import net.kyori.adventure.text.minimessage.MiniMessage;
|
import net.kyori.adventure.text.minimessage.MiniMessage;
|
||||||
import net.kyori.adventure.text.minimessage.Template;
|
import net.kyori.adventure.text.minimessage.Template;
|
||||||
import org.checkerframework.checker.nullness.qual.NonNull;
|
|
||||||
import org.checkerframework.checker.nullness.qual.Nullable;
|
|
||||||
import org.apache.logging.log4j.LogManager;
|
import org.apache.logging.log4j.LogManager;
|
||||||
import org.apache.logging.log4j.Logger;
|
import org.apache.logging.log4j.Logger;
|
||||||
|
import org.checkerframework.checker.nullness.qual.NonNull;
|
||||||
|
import org.checkerframework.checker.nullness.qual.Nullable;
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
@ -123,7 +123,8 @@ public class ComponentPresetManager {
|
|||||||
.collect(Collectors.toList());
|
.collect(Collectors.toList());
|
||||||
} else {
|
} else {
|
||||||
final List<ComponentPreset> defaultPreset = Collections.singletonList(
|
final List<ComponentPreset> defaultPreset = Collections.singletonList(
|
||||||
new ComponentPreset(ClassicPlotManagerComponent.FLOOR,
|
new ComponentPreset(
|
||||||
|
ClassicPlotManagerComponent.FLOOR,
|
||||||
"##wool",
|
"##wool",
|
||||||
0,
|
0,
|
||||||
"",
|
"",
|
||||||
@ -160,7 +161,10 @@ public class ComponentPresetManager {
|
|||||||
} else if (!plot.hasOwner()) {
|
} else if (!plot.hasOwner()) {
|
||||||
player.sendMessage(TranslatableCaption.of("info.plot_unowned"));
|
player.sendMessage(TranslatableCaption.of("info.plot_unowned"));
|
||||||
return null;
|
return null;
|
||||||
} else if (!plot.isOwner(player.getUUID()) && !plot.getTrusted().contains(player.getUUID()) && !Permissions.hasPermission(player, Permission.PERMISSION_ADMIN_COMPONENTS_OTHER)) {
|
} else if (!plot.isOwner(player.getUUID()) && !plot.getTrusted().contains(player.getUUID()) && !Permissions.hasPermission(
|
||||||
|
player,
|
||||||
|
Permission.PERMISSION_ADMIN_COMPONENTS_OTHER
|
||||||
|
)) {
|
||||||
player.sendMessage(TranslatableCaption.of("permission.no_plot_perms"));
|
player.sendMessage(TranslatableCaption.of("permission.no_plot_perms"));
|
||||||
return null;
|
return null;
|
||||||
} else if (plot.getVolume() > Integer.MAX_VALUE) {
|
} else if (plot.getVolume() > Integer.MAX_VALUE) {
|
||||||
|
@ -792,6 +792,7 @@ public class Settings extends Config {
|
|||||||
);
|
);
|
||||||
@Comment("Whether PlotSquared should hook into MvDWPlaceholderAPI or not")
|
@Comment("Whether PlotSquared should hook into MvDWPlaceholderAPI or not")
|
||||||
public static boolean USE_MVDWAPI = true;
|
public static boolean USE_MVDWAPI = true;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -31,7 +31,6 @@ import com.plotsquared.core.plot.flag.PlotFlag;
|
|||||||
import com.plotsquared.core.plot.flag.implementations.DescriptionFlag;
|
import com.plotsquared.core.plot.flag.implementations.DescriptionFlag;
|
||||||
import com.plotsquared.core.plot.flag.implementations.FarewellFlag;
|
import com.plotsquared.core.plot.flag.implementations.FarewellFlag;
|
||||||
import com.plotsquared.core.plot.flag.implementations.GreetingFlag;
|
import com.plotsquared.core.plot.flag.implementations.GreetingFlag;
|
||||||
import com.plotsquared.core.plot.flag.types.StringFlag;
|
|
||||||
import com.plotsquared.core.plot.flag.implementations.PlotTitleFlag;
|
import com.plotsquared.core.plot.flag.implementations.PlotTitleFlag;
|
||||||
import net.kyori.adventure.text.Component;
|
import net.kyori.adventure.text.Component;
|
||||||
import net.kyori.adventure.text.event.ClickEvent;
|
import net.kyori.adventure.text.event.ClickEvent;
|
||||||
@ -103,7 +102,6 @@ public class CaptionUtility {
|
|||||||
*
|
*
|
||||||
* @param miniMessageString the message from which the specified click events should be removed from.
|
* @param miniMessageString the message from which the specified click events should be removed from.
|
||||||
* @return the string without the click events that are configured to be removed.
|
* @return the string without the click events that are configured to be removed.
|
||||||
*
|
|
||||||
* @see Settings.Chat#CLICK_EVENT_ACTIONS_TO_REMOVE
|
* @see Settings.Chat#CLICK_EVENT_ACTIONS_TO_REMOVE
|
||||||
*/
|
*/
|
||||||
public static String stripClickEvents(final @NonNull String miniMessageString) {
|
public static String stripClickEvents(final @NonNull String miniMessageString) {
|
||||||
@ -119,10 +117,9 @@ public class CaptionUtility {
|
|||||||
* This method works the same way as {@link #stripClickEvents(String)} but will only
|
* This method works the same way as {@link #stripClickEvents(String)} but will only
|
||||||
* strip click events from messages that target flags that are meant to contain MiniMessage strings.
|
* strip click events from messages that target flags that are meant to contain MiniMessage strings.
|
||||||
*
|
*
|
||||||
* @param flag the flag the message is targeted for.
|
* @param flag the flag the message is targeted for.
|
||||||
* @param miniMessageString the message from which the specified click events should be removed from.
|
* @param miniMessageString the message from which the specified click events should be removed from.
|
||||||
* @return the string without the click events that are configured to be removed.
|
* @return the string without the click events that are configured to be removed.
|
||||||
*
|
|
||||||
* @see Settings.Chat#CLICK_EVENT_ACTIONS_TO_REMOVE
|
* @see Settings.Chat#CLICK_EVENT_ACTIONS_TO_REMOVE
|
||||||
* @see #stripClickEvents(String)
|
* @see #stripClickEvents(String)
|
||||||
*/
|
*/
|
||||||
|
@ -49,7 +49,6 @@ public interface ChatFormatter {
|
|||||||
|
|
||||||
private final PlotPlayer<?> recipient;
|
private final PlotPlayer<?> recipient;
|
||||||
private final boolean rawOutput;
|
private final boolean rawOutput;
|
||||||
;
|
|
||||||
private String message;
|
private String message;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -34,6 +34,7 @@ import java.util.EnumSet;
|
|||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
|
|
||||||
final class ClickStripTransform implements ComponentTransform {
|
final class ClickStripTransform implements ComponentTransform {
|
||||||
|
|
||||||
private final Set<ClickEvent.@NotNull Action> actionsToStrip;
|
private final Set<ClickEvent.@NotNull Action> actionsToStrip;
|
||||||
|
|
||||||
public ClickStripTransform(final Set<ClickEvent.@NotNull Action> actionsToStrip) {
|
public ClickStripTransform(final Set<ClickEvent.@NotNull Action> actionsToStrip) {
|
||||||
@ -43,7 +44,9 @@ final class ClickStripTransform implements ComponentTransform {
|
|||||||
@Override
|
@Override
|
||||||
public @NonNull Component transform(@NonNull final Component original) {
|
public @NonNull Component transform(@NonNull final Component original) {
|
||||||
var clickEvent = original.clickEvent();
|
var clickEvent = original.clickEvent();
|
||||||
if (clickEvent == null || !actionsToStrip.contains(clickEvent.action())) return original;
|
if (clickEvent == null || !actionsToStrip.contains(clickEvent.action())) {
|
||||||
|
return original;
|
||||||
|
}
|
||||||
return original.clickEvent(null); // remove it
|
return original.clickEvent(null); // remove it
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -25,8 +25,6 @@
|
|||||||
*/
|
*/
|
||||||
package com.plotsquared.core.configuration.caption;
|
package com.plotsquared.core.configuration.caption;
|
||||||
|
|
||||||
import com.google.common.collect.Iterables;
|
|
||||||
import com.google.common.collect.Lists;
|
|
||||||
import net.kyori.adventure.text.Component;
|
import net.kyori.adventure.text.Component;
|
||||||
import org.checkerframework.checker.nullness.qual.NonNull;
|
import org.checkerframework.checker.nullness.qual.NonNull;
|
||||||
|
|
||||||
@ -37,6 +35,7 @@ import java.util.stream.Collectors;
|
|||||||
* A transform that applies a nested transform on all child components and the component itself.
|
* A transform that applies a nested transform on all child components and the component itself.
|
||||||
*/
|
*/
|
||||||
final class NestedComponentTransform implements ComponentTransform {
|
final class NestedComponentTransform implements ComponentTransform {
|
||||||
|
|
||||||
private final ComponentTransform transform;
|
private final ComponentTransform transform;
|
||||||
|
|
||||||
public NestedComponentTransform(final ComponentTransform transform) {
|
public NestedComponentTransform(final ComponentTransform transform) {
|
||||||
@ -51,4 +50,5 @@ final class NestedComponentTransform implements ComponentTransform {
|
|||||||
private List<Component> transformChildren(List<Component> children) {
|
private List<Component> transformChildren(List<Component> children) {
|
||||||
return children.stream().map(this::transform).collect(Collectors.toList());
|
return children.stream().map(this::transform).collect(Collectors.toList());
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -214,8 +214,9 @@ public final class CaptionLoader {
|
|||||||
}
|
}
|
||||||
return new LocalizedCaptionMap(locale, map.entrySet().stream()
|
return new LocalizedCaptionMap(locale, map.entrySet().stream()
|
||||||
.collect(Collectors.toMap(
|
.collect(Collectors.toMap(
|
||||||
entry -> TranslatableCaption.of(this.namespace, entry.getKey()),
|
entry -> TranslatableCaption.of(this.namespace, entry.getKey()),
|
||||||
Map.Entry::getValue)
|
Map.Entry::getValue
|
||||||
|
)
|
||||||
));
|
));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -25,10 +25,10 @@
|
|||||||
*/
|
*/
|
||||||
package com.plotsquared.core.configuration.caption.load;
|
package com.plotsquared.core.configuration.caption.load;
|
||||||
|
|
||||||
import org.checkerframework.checker.nullness.qual.NonNull;
|
|
||||||
import org.checkerframework.checker.nullness.qual.Nullable;
|
|
||||||
import org.apache.logging.log4j.LogManager;
|
import org.apache.logging.log4j.LogManager;
|
||||||
import org.apache.logging.log4j.Logger;
|
import org.apache.logging.log4j.Logger;
|
||||||
|
import org.checkerframework.checker.nullness.qual.NonNull;
|
||||||
|
import org.checkerframework.checker.nullness.qual.Nullable;
|
||||||
|
|
||||||
import java.io.BufferedReader;
|
import java.io.BufferedReader;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
|
@ -63,7 +63,7 @@ public interface DefaultCaptionProvider {
|
|||||||
final @NonNull ClassLoader classLoader,
|
final @NonNull ClassLoader classLoader,
|
||||||
final @NonNull String toFormat
|
final @NonNull String toFormat
|
||||||
) {
|
) {
|
||||||
return forClassLoader(classLoader, locale -> String.format(toFormat, locale.toString()));
|
return forClassLoader(classLoader, locale -> String.format(toFormat, locale));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -231,7 +231,7 @@ public class ConfigurationSerialization {
|
|||||||
if (result == null) {
|
if (result == null) {
|
||||||
Logger.getLogger(ConfigurationSerialization.class.getName()).log(
|
Logger.getLogger(ConfigurationSerialization.class.getName()).log(
|
||||||
Level.SEVERE,
|
Level.SEVERE,
|
||||||
"Could not call method '" + method.toString() + "' of " + this.clazz
|
"Could not call method '" + method + "' of " + this.clazz
|
||||||
+ " for deserialization: method returned null"
|
+ " for deserialization: method returned null"
|
||||||
);
|
);
|
||||||
} else {
|
} else {
|
||||||
@ -240,12 +240,12 @@ public class ConfigurationSerialization {
|
|||||||
} catch (IllegalAccessException | InvocationTargetException | IllegalArgumentException ex) {
|
} catch (IllegalAccessException | InvocationTargetException | IllegalArgumentException ex) {
|
||||||
if (ex instanceof InvocationTargetException) {
|
if (ex instanceof InvocationTargetException) {
|
||||||
Logger.getLogger(ConfigurationSerialization.class.getName()).log(Level.SEVERE,
|
Logger.getLogger(ConfigurationSerialization.class.getName()).log(Level.SEVERE,
|
||||||
"Could not call method '" + method.toString() + "' of " + this.clazz
|
"Could not call method '" + method + "' of " + this.clazz
|
||||||
+ " for deserialization", ex.getCause()
|
+ " for deserialization", ex.getCause()
|
||||||
);
|
);
|
||||||
} else {
|
} else {
|
||||||
Logger.getLogger(ConfigurationSerialization.class.getName()).log(Level.SEVERE,
|
Logger.getLogger(ConfigurationSerialization.class.getName()).log(Level.SEVERE,
|
||||||
"Could not call method '" + method.toString() + "' of " + this.clazz
|
"Could not call method '" + method + "' of " + this.clazz
|
||||||
+ " for deserialization", ex
|
+ " for deserialization", ex
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
@ -262,12 +262,12 @@ public class ConfigurationSerialization {
|
|||||||
} catch (IllegalAccessException | IllegalArgumentException | InvocationTargetException | InstantiationException ex) {
|
} catch (IllegalAccessException | IllegalArgumentException | InvocationTargetException | InstantiationException ex) {
|
||||||
if (ex instanceof InvocationTargetException) {
|
if (ex instanceof InvocationTargetException) {
|
||||||
Logger.getLogger(ConfigurationSerialization.class.getName()).log(Level.SEVERE,
|
Logger.getLogger(ConfigurationSerialization.class.getName()).log(Level.SEVERE,
|
||||||
"Could not call constructor '" + ctor.toString() + "' of " + this.clazz
|
"Could not call constructor '" + ctor + "' of " + this.clazz
|
||||||
+ " for deserialization", ex.getCause()
|
+ " for deserialization", ex.getCause()
|
||||||
);
|
);
|
||||||
} else {
|
} else {
|
||||||
Logger.getLogger(ConfigurationSerialization.class.getName()).log(Level.SEVERE,
|
Logger.getLogger(ConfigurationSerialization.class.getName()).log(Level.SEVERE,
|
||||||
"Could not call constructor '" + ctor.toString() + "' of " + this.clazz
|
"Could not call constructor '" + ctor + "' of " + this.clazz
|
||||||
+ " for deserialization", ex
|
+ " for deserialization", ex
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
@ -51,9 +51,9 @@ import com.plotsquared.core.util.HashUtil;
|
|||||||
import com.plotsquared.core.util.StringMan;
|
import com.plotsquared.core.util.StringMan;
|
||||||
import com.plotsquared.core.util.task.RunnableVal;
|
import com.plotsquared.core.util.task.RunnableVal;
|
||||||
import com.plotsquared.core.util.task.TaskManager;
|
import com.plotsquared.core.util.task.TaskManager;
|
||||||
import org.checkerframework.checker.nullness.qual.NonNull;
|
|
||||||
import org.apache.logging.log4j.LogManager;
|
import org.apache.logging.log4j.LogManager;
|
||||||
import org.apache.logging.log4j.Logger;
|
import org.apache.logging.log4j.Logger;
|
||||||
|
import org.checkerframework.checker.nullness.qual.NonNull;
|
||||||
|
|
||||||
import java.sql.Connection;
|
import java.sql.Connection;
|
||||||
import java.sql.DatabaseMetaData;
|
import java.sql.DatabaseMetaData;
|
||||||
@ -3390,22 +3390,19 @@ public class SQLManager implements AbstractDB {
|
|||||||
.toString() + "' WHERE `owner` = '" + old.toString() + '\'');
|
.toString() + "' WHERE `owner` = '" + old.toString() + '\'');
|
||||||
stmt.executeUpdate(
|
stmt.executeUpdate(
|
||||||
"UPDATE `" + SQLManager.this.prefix + "cluster_helpers` SET `user_uuid` = '"
|
"UPDATE `" + SQLManager.this.prefix + "cluster_helpers` SET `user_uuid` = '"
|
||||||
+ now.toString() + "' WHERE `user_uuid` = '" + old.toString() + '\'');
|
+ now + "' WHERE `user_uuid` = '" + old + '\'');
|
||||||
stmt.executeUpdate(
|
stmt.executeUpdate(
|
||||||
"UPDATE `" + SQLManager.this.prefix + "cluster_invited` SET `user_uuid` = '"
|
"UPDATE `" + SQLManager.this.prefix + "cluster_invited` SET `user_uuid` = '"
|
||||||
+ now.toString() + "' WHERE `user_uuid` = '" + old.toString() + '\'');
|
+ now + "' WHERE `user_uuid` = '" + old + '\'');
|
||||||
stmt.executeUpdate(
|
stmt.executeUpdate(
|
||||||
"UPDATE `" + SQLManager.this.prefix + "plot` SET `owner` = '" + now.toString()
|
"UPDATE `" + SQLManager.this.prefix + "plot` SET `owner` = '" + now
|
||||||
+ "' WHERE `owner` = '" + old.toString() + '\'');
|
+ "' WHERE `owner` = '" + old + '\'');
|
||||||
stmt.executeUpdate(
|
stmt.executeUpdate(
|
||||||
"UPDATE `" + SQLManager.this.prefix + "plot_denied` SET `user_uuid` = '" + now
|
"UPDATE `" + SQLManager.this.prefix + "plot_denied` SET `user_uuid` = '" + now + "' WHERE `user_uuid` = '" + old + '\'');
|
||||||
.toString() + "' WHERE `user_uuid` = '" + old.toString() + '\'');
|
|
||||||
stmt.executeUpdate(
|
stmt.executeUpdate(
|
||||||
"UPDATE `" + SQLManager.this.prefix + "plot_helpers` SET `user_uuid` = '" + now
|
"UPDATE `" + SQLManager.this.prefix + "plot_helpers` SET `user_uuid` = '" + now + "' WHERE `user_uuid` = '" + old + '\'');
|
||||||
.toString() + "' WHERE `user_uuid` = '" + old.toString() + '\'');
|
|
||||||
stmt.executeUpdate(
|
stmt.executeUpdate(
|
||||||
"UPDATE `" + SQLManager.this.prefix + "plot_trusted` SET `user_uuid` = '" + now
|
"UPDATE `" + SQLManager.this.prefix + "plot_trusted` SET `user_uuid` = '" + now + "' WHERE `user_uuid` = '" + old + '\'');
|
||||||
.toString() + "' WHERE `user_uuid` = '" + old.toString() + '\'');
|
|
||||||
} catch (SQLException e) {
|
} catch (SQLException e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
|
@ -37,9 +37,9 @@ public class PlotChangeOwnerEvent extends PlotEvent implements CancellablePlotEv
|
|||||||
private final PlotPlayer<?> initiator;
|
private final PlotPlayer<?> initiator;
|
||||||
@Nullable
|
@Nullable
|
||||||
private final UUID oldOwner;
|
private final UUID oldOwner;
|
||||||
|
private final boolean hasOldOwner;
|
||||||
@Nullable
|
@Nullable
|
||||||
private UUID newOwner;
|
private UUID newOwner;
|
||||||
private final boolean hasOldOwner;
|
|
||||||
private Result eventResult;
|
private Result eventResult;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -37,10 +37,10 @@ import org.checkerframework.checker.nullness.qual.NonNull;
|
|||||||
public final class PlotMergeEvent extends PlotPlayerEvent implements CancellablePlotEvent {
|
public final class PlotMergeEvent extends PlotPlayerEvent implements CancellablePlotEvent {
|
||||||
|
|
||||||
private final String world;
|
private final String world;
|
||||||
|
private final PlotPlayer<?> player;
|
||||||
private Direction dir;
|
private Direction dir;
|
||||||
private int max;
|
private int max;
|
||||||
private Result eventResult;
|
private Result eventResult;
|
||||||
private final PlotPlayer<?> player;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* PlotMergeEvent: Called when plots are merged
|
* PlotMergeEvent: Called when plots are merged
|
||||||
|
@ -511,32 +511,38 @@ public class ClassicPlotManager extends SquarePlotManager {
|
|||||||
),
|
),
|
||||||
Location.at(classicPlotWorld.getWorldName(), ex, maxY, ez - 1), BlockTypes.AIR.getDefaultState()
|
Location.at(classicPlotWorld.getWorldName(), ex, maxY, ez - 1), BlockTypes.AIR.getDefaultState()
|
||||||
);
|
);
|
||||||
queue.setCuboid(Location.at(classicPlotWorld.getWorldName(), sx, 0, sz + 1),
|
queue.setCuboid(
|
||||||
|
Location.at(classicPlotWorld.getWorldName(), sx, 0, sz + 1),
|
||||||
Location.at(classicPlotWorld.getWorldName(), ex, 0, ez - 1),
|
Location.at(classicPlotWorld.getWorldName(), ex, 0, ez - 1),
|
||||||
BlockUtil.get((short) 7, (byte) 0)
|
BlockUtil.get((short) 7, (byte) 0)
|
||||||
);
|
);
|
||||||
queue.setCuboid(Location.at(classicPlotWorld.getWorldName(), sx, 1, sz + 1),
|
queue.setCuboid(
|
||||||
|
Location.at(classicPlotWorld.getWorldName(), sx, 1, sz + 1),
|
||||||
Location.at(classicPlotWorld.getWorldName(), sx, classicPlotWorld.WALL_HEIGHT, ez - 1),
|
Location.at(classicPlotWorld.getWorldName(), sx, classicPlotWorld.WALL_HEIGHT, ez - 1),
|
||||||
classicPlotWorld.WALL_FILLING.toPattern()
|
classicPlotWorld.WALL_FILLING.toPattern()
|
||||||
);
|
);
|
||||||
|
|
||||||
if (classicPlotWorld.PLACE_TOP_BLOCK) {
|
if (classicPlotWorld.PLACE_TOP_BLOCK) {
|
||||||
queue.setCuboid(Location.at(classicPlotWorld.getWorldName(), sx, classicPlotWorld.WALL_HEIGHT + 1, sz + 1),
|
queue.setCuboid(
|
||||||
|
Location.at(classicPlotWorld.getWorldName(), sx, classicPlotWorld.WALL_HEIGHT + 1, sz + 1),
|
||||||
Location.at(classicPlotWorld.getWorldName(), sx, classicPlotWorld.WALL_HEIGHT + 1, ez - 1),
|
Location.at(classicPlotWorld.getWorldName(), sx, classicPlotWorld.WALL_HEIGHT + 1, ez - 1),
|
||||||
classicPlotWorld.WALL_BLOCK.toPattern()
|
classicPlotWorld.WALL_BLOCK.toPattern()
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
queue.setCuboid(Location.at(classicPlotWorld.getWorldName(), ex, 1, sz + 1),
|
queue.setCuboid(
|
||||||
|
Location.at(classicPlotWorld.getWorldName(), ex, 1, sz + 1),
|
||||||
Location.at(classicPlotWorld.getWorldName(), ex, classicPlotWorld.WALL_HEIGHT, ez - 1),
|
Location.at(classicPlotWorld.getWorldName(), ex, classicPlotWorld.WALL_HEIGHT, ez - 1),
|
||||||
classicPlotWorld.WALL_FILLING.toPattern()
|
classicPlotWorld.WALL_FILLING.toPattern()
|
||||||
);
|
);
|
||||||
if (classicPlotWorld.PLACE_TOP_BLOCK) {
|
if (classicPlotWorld.PLACE_TOP_BLOCK) {
|
||||||
queue.setCuboid(Location.at(classicPlotWorld.getWorldName(), ex, classicPlotWorld.WALL_HEIGHT + 1, sz + 1),
|
queue.setCuboid(
|
||||||
|
Location.at(classicPlotWorld.getWorldName(), ex, classicPlotWorld.WALL_HEIGHT + 1, sz + 1),
|
||||||
Location.at(classicPlotWorld.getWorldName(), ex, classicPlotWorld.WALL_HEIGHT + 1, ez - 1),
|
Location.at(classicPlotWorld.getWorldName(), ex, classicPlotWorld.WALL_HEIGHT + 1, ez - 1),
|
||||||
classicPlotWorld.WALL_BLOCK.toPattern()
|
classicPlotWorld.WALL_BLOCK.toPattern()
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
queue.setCuboid(Location.at(classicPlotWorld.getWorldName(), sx + 1, 1, sz + 1),
|
queue.setCuboid(
|
||||||
|
Location.at(classicPlotWorld.getWorldName(), sx + 1, 1, sz + 1),
|
||||||
Location.at(classicPlotWorld.getWorldName(), ex - 1, classicPlotWorld.ROAD_HEIGHT, ez - 1),
|
Location.at(classicPlotWorld.getWorldName(), ex - 1, classicPlotWorld.ROAD_HEIGHT, ez - 1),
|
||||||
classicPlotWorld.ROAD_BLOCK.toPattern()
|
classicPlotWorld.ROAD_BLOCK.toPattern()
|
||||||
);
|
);
|
||||||
@ -568,32 +574,38 @@ public class ClassicPlotManager extends SquarePlotManager {
|
|||||||
Location.at(classicPlotWorld.getWorldName(), ex - 1, classicPlotWorld.getPlotManager().getWorldHeight(), ez),
|
Location.at(classicPlotWorld.getWorldName(), ex - 1, classicPlotWorld.getPlotManager().getWorldHeight(), ez),
|
||||||
BlockTypes.AIR.getDefaultState()
|
BlockTypes.AIR.getDefaultState()
|
||||||
);
|
);
|
||||||
queue.setCuboid(Location.at(classicPlotWorld.getWorldName(), sx + 1, 0, sz),
|
queue.setCuboid(
|
||||||
|
Location.at(classicPlotWorld.getWorldName(), sx + 1, 0, sz),
|
||||||
Location.at(classicPlotWorld.getWorldName(), ex - 1, 0, ez),
|
Location.at(classicPlotWorld.getWorldName(), ex - 1, 0, ez),
|
||||||
BlockUtil.get((short) 7, (byte) 0)
|
BlockUtil.get((short) 7, (byte) 0)
|
||||||
);
|
);
|
||||||
queue.setCuboid(Location.at(classicPlotWorld.getWorldName(), sx + 1, 1, sz),
|
queue.setCuboid(
|
||||||
|
Location.at(classicPlotWorld.getWorldName(), sx + 1, 1, sz),
|
||||||
Location.at(classicPlotWorld.getWorldName(), ex - 1, classicPlotWorld.WALL_HEIGHT, sz),
|
Location.at(classicPlotWorld.getWorldName(), ex - 1, classicPlotWorld.WALL_HEIGHT, sz),
|
||||||
classicPlotWorld.WALL_FILLING.toPattern()
|
classicPlotWorld.WALL_FILLING.toPattern()
|
||||||
);
|
);
|
||||||
|
|
||||||
if (classicPlotWorld.PLACE_TOP_BLOCK) {
|
if (classicPlotWorld.PLACE_TOP_BLOCK) {
|
||||||
queue.setCuboid(Location.at(classicPlotWorld.getWorldName(), sx + 1, classicPlotWorld.WALL_HEIGHT + 1, sz),
|
queue.setCuboid(
|
||||||
|
Location.at(classicPlotWorld.getWorldName(), sx + 1, classicPlotWorld.WALL_HEIGHT + 1, sz),
|
||||||
Location.at(classicPlotWorld.getWorldName(), ex - 1, classicPlotWorld.WALL_HEIGHT + 1, sz),
|
Location.at(classicPlotWorld.getWorldName(), ex - 1, classicPlotWorld.WALL_HEIGHT + 1, sz),
|
||||||
classicPlotWorld.WALL_BLOCK.toPattern()
|
classicPlotWorld.WALL_BLOCK.toPattern()
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
queue.setCuboid(Location.at(classicPlotWorld.getWorldName(), sx + 1, 1, ez),
|
queue.setCuboid(
|
||||||
|
Location.at(classicPlotWorld.getWorldName(), sx + 1, 1, ez),
|
||||||
Location.at(classicPlotWorld.getWorldName(), ex - 1, classicPlotWorld.WALL_HEIGHT, ez),
|
Location.at(classicPlotWorld.getWorldName(), ex - 1, classicPlotWorld.WALL_HEIGHT, ez),
|
||||||
classicPlotWorld.WALL_FILLING.toPattern()
|
classicPlotWorld.WALL_FILLING.toPattern()
|
||||||
);
|
);
|
||||||
if (classicPlotWorld.PLACE_TOP_BLOCK) {
|
if (classicPlotWorld.PLACE_TOP_BLOCK) {
|
||||||
queue.setCuboid(Location.at(classicPlotWorld.getWorldName(), sx + 1, classicPlotWorld.WALL_HEIGHT + 1, ez),
|
queue.setCuboid(
|
||||||
|
Location.at(classicPlotWorld.getWorldName(), sx + 1, classicPlotWorld.WALL_HEIGHT + 1, ez),
|
||||||
Location.at(classicPlotWorld.getWorldName(), ex - 1, classicPlotWorld.WALL_HEIGHT + 1, ez),
|
Location.at(classicPlotWorld.getWorldName(), ex - 1, classicPlotWorld.WALL_HEIGHT + 1, ez),
|
||||||
classicPlotWorld.WALL_BLOCK.toPattern()
|
classicPlotWorld.WALL_BLOCK.toPattern()
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
queue.setCuboid(Location.at(classicPlotWorld.getWorldName(), sx + 1, 1, sz + 1),
|
queue.setCuboid(
|
||||||
|
Location.at(classicPlotWorld.getWorldName(), sx + 1, 1, sz + 1),
|
||||||
Location.at(classicPlotWorld.getWorldName(), ex - 1, classicPlotWorld.ROAD_HEIGHT, ez - 1),
|
Location.at(classicPlotWorld.getWorldName(), ex - 1, classicPlotWorld.ROAD_HEIGHT, ez - 1),
|
||||||
classicPlotWorld.ROAD_BLOCK.toPattern()
|
classicPlotWorld.ROAD_BLOCK.toPattern()
|
||||||
);
|
);
|
||||||
@ -623,7 +635,8 @@ public class ClassicPlotManager extends SquarePlotManager {
|
|||||||
queue.setCuboid(Location.at(classicPlotWorld.getWorldName(), sx + 1, 0, sz + 1),
|
queue.setCuboid(Location.at(classicPlotWorld.getWorldName(), sx + 1, 0, sz + 1),
|
||||||
Location.at(classicPlotWorld.getWorldName(), ex - 1, 0, ez - 1), BlockUtil.get((short) 7, (byte) 0)
|
Location.at(classicPlotWorld.getWorldName(), ex - 1, 0, ez - 1), BlockUtil.get((short) 7, (byte) 0)
|
||||||
);
|
);
|
||||||
queue.setCuboid(Location.at(classicPlotWorld.getWorldName(), sx + 1, 1, sz + 1),
|
queue.setCuboid(
|
||||||
|
Location.at(classicPlotWorld.getWorldName(), sx + 1, 1, sz + 1),
|
||||||
Location.at(classicPlotWorld.getWorldName(), ex - 1, classicPlotWorld.ROAD_HEIGHT, ez - 1),
|
Location.at(classicPlotWorld.getWorldName(), ex - 1, classicPlotWorld.ROAD_HEIGHT, ez - 1),
|
||||||
classicPlotWorld.ROAD_BLOCK.toPattern()
|
classicPlotWorld.ROAD_BLOCK.toPattern()
|
||||||
);
|
);
|
||||||
@ -656,11 +669,13 @@ public class ClassicPlotManager extends SquarePlotManager {
|
|||||||
Location.at(classicPlotWorld.getWorldName(), ex, classicPlotWorld.getPlotManager().getWorldHeight(), ez),
|
Location.at(classicPlotWorld.getWorldName(), ex, classicPlotWorld.getPlotManager().getWorldHeight(), ez),
|
||||||
BlockTypes.AIR.getDefaultState()
|
BlockTypes.AIR.getDefaultState()
|
||||||
);
|
);
|
||||||
queue.setCuboid(Location.at(classicPlotWorld.getWorldName(), sx, 1, sz + 1),
|
queue.setCuboid(
|
||||||
|
Location.at(classicPlotWorld.getWorldName(), sx, 1, sz + 1),
|
||||||
Location.at(classicPlotWorld.getWorldName(), ex, classicPlotWorld.PLOT_HEIGHT - 1, ez - 1),
|
Location.at(classicPlotWorld.getWorldName(), ex, classicPlotWorld.PLOT_HEIGHT - 1, ez - 1),
|
||||||
classicPlotWorld.MAIN_BLOCK.toPattern()
|
classicPlotWorld.MAIN_BLOCK.toPattern()
|
||||||
);
|
);
|
||||||
queue.setCuboid(Location.at(classicPlotWorld.getWorldName(), sx, classicPlotWorld.PLOT_HEIGHT, sz + 1),
|
queue.setCuboid(
|
||||||
|
Location.at(classicPlotWorld.getWorldName(), sx, classicPlotWorld.PLOT_HEIGHT, sz + 1),
|
||||||
Location.at(classicPlotWorld.getWorldName(), ex, classicPlotWorld.PLOT_HEIGHT, ez - 1),
|
Location.at(classicPlotWorld.getWorldName(), ex, classicPlotWorld.PLOT_HEIGHT, ez - 1),
|
||||||
classicPlotWorld.TOP_BLOCK.toPattern()
|
classicPlotWorld.TOP_BLOCK.toPattern()
|
||||||
);
|
);
|
||||||
@ -694,11 +709,13 @@ public class ClassicPlotManager extends SquarePlotManager {
|
|||||||
Location.at(classicPlotWorld.getWorldName(), ex, classicPlotWorld.getPlotManager().getWorldHeight(), ez),
|
Location.at(classicPlotWorld.getWorldName(), ex, classicPlotWorld.getPlotManager().getWorldHeight(), ez),
|
||||||
BlockTypes.AIR.getDefaultState()
|
BlockTypes.AIR.getDefaultState()
|
||||||
);
|
);
|
||||||
queue.setCuboid(Location.at(classicPlotWorld.getWorldName(), sx + 1, 1, sz),
|
queue.setCuboid(
|
||||||
|
Location.at(classicPlotWorld.getWorldName(), sx + 1, 1, sz),
|
||||||
Location.at(classicPlotWorld.getWorldName(), ex - 1, classicPlotWorld.PLOT_HEIGHT - 1, ez),
|
Location.at(classicPlotWorld.getWorldName(), ex - 1, classicPlotWorld.PLOT_HEIGHT - 1, ez),
|
||||||
classicPlotWorld.MAIN_BLOCK.toPattern()
|
classicPlotWorld.MAIN_BLOCK.toPattern()
|
||||||
);
|
);
|
||||||
queue.setCuboid(Location.at(classicPlotWorld.getWorldName(), sx + 1, classicPlotWorld.PLOT_HEIGHT, sz),
|
queue.setCuboid(
|
||||||
|
Location.at(classicPlotWorld.getWorldName(), sx + 1, classicPlotWorld.PLOT_HEIGHT, sz),
|
||||||
Location.at(classicPlotWorld.getWorldName(), ex - 1, classicPlotWorld.PLOT_HEIGHT, ez),
|
Location.at(classicPlotWorld.getWorldName(), ex - 1, classicPlotWorld.PLOT_HEIGHT, ez),
|
||||||
classicPlotWorld.TOP_BLOCK.toPattern()
|
classicPlotWorld.TOP_BLOCK.toPattern()
|
||||||
);
|
);
|
||||||
@ -731,11 +748,13 @@ public class ClassicPlotManager extends SquarePlotManager {
|
|||||||
Location.at(classicPlotWorld.getWorldName(), ex, classicPlotWorld.getPlotManager().getWorldHeight(), ez),
|
Location.at(classicPlotWorld.getWorldName(), ex, classicPlotWorld.getPlotManager().getWorldHeight(), ez),
|
||||||
BlockTypes.AIR.getDefaultState()
|
BlockTypes.AIR.getDefaultState()
|
||||||
);
|
);
|
||||||
queue.setCuboid(Location.at(classicPlotWorld.getWorldName(), sx, 1, sz),
|
queue.setCuboid(
|
||||||
|
Location.at(classicPlotWorld.getWorldName(), sx, 1, sz),
|
||||||
Location.at(classicPlotWorld.getWorldName(), ex, classicPlotWorld.PLOT_HEIGHT - 1, ez),
|
Location.at(classicPlotWorld.getWorldName(), ex, classicPlotWorld.PLOT_HEIGHT - 1, ez),
|
||||||
classicPlotWorld.MAIN_BLOCK.toPattern()
|
classicPlotWorld.MAIN_BLOCK.toPattern()
|
||||||
);
|
);
|
||||||
queue.setCuboid(Location.at(classicPlotWorld.getWorldName(), sx, classicPlotWorld.PLOT_HEIGHT, sz),
|
queue.setCuboid(
|
||||||
|
Location.at(classicPlotWorld.getWorldName(), sx, classicPlotWorld.PLOT_HEIGHT, sz),
|
||||||
Location.at(classicPlotWorld.getWorldName(), ex, classicPlotWorld.PLOT_HEIGHT, ez),
|
Location.at(classicPlotWorld.getWorldName(), ex, classicPlotWorld.PLOT_HEIGHT, ez),
|
||||||
classicPlotWorld.TOP_BLOCK.toPattern()
|
classicPlotWorld.TOP_BLOCK.toPattern()
|
||||||
);
|
);
|
||||||
|
@ -55,13 +55,11 @@ import com.sk89q.worldedit.math.transform.AffineTransform;
|
|||||||
import com.sk89q.worldedit.util.Direction;
|
import com.sk89q.worldedit.util.Direction;
|
||||||
import com.sk89q.worldedit.world.biome.BiomeType;
|
import com.sk89q.worldedit.world.biome.BiomeType;
|
||||||
import com.sk89q.worldedit.world.block.BaseBlock;
|
import com.sk89q.worldedit.world.block.BaseBlock;
|
||||||
|
import org.apache.logging.log4j.LogManager;
|
||||||
|
import org.apache.logging.log4j.Logger;
|
||||||
import org.checkerframework.checker.nullness.qual.NonNull;
|
import org.checkerframework.checker.nullness.qual.NonNull;
|
||||||
|
|
||||||
import javax.annotation.Nullable;
|
import javax.annotation.Nullable;
|
||||||
|
|
||||||
import org.apache.logging.log4j.LogManager;
|
|
||||||
import org.apache.logging.log4j.Logger;
|
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.lang.reflect.Field;
|
import java.lang.reflect.Field;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
|
@ -61,9 +61,9 @@ import com.sk89q.worldedit.world.block.BaseBlock;
|
|||||||
import com.sk89q.worldedit.world.block.BlockState;
|
import com.sk89q.worldedit.world.block.BlockState;
|
||||||
import com.sk89q.worldedit.world.block.BlockType;
|
import com.sk89q.worldedit.world.block.BlockType;
|
||||||
import com.sk89q.worldedit.world.block.BlockTypes;
|
import com.sk89q.worldedit.world.block.BlockTypes;
|
||||||
import org.checkerframework.checker.nullness.qual.NonNull;
|
|
||||||
import org.apache.logging.log4j.LogManager;
|
import org.apache.logging.log4j.LogManager;
|
||||||
import org.apache.logging.log4j.Logger;
|
import org.apache.logging.log4j.Logger;
|
||||||
|
import org.checkerframework.checker.nullness.qual.NonNull;
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.util.ArrayDeque;
|
import java.util.ArrayDeque;
|
||||||
@ -482,7 +482,8 @@ public class HybridUtils {
|
|||||||
Iterator<BlockVector2> iterator = HybridUtils.regions.iterator();
|
Iterator<BlockVector2> iterator = HybridUtils.regions.iterator();
|
||||||
BlockVector2 loc = iterator.next();
|
BlockVector2 loc = iterator.next();
|
||||||
iterator.remove();
|
iterator.remove();
|
||||||
LOGGER.error("Error! Could not update '{}/region/r.{}.{}.mca' (Corrupt chunk?)",
|
LOGGER.error(
|
||||||
|
"Error! Could not update '{}/region/r.{}.{}.mca' (Corrupt chunk?)",
|
||||||
area.getWorldHash(),
|
area.getWorldHash(),
|
||||||
loc.getX(),
|
loc.getX(),
|
||||||
loc.getZ()
|
loc.getZ()
|
||||||
@ -626,7 +627,8 @@ public class HybridUtils {
|
|||||||
int maxY = Math.max(extend, blocks.length);
|
int maxY = Math.max(extend, blocks.length);
|
||||||
for (int y = 0; y < maxY; y++) {
|
for (int y = 0; y < maxY; y++) {
|
||||||
if (y > blocks.length - 1) {
|
if (y > blocks.length - 1) {
|
||||||
queue.setBlock(finalX + X + plotWorld.ROAD_OFFSET_X,
|
queue.setBlock(
|
||||||
|
finalX + X + plotWorld.ROAD_OFFSET_X,
|
||||||
minY + y,
|
minY + y,
|
||||||
finalZ + Z + plotWorld.ROAD_OFFSET_Z,
|
finalZ + Z + plotWorld.ROAD_OFFSET_Z,
|
||||||
WEExtent.AIRBASE
|
WEExtent.AIRBASE
|
||||||
@ -641,7 +643,8 @@ public class HybridUtils {
|
|||||||
block
|
block
|
||||||
);
|
);
|
||||||
} else {
|
} else {
|
||||||
queue.setBlock(finalX + X + plotWorld.ROAD_OFFSET_X,
|
queue.setBlock(
|
||||||
|
finalX + X + plotWorld.ROAD_OFFSET_X,
|
||||||
minY + y,
|
minY + y,
|
||||||
finalZ + Z + plotWorld.ROAD_OFFSET_Z,
|
finalZ + Z + plotWorld.ROAD_OFFSET_Z,
|
||||||
WEExtent.AIRBASE
|
WEExtent.AIRBASE
|
||||||
|
@ -35,10 +35,10 @@ import com.plotsquared.core.queue.QueueCoordinator;
|
|||||||
import com.plotsquared.core.util.HashUtil;
|
import com.plotsquared.core.util.HashUtil;
|
||||||
import com.plotsquared.core.util.RegionManager;
|
import com.plotsquared.core.util.RegionManager;
|
||||||
import com.sk89q.worldedit.regions.CuboidRegion;
|
import com.sk89q.worldedit.regions.CuboidRegion;
|
||||||
import org.checkerframework.checker.nullness.qual.NonNull;
|
|
||||||
import org.checkerframework.checker.nullness.qual.Nullable;
|
|
||||||
import org.apache.logging.log4j.LogManager;
|
import org.apache.logging.log4j.LogManager;
|
||||||
import org.apache.logging.log4j.Logger;
|
import org.apache.logging.log4j.Logger;
|
||||||
|
import org.checkerframework.checker.nullness.qual.NonNull;
|
||||||
|
import org.checkerframework.checker.nullness.qual.Nullable;
|
||||||
|
|
||||||
import java.util.Iterator;
|
import java.util.Iterator;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
|
@ -31,10 +31,10 @@ import com.plotsquared.core.configuration.file.YamlConfiguration;
|
|||||||
import com.plotsquared.core.inject.annotations.WorldConfig;
|
import com.plotsquared.core.inject.annotations.WorldConfig;
|
||||||
import com.plotsquared.core.plot.PlotId;
|
import com.plotsquared.core.plot.PlotId;
|
||||||
import com.plotsquared.core.queue.GlobalBlockQueue;
|
import com.plotsquared.core.queue.GlobalBlockQueue;
|
||||||
import org.checkerframework.checker.nullness.qual.NonNull;
|
|
||||||
import org.checkerframework.checker.nullness.qual.Nullable;
|
|
||||||
import org.apache.logging.log4j.LogManager;
|
import org.apache.logging.log4j.LogManager;
|
||||||
import org.apache.logging.log4j.Logger;
|
import org.apache.logging.log4j.Logger;
|
||||||
|
import org.checkerframework.checker.nullness.qual.NonNull;
|
||||||
|
import org.checkerframework.checker.nullness.qual.Nullable;
|
||||||
|
|
||||||
public abstract class SquarePlotWorld extends GridPlotWorld {
|
public abstract class SquarePlotWorld extends GridPlotWorld {
|
||||||
|
|
||||||
|
@ -42,9 +42,9 @@ import com.sk89q.worldedit.world.biome.BiomeType;
|
|||||||
import com.sk89q.worldedit.world.block.BaseBlock;
|
import com.sk89q.worldedit.world.block.BaseBlock;
|
||||||
import com.sk89q.worldedit.world.block.BlockState;
|
import com.sk89q.worldedit.world.block.BlockState;
|
||||||
import com.sk89q.worldedit.world.block.BlockStateHolder;
|
import com.sk89q.worldedit.world.block.BlockStateHolder;
|
||||||
import org.checkerframework.checker.nullness.qual.NonNull;
|
|
||||||
import org.apache.logging.log4j.LogManager;
|
import org.apache.logging.log4j.LogManager;
|
||||||
import org.apache.logging.log4j.Logger;
|
import org.apache.logging.log4j.Logger;
|
||||||
|
import org.checkerframework.checker.nullness.qual.NonNull;
|
||||||
|
|
||||||
import java.lang.reflect.Field;
|
import java.lang.reflect.Field;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
@ -59,12 +59,11 @@ public class ProcessedWEExtent extends AbstractDelegateExtent {
|
|||||||
private final String world;
|
private final String world;
|
||||||
private final int max;
|
private final int max;
|
||||||
private final WorldUtil worldUtil;
|
private final WorldUtil worldUtil;
|
||||||
|
private final Map<Long, Integer[]> tileEntityCount = new HashMap<>();
|
||||||
int Ecount = 0;
|
int Ecount = 0;
|
||||||
boolean Eblocked = false;
|
boolean Eblocked = false;
|
||||||
private int count;
|
private int count;
|
||||||
private Extent parent;
|
private Extent parent;
|
||||||
private final Map<Long, Integer[]> tileEntityCount = new HashMap<>();
|
|
||||||
|
|
||||||
public ProcessedWEExtent(
|
public ProcessedWEExtent(
|
||||||
String world,
|
String world,
|
||||||
|
@ -213,7 +213,8 @@ public enum Permission {
|
|||||||
this.text = text;
|
this.text = text;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override public String toString() {
|
@Override
|
||||||
|
public String toString() {
|
||||||
return this.text;
|
return this.text;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -71,7 +71,8 @@ public abstract class MetaDataAccess<T> implements AutoCloseable {
|
|||||||
*
|
*
|
||||||
* @return Old value, or {@code null}
|
* @return Old value, or {@code null}
|
||||||
*/
|
*/
|
||||||
public @Nullable abstract T remove();
|
public @Nullable
|
||||||
|
abstract T remove();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Set the meta data value
|
* Set the meta data value
|
||||||
@ -85,7 +86,8 @@ public abstract class MetaDataAccess<T> implements AutoCloseable {
|
|||||||
*
|
*
|
||||||
* @return Stored value, or {@link Optional#empty()}
|
* @return Stored value, or {@link Optional#empty()}
|
||||||
*/
|
*/
|
||||||
public @NonNull abstract Optional<T> get();
|
public @NonNull
|
||||||
|
abstract Optional<T> get();
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public final void close() {
|
public final void close() {
|
||||||
|
@ -38,20 +38,39 @@ import java.util.List;
|
|||||||
public final class PlayerMetaDataKeys {
|
public final class PlayerMetaDataKeys {
|
||||||
|
|
||||||
//@formatter:off
|
//@formatter:off
|
||||||
public static final MetaDataKey<Boolean> PERSISTENT_FLIGHT = MetaDataKey.of("flight", new TypeLiteral<>() {});
|
public static final MetaDataKey<Boolean> PERSISTENT_FLIGHT = MetaDataKey.of("flight", new TypeLiteral<>() {
|
||||||
public static final MetaDataKey<Integer> PERSISTENT_GRANTED_PLOTS = MetaDataKey.of("grantedPlots", new TypeLiteral<>() {});
|
});
|
||||||
|
public static final MetaDataKey<Integer> PERSISTENT_GRANTED_PLOTS = MetaDataKey.of("grantedPlots", new TypeLiteral<>() {
|
||||||
|
});
|
||||||
|
|
||||||
public static final MetaDataKey<Plot> TEMPORARY_LAST_PLOT = MetaDataKey.of("lastplot", new TypeLiteral<>() {});
|
public static final MetaDataKey<Plot> TEMPORARY_LAST_PLOT = MetaDataKey.of("lastplot", new TypeLiteral<>() {
|
||||||
public static final MetaDataKey<Location> TEMPORARY_MUSIC = MetaDataKey.of("music", new TypeLiteral<>() {});
|
});
|
||||||
public static final MetaDataKey<Boolean> TEMPORARY_KICK = MetaDataKey.of("kick", new TypeLiteral<>() {});
|
public static final MetaDataKey<Location> TEMPORARY_MUSIC = MetaDataKey.of("music", new TypeLiteral<>() {
|
||||||
public static final MetaDataKey<SetupProcess> TEMPORARY_SETUP = MetaDataKey.of("setup", new TypeLiteral<>() {});
|
});
|
||||||
public static final MetaDataKey<PlotInventory> TEMPORARY_INVENTORY = MetaDataKey.of("inventory", new TypeLiteral<>() {});
|
public static final MetaDataKey<Boolean> TEMPORARY_KICK = MetaDataKey.of("kick", new TypeLiteral<>() {
|
||||||
public static final MetaDataKey<Boolean> TEMPORARY_IGNORE_EXPIRE_TASK = MetaDataKey.of("ignoreExpireTask", new TypeLiteral<>() {});
|
});
|
||||||
public static final MetaDataKey<Plot> TEMPORARY_WORLD_EDIT_REGION_PLOT = MetaDataKey.of("WorldEditRegionPlot", new TypeLiteral<>() {});
|
public static final MetaDataKey<SetupProcess> TEMPORARY_SETUP = MetaDataKey.of("setup", new TypeLiteral<>() {
|
||||||
public static final MetaDataKey<Boolean> TEMPORARY_AUTO = MetaDataKey.of(Auto.class.getName(), new TypeLiteral<>() {});
|
});
|
||||||
public static final MetaDataKey<List<String>> TEMPORARY_SCHEMATICS = MetaDataKey.of("plot_schematics", new TypeLiteral<>() {});
|
public static final MetaDataKey<PlotInventory> TEMPORARY_INVENTORY = MetaDataKey.of("inventory", new TypeLiteral<>() {
|
||||||
public static final MetaDataKey<Location> TEMPORARY_LOCATION = MetaDataKey.of("location", new TypeLiteral<>() {});
|
});
|
||||||
public static final MetaDataKey<CmdInstance> TEMPORARY_CONFIRM = MetaDataKey.of("cmdConfirm", new TypeLiteral<>() {});
|
public static final MetaDataKey<Boolean> TEMPORARY_IGNORE_EXPIRE_TASK = MetaDataKey.of(
|
||||||
|
"ignoreExpireTask",
|
||||||
|
new TypeLiteral<>() {
|
||||||
|
}
|
||||||
|
);
|
||||||
|
public static final MetaDataKey<Plot> TEMPORARY_WORLD_EDIT_REGION_PLOT = MetaDataKey.of(
|
||||||
|
"WorldEditRegionPlot",
|
||||||
|
new TypeLiteral<>() {
|
||||||
|
}
|
||||||
|
);
|
||||||
|
public static final MetaDataKey<Boolean> TEMPORARY_AUTO = MetaDataKey.of(Auto.class.getName(), new TypeLiteral<>() {
|
||||||
|
});
|
||||||
|
public static final MetaDataKey<List<String>> TEMPORARY_SCHEMATICS = MetaDataKey.of("plot_schematics", new TypeLiteral<>() {
|
||||||
|
});
|
||||||
|
public static final MetaDataKey<Location> TEMPORARY_LOCATION = MetaDataKey.of("location", new TypeLiteral<>() {
|
||||||
|
});
|
||||||
|
public static final MetaDataKey<CmdInstance> TEMPORARY_CONFIRM = MetaDataKey.of("cmdConfirm", new TypeLiteral<>() {
|
||||||
|
});
|
||||||
//@formatter:on
|
//@formatter:on
|
||||||
|
|
||||||
private PlayerMetaDataKeys() {
|
private PlayerMetaDataKeys() {
|
||||||
|
@ -437,16 +437,14 @@ public abstract class PlotPlayer<P> implements CommandCaller, OfflinePlotPlayer,
|
|||||||
* @return UUID
|
* @return UUID
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public @NonNull abstract UUID getUUID();
|
public @NonNull
|
||||||
|
abstract UUID getUUID();
|
||||||
|
|
||||||
public boolean canTeleport(final @NonNull Location location) {
|
public boolean canTeleport(final @NonNull Location location) {
|
||||||
Preconditions.checkNotNull(location, "Specified location cannot be null");
|
Preconditions.checkNotNull(location, "Specified location cannot be null");
|
||||||
final Location current = getLocationFull();
|
final Location current = getLocationFull();
|
||||||
teleport(location);
|
teleport(location);
|
||||||
boolean result = true;
|
boolean result = getLocation().equals(location);
|
||||||
if (!getLocation().equals(location)) {
|
|
||||||
result = false;
|
|
||||||
}
|
|
||||||
teleport(current);
|
teleport(current);
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
@ -803,7 +801,7 @@ public abstract class PlotPlayer<P> implements CommandCaller, OfflinePlotPlayer,
|
|||||||
} else if (key.getType().getRawType().equals(Boolean.class)) {
|
} else if (key.getType().getRawType().equals(Boolean.class)) {
|
||||||
this.setPersistentMeta(key.toString(), ByteArrayUtilities.booleanToBytes((boolean) rawValue));
|
this.setPersistentMeta(key.toString(), ByteArrayUtilities.booleanToBytes((boolean) rawValue));
|
||||||
} else {
|
} else {
|
||||||
throw new IllegalArgumentException(String.format("Unknown meta data type '%s'", key.getType().toString()));
|
throw new IllegalArgumentException(String.format("Unknown meta data type '%s'", key.getType()));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -818,7 +816,7 @@ public abstract class PlotPlayer<P> implements CommandCaller, OfflinePlotPlayer,
|
|||||||
} else if (key.getType().getRawType().equals(Boolean.class)) {
|
} else if (key.getType().getRawType().equals(Boolean.class)) {
|
||||||
returnValue = ByteArrayUtilities.bytesToBoolean(value);
|
returnValue = ByteArrayUtilities.bytesToBoolean(value);
|
||||||
} else {
|
} else {
|
||||||
throw new IllegalArgumentException(String.format("Unknown meta data type '%s'", key.getType().toString()));
|
throw new IllegalArgumentException(String.format("Unknown meta data type '%s'", key.getType()));
|
||||||
}
|
}
|
||||||
return (T) returnValue;
|
return (T) returnValue;
|
||||||
}
|
}
|
||||||
@ -843,7 +841,14 @@ public abstract class PlotPlayer<P> implements CommandCaller, OfflinePlotPlayer,
|
|||||||
final @NonNull Caption title, final @NonNull Caption subtitle,
|
final @NonNull Caption title, final @NonNull Caption subtitle,
|
||||||
final @NonNull Template... replacements
|
final @NonNull Template... replacements
|
||||||
) {
|
) {
|
||||||
sendTitle(title, subtitle, Settings.Titles.TITLES_FADE_IN, Settings.Titles.TITLES_STAY, Settings.Titles.TITLES_FADE_OUT, replacements);
|
sendTitle(
|
||||||
|
title,
|
||||||
|
subtitle,
|
||||||
|
Settings.Titles.TITLES_FADE_IN,
|
||||||
|
Settings.Titles.TITLES_STAY,
|
||||||
|
Settings.Titles.TITLES_FADE_OUT,
|
||||||
|
replacements
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -876,7 +881,7 @@ public abstract class PlotPlayer<P> implements CommandCaller, OfflinePlotPlayer,
|
|||||||
/**
|
/**
|
||||||
* Method designed to send an ActionBar to a player.
|
* Method designed to send an ActionBar to a player.
|
||||||
*
|
*
|
||||||
* @param caption Caption
|
* @param caption Caption
|
||||||
* @param replacements Variable replacements
|
* @param replacements Variable replacements
|
||||||
*/
|
*/
|
||||||
public void sendActionBar(
|
public void sendActionBar(
|
||||||
@ -1001,7 +1006,8 @@ public abstract class PlotPlayer<P> implements CommandCaller, OfflinePlotPlayer,
|
|||||||
*
|
*
|
||||||
* @return Player audience
|
* @return Player audience
|
||||||
*/
|
*/
|
||||||
public @NonNull abstract Audience getAudience();
|
public @NonNull
|
||||||
|
abstract Audience getAudience();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get this player's {@link LockRepository}
|
* Get this player's {@link LockRepository}
|
||||||
|
@ -52,8 +52,8 @@ public final class BlockBucket implements ConfigurationSerializable {
|
|||||||
|
|
||||||
private static final java.util.regex.Pattern regex = java.util.regex.Pattern.compile(
|
private static final java.util.regex.Pattern regex = java.util.regex.Pattern.compile(
|
||||||
"((?<namespace>[A-Za-z_]+):)?(?<block>([A-Za-z_]+(\\[?[\\S\\s]+\\])?))(:(?<chance>[0-9]{1,3}))?");
|
"((?<namespace>[A-Za-z_]+):)?(?<block>([A-Za-z_]+(\\[?[\\S\\s]+\\])?))(:(?<chance>[0-9]{1,3}))?");
|
||||||
private boolean compiled;
|
|
||||||
private final StringBuilder input;
|
private final StringBuilder input;
|
||||||
|
private boolean compiled;
|
||||||
private BlockState single;
|
private BlockState single;
|
||||||
private Pattern pattern;
|
private Pattern pattern;
|
||||||
|
|
||||||
@ -105,7 +105,7 @@ public final class BlockBucket implements ConfigurationSerializable {
|
|||||||
chance = 1;
|
chance = 1;
|
||||||
}
|
}
|
||||||
String prefix = input.length() == 0 ? "" : ",";
|
String prefix = input.length() == 0 ? "" : ",";
|
||||||
input.append(prefix).append(block.toString()).append(":").append(chance);
|
input.append(prefix).append(block).append(":").append(chance);
|
||||||
this.compiled = false;
|
this.compiled = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -80,10 +80,10 @@ import net.kyori.adventure.text.Component;
|
|||||||
import net.kyori.adventure.text.TextComponent;
|
import net.kyori.adventure.text.TextComponent;
|
||||||
import net.kyori.adventure.text.minimessage.MiniMessage;
|
import net.kyori.adventure.text.minimessage.MiniMessage;
|
||||||
import net.kyori.adventure.text.minimessage.Template;
|
import net.kyori.adventure.text.minimessage.Template;
|
||||||
import org.checkerframework.checker.nullness.qual.NonNull;
|
|
||||||
import org.checkerframework.checker.nullness.qual.Nullable;
|
|
||||||
import org.apache.logging.log4j.LogManager;
|
import org.apache.logging.log4j.LogManager;
|
||||||
import org.apache.logging.log4j.Logger;
|
import org.apache.logging.log4j.Logger;
|
||||||
|
import org.checkerframework.checker.nullness.qual.NonNull;
|
||||||
|
import org.checkerframework.checker.nullness.qual.Nullable;
|
||||||
|
|
||||||
import java.lang.ref.Cleaner;
|
import java.lang.ref.Cleaner;
|
||||||
import java.text.DecimalFormat;
|
import java.text.DecimalFormat;
|
||||||
@ -1301,7 +1301,8 @@ public class Plot {
|
|||||||
Location[] corners = getCorners();
|
Location[] corners = getCorners();
|
||||||
Location top = corners[0];
|
Location top = corners[0];
|
||||||
Location bot = corners[1];
|
Location bot = corners[1];
|
||||||
Location location = Location.at(this.getWorldName(),
|
Location location = Location.at(
|
||||||
|
this.getWorldName(),
|
||||||
MathMan.average(bot.getX(), top.getX()),
|
MathMan.average(bot.getX(), top.getX()),
|
||||||
MathMan.average(bot.getY(), top.getY()),
|
MathMan.average(bot.getY(), top.getY()),
|
||||||
MathMan.average(bot.getZ(), top.getZ())
|
MathMan.average(bot.getZ(), top.getZ())
|
||||||
@ -1332,7 +1333,8 @@ public class Plot {
|
|||||||
0
|
0
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
Location location = Location.at(this.getWorldName(),
|
Location location = Location.at(
|
||||||
|
this.getWorldName(),
|
||||||
MathMan.average(bot.getX(), top.getX()),
|
MathMan.average(bot.getX(), top.getX()),
|
||||||
MathMan.average(bot.getY(), top.getY()),
|
MathMan.average(bot.getY(), top.getY()),
|
||||||
MathMan.average(bot.getZ(), top.getZ())
|
MathMan.average(bot.getZ(), top.getZ())
|
||||||
@ -1407,7 +1409,8 @@ public class Plot {
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
Location location = Location
|
Location location = Location
|
||||||
.at(bottom.getWorldName(),
|
.at(
|
||||||
|
bottom.getWorldName(),
|
||||||
bottom.getX() + home.getX(),
|
bottom.getX() + home.getX(),
|
||||||
bottom.getY() + home.getY(),
|
bottom.getY() + home.getY(),
|
||||||
bottom.getZ() + home.getZ(),
|
bottom.getZ() + home.getZ(),
|
||||||
@ -1447,7 +1450,8 @@ public class Plot {
|
|||||||
}
|
}
|
||||||
Location bottom = this.getBottomAbs();
|
Location bottom = this.getBottomAbs();
|
||||||
Location location = Location
|
Location location = Location
|
||||||
.at(bottom.getWorldName(),
|
.at(
|
||||||
|
bottom.getWorldName(),
|
||||||
bottom.getX() + home.getX(),
|
bottom.getX() + home.getX(),
|
||||||
bottom.getY() + home.getY(),
|
bottom.getY() + home.getY(),
|
||||||
bottom.getZ() + home.getZ(),
|
bottom.getZ() + home.getZ(),
|
||||||
@ -1898,7 +1902,7 @@ public class Plot {
|
|||||||
if (this.settings != null && this.settings.getAlias().length() > 1) {
|
if (this.settings != null && this.settings.getAlias().length() > 1) {
|
||||||
return this.settings.getAlias();
|
return this.settings.getAlias();
|
||||||
}
|
}
|
||||||
return this.area + ";" + this.id.toString();
|
return this.area + ";" + this.id;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -2806,9 +2810,10 @@ public class Plot {
|
|||||||
} else {
|
} else {
|
||||||
value = flag.toString();
|
value = flag.toString();
|
||||||
}
|
}
|
||||||
Component snip = MINI_MESSAGE.parse(prefix + CaptionUtility.format(
|
Component snip = MINI_MESSAGE.parse(
|
||||||
player,
|
prefix + CaptionUtility.format(
|
||||||
TranslatableCaption.of("info.plot_flag_list").getComponent(player)
|
player,
|
||||||
|
TranslatableCaption.of("info.plot_flag_list").getComponent(player)
|
||||||
),
|
),
|
||||||
Template.of("flag", flag.getName()),
|
Template.of("flag", flag.getName()),
|
||||||
Template.of("value", CaptionUtility.formatRaw(player, value.toString()))
|
Template.of("value", CaptionUtility.formatRaw(player, value.toString()))
|
||||||
@ -2905,7 +2910,8 @@ public class Plot {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
future.complete(StaticCaption.of(MINI_MESSAGE.serialize(MINI_MESSAGE
|
future.complete(StaticCaption.of(MINI_MESSAGE.serialize(MINI_MESSAGE
|
||||||
.parse(iInfo.getComponent(player),
|
.parse(
|
||||||
|
iInfo.getComponent(player),
|
||||||
headerTemplate,
|
headerTemplate,
|
||||||
areaTemplate,
|
areaTemplate,
|
||||||
idTemplate,
|
idTemplate,
|
||||||
@ -2930,7 +2936,8 @@ public class Plot {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
future.complete(StaticCaption.of(MINI_MESSAGE.serialize(MINI_MESSAGE
|
future.complete(StaticCaption.of(MINI_MESSAGE.serialize(MINI_MESSAGE
|
||||||
.parse(iInfo.getComponent(player),
|
.parse(
|
||||||
|
iInfo.getComponent(player),
|
||||||
headerTemplate,
|
headerTemplate,
|
||||||
areaTemplate,
|
areaTemplate,
|
||||||
idTemplate,
|
idTemplate,
|
||||||
|
@ -70,10 +70,10 @@ import com.sk89q.worldedit.world.gamemode.GameModes;
|
|||||||
import net.kyori.adventure.text.Component;
|
import net.kyori.adventure.text.Component;
|
||||||
import net.kyori.adventure.text.minimessage.MiniMessage;
|
import net.kyori.adventure.text.minimessage.MiniMessage;
|
||||||
import net.kyori.adventure.text.minimessage.Template;
|
import net.kyori.adventure.text.minimessage.Template;
|
||||||
import org.checkerframework.checker.nullness.qual.NonNull;
|
|
||||||
import org.checkerframework.checker.nullness.qual.Nullable;
|
|
||||||
import org.apache.logging.log4j.LogManager;
|
import org.apache.logging.log4j.LogManager;
|
||||||
import org.apache.logging.log4j.Logger;
|
import org.apache.logging.log4j.Logger;
|
||||||
|
import org.checkerframework.checker.nullness.qual.NonNull;
|
||||||
|
import org.checkerframework.checker.nullness.qual.Nullable;
|
||||||
|
|
||||||
import java.text.DecimalFormat;
|
import java.text.DecimalFormat;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
@ -147,7 +147,7 @@ public abstract class PlotArea {
|
|||||||
private GameMode gameMode = GameModes.CREATIVE;
|
private GameMode gameMode = GameModes.CREATIVE;
|
||||||
private Map<String, PlotExpression> prices = new HashMap<>();
|
private Map<String, PlotExpression> prices = new HashMap<>();
|
||||||
private List<String> schematics = new ArrayList<>();
|
private List<String> schematics = new ArrayList<>();
|
||||||
private boolean roadFlags = false;
|
private final boolean roadFlags = false;
|
||||||
private boolean worldBorder = false;
|
private boolean worldBorder = false;
|
||||||
private boolean useEconomy = false;
|
private boolean useEconomy = false;
|
||||||
private int hash;
|
private int hash;
|
||||||
@ -1312,8 +1312,8 @@ public abstract class PlotArea {
|
|||||||
*
|
*
|
||||||
* @return the legacy sign material.
|
* @return the legacy sign material.
|
||||||
* @deprecated Use {@link #signMaterial()}. This method is used for 1.13 only and
|
* @deprecated Use {@link #signMaterial()}. This method is used for 1.13 only and
|
||||||
* will be removed without replacement in favor of {@link #signMaterial()}
|
* will be removed without replacement in favor of {@link #signMaterial()}
|
||||||
* once we remove the support for 1.13.
|
* once we remove the support for 1.13.
|
||||||
*/
|
*/
|
||||||
@Deprecated(forRemoval = true)
|
@Deprecated(forRemoval = true)
|
||||||
public String getLegacySignMaterial() {
|
public String getLegacySignMaterial() {
|
||||||
|
@ -52,10 +52,10 @@ import com.sk89q.worldedit.regions.CuboidRegion;
|
|||||||
import com.sk89q.worldedit.world.biome.BiomeType;
|
import com.sk89q.worldedit.world.biome.BiomeType;
|
||||||
import com.sk89q.worldedit.world.block.BlockTypes;
|
import com.sk89q.worldedit.world.block.BlockTypes;
|
||||||
import net.kyori.adventure.text.minimessage.Template;
|
import net.kyori.adventure.text.minimessage.Template;
|
||||||
import org.checkerframework.checker.nullness.qual.NonNull;
|
|
||||||
import org.checkerframework.checker.nullness.qual.Nullable;
|
|
||||||
import org.apache.logging.log4j.LogManager;
|
import org.apache.logging.log4j.LogManager;
|
||||||
import org.apache.logging.log4j.Logger;
|
import org.apache.logging.log4j.Logger;
|
||||||
|
import org.checkerframework.checker.nullness.qual.NonNull;
|
||||||
|
import org.checkerframework.checker.nullness.qual.Nullable;
|
||||||
|
|
||||||
import java.util.ArrayDeque;
|
import java.util.ArrayDeque;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
@ -175,7 +175,7 @@ public final class PlotModificationManager {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
CuboidRegion region = regions.poll();
|
CuboidRegion region = regions.poll();
|
||||||
Location[] corners = plot.getCorners(plot.getWorldName(), region);
|
Location[] corners = Plot.getCorners(plot.getWorldName(), region);
|
||||||
Location pos1 = corners[0];
|
Location pos1 = corners[0];
|
||||||
Location pos2 = corners[1];
|
Location pos2 = corners[1];
|
||||||
Location newPos = pos1.add(offsetX, 0, offsetZ).withWorld(destination.getWorldName());
|
Location newPos = pos1.add(offsetX, 0, offsetZ).withWorld(destination.getWorldName());
|
||||||
@ -239,7 +239,7 @@ public final class PlotModificationManager {
|
|||||||
if (queue.isEmpty()) {
|
if (queue.isEmpty()) {
|
||||||
Runnable run = () -> {
|
Runnable run = () -> {
|
||||||
for (CuboidRegion region : regions) {
|
for (CuboidRegion region : regions) {
|
||||||
Location[] corners = plot.getCorners(plot.getWorldName(), region);
|
Location[] corners = Plot.getCorners(plot.getWorldName(), region);
|
||||||
PlotSquared.platform().regionManager().clearAllEntities(corners[0], corners[1]);
|
PlotSquared.platform().regionManager().clearAllEntities(corners[0], corners[1]);
|
||||||
}
|
}
|
||||||
TaskManager.runTask(whenDone);
|
TaskManager.runTask(whenDone);
|
||||||
@ -731,7 +731,7 @@ public final class PlotModificationManager {
|
|||||||
TaskManager.runTask(whenDone);
|
TaskManager.runTask(whenDone);
|
||||||
} else {
|
} else {
|
||||||
CuboidRegion region = regions.poll();
|
CuboidRegion region = regions.poll();
|
||||||
Location[] corners = plot.getCorners(plot.getWorldName(), region);
|
Location[] corners = Plot.getCorners(plot.getWorldName(), region);
|
||||||
Location pos1 = corners[0];
|
Location pos1 = corners[0];
|
||||||
Location pos2 = corners[1];
|
Location pos2 = corners[1];
|
||||||
Location pos3 = pos1.add(offsetX, 0, offsetZ).withWorld(destination.getWorldName());
|
Location pos3 = pos1.add(offsetX, 0, offsetZ).withWorld(destination.getWorldName());
|
||||||
@ -770,7 +770,7 @@ public final class PlotModificationManager {
|
|||||||
}
|
}
|
||||||
final Runnable task = this;
|
final Runnable task = this;
|
||||||
CuboidRegion region = regions.poll();
|
CuboidRegion region = regions.poll();
|
||||||
Location[] corners = PlotModificationManager.this.plot.getCorners(
|
Location[] corners = Plot.getCorners(
|
||||||
PlotModificationManager.this.plot.getWorldName(),
|
PlotModificationManager.this.plot.getWorldName(),
|
||||||
region
|
region
|
||||||
);
|
);
|
||||||
|
@ -46,4 +46,5 @@ public class PlotTitle {
|
|||||||
public String subtitle() {
|
public String subtitle() {
|
||||||
return subtitle;
|
return subtitle;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -56,14 +56,16 @@ public abstract class PlotWorld {
|
|||||||
* @param location Location
|
* @param location Location
|
||||||
* @return Containing plot area, or null
|
* @return Containing plot area, or null
|
||||||
*/
|
*/
|
||||||
public @Nullable abstract PlotArea getArea(final @NonNull Location location);
|
public @Nullable
|
||||||
|
abstract PlotArea getArea(final @NonNull Location location);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get all plot areas in the world
|
* Get all plot areas in the world
|
||||||
*
|
*
|
||||||
* @return All plot areas in the world
|
* @return All plot areas in the world
|
||||||
*/
|
*/
|
||||||
public @NonNull abstract Collection<PlotArea> getAreas();
|
public @NonNull
|
||||||
|
abstract Collection<PlotArea> getAreas();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get all plot areas in a specified region
|
* Get all plot areas in a specified region
|
||||||
@ -71,7 +73,8 @@ public abstract class PlotWorld {
|
|||||||
* @param region Region
|
* @param region Region
|
||||||
* @return All areas in the region
|
* @return All areas in the region
|
||||||
*/
|
*/
|
||||||
public @NonNull abstract Collection<PlotArea> getAreasInRegion(
|
public @NonNull
|
||||||
|
abstract Collection<PlotArea> getAreasInRegion(
|
||||||
final @NonNull CuboidRegion region
|
final @NonNull CuboidRegion region
|
||||||
);
|
);
|
||||||
|
|
||||||
|
@ -44,9 +44,9 @@ public abstract class CommentInbox {
|
|||||||
* @return the inbox, otherwise {@code false} false
|
* @return the inbox, otherwise {@code false} false
|
||||||
*/
|
*/
|
||||||
public boolean canRead(Plot plot, PlotPlayer<?> player) {
|
public boolean canRead(Plot plot, PlotPlayer<?> player) {
|
||||||
if (Permissions.hasPermission(player, "plots.inbox.read." + toString(), true)) {
|
if (Permissions.hasPermission(player, "plots.inbox.read." + this, true)) {
|
||||||
return plot.isOwner(player.getUUID()) || Permissions
|
return plot.isOwner(player.getUUID()) || Permissions
|
||||||
.hasPermission(player, "plots.inbox.read." + toString() + ".other", true);
|
.hasPermission(player, "plots.inbox.read." + this + ".other", true);
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
@ -236,8 +236,10 @@ public class PlotAnalysis {
|
|||||||
int optimalIndex = (int) Math.round((1 - threshold) * (n - 1));
|
int optimalIndex = (int) Math.round((1 - threshold) * (n - 1));
|
||||||
|
|
||||||
LOGGER.info("- Calculating rank correlation: ");
|
LOGGER.info("- Calculating rank correlation: ");
|
||||||
LOGGER.info("- The analyzed plots which were processed and put into bulk data will be compared and correlated to the plot ranking");
|
LOGGER.info(
|
||||||
LOGGER.info("- The calculated correlation constant will then be used to calibrate the threshold for auto plot clearing");
|
"- The analyzed plots which were processed and put into bulk data will be compared and correlated to the plot ranking");
|
||||||
|
LOGGER.info(
|
||||||
|
"- The calculated correlation constant will then be used to calibrate the threshold for auto plot clearing");
|
||||||
|
|
||||||
Settings.Auto_Clear settings = new Settings.Auto_Clear();
|
Settings.Auto_Clear settings = new Settings.Auto_Clear();
|
||||||
|
|
||||||
@ -381,8 +383,8 @@ public class PlotAnalysis {
|
|||||||
logln(getCC(n, sum(square(getSD(rankComplexity, rankRatings)))));
|
logln(getCC(n, sum(square(getSD(rankComplexity, rankRatings)))));
|
||||||
if (optimalComplexity == Integer.MAX_VALUE) {
|
if (optimalComplexity == Integer.MAX_VALUE) {
|
||||||
LOGGER.info("Insufficient data to determine correlation! {} | {}",
|
LOGGER.info("Insufficient data to determine correlation! {} | {}",
|
||||||
optimalIndex, n
|
optimalIndex, n
|
||||||
);
|
);
|
||||||
running = false;
|
running = false;
|
||||||
for (Plot plot : plots) {
|
for (Plot plot : plots) {
|
||||||
plot.removeRunning();
|
plot.removeRunning();
|
||||||
|
@ -52,8 +52,8 @@ public class FlagContainer {
|
|||||||
private final Map<Class<?>, PlotFlag<?, ?>> flagMap = new HashMap<>();
|
private final Map<Class<?>, PlotFlag<?, ?>> flagMap = new HashMap<>();
|
||||||
private final PlotFlagUpdateHandler plotFlagUpdateHandler;
|
private final PlotFlagUpdateHandler plotFlagUpdateHandler;
|
||||||
private final Collection<PlotFlagUpdateHandler> updateSubscribers = new HashSet<>();
|
private final Collection<PlotFlagUpdateHandler> updateSubscribers = new HashSet<>();
|
||||||
private FlagContainer parentContainer;
|
|
||||||
private final PlotFlagUpdateHandler unknownsRef;
|
private final PlotFlagUpdateHandler unknownsRef;
|
||||||
|
private FlagContainer parentContainer;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Construct a new flag container with an optional parent container and update handler.
|
* Construct a new flag container with an optional parent container and update handler.
|
||||||
|
@ -95,7 +95,8 @@ public abstract class PlotFlag<T, F extends PlotFlag<T, F>> {
|
|||||||
*
|
*
|
||||||
* @return Non-nullable flag value
|
* @return Non-nullable flag value
|
||||||
*/
|
*/
|
||||||
public @NonNull final T getValue() {
|
public @NonNull
|
||||||
|
final T getValue() {
|
||||||
return this.value;
|
return this.value;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -41,7 +41,11 @@ public class PlotTitleFlag extends PlotFlag<PlotTitle, PlotTitleFlag> {
|
|||||||
* @param value Flag value
|
* @param value Flag value
|
||||||
*/
|
*/
|
||||||
protected PlotTitleFlag(PlotTitle value) {
|
protected PlotTitleFlag(PlotTitle value) {
|
||||||
super(value, TranslatableCaption.of("flags.flag_category_string"), TranslatableCaption.of("flags.flag_description_title"));
|
super(
|
||||||
|
value,
|
||||||
|
TranslatableCaption.of("flags.flag_category_string"),
|
||||||
|
TranslatableCaption.of("flags.flag_description_title")
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -31,10 +31,10 @@ import com.plotsquared.core.configuration.Settings;
|
|||||||
import com.sk89q.worldedit.world.block.BlockCategory;
|
import com.sk89q.worldedit.world.block.BlockCategory;
|
||||||
import com.sk89q.worldedit.world.block.BlockStateHolder;
|
import com.sk89q.worldedit.world.block.BlockStateHolder;
|
||||||
import com.sk89q.worldedit.world.block.BlockType;
|
import com.sk89q.worldedit.world.block.BlockType;
|
||||||
import org.checkerframework.checker.nullness.qual.NonNull;
|
|
||||||
import org.checkerframework.checker.nullness.qual.Nullable;
|
|
||||||
import org.apache.logging.log4j.LogManager;
|
import org.apache.logging.log4j.LogManager;
|
||||||
import org.apache.logging.log4j.Logger;
|
import org.apache.logging.log4j.Logger;
|
||||||
|
import org.checkerframework.checker.nullness.qual.NonNull;
|
||||||
|
import org.checkerframework.checker.nullness.qual.Nullable;
|
||||||
|
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
@ -182,7 +182,12 @@ public class SinglePlotArea extends GridPlotWorld {
|
|||||||
@Override
|
@Override
|
||||||
public ConfigurationNode[] getSettingNodes() {
|
public ConfigurationNode[] getSettingNodes() {
|
||||||
return new ConfigurationNode[]{
|
return new ConfigurationNode[]{
|
||||||
new ConfigurationNode("void", this.VOID, TranslatableCaption.of("setup.singleplotarea_void_world"), ConfigurationUtil.BOOLEAN)};
|
new ConfigurationNode(
|
||||||
|
"void",
|
||||||
|
this.VOID,
|
||||||
|
TranslatableCaption.of("setup.singleplotarea_void_world"),
|
||||||
|
ConfigurationUtil.BOOLEAN
|
||||||
|
)};
|
||||||
}
|
}
|
||||||
|
|
||||||
@Nullable
|
@Nullable
|
||||||
|
@ -271,7 +271,8 @@ public abstract class BasicQueueCoordinator extends QueueCoordinator {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public @Nullable final Consumer<BlockVector2> getChunkConsumer() {
|
public @Nullable
|
||||||
|
final Consumer<BlockVector2> getChunkConsumer() {
|
||||||
return this.consumer;
|
return this.consumer;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -293,7 +294,8 @@ public abstract class BasicQueueCoordinator extends QueueCoordinator {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public @NonNull final LightingMode getLightingMode() {
|
public @NonNull
|
||||||
|
final LightingMode getLightingMode() {
|
||||||
if (lightingMode == null) {
|
if (lightingMode == null) {
|
||||||
return LightingMode.valueOf(Settings.QUEUE.LIGHTING_MODE);
|
return LightingMode.valueOf(Settings.QUEUE.LIGHTING_MODE);
|
||||||
}
|
}
|
||||||
|
@ -218,7 +218,8 @@ public class ChunkCoordinatorBuilder {
|
|||||||
Preconditions.checkNotNull(this.whenDone, "No final action was supplied");
|
Preconditions.checkNotNull(this.whenDone, "No final action was supplied");
|
||||||
Preconditions.checkNotNull(this.throwableConsumer, "No throwable consumer was supplied");
|
Preconditions.checkNotNull(this.throwableConsumer, "No throwable consumer was supplied");
|
||||||
return chunkCoordinatorFactory
|
return chunkCoordinatorFactory
|
||||||
.create(this.maxIterationTime,
|
.create(
|
||||||
|
this.maxIterationTime,
|
||||||
this.initialBatchSize,
|
this.initialBatchSize,
|
||||||
this.chunkConsumer,
|
this.chunkConsumer,
|
||||||
this.world,
|
this.world,
|
||||||
|
@ -190,7 +190,8 @@ public abstract class QueueCoordinator {
|
|||||||
* @param z block z
|
* @param z block z
|
||||||
* @return WorldEdit BlockState
|
* @return WorldEdit BlockState
|
||||||
*/
|
*/
|
||||||
public @Nullable abstract BlockState getBlock(int x, int y, int z);
|
public @Nullable
|
||||||
|
abstract BlockState getBlock(int x, int y, int z);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Set a biome in XZ. This will likely set to the whole column
|
* Set a biome in XZ. This will likely set to the whole column
|
||||||
@ -199,10 +200,9 @@ public abstract class QueueCoordinator {
|
|||||||
* @param z z coordinate
|
* @param z z coordinate
|
||||||
* @param biome biome
|
* @param biome biome
|
||||||
* @return success or not
|
* @return success or not
|
||||||
*
|
|
||||||
* @deprecated Biomes now take XYZ, see {@link #setBiome(int, int, int, BiomeType)}
|
* @deprecated Biomes now take XYZ, see {@link #setBiome(int, int, int, BiomeType)}
|
||||||
* <br>
|
* <br>
|
||||||
* Scheduled for removal once we drop the support for versions not supporting 3D biomes.
|
* Scheduled for removal once we drop the support for versions not supporting 3D biomes.
|
||||||
*/
|
*/
|
||||||
@Deprecated(forRemoval = true)
|
@Deprecated(forRemoval = true)
|
||||||
public abstract boolean setBiome(int x, int z, @NonNull BiomeType biome);
|
public abstract boolean setBiome(int x, int z, @NonNull BiomeType biome);
|
||||||
@ -249,7 +249,8 @@ public abstract class QueueCoordinator {
|
|||||||
*
|
*
|
||||||
* @return list of BlockVector2 of chunks that are to be "read"
|
* @return list of BlockVector2 of chunks that are to be "read"
|
||||||
*/
|
*/
|
||||||
public @NonNull abstract List<BlockVector2> getReadChunks();
|
public @NonNull
|
||||||
|
abstract List<BlockVector2> getReadChunks();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Add a set of {@link BlockVector2} Chunk coordinates to the Read Chunks list
|
* Add a set of {@link BlockVector2} Chunk coordinates to the Read Chunks list
|
||||||
@ -284,7 +285,8 @@ public abstract class QueueCoordinator {
|
|||||||
*
|
*
|
||||||
* @return CuboidRegion to regenerate
|
* @return CuboidRegion to regenerate
|
||||||
*/
|
*/
|
||||||
public @Nullable abstract CuboidRegion getRegenRegion();
|
public @Nullable
|
||||||
|
abstract CuboidRegion getRegenRegion();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Set the {@link CuboidRegion} designated for direct regeneration
|
* Set the {@link CuboidRegion} designated for direct regeneration
|
||||||
@ -306,7 +308,8 @@ public abstract class QueueCoordinator {
|
|||||||
*
|
*
|
||||||
* @return world of the queue
|
* @return world of the queue
|
||||||
*/
|
*/
|
||||||
public @Nullable abstract World getWorld();
|
public @Nullable
|
||||||
|
abstract World getWorld();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Set the queue as having been modified now
|
* Set the queue as having been modified now
|
||||||
@ -353,7 +356,8 @@ public abstract class QueueCoordinator {
|
|||||||
*
|
*
|
||||||
* @return Consumer to be executed on each chunk in queue
|
* @return Consumer to be executed on each chunk in queue
|
||||||
*/
|
*/
|
||||||
public @Nullable abstract Consumer<BlockVector2> getChunkConsumer();
|
public @Nullable
|
||||||
|
abstract Consumer<BlockVector2> getChunkConsumer();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Set the Consumer that will be executed on each chunk in queue
|
* Set the Consumer that will be executed on each chunk in queue
|
||||||
@ -370,7 +374,8 @@ public abstract class QueueCoordinator {
|
|||||||
/**
|
/**
|
||||||
* Get the {@link LightingMode} to be used when setting blocks
|
* Get the {@link LightingMode} to be used when setting blocks
|
||||||
*/
|
*/
|
||||||
public @NonNull abstract LightingMode getLightingMode();
|
public @NonNull
|
||||||
|
abstract LightingMode getLightingMode();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Set the {@link LightingMode} to be used when setting blocks
|
* Set the {@link LightingMode} to be used when setting blocks
|
||||||
|
@ -27,9 +27,9 @@ package com.plotsquared.core.queue;
|
|||||||
|
|
||||||
import com.plotsquared.core.PlotSquared;
|
import com.plotsquared.core.PlotSquared;
|
||||||
import com.sk89q.worldedit.world.World;
|
import com.sk89q.worldedit.world.World;
|
||||||
import org.checkerframework.checker.nullness.qual.NonNull;
|
|
||||||
import org.apache.logging.log4j.LogManager;
|
import org.apache.logging.log4j.LogManager;
|
||||||
import org.apache.logging.log4j.Logger;
|
import org.apache.logging.log4j.Logger;
|
||||||
|
import org.checkerframework.checker.nullness.qual.NonNull;
|
||||||
|
|
||||||
public abstract class QueueProvider {
|
public abstract class QueueProvider {
|
||||||
|
|
||||||
|
@ -41,7 +41,6 @@ import net.kyori.adventure.text.minimessage.Template;
|
|||||||
import org.checkerframework.checker.nullness.qual.NonNull;
|
import org.checkerframework.checker.nullness.qual.NonNull;
|
||||||
|
|
||||||
import javax.annotation.Nullable;
|
import javax.annotation.Nullable;
|
||||||
|
|
||||||
import java.util.concurrent.atomic.AtomicBoolean;
|
import java.util.concurrent.atomic.AtomicBoolean;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -278,7 +278,9 @@ public enum CommonSetupSteps implements SetupStep {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private static boolean isValidWorldName(String s) {
|
private static boolean isValidWorldName(String s) {
|
||||||
return s.chars().allMatch((i) -> i == 95 || i == 45 || i >= 97 && i <= 122 || i >= 65 && i <= 90 || i >= 48 && i <= 57 || i == 46);
|
return s
|
||||||
|
.chars()
|
||||||
|
.allMatch((i) -> i == 95 || i == 45 || i >= 97 && i <= 122 || i >= 65 && i <= 90 || i >= 48 && i <= 57 || i == 46);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -91,13 +91,13 @@ public final class BlockUtil {
|
|||||||
return FuzzyBlockState.builder().type(BlockTypes.AIR).build();
|
return FuzzyBlockState.builder().type(BlockTypes.AIR).build();
|
||||||
}
|
}
|
||||||
String mutableId = id;
|
String mutableId = id;
|
||||||
mutableId = id.toLowerCase();
|
mutableId = id.toLowerCase();
|
||||||
BlockType type = BlockTypes.get(mutableId );
|
BlockType type = BlockTypes.get(mutableId);
|
||||||
if (type != null) {
|
if (type != null) {
|
||||||
return type.getDefaultState();
|
return type.getDefaultState();
|
||||||
}
|
}
|
||||||
if (Character.isDigit(mutableId .charAt(0))) {
|
if (Character.isDigit(mutableId.charAt(0))) {
|
||||||
String[] split = mutableId .split(":");
|
String[] split = mutableId.split(":");
|
||||||
if (MathMan.isInteger(split[0])) {
|
if (MathMan.isInteger(split[0])) {
|
||||||
if (split.length == 2) {
|
if (split.length == 2) {
|
||||||
if (MathMan.isInteger(split[1])) {
|
if (MathMan.isInteger(split[1])) {
|
||||||
|
@ -32,9 +32,9 @@ import com.plotsquared.core.player.ConsolePlayer;
|
|||||||
import com.plotsquared.core.plot.BlockBucket;
|
import com.plotsquared.core.plot.BlockBucket;
|
||||||
import com.sk89q.worldedit.world.block.BlockState;
|
import com.sk89q.worldedit.world.block.BlockState;
|
||||||
import net.kyori.adventure.text.minimessage.Template;
|
import net.kyori.adventure.text.minimessage.Template;
|
||||||
import org.checkerframework.checker.nullness.qual.NonNull;
|
|
||||||
import org.apache.logging.log4j.LogManager;
|
import org.apache.logging.log4j.LogManager;
|
||||||
import org.apache.logging.log4j.Logger;
|
import org.apache.logging.log4j.Logger;
|
||||||
|
import org.checkerframework.checker.nullness.qual.NonNull;
|
||||||
|
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
@ -117,7 +117,8 @@ public final class LegacyConverter {
|
|||||||
) {
|
) {
|
||||||
final BlockBucket bucket = this.blockToBucket(block);
|
final BlockBucket bucket = this.blockToBucket(block);
|
||||||
this.setString(section, key, bucket);
|
this.setString(section, key, bucket);
|
||||||
ConsolePlayer.getConsole().sendMessage(TranslatableCaption.of("legacyconfig.legacy_config_replaced"),
|
ConsolePlayer.getConsole().sendMessage(
|
||||||
|
TranslatableCaption.of("legacyconfig.legacy_config_replaced"),
|
||||||
Template.of("value1", block),
|
Template.of("value1", block),
|
||||||
Template.of("value2", bucket.toString())
|
Template.of("value2", bucket.toString())
|
||||||
);
|
);
|
||||||
@ -132,7 +133,8 @@ public final class LegacyConverter {
|
|||||||
final BlockBucket bucket = this.blockListToBucket(blocks);
|
final BlockBucket bucket = this.blockListToBucket(blocks);
|
||||||
this.setString(section, key, bucket);
|
this.setString(section, key, bucket);
|
||||||
ConsolePlayer.getConsole()
|
ConsolePlayer.getConsole()
|
||||||
.sendMessage(TranslatableCaption.of("legacyconfig.legacy_config_replaced"),
|
.sendMessage(
|
||||||
|
TranslatableCaption.of("legacyconfig.legacy_config_replaced"),
|
||||||
Template.of("value1", plotBlockArrayString(blocks)),
|
Template.of("value1", plotBlockArrayString(blocks)),
|
||||||
Template.of("value2", bucket.toString())
|
Template.of("value2", bucket.toString())
|
||||||
);
|
);
|
||||||
|
@ -257,7 +257,8 @@ public abstract class PlayerManager<P extends PlotPlayer<? extends T>, T> {
|
|||||||
* @param object Platform player object
|
* @param object Platform player object
|
||||||
* @return Player object
|
* @return Player object
|
||||||
*/
|
*/
|
||||||
public @NonNull abstract P getPlayer(final @NonNull T object);
|
public @NonNull
|
||||||
|
abstract P getPlayer(final @NonNull T object);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get a plot player from a UUID. This method requires
|
* Get a plot player from a UUID. This method requires
|
||||||
@ -280,7 +281,8 @@ public abstract class PlayerManager<P extends PlotPlayer<? extends T>, T> {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public @NonNull abstract P createPlayer(final @NonNull UUID uuid);
|
public @NonNull
|
||||||
|
abstract P createPlayer(final @NonNull UUID uuid);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get an an offline player object from the player's UUID
|
* Get an an offline player object from the player's UUID
|
||||||
@ -288,7 +290,8 @@ public abstract class PlayerManager<P extends PlotPlayer<? extends T>, T> {
|
|||||||
* @param uuid Player UUID
|
* @param uuid Player UUID
|
||||||
* @return Offline player object
|
* @return Offline player object
|
||||||
*/
|
*/
|
||||||
public @Nullable abstract OfflinePlotPlayer getOfflinePlayer(final @Nullable UUID uuid);
|
public @Nullable
|
||||||
|
abstract OfflinePlotPlayer getOfflinePlayer(final @Nullable UUID uuid);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get an offline player object from the player's username
|
* Get an offline player object from the player's username
|
||||||
@ -296,7 +299,8 @@ public abstract class PlayerManager<P extends PlotPlayer<? extends T>, T> {
|
|||||||
* @param username Player name
|
* @param username Player name
|
||||||
* @return Offline player object
|
* @return Offline player object
|
||||||
*/
|
*/
|
||||||
public @Nullable abstract OfflinePlotPlayer getOfflinePlayer(final @NonNull String username);
|
public @Nullable
|
||||||
|
abstract OfflinePlotPlayer getOfflinePlayer(final @NonNull String username);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get all online players
|
* Get all online players
|
||||||
@ -311,7 +315,7 @@ public abstract class PlayerManager<P extends PlotPlayer<? extends T>, T> {
|
|||||||
public static final class NoSuchPlayerException extends IllegalArgumentException {
|
public static final class NoSuchPlayerException extends IllegalArgumentException {
|
||||||
|
|
||||||
public NoSuchPlayerException(final @NonNull UUID uuid) {
|
public NoSuchPlayerException(final @NonNull UUID uuid) {
|
||||||
super(String.format("There is no online player with UUID '%s'", uuid.toString()));
|
super(String.format("There is no online player with UUID '%s'", uuid));
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -33,10 +33,10 @@ import com.plotsquared.core.configuration.Settings;
|
|||||||
import com.plotsquared.core.plot.Plot;
|
import com.plotsquared.core.plot.Plot;
|
||||||
import com.sk89q.jnbt.CompoundTag;
|
import com.sk89q.jnbt.CompoundTag;
|
||||||
import com.sk89q.jnbt.NBTOutputStream;
|
import com.sk89q.jnbt.NBTOutputStream;
|
||||||
import org.checkerframework.checker.nullness.qual.NonNull;
|
|
||||||
import org.checkerframework.checker.nullness.qual.Nullable;
|
|
||||||
import org.apache.logging.log4j.LogManager;
|
import org.apache.logging.log4j.LogManager;
|
||||||
import org.apache.logging.log4j.Logger;
|
import org.apache.logging.log4j.Logger;
|
||||||
|
import org.checkerframework.checker.nullness.qual.NonNull;
|
||||||
|
import org.checkerframework.checker.nullness.qual.Nullable;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.io.OutputStream;
|
import java.io.OutputStream;
|
||||||
|
@ -71,10 +71,10 @@ import com.sk89q.worldedit.world.World;
|
|||||||
import com.sk89q.worldedit.world.biome.BiomeType;
|
import com.sk89q.worldedit.world.biome.BiomeType;
|
||||||
import com.sk89q.worldedit.world.block.BaseBlock;
|
import com.sk89q.worldedit.world.block.BaseBlock;
|
||||||
import com.sk89q.worldedit.world.block.BlockTypes;
|
import com.sk89q.worldedit.world.block.BlockTypes;
|
||||||
import org.checkerframework.checker.nullness.qual.NonNull;
|
|
||||||
import org.checkerframework.checker.nullness.qual.Nullable;
|
|
||||||
import org.apache.logging.log4j.LogManager;
|
import org.apache.logging.log4j.LogManager;
|
||||||
import org.apache.logging.log4j.Logger;
|
import org.apache.logging.log4j.Logger;
|
||||||
|
import org.checkerframework.checker.nullness.qual.NonNull;
|
||||||
|
import org.checkerframework.checker.nullness.qual.Nullable;
|
||||||
|
|
||||||
import java.io.BufferedReader;
|
import java.io.BufferedReader;
|
||||||
import java.io.ByteArrayOutputStream;
|
import java.io.ByteArrayOutputStream;
|
||||||
|
@ -35,10 +35,10 @@ import java.util.function.Function;
|
|||||||
*/
|
*/
|
||||||
public class StringComparison<T> {
|
public class StringComparison<T> {
|
||||||
|
|
||||||
|
private final Function<T, String> toString;
|
||||||
private T bestMatch;
|
private T bestMatch;
|
||||||
private double match = Integer.MAX_VALUE;
|
private double match = Integer.MAX_VALUE;
|
||||||
private T bestMatchObject;
|
private T bestMatchObject;
|
||||||
private final Function<T, String> toString;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Constructor
|
* Constructor
|
||||||
|
@ -100,7 +100,8 @@ public abstract class WorldUtil {
|
|||||||
* @deprecated May result in synchronous chunk loading
|
* @deprecated May result in synchronous chunk loading
|
||||||
*/
|
*/
|
||||||
@Deprecated
|
@Deprecated
|
||||||
public @NonNull abstract String[] getSignSynchronous(@NonNull Location location);
|
public @NonNull
|
||||||
|
abstract String[] getSignSynchronous(@NonNull Location location);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get the world spawn location
|
* Get the world spawn location
|
||||||
@ -108,7 +109,8 @@ public abstract class WorldUtil {
|
|||||||
* @param world World name
|
* @param world World name
|
||||||
* @return World spawn location
|
* @return World spawn location
|
||||||
*/
|
*/
|
||||||
public @NonNull abstract Location getSpawn(@NonNull String world);
|
public @NonNull
|
||||||
|
abstract Location getSpawn(@NonNull String world);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Set the world spawn location
|
* Set the world spawn location
|
||||||
@ -130,7 +132,8 @@ public abstract class WorldUtil {
|
|||||||
* @param name Block name
|
* @param name Block name
|
||||||
* @return Comparison result containing the closets matching block
|
* @return Comparison result containing the closets matching block
|
||||||
*/
|
*/
|
||||||
public @NonNull abstract StringComparison<BlockState>.ComparisonResult getClosestBlock(@NonNull String name);
|
public @NonNull
|
||||||
|
abstract StringComparison<BlockState>.ComparisonResult getClosestBlock(@NonNull String name);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Set the block at the specified location to a sign, with given text
|
* Set the block at the specified location to a sign, with given text
|
||||||
@ -165,7 +168,8 @@ public abstract class WorldUtil {
|
|||||||
* @deprecated Use {@link #getBiome(String, int, int, Consumer)}
|
* @deprecated Use {@link #getBiome(String, int, int, Consumer)}
|
||||||
*/
|
*/
|
||||||
@Deprecated
|
@Deprecated
|
||||||
public @NonNull abstract BiomeType getBiomeSynchronous(@NonNull String world, int x, int z);
|
public @NonNull
|
||||||
|
abstract BiomeType getBiomeSynchronous(@NonNull String world, int x, int z);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get the block at a given location (asynchronously)
|
* Get the block at a given location (asynchronously)
|
||||||
@ -183,7 +187,8 @@ public abstract class WorldUtil {
|
|||||||
* @deprecated Use {@link #getBlock(Location, Consumer)}
|
* @deprecated Use {@link #getBlock(Location, Consumer)}
|
||||||
*/
|
*/
|
||||||
@Deprecated
|
@Deprecated
|
||||||
public @NonNull abstract BlockState getBlockSynchronous(@NonNull Location location);
|
public @NonNull
|
||||||
|
abstract BlockState getBlockSynchronous(@NonNull Location location);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get the Y coordinate of the highest non-air block in the world, asynchronously
|
* Get the Y coordinate of the highest non-air block in the world, asynchronously
|
||||||
@ -398,14 +403,16 @@ public abstract class WorldUtil {
|
|||||||
* @param category Entity category
|
* @param category Entity category
|
||||||
* @return Set containing all entities belonging to the given category
|
* @return Set containing all entities belonging to the given category
|
||||||
*/
|
*/
|
||||||
public @NonNull abstract Set<EntityType> getTypesInCategory(@NonNull String category);
|
public @NonNull
|
||||||
|
abstract Set<EntityType> getTypesInCategory(@NonNull String category);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get all recognized tile entity types
|
* Get all recognized tile entity types
|
||||||
*
|
*
|
||||||
* @return Collection containing all known tile entity types
|
* @return Collection containing all known tile entity types
|
||||||
*/
|
*/
|
||||||
public @NonNull abstract Collection<BlockType> getTileEntityTypes();
|
public @NonNull
|
||||||
|
abstract Collection<BlockType> getTileEntityTypes();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get the tile entity count in a chunk
|
* Get the tile entity count in a chunk
|
||||||
|
@ -46,14 +46,16 @@ public abstract class Placeholder {
|
|||||||
* @param player Player
|
* @param player Player
|
||||||
* @return Placeholder value. Return {@code ""} if no placeholder value can be returned
|
* @return Placeholder value. Return {@code ""} if no placeholder value can be returned
|
||||||
*/
|
*/
|
||||||
public @NonNull abstract String getValue(final @NonNull PlotPlayer<?> player);
|
public @NonNull
|
||||||
|
abstract String getValue(final @NonNull PlotPlayer<?> player);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get the placeholder key
|
* Get the placeholder key
|
||||||
*
|
*
|
||||||
* @return Placeholder key
|
* @return Placeholder key
|
||||||
*/
|
*/
|
||||||
public @NonNull final String getKey() {
|
public @NonNull
|
||||||
|
final String getKey() {
|
||||||
return this.key;
|
return this.key;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -39,7 +39,8 @@ public abstract class PlotSpecificPlaceholder extends Placeholder {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public @NonNull final String getValue(final @NonNull PlotPlayer<?> player) {
|
public @NonNull
|
||||||
|
final String getValue(final @NonNull PlotPlayer<?> player) {
|
||||||
final Plot plot = player.getCurrentPlot();
|
final Plot plot = player.getCurrentPlot();
|
||||||
if (plot == null) {
|
if (plot == null) {
|
||||||
return "";
|
return "";
|
||||||
@ -54,7 +55,8 @@ public abstract class PlotSpecificPlaceholder extends Placeholder {
|
|||||||
* @param plot Plot that the player is in
|
* @param plot Plot that the player is in
|
||||||
* @return Placeholder value, or {@code ""} if the placeholder does not apply
|
* @return Placeholder value, or {@code ""} if the placeholder does not apply
|
||||||
*/
|
*/
|
||||||
public @NonNull abstract String getValue(
|
public @NonNull
|
||||||
|
abstract String getValue(
|
||||||
final @NonNull PlotPlayer<?> player,
|
final @NonNull PlotPlayer<?> player,
|
||||||
final @NonNull Plot plot
|
final @NonNull Plot plot
|
||||||
);
|
);
|
||||||
|
@ -52,5 +52,5 @@ public enum SortingStrategy {
|
|||||||
/**
|
/**
|
||||||
* Sort using a comparator
|
* Sort using a comparator
|
||||||
*/
|
*/
|
||||||
COMPARATOR;
|
COMPARATOR
|
||||||
}
|
}
|
||||||
|
@ -33,10 +33,10 @@ import com.plotsquared.core.player.ConsolePlayer;
|
|||||||
import com.plotsquared.core.util.ThreadUtils;
|
import com.plotsquared.core.util.ThreadUtils;
|
||||||
import com.plotsquared.core.util.task.TaskManager;
|
import com.plotsquared.core.util.task.TaskManager;
|
||||||
import net.kyori.adventure.text.minimessage.MiniMessage;
|
import net.kyori.adventure.text.minimessage.MiniMessage;
|
||||||
import org.checkerframework.checker.nullness.qual.NonNull;
|
|
||||||
import org.checkerframework.checker.nullness.qual.Nullable;
|
|
||||||
import org.apache.logging.log4j.LogManager;
|
import org.apache.logging.log4j.LogManager;
|
||||||
import org.apache.logging.log4j.Logger;
|
import org.apache.logging.log4j.Logger;
|
||||||
|
import org.checkerframework.checker.nullness.qual.NonNull;
|
||||||
|
import org.checkerframework.checker.nullness.qual.Nullable;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
@ -215,9 +215,9 @@ public class UUIDPipeline {
|
|||||||
*/
|
*/
|
||||||
public void getSingle(final @NonNull String username, final @NonNull BiConsumer<@Nullable UUID, @Nullable Throwable> uuid) {
|
public void getSingle(final @NonNull String username, final @NonNull BiConsumer<@Nullable UUID, @Nullable Throwable> uuid) {
|
||||||
this.getUUIDs(Collections.singletonList(username)).applyToEither(
|
this.getUUIDs(Collections.singletonList(username)).applyToEither(
|
||||||
timeoutAfter(Settings.UUID.NON_BLOCKING_TIMEOUT),
|
timeoutAfter(Settings.UUID.NON_BLOCKING_TIMEOUT),
|
||||||
Function.identity()
|
Function.identity()
|
||||||
)
|
)
|
||||||
.whenComplete((uuids, throwable) -> {
|
.whenComplete((uuids, throwable) -> {
|
||||||
if (throwable != null) {
|
if (throwable != null) {
|
||||||
uuid.accept(null, throwable);
|
uuid.accept(null, throwable);
|
||||||
@ -239,9 +239,9 @@ public class UUIDPipeline {
|
|||||||
*/
|
*/
|
||||||
public void getSingle(final @NonNull UUID uuid, final @NonNull BiConsumer<@Nullable String, @Nullable Throwable> username) {
|
public void getSingle(final @NonNull UUID uuid, final @NonNull BiConsumer<@Nullable String, @Nullable Throwable> username) {
|
||||||
this.getNames(Collections.singletonList(uuid)).applyToEither(
|
this.getNames(Collections.singletonList(uuid)).applyToEither(
|
||||||
timeoutAfter(Settings.UUID.NON_BLOCKING_TIMEOUT),
|
timeoutAfter(Settings.UUID.NON_BLOCKING_TIMEOUT),
|
||||||
Function.identity()
|
Function.identity()
|
||||||
)
|
)
|
||||||
.whenComplete((uuids, throwable) -> {
|
.whenComplete((uuids, throwable) -> {
|
||||||
if (throwable != null) {
|
if (throwable != null) {
|
||||||
username.accept(null, throwable);
|
username.accept(null, throwable);
|
||||||
@ -427,7 +427,8 @@ public class UUIDPipeline {
|
|||||||
*
|
*
|
||||||
* @return All mappings that could be provided immediately
|
* @return All mappings that could be provided immediately
|
||||||
*/
|
*/
|
||||||
public @NonNull final Collection<@NonNull UUIDMapping> getAllImmediately() {
|
public @NonNull
|
||||||
|
final Collection<@NonNull UUIDMapping> getAllImmediately() {
|
||||||
final Set<UUIDMapping> mappings = new LinkedHashSet<>();
|
final Set<UUIDMapping> mappings = new LinkedHashSet<>();
|
||||||
for (final UUIDService service : this.getServiceListInstance()) {
|
for (final UUIDService service : this.getServiceListInstance()) {
|
||||||
mappings.addAll(service.getImmediately());
|
mappings.addAll(service.getImmediately());
|
||||||
@ -441,7 +442,8 @@ public class UUIDPipeline {
|
|||||||
* @param object Username ({@link String}) or {@link UUID}
|
* @param object Username ({@link String}) or {@link UUID}
|
||||||
* @return Mapping, if it could be found immediately
|
* @return Mapping, if it could be found immediately
|
||||||
*/
|
*/
|
||||||
public @Nullable final UUIDMapping getImmediately(final @NonNull Object object) {
|
public @Nullable
|
||||||
|
final UUIDMapping getImmediately(final @NonNull Object object) {
|
||||||
for (final UUIDService uuidService : this.getServiceListInstance()) {
|
for (final UUIDService uuidService : this.getServiceListInstance()) {
|
||||||
final UUIDMapping mapping = uuidService.getImmediately(object);
|
final UUIDMapping mapping = uuidService.getImmediately(object);
|
||||||
if (mapping != null) {
|
if (mapping != null) {
|
||||||
|
@ -48,8 +48,8 @@ class ClickStripTransformTest {
|
|||||||
var transform = new ClickStripTransform(EnumSet.of(commonAction));
|
var transform = new ClickStripTransform(EnumSet.of(commonAction));
|
||||||
var component = Component.text("Hello")
|
var component = Component.text("Hello")
|
||||||
.clickEvent(ClickEvent.clickEvent(
|
.clickEvent(ClickEvent.clickEvent(
|
||||||
commonAction,
|
commonAction,
|
||||||
"World"
|
"World"
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
var transformedComponent = transform.transform(component);
|
var transformedComponent = transform.transform(component);
|
||||||
|
@ -30,10 +30,10 @@ import com.plotsquared.core.database.DBFunc;
|
|||||||
import com.plotsquared.core.plot.flag.PlotFlag;
|
import com.plotsquared.core.plot.flag.PlotFlag;
|
||||||
import com.plotsquared.core.plot.flag.implementations.UseFlag;
|
import com.plotsquared.core.plot.flag.implementations.UseFlag;
|
||||||
import com.sk89q.worldedit.world.item.ItemType;
|
import com.sk89q.worldedit.world.item.ItemType;
|
||||||
import org.junit.Before;
|
|
||||||
import org.junit.Test;
|
|
||||||
import org.apache.logging.log4j.LogManager;
|
import org.apache.logging.log4j.LogManager;
|
||||||
import org.apache.logging.log4j.Logger;
|
import org.apache.logging.log4j.Logger;
|
||||||
|
import org.junit.Before;
|
||||||
|
import org.junit.Test;
|
||||||
|
|
||||||
import static org.junit.Assert.assertEquals;
|
import static org.junit.Assert.assertEquals;
|
||||||
|
|
||||||
|
@ -26,9 +26,9 @@
|
|||||||
package com.plotsquared.core.plot;
|
package com.plotsquared.core.plot;
|
||||||
|
|
||||||
import com.plotsquared.core.PlotVersion;
|
import com.plotsquared.core.PlotVersion;
|
||||||
import org.junit.Test;
|
|
||||||
import org.apache.logging.log4j.LogManager;
|
import org.apache.logging.log4j.LogManager;
|
||||||
import org.apache.logging.log4j.Logger;
|
import org.apache.logging.log4j.Logger;
|
||||||
|
import org.junit.Test;
|
||||||
|
|
||||||
public class PlotVersionTest {
|
public class PlotVersionTest {
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user