Решено Заменить слово, которое выводит плейсхолдер на своё

_MrJaycob_

Активный участник
Пользователь
Баллы
76
Ник в Minecraft
JaycobYT
Всем привет!

Интересует такая вещь. Можно ли изменить слово, которое выводится плейхолдером? Допустим, есть плейсхолдер %player_gamemode% и он выводит "SURVIVAL". Можно ли это слово заменить на "Выживание"?

При этом, без какого-либо программирование или самописов. Можно ли так сделать? Видел плейсхолдер %javascript ..% может через него это как-то осуществляется?
 
В плагине TAB видел нечто похожее, но это распространяется только на него. Самопис (расширение), либо попробовать через расширение JavaScript, но во втором я не уверен, но гайдики почитать стоит.
 
В плагине TAB видел нечто похожее, но это распространяется только на него. Самопис (расширение), либо попробовать через расширение JavaScript, но во втором я не уверен, но гайдики почитать стоит.
Понятно. Сижу гуглю, пока особо ничего не нашёл
 
Всем привет!

Интересует такая вещь. Можно ли изменить слово, которое выводится плейхолдером? Допустим, есть плейсхолдер %player_gamemode% и он выводит "SURVIVAL". Можно ли это слово заменить на "Выживание"?

При этом, без какого-либо программирование или самописов. Можно ли так сделать? Видел плейсхолдер %javascript ..% может через него это как-то осуществляется?
А зачем париться с его заменой, вот смысл? Ставишь на вьюв рекьюмент этот плейс и выводишь в лор это свое "Выживание" при соблюдении условия.
 
А зачем париться с его заменой, вот смысл? Ставишь на вьюв рекьюмент этот плейс и выводишь в лор это свое "Выживание" при соблюдении условия.
Ну это само собой, один из самых простых способов, однако, если нужно выводить плейсхолдер не только в меню, а ещё, допустим, на голограмме или ещё где-то, то не подойдёт
 
Решение​

Хорошо погуглив, решил проблему. Может кому-то пригодится, что нужно сделать:

• Устанавливаем расширение "Javascript" для PlaceholderAPI: /papi ecloud download Javascript, /papi reload
• В папке PlaceholderAPI появляется файл javascript_placeholders.yml. В нём подключаем файл с нашим будущим скриптом изменения плейсхолдера:

Код:
check_item:

  file: check_item.js

• Переходим в папку javascripts (Находится в PlaceholderAPI/javascripts) и теперь создаём файл check_item.js (Название должно отвечать тому, что в javascript_placeholders.yml)

• Теперь нужен скрипт. Для примера я решил изменить плейсхолдер %checkitem_mat:EMERALD% который проверяет, есть ли в инвентаре игрока изумруд. Если да, он выводит "
yes", если нет "no". Я хочу эти два значения изменить на "Есть" и "Нет". Для этого используем этот скрипт:

Код:
var ItemData = args[0];
var placeholder = "checkitem_mat:" + ItemData;
var hasItem = PlaceholderAPI.static.setPlaceholders(BukkitPlayer, "%" + placeholder + "%");

function itemCheck(){
  if(hasItem == "yes"){
      return "&eЕсть";
  }
  else {
      return "&cНет";
  }
}

itemCheck();

• Сохраняем файл, перезагружаем PAPI: /papi reload
• Готово. Теперь где нам нужно устанавливаем плейсхолдер %javascript_check_item_ВЕЩЬ% (Например, %javascript_check_item_EMERALD%) и получаем на выходе либо "Есть", либо "Нет"

P.s. Если нужно изменить, к примеру тот же плейсхолдер %player_gamemode%, то тут скрипт проще:

Код:
var placeholder = "%player_gamemode%";

function gamemodeCheck(){
  if(placeholder == "CREATIVE"){
      return "Креатив";
  }
  else if (placeholder == "SURVIVAL"){
      return "Выживание";
  }
  else {
      return "Наблюдатель";
  }
}

gamemodeCheck();


Инфу брал отсюда: https://github.com/PlaceholderAPI/Javascript-Expansion/wiki/Advanced-Scripts
 
Последнее редактирование:
В плагине TAB видел нечто похожее, но это распространяется только на него. Самопис (расширение), либо попробовать через расширение JavaScript, но во втором я не уверен, но гайдики почитать стоит.
А можешь сказать более подробней про TAB, там возможно сделать?
 
Последнее редактирование:
Назад
Верх Низ