Иконка ресурса

Json чат 0.1 - SNAPSHOT

Нет прав для скачивания
Версия(и) Minecraft
1.7.10+
Введение
Штука такая, в майнкрафте есть чат! Скорее всего вы когда-нибудь его замечали краем глаза.Так вот, у большинства мододелов общение с ним ограничивается отправкой текстовых сообщений в лучшем случае со знаками форматирования(§[1-f]), но на этом возможности майночата не ограничиваются!
В майне чат-компоненты обладают кучей разных приблуд таких как: отоброжение текста при наведении, исполнение команды при нажатии, просмотр ntrcnf при наведении ну и так далее. Майн придумал стремную систему сериализации и десериализации сообщений в и из JSON. По скольку это не гайд, для любопытных я просто оставлю две ссылки спецификация и по-приколу.

Что за мод то?
Мод облегчает создание таких вот "особых" cообщений.
Например вот такой вот код
Java:
@SubscribeEvent
    public void onEnter(EntityJoinWorldEvent event) {
        if (event.entity instanceof EntityPlayer && !event.entity.worldObj.isRemote) {
            ((EntityPlayer) event.entity).addChatComponentMessage(
                    new JsonMessageBuilder()
                            .newPart()
                            .setText("Hello, ")
                            .setBold(true)
                            .end()
                            .newPart()
                            .setHoverText("Yes yes, do it!")
                            .setClick(ClickEvent.Type.SUGGEST_COMMAND, "/spawn")
                            .setColor(PartColor.DARK_AQUA)
                            .setText("let's click me!")
                            .end()

                            .build()
                            .serialize());
        }
    }
При входе в игру будет отсылать такое:

Ну и при наведении покажет что нить такое:

А при нажатии произойдет следующее:


Как использовать
Сообщения в майне состоят из текста, аттрибутов и других сообщений. Когда оно выводится в чат сначала пишется текст самого сообщения а потом его детей, которые тоже могут иметь детей. Сделана такая штука чтобы в одном сообщении мы могли сделать немного нажимаемого, немного наводимого и немного обычного текста. В связи с чем создание сообщения можно описать следующим алгоритмом:
1. создание ребенка
2. добавление его аттрибутов
3. завершение создания ребенка
4. если нужен еще один ребенок возвращение к пункту 1
5. создание сообщения

Теперь оценим как же просто это делать!
Для начала нам нужен экземпляр класса JsonMessageBuilder. Далее чтобы добавить ребенка нужно вызвать метод newPart(), который вернет JsonPartBuilder, далее присваиваете все нужные вам аттрибуты и вызываете метод end() он закончит создание ребенка и вновь вернет вам JsonMessageBuilder. Так вы можете повторять пока не надоест:). Далее я думаю уже все понятно.

Например вот такой код:
Java:
 @SubscribeEvent
    public void onEnter(EntityJoinWorldEvent event) {
        if (event.entity instanceof EntityPlayer && !event.entity.worldObj.isRemote) {
            ItemStack stack = new ItemStack(Blocks.coal_ore);
            stack.addEnchantment(Enchantment.flame, 5);
            stack.setStackDisplayName("Супер уголь");
            ((EntityPlayer) event.entity).addChatComponentMessage(
                    new JsonMessageBuilder()
                            .newPart()
                            .setText("Hello, ")
                            .setBold(true)
                            .end()
                            .newPart()
                            .setHoverStack(stack)
                            .setColor(PartColor.DARK_AQUA)
                            .setText("do you want some coal?")
                            .end()

                            .build()
                            .serialize());
        }
    }
Выдаст такое:


Установка
Чтобы использовать просто скачайте исходники по ссылке и добавьте к себе в проект. Удачи))
Автор
JustAGod
Скачивания
12
Просмотры
83
Первый выпуск
Обновление
Оценка
4.83 звёзд 6 оценок

Другие ресурсы пользователя JustAGod

Последние рецензии

Просто и со вкусом x0
Жду обновлений! ;)
да ты гений, осталось только прикрутить картинки и пкм по предмету нормальный, и лкм как в тесо. оп и система отображений предметов в чате готова
В целом неплохо, но и пользы от этого не очень много.
Просто и прикольно x2
Очень похоже на апи текста спонжа, классненько
Просто и прикольно
Сверху