Minecraft TurretLang мод 2021 скачать бесплатно
logo
wow addon TurretLang

TurretLang

Версия игры: 1.8.1
Всего загрузок: 724
Обновлено: Feb 13, 2015
Создано: Feb 7, 2015
Скачать TurretLangСкачать Предыдущие версии

Предыдущие версии

Название Размер Обновлено Версия игры Загрузок
Turret Language v.1.1 release 122.06 KB Feb 13, 2015 1.8.1 625 скачать TurretLang Turret Language v.1.1 releaseСкачать
Turret Language v.1.0 release 14.66 KB Feb 7, 2015 1.8.1 99 скачать TurretLang Turret Language v.1.0 releaseСкачать

Скриншоты

Описание

Язык башенки

Что такое Башенный язык (TurretLang)?

Turret Language-это альтернатива YAML (YAML-это не язык разметки или еще один язык разметки) с несколькими отличиями, которые должны помочь разработчикам плагинов создавать более удобные для пользователя конфигурационные файлы. Обратите внимание, что TurretLang-это не сам плагин, а просто API, связанный с Bukkit.

Сравнения в YAML

TurretLang предназначен для чтения конфигурационных файлов плагинов. В отличие от YAML, он поддерживает все символы Unicode (кроме тех, которые ограничены (см. «Ограниченные символы»)) и содержит все данные по строкам.

В настоящее время этот язык поддерживает строки, байт, короткие, int, и, длинные, поплавок, двойной, голец, файл, объект, строку[] и карте<String, String=""> объектов и использования специальных знаков непосредственно в файл (например, переменной может содержать символ пробела в имени). Однако в настоящее время поддержка разделов конфигурации отсутствует. Также не существует способа изменить конфигурацию без изменения исходного файла, но эта возможность есть в списке задач.

Существуют быстрые методы перезагрузки конфигурации, так как она прикреплена к исходному файлу.

Разметка

Все файлы TurretLang имеют очень простую структуру:

  • Все строки, начинающиеся со звездочки ( * ), и все пустые строки считаются комментариями и игнорируются.
  • Все строки с двоеточием (:) считаются объявлениями переменных и загружаются в конфигурацию, поэтому строка «This is a line:with a variable» будет считаться переменной с именем «This is a line» со значением «with a variable«.
  • Все остальные строки считаются неправильными объявлениями переменных и не загружаются; но каждая такая строка увеличивает количество «неудачных» объявлений, которые могут быть проверены позже.

Кроме того, в объявлениях переменных специальный синтаксис может использоваться для обозначения массивов (String[]), карт (Map<String, String><String, String>) и даже Объектов. В этом языке любая карта представляет собой массив со специально закодированными значениями.

  • В массиве элементы должны быть разделены точкой с запятой (;). Например, строка «Пример массива:item0;item1;item2» будет считаться массивом {"item0", "item1", "item2"}. Если точка с запятой не появляется, то «нормальное» значение считается единственным элементом массива.
  • В карте пары ключей и значений разделяются точками с запятой, как и массивы, в то время как ключ отделяется от значения первым появлением знака at (@). Если какая-либо пара не содержит знака at, возникает ошибка и создается исключение. Так появилась строчка «карту:первый ключ@значением;второй ключ@величины с помощью знака@; третий ключ с пустым значением@» будут рассмотрены следующие карте:
"первый ключ" ->> "значение"
"второй ключ" ->> "значение со знаком@"
"третий ключ с пустым значением" ->> ""
  • В объектеданные разделяются звездочками (*). Любое объявление объекта начинается с полного имени класса, за которым следуют аргументы, передаваемые при создании экземпляра. При использовании функции var.getValueAsObject() вызывается открытый конструктор savedClass(String[] arguments) и возвращается результирующий объект. Обратите внимание, что даже если объект не требует никаких аргументов, необходимо следовать приведенным выше правилам. Таким образом, ваш класс с несколькими аргументами может храниться как «com.yourPackage.YourClass*Argument 1*Argument 2«, в то время как другой класс, который не требует никаких аргументов, представлен как «com.yourPackage.AnotherClass*» (в отличие от массивов и карт, звездочка требуется, даже если нет аргументов для передачи).

