1. Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.
    Скрыть объявление
Скрыть объявление
В преддверии глобального обновления, мы проводим исследования, которые помогут нам сделать опыт пользования форумом ещё удобнее. Помогите нам, примите участие!

Стартап [ПЕРЕВОД] Цветные частицы

Тема в разделе "Разработка плагинов для новичков", создана пользователем Dexel, 5 авг 2017.

  1. Автор темы
    Dexel

    Dexel Активный участник Пользователь

    Баллы:
    76
    Самая прямая ссылка на страницу с оригинальным текстом (EN)

    Существует три вида частиц, которым можно менять цвета. Тем не менее, это работает не так очевидно.

    Частицы REDSTONE, SPELL_MOB и SPELL_MOB_AMBIENT имеют настраиваемые цвета, если предоставлять одну специальную информацию во время их спавна.

    Вам нужно будет использовать метод Player.spawnParticle, который берёт максимальный набор параметров. В частности, вам нужно будет изменять смещение X,Y,Z, чтобы контролировать цвет, "extra" для яркости и "count", чтобы переключить изменение цвета.

    Что эти параметры делают в этом случае:
    • count: Должен быть установлен на 0, это активирует цветные частицы. Обратите внимание, что это значит, что вы не можете спавнить более одной цветной частицы за раз (за один вызов/пакет)
    • extra: Контролирует яркость цвета частицы, вероятно, вам нужно установить это на 1
    • offsetX: Вставьте сюда значение от 0 до 1, чтобы контролировать красный компонент цвета частицы
    • offsetY: Вставьте сюда значение от 0 до 1, чтобы контролировать зелёный компонент цвета частицы
    • offsetZ: Вставьте сюда значение от 0 до 1, чтобы контролировать синий компонент цвета частицы
    Таким образом, чтобы заспавнить зелёную частицу редстоуна, вам нужно совершить такой вызов:
    Код:
    player.spawnParticle(Particle.REDSTONE, x, y, z, 0, 0.001, 1, 0, 1);
    Вы могли заметить, что красный компонент не установлен на 0. Это нюанс клиентов, если красный компонент установлен на 0, частица всегда будет рендериться красной (Натурально...)

    Это касается только частицы REDSTONE. Если вы хотите, чтобы красный вообще отсутствовал в вашей частице, вы можете использовать Float.MIN_VALUE, и частица будет отображаться без красного компонента.
     
  2. _TheZit445_

    _TheZit445_ Активный участник Пользователь

    Баллы:
    76
    Skype:
    kirik2425
    Имя в Minecraft:
    _TheZit445_
    Йоооо, что это? Лол, ни разу не слышал про это, хотя не удивительно, метод новый вроде как, с 1.12. Отличная штука, мерси боку!
    Правда не обязательно брать именно player.spawnParticle, можно и через Location, главное активировать цвет и настроить его
     
  3. Ission

    Ission Старожил Девелопер Пользователь

    Баллы:
    173
    Skype:
    lokivava
    Некоторое дополнение: FALLING_DUST так же может воспроизводить различные цвета, но принцип другой. В данном случае количество цветов ограничено, но наврядли понадобятся какие-нибудь ещё дополнительные к этим цвета.
    Частица приобретает цвет, который указан в extra, менять количество, разброс и скорость можно как угодно. Цвет зависит от дополнительного значения, который является MaterialData.
    Пример спавна красной частицы:
    Код:
    spawnParticle(Particle.FALLING_DUST, loc, count, 0.01, 0.01, 0.01, speed, new MaterialData(Material.LAVA));
     
  4. Автор темы
    Dexel

    Dexel Активный участник Пользователь

    Баллы:
    76
    Оригинальная статья была написана 20 апреля 2017. Вроде бы тогда 1.12 ещё не вышел.
     

Поделиться этой страницей