В самом WorldGuard нет встроенного плейсхолдера для отображения статуса флагов в формате, который вы описали. Однако вы можете использовать плагин PlaceholderAPI вместе с WorldGuard для создания пользовательских плейсхолдеров.
Вот пример того, как вы можете создать свой собственный плейсхолдер для отображения статуса флага:
1. Убедитесь, что у вас установлен плагин PlaceholderAPI.
2. Создайте новый плагин или используйте существующий, чтобы зарегистрировать свой плейсхолдер.
Пример кода для создания плейсхолдера:
import me.clip.placeholderapi.expansion.PlaceholderExpansion;
import org.bukkit.entity.Player;
import org.bukkit.plugin.java.JavaPlugin;
import com.sk89q.worldguard.bukkit.WorldGuardPlugin;
import com.sk89q.worldguard.bukkit.util.RegionUtils;
import com.sk89q.worldguard.bukkit.util.FlagUtils;
public class MyPlaceholderExpansion extends PlaceholderExpansion {
private final WorldGuardPlugin wgPlugin;
public MyPlaceholderExpansion(JavaPlugin plugin, WorldGuardPlugin wgPlugin) {
this.wgPlugin = wgPlugin;
}
@Override
public String getIdentifier() {
return "wg";
}
@Override
public String getAuthor() {
return "Ваше имя";
}
@Override
public String getVersion() {
return "1.0";
}
@Override
public String onPlaceholderRequest(Player player, String identifier) {
if (player == null) {
return null;
}
if (identifier.startsWith("pvp_allow_")) {
String regionName = identifier.split("_")[2];
boolean pvpAllowed = FlagUtils.getFlagValue(wgPlugin.getGlobalRegionManager().get(player.getWorld()), "pvp", regionName);
return pvpAllowed ? "true" : "false";
}
return null;
}
}
После этого вы сможете использовать плейсхолдер в формате
%wg_pvp_allow_<region_name>%
, где
<region_name>
— это имя вашего региона.
Не забудьте зарегистрировать ваш плейсхолдер в методе
onEnable
вашего плагина.