Вопрос Атрибуты

GoldenSunsetMine

Пользователь
Сообщения
121
Решения
2
Добрый день! Как создать в плагинах атрибуты по типу баланса и как их выводить?
Вот в плагине Essentials есть баланс, при вводе команды /balance - выводит баланс игрока, а при использовании плейсхолдера %vault_eco_balance% - так же выводит баланс.
Как сделать подобное?
 
эта штука называется плейсхолдер. чтобы их использовать надо реализовать его интерфейс - implements PlaceholderExpansion. ну а в самом коде использовать что-то типа этого:
Код:
  @Override

  public String onPlaceholderRequest(Player player, String id) {

    if (id.equals("plugin")) {

      return "вроде должно работать";

    }


тогда при использовании %plugin_placeholder% в каком-то месте сервера, оно будет заменяться на строку вроде должно работать
 
Будьте осторожны с рекомендациями этого пользователя.
эта штука называется плейсхолдер. чтобы их использовать надо реализовать его интерфейс - implements PlaceholderExpansion. ну а в самом коде использовать что-то типа этого:
Код:
  @Override

  public String onPlaceholderRequest(Player player, String id) {

    if (id.equals("plugin")) {

      return "вроде должно работать";

    }


тогда при использовании %plugin_placeholder% в каком-то месте сервера, оно будет заменяться на строку вроде должно работать
код вообще неправильный
Java:
public class PlaceholderApiHook extends PlaceholderExpansion {

    @Override
    public @NotNull String getIdentifier() {
        return "myplugin";
    }

    @Override
    public @NotNull String getAuthor() {
        return "me";
    }

    @Override
    public @NotNull String getVersion() {
        return "version";
    }

    @Override
    public boolean persist() {
        return true;
    }

    @Override
    public @Nullable String onRequest(OfflinePlayer player, @NotNull String params) {
        if (params.equalsIgnoreCase("example")) {
            return "оно работает";
        }

        return null;
    }
}

// при старте плагина

new PlaceholderApiHook().register();

В этом примере строка будет выводиться в ответ на %myplugin_example%
 
онож само добавится после реализации
У тебя неправильно всё, начиная от того, что ты реализуешь класс вместо его расширения и заканчивая логикой плейсхолдера. В твоём примере не может быть %plugin_placeholder%
 
В этом примере строка будет выводиться в ответ на %myplugin_example%
Спасибо, скоро проверю! А подскажите пожалуйста, как изменять атрибуты? Добавлять значение, убавлять, забирать, передавать?
 
Спасибо, скоро проверю! А подскажите пожалуйста, как изменять атрибуты? Добавлять значение, убавлять, забирать, передавать?
Атрибутов не существует. Это работает так
1. Какой нибудь плагин запрашивает плейсхолдер %myplugin... для игрока SomePlayer
2. PlaceholderAPI передаёт этот запрос расширению, которое имеет нужный Identifier (в нашем случае myplugin)
3. Ты в своём расширении уже строишь любую логику. Строка, которую ты вернёшь в onRequest, в конечном итоге и вернётся ввиде результата наполнения
 
Атрибутов не существует. Это работает так
1. Какой нибудь плагин запрашивает плейсхолдер %myplugin... для игрока SomePlayer
2. PlaceholderAPI передаёт этот запрос расширению, которое имеет нужный Identifier (в нашем случае myplugin)
3. Ты в своём расширении уже строишь любую логику. Строка, которую ты вернёшь в onRequest, в конечном итоге и вернётся ввиде результата наполнения
Я извиняюсь, но а как добавлять/убавлять значение в плейсхолдере? Я вот хочу сделать баланс которые можно будет передавать, убавлять, прибавлять. Как мне это сделать?
 
Я извиняюсь, но а как добавлять/убавлять значение в плейсхолдере? Я вот хочу сделать баланс которые можно будет передавать, убавлять, прибавлять. Как мне это сделать?
Возвращать разные значения в return. Логика добавления\убавления совершенно никак не связана с плейсхолдером. Плейсхолдер - способ показать данные из твоего плагина в местах, которые их поддерживают, но никак не способ манипуляции с данными

Нужно написать плагин экономики, потом добавить класс плейсхолдера, который будет отображать актуальные значения
 
Нужно написать плагин экономики, потом добавить класс плейсхолдера, который будет отображать актуальные значения
А как написать плагин экономики тогда? Суть моего вопроса заключается в том, как сделать значение которое можно увеличивать/уменьшать.
 
А как написать плагин экономики тогда? Суть моего вопроса заключается в том, как сделать значение которое можно увеличивать/уменьшать.
Для этого лучше создать отдельную тему. А вообще, это вопрос скорее по жаве, так что тебе просто надо учить жаву
 
Назад
Сверху Снизу