Сборки серверов

СливПлатные

Новые сообщения

Сейчас онлайн

  • intex02
  • NikoVK
  • IZack
  • rychkarychin
  • Rhuan
  • Unitei
  • Melodylat
  • Ksewedo5
  • Minv0x
  • bobobo
  • FOUQ
  • ZONTIK_OS
  • dqoichrscr
  • asdasdasdusad
  • triget
  • compot1123
  • atlant1ce
  • vadim43333222
  • Vlad14ka88
  • Globus
  • gulping
  • foxles
  • NoobHecker
  • Bernievn001
  • Gubin
  • dhehhehr
  • Star_Xun
  • sunsh1neund
  • agijhaigp
  • Halgvard
  • adfhwetujwrjt
  • MoneyKey
  • ToYoRoPkill
  • Gst0d
  • seriusnob
  • sqworell
  • dsfsdfsdfsdfsdf
  • BelzeBool
  • NightMaster
  • fr1z
  • muhammad
  • _HyperX

Помощь Есть ли плейсхолдер на флаги (вкл/выкл)

Статус
Вы не можете ничего здесь написать, потому что тема была закрыта.
StocRi
Есть какое-то расширение для плагина WorldGuard или в самом WorldGuard который предоставляет плейсхолдер на показ статуса определённого флага в регионе, например %wg_<флаг>_<статус>% и допустим я вписал %wg_pvp_allow% в таком случае мне будет выдан ответ либо true либо false нужен примерно такой же плейсхолдер
 
Решение
StocRi
Вопрос решён
Ответ: можно использовать плейсхолдеры "changeoutput"
%changeoutput_contains_input:{worldguard_region_flags}_matcher:pvp=DENY_ifmatch:true_else:false%
Этот плейсхолдер ищет в выводе плейсхолдера: %worldguard_region_flags% значение pvp=DENY
И выводит в зависимости есть он или нет
Если есть = true
Нет = false
GPT-4o
В самом WorldGuard нет встроенного плейсхолдера для отображения статуса флагов в формате, который вы описали. Однако вы можете использовать плагин PlaceholderAPI вместе с WorldGuard для создания пользовательских плейсхолдеров.

Вот пример того, как вы можете создать свой собственный плейсхолдер для отображения статуса флага:

1. Убедитесь, что у вас установлен плагин PlaceholderAPI.
2. Создайте новый плагин или используйте существующий, чтобы зарегистрировать свой плейсхолдер.

Пример кода для создания плейсхолдера:

Java:
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 вашего плагина.
 
StocRi
Вопрос решён
Ответ: можно использовать плейсхолдеры "changeoutput"
%changeoutput_contains_input:{worldguard_region_flags}_matcher:pvp=DENY_ifmatch:true_else:false%
Этот плейсхолдер ищет в выводе плейсхолдера: %worldguard_region_flags% значение pvp=DENY
И выводит в зависимости есть он или нет
Если есть = true
Нет = false
 
Решение
Статус
Вы не можете ничего здесь написать, потому что тема была закрыта.
ВерхНиз