placeholderapi

  • Майская распродажа!

    Впереди теплые праздники, цены таят на глазах! Поздравляем вас и дарим вам специальный купон.
    Мы предлагаем вам специальное предложение на подписку, действительное только по временному купону.
    Обнови свой сервер с лучшими сборками, плагинами и картами!

    Купон
    MAY20
  • Мы теперь в Discord

    Мы рады объявить, что теперь у нас есть сервер Discord. В честь этого мы проводим розыгрыш!
    Теперь вы можете легко связаться с нами и другими участниками сообщества,
    обмениваться идеями и получать обновления о нашей деятельности.

  • EXCLUSIVE ⚡

    Гость, покупая подписку, ты увеличишь свои доходы в разы!
    Мы делаем самые актуальные сборки, переводим лучшие приватные плагины, а так-же обновляем их и фиксим любые ошибки.
    Дешевле, чем студии и другие разработчики!

  • Приветствуем тебя Гость!⁣

    Недавно на форуме? Не знаешь как можно скачивать ресурсы?
    Для этого нужно лишь зарегистрировать на форуме, и получать доступ к профессиональным плагинам, оптимизированным настройкам.
    Здесь только самое лучшее.

  • Обновленный «Mc-market.ru»

    Теперь у вас есть возможность продавать свои товары на Minecraft маркете.
    Это отличная возможность для вас начать зарабатывать на своих навыках и труде.
    Начни продавать сейчас!

  • Интеграция ChatGPT

    Администраторы Minecraft могут столкнуться с различными проблемами, связанными с работой серверов и кодом.
    Однако, благодаря инновационным технологиям, искусственный интеллект может помочь решить эти проблемы.
    Реши свою любую проблему сейчас!

K0lbasa

Пользователь
19 Фев 2021
255
0
16
Как в PAPI 2.11.3 добавить переменную %jobs_rate% (число rate в моём плагине). BukkitAPI.
 

ChatGPT ?

Официальный
30 Мар 2023
630
5
1
Для того, чтобы добавить переменную %jobs_rate% в PlaceholderAPI 2.11.3, понадобится создать свой собственный плейсхолдер.

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

```java
public class JobsPlaceholder extends PlaceholderReplacer {

private final Jobs plugin;

public JobsPlaceholder(Jobs plugin) {
super("jobs_rate");
this.plugin = plugin;
}

@Override
public String onPlaceholderReplace(PlaceholderReplaceEvent event) {
Player player = event.getPlayer();
if (player == null) {
return "";
}

JobProgression progression = plugin.getJobProgression(player.getUniqueId());
if (progression == null) {
return "";
}

double rate = progression.getJobRate();
return String.format("%.2f", rate);
}
}
```

Для того, чтобы зарегистрировать этот плейсхолдер, вам нужно будет создать экземпляр класса JobsPlaceholder и зарегистрировать его в PlaceholderAPI. Пример кода регистрации:

```java
public void onEnable() {
// ...

Jobs plugin = (Jobs) getServer().getPluginManager().getPlugin("Jobs");
if (plugin != null) {
new JobsPlaceholder(plugin).register();
}
}
```

Где `onEnable()` - это метод, который вызывается при включении вашего плагина Bukkit. Вам также может понадобиться другая версия метода `register()` или зарегистрировать плагин вручную.
 

K0lbasa

Пользователь
19 Фев 2021
255
0
16
Для того, чтобы добавить переменную %jobs_rate% в PlaceholderAPI 2.11.3, понадобится создать свой собственный плейсхолдер.

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

```java
public class JobsPlaceholder extends PlaceholderReplacer {

private final Jobs plugin;

public JobsPlaceholder(Jobs plugin) {
super("jobs_rate");
this.plugin = plugin;
}

@Override
public String onPlaceholderReplace(PlaceholderReplaceEvent event) {
Player player = event.getPlayer();
if (player == null) {
return "";
}

JobProgression progression = plugin.getJobProgression(player.getUniqueId());
if (progression == null) {
return "";
}

double rate = progression.getJobRate();
return String.format("%.2f", rate);
}
}
```

Для того, чтобы зарегистрировать этот плейсхолдер, вам нужно будет создать экземпляр класса JobsPlaceholder и зарегистрировать его в PlaceholderAPI. Пример кода регистрации:

```java
public void onEnable() {
// ...

Jobs plugin = (Jobs) getServer().getPluginManager().getPlugin("Jobs");
if (plugin != null) {
new JobsPlaceholder(plugin).register();
}
}
```

Где `onEnable()` - это метод, который вызывается при включении вашего плагина Bukkit. Вам также может понадобиться другая версия метода `register()` или зарегистрировать плагин вручную.
в super("jobs_rate"); ошибка
 

ChatGPT ?

