Welcome to the BukkitWiki!

This Wiki is home to Bukkit's documentation and regulations surrounding the Bukkit Project and it's services. Want to help out? We would love to have you! Signup to get started!

Plugin YAML/ru

From BukkitWiki
Jump to: navigation, search

При загрузке плагина Bukkit'ом, ему нужна базовая информация о нём, он считывает её из YAML файла: 'plugin.yml'. В этом файле находится некий ряд аттрибутов, каждый из которых находится на новой строке.

Атрибуты
Атрибут

Важность

параметра

Описание Пример Дополнительные сведения
name Обязателен Название Вашего плагина name: MyPlugin
  • Может содержать только латиницу, цифры и символ подчёркивания (a-z,A-Z,0-9, _)
  • Используется для определения названия папки со сведениями в папке плагинов. Папка плагинов по умолчанию - plugins в корне сервера.
  • Хорошим тоном считается называть jar файл также, как и плагин. Например: 'MyPlugin.jar'
version Обязателен Версия плагина. version: 1.4.1
  • Значение версии является сторокой, наиболее используемый формат: ОсновнойРелиз.ДополнительныйРелиз.Сборка (Пример: 1.4.1).
  • Обычно вы должны увеличивать значение каждый новый выпуск, не важно что он содержит.
  • Отображается при вводе команды /version НазваниеПлагина
description Не обязателен Описание плагина, выводящееся по команде. description: 'Этот плагин предназначен для убийства админа кавайными няшками.'
  • Можыт быть многострочным
  • Выводится при вводе игроком /version НазваниеПлагина
load Не обязятелен Настраивает последовательность загрузки плагина load: STARTUP Есть только два значения
  • STARTUP - при загрузке сервера (рекомендую для генераторов чанков)
  • POSTWORLD - значение по умолчанию, после загрузки мира
author Не обязателен Автор плагина author: lokivava
  • Используется для связи с разработчиком в случае возникновении ошибок.
  • Логин на форуме bukkit.org или e-mail рекомендуется.
  • Отображается когда игрок вводит /version НазваниеПлагина
authors Не обязателен Используется для вывода нескольких авторов. authors: [lokivava, Ission]
  • Можно написать нескольких авторов и все они будут помещены в один список.
website Не обязателен Сайт плагина или его автора. website: <a href="http://forums.bukkit.org/threads/MyPlugin.31337/" class="external free" rel="nofollow">http://forums.bukkit.org/threads/MyPlugin.31337/</a>
  • Если нет сайта, рекомендуется давать ссылку на форум bukkit.org, со страницей этого плагина.
  • Отображается, когда игрок вводит /version НазваниеПлагина
main Обязателен Ссылка на главный класс плагина main: org.bukkit.plugin.MyPlugin
  • Должна содержать полный путь к классу, начиная с пакета и заканчивая названием класса.
  • Если пакет называется org.bukkit.plugin, и класс плагина MyPlugin , тогда ссылка должна быть такой: org.bukkit.plugin.MyPlugin
database Не обязателен true, если плагин использует базу данных. database: false
  • Прикрепить базу данных - не тривиально, рекомендую поискать статью.
