mirror of
https://github.com/IntellectualSites/PlotSquared.git
synced 2025-08-24 23:05:36 +02:00
Compare commits
1 Commits
main
...
feat/v7/ab
Author | SHA1 | Date | |
---|---|---|---|
![]() |
c5713c9b05 |
@@ -204,6 +204,9 @@ public final class PlaceholderRegistry {
|
||||
this.createPlaceholder("currentplot_x", (player, plot) -> Integer.toString(plot.getId().getX()));
|
||||
this.createPlaceholder("currentplot_y", (player, plot) -> Integer.toString(plot.getId().getY()));
|
||||
this.createPlaceholder("currentplot_xy", (player, plot) -> plot.getId().toString());
|
||||
this.createPlaceholder("currentplot_abs_x", (player, plot) -> Integer.toString(plot.getId().getX()), true);
|
||||
this.createPlaceholder("currentplot_abs_y", (player, plot) -> Integer.toString(plot.getId().getY()), true);
|
||||
this.createPlaceholder("currentplot_abs_xy", (player, plot) -> plot.getId().toString(), true);
|
||||
this.createPlaceholder("currentplot_rating", (player, plot) -> {
|
||||
if (Double.isNaN(plot.getAverageRating())) {
|
||||
return legacyComponent(TranslatableCaption.of("placeholder.nan"), player);
|
||||
@@ -253,7 +256,23 @@ public final class PlaceholderRegistry {
|
||||
final @NonNull String key,
|
||||
final @NonNull BiFunction<PlotPlayer<?>, Plot, String> placeholderFunction
|
||||
) {
|
||||
this.registerPlaceholder(new PlotSpecificPlaceholder(key) {
|
||||
this.createPlaceholder(key, placeholderFunction, false);
|
||||
}
|
||||
|
||||
/**
|
||||
* Create a functional placeholder
|
||||
*
|
||||
* @param key Placeholder key
|
||||
* @param placeholderFunction Placeholder generator. Cannot return null
|
||||
* @param requireAbsolute If the plot given to the placeholder should be the absolute (not base) plot
|
||||
* @since TODO
|
||||
*/
|
||||
public void createPlaceholder(
|
||||
final @NonNull String key,
|
||||
final @NonNull BiFunction<PlotPlayer<?>, Plot, String> placeholderFunction,
|
||||
final boolean requireAbsolute
|
||||
) {
|
||||
this.registerPlaceholder(new PlotSpecificPlaceholder(key, requireAbsolute) {
|
||||
@Override
|
||||
public @NonNull String getValue(final @NonNull PlotPlayer<?> player, final @NonNull Plot plot) {
|
||||
return placeholderFunction.apply(player, plot);
|
||||
|
@@ -27,14 +27,28 @@ import org.checkerframework.checker.nullness.qual.NonNull;
|
||||
*/
|
||||
public abstract class PlotSpecificPlaceholder extends Placeholder {
|
||||
|
||||
private final boolean requireAbsolute;
|
||||
|
||||
public PlotSpecificPlaceholder(final @NonNull String key) {
|
||||
this(key, false);
|
||||
}
|
||||
|
||||
/**
|
||||
* Create a functional placeholder
|
||||
*
|
||||
* @param key Placeholder key
|
||||
* @param requireAbsolute If the plot given to the placeholder should be the absolute (not base) plot
|
||||
* @since TODO
|
||||
*/
|
||||
public PlotSpecificPlaceholder(final @NonNull String key, final boolean requireAbsolute) {
|
||||
super(key);
|
||||
this.requireAbsolute = requireAbsolute;
|
||||
}
|
||||
|
||||
@Override
|
||||
public @NonNull
|
||||
final String getValue(final @NonNull PlotPlayer<?> player) {
|
||||
final Plot plot = player.getCurrentPlot();
|
||||
final Plot plot = requireAbsolute ? player.getLocation().getPlotAbs() : player.getCurrentPlot();
|
||||
if (plot == null) {
|
||||
return "";
|
||||
}
|
||||
|
Reference in New Issue
Block a user