Перейти к содержанию

Разбор JSON формата сообщений


Рекомендуемые сообщения

В теме 3 сообщения

Разбор JSON формата сообщений

JSON форматированные сообщения можно выводить с помощью title, tellraw или использовать в названии чего-либо (счёт, сущность, команда игроков, предмет, его описание).

Тег text: В этом теге нужно указать текст для вывода на экран (Через tellraw например) {"text":"Привет"}
Тег color: Указывает цвет текста. (Аналогично тому, если бы перед текстом из тега text поставили § и код цвета) {"text":"Привет","color":"gold"} | Принимает одно из значений таблицы

Таблица цветов

Скрытый текст

 

Цветовой код Цветовой код для MOTD Название
§4 u00A74 “dark_red”
§c u00A7c “red”
§6 u00A76 “gold”
§e u00A7e “yellow”
§2 u00A72 “dark_green”
§a u00A7a “green”
§b u00A7b “aqua”
§3 u00A73 “dark_aqua”
§1 u00A71 “dark_blue”
§9 u00A79 “blue”
§d u00A7d “light_purple”
§5 u00A75 “dark_purple”
§f u00A7f “white”
§7 u00A77 “gray”
§8 u00A78 “dark_gray”
§0 u00A70 “black”

§r

u00A7 “reset” Стандартный цвет (Белый)

Тег bold: Делает текст жирным (Аналогично §l перед текстом) {"text":"Привет","color":"gold","bold":true} | Принимает только true/false
Тег italic: Делает текст наклонным (Аналогично §o перед текстом) {"text":"Привет","italic":true} | Принимает только true/false
Тег strikethrough: Делает текст зачёркнутым (Аналогично §m перед текстом) {"text":"Привет","strikethrough":true} | Принимает только true/false
Тег underlined: Делает текст подчёркнутым (Аналогично §n перед текстом) {"text":"Привет","underlined":true} | Принимает только true/false
Тег obfuscated: Делает текст обфусцированным (Аналогично §k перед текстом) {"text":"Привет","obfuscated":true} | Принимает только true/false

Также чтобы задать JSON строку можно использовать массив из элементов:

[{"text":"Привет","color":"gold"},{"text":" мир","color":"green"}]

Если указать свойства первому элементу, но не указывать свойства для следующего, все объекты унаследуют свойства предыдущего.

[{"text":"Этот текст жирный. ","color":"gold","bold":true},{"text":"Как и этот, хотя тут нет свойства \"bold\"","color":"green"},{"text":"А это обычный текст. ","color":"gold","bold":false}]

Кстати, чтобы в текст вставить символ " нужно перед ним поставить \ (backslash). Символ, который находится за \ считается как текст, а не разделитель между свойствами.
Ещё есть \n - символ перехода на новую строку. Также \t - табуляция

Ну а теперь к интересному и более сложному.

В: Как в сообщении указать имя игрока?
О: Тег selector: Подставляет имя (Или несколько имён) в текст. Принимает как аргумент обычный селектор. Например: 

/tellraw @s [{"text":"Твой ник: "},{"selector":"@s"}]

Или вот ещё пример, в котором будет выведен список игроков, в креативе:

/tellraw @s [{"text":"Игроки в креативе: "},{"selector":"@a[gamemode=creative]"}]

Если сущность из селектора не будет найдена (Хотя бы одна), этот тег будет проигнорирован (Он не появится в сообщении)


В: Как вывести значение счёта (scoreboard) в сообщение? (В tellraw или title например)
О: Тег score: Подставляет значение из счёта сущности в текст. Принимает "словарь" как аргумент. {"name":"@s","objective":"test","value":"Текст перед значением"}
Красным выделил обязательные аргументы. name: Селектор сущности, счёт которой нужно взять. objective: название задачи (счёта scoreboard), из которого нужно брать значение. value: текст, который будет написан перед счётом.
 

Тут не всё, но основное написал, если кто-то хочет дополнить, пишите в эту тему. Скорее всего дополню, когда будет время.

Ссылка на комментарий
Поделиться на другие сайты

  • 7 месяцев спустя...

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...