depend Не обязателен Список плагинов, которые нужны для загрузки Вашего. depend: [OnePlugin, AnotherPlugin]
  • Должен быть в формате YAML списков (смотри http://en.wikipedia.org/wiki/YAML#Lists )
  • В качестве элемента списка нужно использовать "name" параметр требуемого плагина.
  • Если хоть один плагин из списка отсутствует - Ваш не загрузится.
  • Если плагины из списка будут тоже с подобными списками и хоть один из них не будет подгружен - Ваш тоже не будет запущен.
  • (Смотри Wiki: Plugin_Dependencies)
prefix Не обязателен Префикс плагина prefix: ex-why-zee
softdepend Не обязателен Список плагинов, которые должны полностью функционировать до загрузки Вашего. softdepend: [OnePlugin, AnotherPlugin]
  • Должен быть в формате YAML списков (смотри http://en.wikipedia.org/wiki/YAML#Lists )
  • В качестве элемента списка нужно использовать "name" параметр требуемого плагина.
  • Ваш плагин будет загружен после плагинов из этого списка.
  • Цикличные зависимости подгружаются хаотично.
  • (Смотри Wiki: Plugin_Dependencies)
loadbefore Не обязателен Список плагинов, которые должны быть запущены после Вашего. loadbefore: [OnePlugin, AnotherPlugin]
  • Должен быть в формате YAML списков (смотри http://en.wikipedia.org/wiki/YAML#Lists)
  • В качестве элемента списка нужно использовать "name" параметр требуемого плагина.
  • Работает также, как и softdepend
  • Ваш плагин будет загружен до всех плагинов из списка
  • Цикличные зависимости подгружаются хаотично.
  • (Смотри Wiki: Plugin_Dependencies)
commands Не обязателен Список команд, которые будут регистрироваться плагином. Может обладать подсписком параметров.


<code>commands:
 flagrate:
   [возможный подсписок параметров]
</code>


  • Название команды не должно содержать символа '/'.
  • Можно выбрать любое название команды, даже уже зарезервированное, такое как: /kick. Используйте 'alias' для использования альтернативных команд. 
permissions Не обязателен Permissions, которые регистрирует плагин. Каждый параметр может обладать подсписком параметров.
permissions:
  inferno.*:
    [возможный подсписок параметров]
  inferno.flagate:
    [возможный подсписок параметров]
  inferno.burningdeaths:
    [возможный подсписок параметров]
  • Также Permissions можно зарегистрировать из кода и не делать этого здесь.
  • Permission тут могут обладать наборами параметров, такими как: родственные связи и описания.
  • Хорошим тоном считается использовать такие имена: <НазваниеПлагина>.[Категория].[Категория].<permission>


Блок с описанием той или иной команды начинается с её названия, а затем идут её параметры.

Параметры Важность параметра Описание Пример Дополнительные сведения
description Не обязателен Краткое описание команды. description: 'Атаковать админа кавайными няшками'
  • Может быть использовано для получения описания при помощи /help
aliases Не обязателен Алтернативные варианты названий команд - псевдонимы. Они используются для более краткого вызова команды и, если другой плагин уже использует такую же команду.
<code>aliases: kill_admin</code> ИЛИ 
<code>aliases: [kill_admin, killAdmin]</code>
  • Можно использовать любое количество различных псевдонимов.
  • Если используется более 1-го псевдонима, то список должен быть в формате YAML списка (смотри http://en.wikipedia.org/wiki/YAML#Lists )
permission Не обязателен Базовое разрешение на использование команды.
<code>permission: myplugin.kill.admin</code>
  • Если у игрока отсутствуют права на команду, то она будет скрыта от него.
  • Можно использовать для создания персональных /help меню.
permission-message Не обязателен Сообщение при вызове команды игроком, у которого нет на это прав. permission-message: У Вас нет разрешения /<permission>
  • <permission> - это макрос, выводящий название разрешений, которые должны быть, для использования команды.
  • Можно использовать пустые ковычки, чтобы ничего не отображалось.
usage Не обязателен Короткое описание синтаксиса команды. usage: Ошибка! Возможно вы имели в виду /<command> НикАдмина?
  • Отображается, когда команда введена не правильно или когда командный метод(onCommand) возвращает не true.
  • <command> - это макрос, выводящий название команды.
  • Чтобы использовать слово "Usage:" (например usage: Usage: /god [player]) текст нужно взять в двойные ковычки:
    usage: "Usage: /god [player]"


Блок разрешения начинается с его названия, а зетем продолжается записями 

Параметр Важность параметра Описание Пример Дополнительные сведения
description Не обязателен Краткое описание сути разрешения
description: Разрешает загрызть админа кавайными няшками
  • Открывает программный доступ и помогает администрации сервера.
default Не обязателен Устанавливает значение по умолчанию
default: true
  • Если отсутствует, то значение по умолчанию false
  • Принимает значения: true, false, op, not op.
  • Оператор по умолчанию получит true, если значение op.
  • no op - прямая противоположность значению op.
children Не обязателен Устанавливает дочерние разрешения. В дочерних указывается родительское разрешение в качестве узла/пакета.
children:
  inferno.flagrate: true
  inferno.burningdeaths: true
  • Каждое дочернее разрешение должно принимать значение true или false
    • Если true, то наследует родительское разрешение.
    • Если false, то наследует противоположное родительскому, разрешение.
  • Может включать в себя подузлы <a href="https://github.com/bukkit/bukkit/commit/326f2aca9b98d1d096842d3410000ed9d84611f5" class="external text" rel="nofollow">{1}</a>


Example:

name: Inferno
version: 1.4.1
description: This plugin is so 31337. You can set yourself on fire.
author: CaptainInflamo
authors: [Cogito, verrier, EvilSeph] 
website: http://forums.bukkit.org/threads/MyPlugin.31337/

main: com.captaininflamo.bukkit.inferno.Inferno
database: false
depend: [NewFire, FlameWire]

commands:
  flagrate:
    description: Set yourself on fire.
    aliases: [combust_me, combustMe]
    permission: inferno.flagrate
    usage: Syntax error! Simply type /<command> to ignite yourself.
  burningdeaths:
    description: List how many times you have died by fire.
    aliases: [burning_deaths, burningDeaths]
    permission: inferno.burningdeaths
    usage: |
      /<command> [player]
      Example: /<command> - see how many times you have burned to death
      Example: /<command> CaptainIce - see how many times CaptainIce has burned to death

permissions:
  inferno.*:
    description: Gives access to all Inferno commands
    children:
      inferno.flagrate: true
      inferno.burningdeaths: true
      inferno.burningdeaths.others: true
  inferno.flagrate:
    description: Allows you to ignite yourself
    default: true
  inferno.burningdeaths:
    description: Allows you to see how many times you have burned to death
    default: true
  inferno.burningdeaths.others:
    description: Allows you to see how many times others have burned to death
    default: op
    children:
      inferno.burningdeaths: true

Language   EnglishбеларускаяDeutschespañolsuomifrançaisitaliano한국어Nederlandsnorsk bokmålpolskiportuguêsрусскийlietuviųčeština