Все. Я только недавно начал писать плагины Bukkit для Minecraft. У меня уже есть dev-версии для моих первых двух плагинов, которые нормально работают на моем сервере, и они совсем не доставили мне особых проблем. Сейчас я работаю над третьим, и у меня возникли проблемы.

Я пытаюсь понять, как именно создать файл YAML и читать / записывать данные из / в него. Чтобы прояснить, я НЕ имею в виду файл config.yml , так как у меня нет никаких проблем с этим. Я знаю, как создать файл по умолчанию config.yml и читать из него данные, и все это просто замечательно. Однако с моим третьим плагином мне нужно использовать отдельный файл YAML.

Я искал помощи, но 95% ответов, которые я получаю, связаны с тем, что кто-то говорит мне что-то о getConfig() , а это НЕ то, что я ищу, или, по крайней мере, я на 95% уверен, что это не то Я ищу. После нескольких недель поиска четкого ответа я решил разместить свой вопрос здесь. Как всегда, заранее благодарим за любую помощь!

Думаю, я понял, как создать файл YAML, но после этого я застрял. Я просто приведу пример своей ситуации.

Создание плагинов Minecraft #5 | Конфиг config.yml

Допустим, у меня был следующий основной класс:

Теперь предположим, что у меня также был следующий класс CommandExecutor (звездочками отмечены важные места. Я исключил все вложенные функции if , чтобы сэкономить ваше время):

В приведенном выше примере, если пользователь ввел /test add two hello , я бы хотел, чтобы последние два аргумента (два и привет) были отправлены методу в другом классе (в этом примере addToFile(String a, String b) в классе YamlClass ), в котором args [1] и args [2] будут использоваться для помещения строки в файл следующим образом:

test: one: two: — hello three:

И если пользователь затем запустил /test add three goodbye , файл будет выглядеть так:

test: one: two: — hello three: — goodbye

Если бы пользователь затем сделал /test add three test , он бы добавил «тест» в раздел, не заменяя «до свидания», которое было добавлено ранее. Может ли кто-нибудь дать мне некоторую помощь или советы о том, как это сделать? Спасибо!

Читайте также:  Как нарисовать танк Майнкрафт

[РЕДАКТИРОВАТЬ] Я понял это вчера вечером. На самом деле я делал все правильно, что касается File и YamlCinfiguration, с моим CommandExecutor что-то не так, но я исправил. Спасибо за ответы!

Источник: question-it.com

Config yml minecraft что это

anarchymine
28 ноября 2021 — 15:12
Вы не авторизованы, войдите на сайт.

Привет всем, у меня есть проблема которую я не могу решить суть в том что когда я скачиваю конфиг любого плагина и редактирую что-то в нём обратно закидую в папку перезагружаю сервер, но конфиг не приминяется и если повторно скачать его же, в нём изменений не будет

иконка рекламы

Реклама Заказать хостинг
Надёжный и качественный хостинг Minecraft 24/7 по доступным ценам.

Создание плагинов Minecraft. Часть 4. Команды. Внешний Config.yml. Players.yml.


Поддержка модов и плагинов, скоростные SSD диски и быстрая память DDR4.

Алексей
28 ноября 2021 — 15:19

Привет, а чем редактируете? Каким редактором?

Сборщиксервера
28 ноября 2021 — 15:23

Источник: zorotex.org

YAML за 5 минут: синтаксис и основные возможности

Обложка: YAML за 5 минут: синтаксис и основные возможности

YAML — это язык для сериализации данных, который отличается простым синтаксисом и позволяет хранить сложноорганизованные данные в компактном и читаемом формате. Рассказываем, как это пригодится для DevOps и виртуализации.

  • Что такое YAML?
  • YAML vs JSON vs XML
  • Характерные особенности YAML
  • Синтаксис YAML
  • Что ещё может YAML?

Что такое YAML?

YAML — это язык для хранения информации в формате понятном человеку. Его название расшифровывается как, «Ещё один язык разметки». Однако, позже расшифровку изменили на — «YAML не язык разметки», чтобы отличать его от настоящих языков разметки.

Язык похож на XML и JSON, но использует более минималистичный синтаксис при сохранении аналогичных возможностей. YAML обычно применяют для создания конфигурационных файлов в программах типа Инфраструктура как код (Iac), или для управления контейнерами в работе DevOps.

Чаще всего с помощью YAML создают протоколы автоматизации, которые могут выполнять последовательности команд записанные в YAML-файле. Это позволяет вашей системе быть более независимой и отзывчивой без дополнительного внимания разработчика.

SRE-инженер Открытие , Саратов , По итогам собеседования

Всё больше и больше компаний используют DevOps и виртуализацию, поэтому YAML — это must have для современного разработчика. Кроме того, YAML легко интегрировать, благодаря поддержке Python (используя PyYAML библиотеку, Docker или Ansible) и других популярных технологий.

Читайте также:  Тихоня Майнкрафт как приручить

YAML vs JSON vs XML

