mirror of
https://github.com/IntellectualSites/PlotSquared.git
synced 2025-10-23 22:53:45 +02:00
Compare commits
1 Commits
renovate/w
...
fix/contex
Author | SHA1 | Date | |
---|---|---|---|
![]() |
5b3c7a2934 |
@@ -90,7 +90,7 @@ public class DebugRoadRegen extends SubCommand {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public boolean regenPlot(PlotPlayer<?> player) {
|
public boolean regenPlot(PlotPlayer<?> player) {
|
||||||
PlotArea area = player.getCurrentPlot().getArea();
|
PlotArea area = player.getContextualPlotArea();
|
||||||
if (area == null) {
|
if (area == null) {
|
||||||
player.sendMessage(TranslatableCaption.of("errors.not_in_plot_world"));
|
player.sendMessage(TranslatableCaption.of("errors.not_in_plot_world"));
|
||||||
return false;
|
return false;
|
||||||
@@ -145,9 +145,10 @@ public class DebugRoadRegen extends SubCommand {
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
PlotArea area = player.getCurrentPlot().getArea();
|
PlotArea area = player.getContextualPlotArea();
|
||||||
if (area == null) {
|
if (area == null) {
|
||||||
player.sendMessage(TranslatableCaption.of("errors.not_in_plot_world"));
|
player.sendMessage(TranslatableCaption.of("errors.not_in_plot_world"));
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
Plot plot = player.getCurrentPlot();
|
Plot plot = player.getCurrentPlot();
|
||||||
PlotManager manager = area.getPlotManager();
|
PlotManager manager = area.getPlotManager();
|
||||||
|
@@ -150,8 +150,8 @@ public class ListCmd extends SubCommand {
|
|||||||
page = 0;
|
page = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
String world = player.getCurrentPlot().getWorldName();
|
PlotArea area = player.getContextualPlotArea();
|
||||||
PlotArea area = player.getCurrentPlot().getArea();
|
String world = area != null ? area.getWorldName() : "";
|
||||||
String arg = args[0].toLowerCase();
|
String arg = args[0].toLowerCase();
|
||||||
final boolean[] sort = new boolean[]{true};
|
final boolean[] sort = new boolean[]{true};
|
||||||
|
|
||||||
|
@@ -68,11 +68,6 @@ public class Load extends SubCommand {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean onCommand(final PlotPlayer<?> player, final String[] args) {
|
public boolean onCommand(final PlotPlayer<?> player, final String[] args) {
|
||||||
final String world = player.getCurrentPlot().getWorldName();
|
|
||||||
if (!this.plotAreaManager.hasPlotArea(world)) {
|
|
||||||
player.sendMessage(TranslatableCaption.of("errors.not_in_plot_world"));
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
final Plot plot = player.getCurrentPlot();
|
final Plot plot = player.getCurrentPlot();
|
||||||
if (plot == null) {
|
if (plot == null) {
|
||||||
player.sendMessage(TranslatableCaption.of("errors.not_in_plot"));
|
player.sendMessage(TranslatableCaption.of("errors.not_in_plot"));
|
||||||
|
@@ -78,7 +78,7 @@ public class Set extends SubCommand {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean set(PlotPlayer<?> player, final Plot plot, String value) {
|
public boolean set(PlotPlayer<?> player, final Plot plot, String value) {
|
||||||
final PlotArea plotArea = player.getCurrentPlot().getArea();
|
final PlotArea plotArea = player.getContextualPlotArea();
|
||||||
if (plotArea == null) {
|
if (plotArea == null) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
@@ -290,8 +290,7 @@ public abstract class PlotPlayer<P> implements CommandCaller, OfflinePlotPlayer,
|
|||||||
*
|
*
|
||||||
* @return the plot the player is standing on or null if standing on a road or not in a {@link PlotArea}
|
* @return the plot the player is standing on or null if standing on a road or not in a {@link PlotArea}
|
||||||
*/
|
*/
|
||||||
@Nullable
|
public @Nullable Plot getCurrentPlot() {
|
||||||
public Plot getCurrentPlot() {
|
|
||||||
try (final MetaDataAccess<Plot> lastPlotAccess =
|
try (final MetaDataAccess<Plot> lastPlotAccess =
|
||||||
this.accessTemporaryMetaData(PlayerMetaDataKeys.TEMPORARY_LAST_PLOT)) {
|
this.accessTemporaryMetaData(PlayerMetaDataKeys.TEMPORARY_LAST_PLOT)) {
|
||||||
if (lastPlotAccess.get().orElse(null) == null && !Settings.Enabled_Components.EVENTS) {
|
if (lastPlotAccess.get().orElse(null) == null && !Settings.Enabled_Components.EVENTS) {
|
||||||
@@ -320,7 +319,7 @@ public abstract class PlotPlayer<P> implements CommandCaller, OfflinePlotPlayer,
|
|||||||
*/
|
*/
|
||||||
public int getPlotCount() {
|
public int getPlotCount() {
|
||||||
if (!Settings.Limit.GLOBAL) {
|
if (!Settings.Limit.GLOBAL) {
|
||||||
return getPlotCount(getCurrentPlot().getWorldName());
|
return getPlotCount(getContextualWorldName());
|
||||||
}
|
}
|
||||||
final AtomicInteger count = new AtomicInteger(0);
|
final AtomicInteger count = new AtomicInteger(0);
|
||||||
final UUID uuid = getUUID();
|
final UUID uuid = getUUID();
|
||||||
@@ -340,7 +339,7 @@ public abstract class PlotPlayer<P> implements CommandCaller, OfflinePlotPlayer,
|
|||||||
|
|
||||||
public int getClusterCount() {
|
public int getClusterCount() {
|
||||||
if (!Settings.Limit.GLOBAL) {
|
if (!Settings.Limit.GLOBAL) {
|
||||||
return getClusterCount(getCurrentPlot().getWorldName());
|
return getClusterCount(getContextualWorldName());
|
||||||
}
|
}
|
||||||
final AtomicInteger count = new AtomicInteger(0);
|
final AtomicInteger count = new AtomicInteger(0);
|
||||||
this.plotAreaManager.forEachPlotArea(value -> {
|
this.plotAreaManager.forEachPlotArea(value -> {
|
||||||
@@ -353,6 +352,34 @@ public abstract class PlotPlayer<P> implements CommandCaller, OfflinePlotPlayer,
|
|||||||
return count.get();
|
return count.get();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* {@return the world name at the player's contextual position}
|
||||||
|
* The contextual position can be affected when using a command with
|
||||||
|
* an explicit plot override, e.g., `/plot <id> info`.
|
||||||
|
*/
|
||||||
|
private @NonNull String getContextualWorldName() {
|
||||||
|
Plot current = getCurrentPlot();
|
||||||
|
if (current != null) {
|
||||||
|
return current.getWorldName();
|
||||||
|
}
|
||||||
|
return getLocation().getWorldName();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* {@return the plot area at the player's contextual position}
|
||||||
|
* The contextual position can be affected when using a command with
|
||||||
|
* an explicit plot override, e.g., `/plot <id> info`.
|
||||||
|
*
|
||||||
|
* @since TODO
|
||||||
|
*/
|
||||||
|
public @Nullable PlotArea getContextualPlotArea() {
|
||||||
|
Plot current = getCurrentPlot();
|
||||||
|
if (current != null) {
|
||||||
|
return current.getArea();
|
||||||
|
}
|
||||||
|
return getLocation().getPlotArea();
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get the number of plots this player owns in the world.
|
* Get the number of plots this player owns in the world.
|
||||||
*
|
*
|
||||||
@@ -683,7 +710,8 @@ public abstract class PlotPlayer<P> implements CommandCaller, OfflinePlotPlayer,
|
|||||||
|
|
||||||
public void populatePersistentMetaMap() {
|
public void populatePersistentMetaMap() {
|
||||||
if (Settings.Enabled_Components.PERSISTENT_META) {
|
if (Settings.Enabled_Components.PERSISTENT_META) {
|
||||||
DBFunc.getPersistentMeta(getUUID(), new RunnableVal<>() {
|
DBFunc.getPersistentMeta(
|
||||||
|
getUUID(), new RunnableVal<>() {
|
||||||
@Override
|
@Override
|
||||||
public void run(Map<String, byte[]> value) {
|
public void run(Map<String, byte[]> value) {
|
||||||
try {
|
try {
|
||||||
@@ -832,7 +860,8 @@ public abstract class PlotPlayer<P> implements CommandCaller, OfflinePlotPlayer,
|
|||||||
}
|
}
|
||||||
|
|
||||||
@SuppressWarnings("unchecked")
|
@SuppressWarnings("unchecked")
|
||||||
@Nullable <T> T getPersistentMeta(final @NonNull MetaDataKey<T> key) {
|
@Nullable
|
||||||
|
<T> T getPersistentMeta(final @NonNull MetaDataKey<T> key) {
|
||||||
final byte[] value = this.getPersistentMeta(key.toString());
|
final byte[] value = this.getPersistentMeta(key.toString());
|
||||||
if (value == null) {
|
if (value == null) {
|
||||||
return null;
|
return null;
|
||||||
@@ -1002,9 +1031,11 @@ public abstract class PlotPlayer<P> implements CommandCaller, OfflinePlotPlayer,
|
|||||||
if (throwable != null) {
|
if (throwable != null) {
|
||||||
sendMessage(
|
sendMessage(
|
||||||
TranslatableCaption.of("errors.error"),
|
TranslatableCaption.of("errors.error"),
|
||||||
TagResolver.resolver("value", Tag.inserting(
|
TagResolver.resolver(
|
||||||
|
"value", Tag.inserting(
|
||||||
Component.text("Failed to resolve asynchronous caption replacements")
|
Component.text("Failed to resolve asynchronous caption replacements")
|
||||||
))
|
)
|
||||||
|
)
|
||||||
);
|
);
|
||||||
LOGGER.error("Failed to resolve asynchronous tagresolver(s) for " + caption, throwable);
|
LOGGER.error("Failed to resolve asynchronous tagresolver(s) for " + caption, throwable);
|
||||||
} else {
|
} else {
|
||||||
|
@@ -541,7 +541,7 @@ public class Plot {
|
|||||||
*
|
*
|
||||||
* @return World name
|
* @return World name
|
||||||
*/
|
*/
|
||||||
public @Nullable String getWorldName() {
|
public @NonNull String getWorldName() {
|
||||||
return area.getWorldName();
|
return area.getWorldName();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -58,7 +58,7 @@ public class SinglePlot extends Plot {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String getWorldName() {
|
public @NonNull String getWorldName() {
|
||||||
return getId().toUnderscoreSeparatedString();
|
return getId().toUnderscoreSeparatedString();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user