Официальный
30 Мар 2023
630
5
1
в super("jobs_rate"); ошибка
Извините за путаницу. Вы правы, вызов конструктора с аргументом "jobs_rate" не сработает в классе PlaceholderReplacer. Вместо этого, вы можете создать свой собственный класс PlaceholderExpansion и переопределить методы определения плейсхолдера и его замены. Вот пример, как можно это сделать для переменной %jobs_rate%:

```java
public class JobsExpansion extends PlaceholderExpansion {

private final Jobs plugin;

public JobsExpansion(Jobs plugin) {
this.plugin = plugin;
}

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

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

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

@Override
public String onPlaceholderRequest(Player player, String identifier) {
if (player == null) {
return "";
}

if (identifier.equals("rate")) {
JobProgression progression = plugin.getJobProgression(player.getUniqueId());
if (progression == null) {
return "";
}
double rate = progression.getJobRate();
return String.format("%.2f", rate);
}

return null;
}
}
```

Здесь мы создаем класс JobsExpansion, который расширяет класс PlaceholderExpansion и переопределяет 4 его метода - getIdentifier(), getAuthor(), getVersion() и onPlaceholderRequest(). Внутри метода onPlaceholderRequest() мы определяем наш плейсхолдер (в данном случае %jobs_rate%) и код, которым мы его заменяем.

Теперь вам нужно зарегистрировать вашу экземпляр класса в PlaceholderAPI, вот примерный код:

```java
public void onEnable() {
// ...

Jobs plugin = (Jobs) getServer().getPluginManager().getPlugin("Jobs");
if (plugin != null) {
new JobsExpansion(plugin).register();
}
}
```

Метод register() регистрирует вашу реализацию PlaceholderExpansion в PlaceholderAPI. Как только это будет сделано, вы можете использовать плейсхолдер %jobs_rate% в игре.
 

K0lbasa

Пользователь
19 Фев 2021
255
0
16
Извините за путаницу. Вы правы, вызов конструктора с аргументом "jobs_rate" не сработает в классе PlaceholderReplacer. Вместо этого, вы можете создать свой собственный класс PlaceholderExpansion и переопределить методы определения плейсхолдера и его замены. Вот пример, как можно это сделать для переменной %jobs_rate%:

```java
public class JobsExpansion extends PlaceholderExpansion {

private final Jobs plugin;

public JobsExpansion(Jobs plugin) {
this.plugin = plugin;
}

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

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

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

@Override
public String onPlaceholderRequest(Player player, String identifier) {
if (player == null) {
return "";
}

if (identifier.equals("rate")) {
JobProgression progression = plugin.getJobProgression(player.getUniqueId());
if (progression == null) {
return "";
}
double rate = progression.getJobRate();
return String.format("%.2f", rate);
}

return null;
}
}
```

Здесь мы создаем класс JobsExpansion, который расширяет класс PlaceholderExpansion и переопределяет 4 его метода - getIdentifier(), getAuthor(), getVersion() и onPlaceholderRequest(). Внутри метода onPlaceholderRequest() мы определяем наш плейсхолдер (в данном случае %jobs_rate%) и код, которым мы его заменяем.

Теперь вам нужно зарегистрировать вашу экземпляр класса в PlaceholderAPI, вот примерный код:

```java
public void onEnable() {
// ...

Jobs plugin = (Jobs) getServer().getPluginManager().getPlugin("Jobs");
if (plugin != null) {
new JobsExpansion(plugin).register();
}
}
```

Метод register() регистрирует вашу реализацию PlaceholderExpansion в PlaceholderAPI. Как только это будет сделано, вы можете использовать плейсхолдер %jobs_rate% в игре.
Как отследить варку зелья игроком? BukkitAPI 1.16.5.
 

ChatGPT ?

Официальный
30 Мар 2023
630
5
1
Как отследить варку зелья игроком? BukkitAPI 1.16.5.
Для отслеживания варки зелья игроком вы можете зарегистрировать слушателя событий для события BrewEvent и проверить, если игрок принимал участие в процессе варки.

Вот примерный код регистрации слушателя событий в вашем плагине:

```java
public void onEnable() {
getServer().getPluginManager().registerEvents(new BrewListener(), this);
}
```

А вот пример реализации слушателя событий для класса BrewListener:

```java
public class BrewListener implements Listener {

@EventHandler
public void onBrew(BrewEvent event) {
Brewer brewer = event.getContents().getHolder();
if (brewer instanceof Player) {
Player player = (Player) brewer;
// здесь можно добавить ваш код для отслеживания варки зелья игроком
}
}
}
```

Внутри метода onBrew() мы получаем объект, который представляет игрока, взаимодействовавшего с котлом для варки зелья. Здесь вы можете добавить свой собственный код для отслеживания варки зелья игроком и выполнения соответствующих действий. Например, вы можете изменить опыт игрока в зависимости от того, насколько успешно он произвел варку зелья.
 

Помочь проекту! 💕

Собрано
"40,197.60" ₽
Цель
"50,000.00" ₽

Последние ресурсы