YAML (.yml)

  • понятный человеку код;
  • минималистичный синтаксис;
  • заточен под работу с данными;
  • встроенный стиль, похожий на JSON (YAML является его надмножеством);
  • поддерживает комментарии;
  • поддерживает строки без кавычек;
  • считается «чище», чем JSON;
  • дополнительные возможности (расширяемые типы данных, относительные якоря и маппинг типов с сохранением порядка ключей).

Применение: YAML лучше всего подходит для приложений с большим объемом данных, которые используют DevOps конвейеры или виртуальные машины. Кроме того, улучшение читаемости данных пригодится в командах, где разработчики часто с ними взаимодействуют.

JSON

  • труднее читать;
  • явные, строгие требования к синтаксису;
  • встроенный стиль, похожий на YAML (некоторые парсеры YAML могут читать JSON-файлы);
  • нет комментариев;
  • строкам нужны двойные кавычки.

Применение: JSON используется в веб-разработке — это лучший формат для сериализации и передачи данных через HTTP-соединение.

XML

  • труднее читать;
  • более многословный;
  • действует как язык разметки, а YAML как язык для форматирования данных;
  • больше возможностей чем у YAML, например атрибуты тегов;
  • более жёсткая схема документа.

Применение: XML идеален для сложных проектов, которым требуется тонкий контроль над валидацией, схемой и пространством имён. Язык обладает плохой читаемостью, требует большей пропускной способности и ёмкости хранилища, но обеспечивает беспрецедентный контроль.

Характерные особенности YAML

Поддержка мультидокументов

Вы можете объединить несколько YAML-документов в один YAML-файл для облегчения организации файлов и парсинга данных.

Документы разделяются тремя дефисами (—):

— player: playerOne action: attack (miss) — player: playerTwo action: attack (hit) —

Поддержка комментариев

YAML позволяет добавлять комментарии после символа #, как в Python:

key: #Это однострочный комментарий — value line 5 #Это #многострочный комментарий — value line 13

Легко читаемый синтаксис

В синтаксисе YAML-файлов используется система отступов, как в Python. Необходимо использовать пробелы, а не табуляцию, чтобы избежать путаницы.

Это избавляет от лишних символов, которые есть в JSON и XML (кавычки, скобки, фигурные скобки).

В итоге читаемость файла значительно повышается.

YAML

#YAML Imaro: author: Charles R. Saunders language: English publication-year: 1981 pages: 224

JSON

Явная и неявная типизация

YAML предлагает как автоопределение типов, так и возможность явно указать тип данных. Чтобы использовать конкретный тип, нужно написать !![тип] перед значением.

Читайте также:  Обучение магии в Майнкрафт

# Это значение преобразуется в int: is-an-int: !!int 14.10 # Превращает любое значение в строку: is-a-str: !!str 67.43 # Значение должно быть boolean: is-a-bool: !!bool yes

Отсутствие исполняемых файлов

YAML не содержит исполняемых файлов. Поэтому можно безопасно обмениваться YAML-файлами с третьей стороной.

Чтобы использовать исполняемые файлы, YAML нужно интегрировать с другими языками, например Perl или Java.

Синтаксис YAML

В языке есть несколько базовых концепций, которые позволяют обрабатывать большинство данных.

Пары ключ-значение

Большинство данных в YAML-файле хранятся в виде пары ключ-значение, где ключ — это имя пары, а значение — связанные данные.

Скаляры и маппинг

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

YAML поддерживает стандартные типы: int и float, boolean, string и null.

Они могут быть представлены в разных видах: шестнадцатеричном, восьмеричном или экспоненциальном. Также существуют специальные типы для математических сущностей, такие как: бесконечность, -бесконечность и NAN.

integer: 25 hex: 0x12d4 #равно 4820 octal: 023332 #равно 9946 float: 25.0 exponent: 12.3015e+05 #равно 1230150.0 boolean: Yes string: «25» infinity: .inf # преобразуется в бесконечность neginf: -.Inf #преобразуется в минус бесконечность not: .NAN #Not a Number null: ~

Строки

Строка — это коллекция символов, которая может содержать слово или предложение. Можно использовать либо |, для отдельных строк, либо >, для параграфов.

Кавычки в YAML не нужны.

str: Hello World data: | Это Отдельные Строки data: > Это один параграф текста

Последовательности

Последовательности — это структуры данных похожие на списки или массивы, которые хранят несколько значений под одним ключом. Они определяются с помощью отступов или [].

shopping: — milk — eggs — juice

Однострочные последовательности выглядят лаконичнее, но хуже читаются.

shopping: [milk, eggs, juice]

Словари

Словари — это коллекции пар ключ-значение, которые хранятся под одним ключом. Они позволяют разделить данные на логические категории.

Employees: — dan: name: Dan D. Veloper job: Developer team: DevOps — dora: name: Dora D. Veloper job: Project Manager team: Web Subscriptions

Словари могут содержать более сложные структуры, что позволяет хранить сложные реляционные данные.

Что ещё может YAML?

  • Anchors (якоря)
  • Templates (шаблоны)
  • Взаимодействие с Docker, Ansible и т. д.
  • Расширенные последовательности и маппинг.
  • Расширенные типы данных (timestamp, null и т. д.)

Источник: tproger.ru