Запрещенные Символы

Примечание: эти символы на самом деле не ограничены, но вызовут неожиданное поведение при загрузке.

  • Звездочка (*) не допускается в качестве первого символа имени varialbe, так как это приведет к тому, что объявление будет считаться комментарием.
  • Точка с запятой (;) не допускается в значениях массивов и карт, так как она будет разделять одно значение на два (например, «неправильно;синтаксис» будет красным как {"неправильно", "синтаксис"}). Однако это не влияет на строковое значение, поскольку оно всегда предоставляется как в объявлении.
  • Знак at (@) в именах ключей, так как тогда ключ будет разделен на новый ключ и часть значения (например, «wrong@key declaration@value» будет красным как "wrong" -> "key declaration@value">).
  • Звездочка (*) не допускается нигде в объявлениях объектов, так как она будет разделять данные.
  • Символ новой строки (\n) нигде не может быть использован, так как он будет разделять объявления.

При использовании любого из этих символов является неизбежным, Плагины должны использовать комбинации вручную: ВАР.метод getValue().заменяет("\\П", "\Н") Возможность замены комбинаций ограниченными символами при низкоуровневой обработке находится в списке задач.

Ошибки

В настоящее время никаких ошибок не обнаружено.

Пожалуйста, обратите внимание, что еще не было достаточного тестирования; если вы обнаружите какой-либо сбой, пожалуйста, сообщите мне об этом.

Список дел

  • Добавьте опцию перевода комбинаций в ограниченные символы;
  • Добавьте способ динамического изменения значений конфигурации.

Как использовать?

Владельцы серверов

Используете ли вы какой-либо плагин, использующий конфигурации TurretLang? Вот Руководство новичка по файлам конфигурации языка башни:

Вопрос: Как изменить настройку?

  1. Откройте файл конфигурации, который вы хотите изменить (скорее всего, он будет находиться в \plugins\%PluginName%\config.tlc) с помощью любого инструмента текстового редактора (например, Notepad++ или Wordpad)
  2. На самом деле измените значение. Чтобы определить имя переменной, взгляните на часть непосредственно перед первым двоеточием (:). Обязательно не используйте никаких новых символов строки и, если предполагается, что это массив или карта, используйте правильный синтаксис (см. «Разметка»).
  3. Сохраните файл! — Ты закончил!

Вопрос: Плагин жалуется на конфигурацию! Что случилось?!

  1. Проверьте базовый синтаксис TurretLang в соответствии с разделом «Разметка».
  2. Проверьте комментарии в конфигурации, так как проблема может быть не в синтаксисе TurretLang, а в плагине.
  3. Сообщите об ошибке и конфигурационном файле создателю жалующегося плагина. Возможно, это вина автора.
  4. Если создатель обвиняет ТурретЛанг, то докладывайте сюда. Мы найдем решение.

Вопрос: Этот плагин выходит из строя при запуске сервера!
Загружаемый файл .jar не является плагином Bukkit; он не должен находиться в папке \plugins\.

Разработчики плагинов

Хотите разработать плагин с конфигурациями TurretLang? Загружаемый jar содержит все необходимые данные, включая источник, документацию и пример конфигурации с пояснениями. Включите его в свою сборку, и он будет работать!

Вопрос: Что, черт возьми, такое NullableBoolean?!
Это «обертка» для примитивного логического типа. Он возвращается только var.getValueAsTrueBoolean() и имеет три состояния: true, false и null. Null означает, что такое значение не является логическим.

Вопрос: Как я должен назвать переменные?
Как TurretLang поддерживает практически все символы в именах переменных и на самом деле создан, чтобы сделать настройку максимально простой, он предпочитал писать имена, как нормальный sentances. Например. «максимальное количество игроков: 30» в YAML может быть записан как «максимальное количество участников:30» в TurretLang, так что это как описательные, как это возможно.

Наконец, не забудьте сказать мне, хотите ли вы использовать язык Turret в своем плагине🙂

Комментарии

Добавить комментарий