Войти или зарегистрироваться

Как изменить цвет неба

Lama_Ke

Активный участник
Пользователь
Баллы
61
Имя в Minecraft
Lama_Ke
У меня появилась потребность изменить цвета неба в мире на красный для всех игроков.
Желательно это сделать без дождя и лагов для игроков.
На сервере почти все используют оптифайн с нашим ресурспаком.

Я наткнулся на плагины SkyColor и SkyChanger.
Как я понял, они отправляют игроку пакет, который содержит в себе информацию об интенсивности дождя.
Попробовал на сервере отправить подобные пакеты себе и столкнулся с уже обозначенными в начале проблемами: Дождь с огромным до ужаса количеством частиц, который вызывает лаги.

Можно ли как-то изменить цвет неба? Если это можно сделать только с помощью пакетов, то могу ли я сделать это без дождя?

И мне стала интересна тема самих пакетов, но, видимо, я плохо искал и не нашёл каких-либо ресурсов, на которых можно подробнее узнать, какие виды пакетов существуют и насколько правильно вообще их использование.

Поэтому ещё просьба поделиться подобными ресурсами, если такие существуют.
 
На новых версиях это делается без проблем (кажется, с 1.16). А вот с 1.12.2 не всё так просто.
Есть два способа, но каждый из них имеет недостатки.

1) При помощи смены погоды и времени суток (то, как это делают SkyColor и SkyChanger). При использовании данного метода полностью от дождя не избавиться никак. Единственное, что можно сделать - на всей карте сменить биом на пустынный или любой другой, где дожди не идут (вернее не отображаются на клиенте). Либо же можно поместить на максимальную высоту мира слой блоков барьера.

2) При спауне игрока в мире подменять тип мира (с обычного на нижний). Я делал подобное, это работает, но начинают возникать довольно странные баги с респауном, телепортацией и чем-то ещё. В чём конкретно они заключаются, я уже не помню, но будь уверен, что тебе придётся изрядно поизвращаться, чтобы всё работало корректно.

Оба варианта реализуются с использованием пакетов (отправка или модификация). Но я допускаю, что есть уже готовые решения, апи которых ты можешь использовать. Но опять же, всё это костыли, которые, скорее всего, корректно работать никогда не будут. Адекватное решение этой задачи можно сделать только на новых версиях
 
Документации нет, так как это недобаг-недофича клиента. Со сменой уровня дождя и грозы меняется цвет неба. Если вкинуть в пакет Game Event значения за пределами 0-1, то клиент начинает упарывать и показывать различные цвета. Соответственно, без дождя не обойтись.
Подмечу, что это касается лишь старых версий. На последних технически возможно реализовать смену цветов посредством создания кастомных биомов. Но конкретно API для этого до сих пор нет ни в Spigot, ни в Paper, а биомы клиенту нужно предоставлять заранее при входе.
 
На новых версиях это делается без проблем (кажется, с 1.16). А вот с 1.12.2 не всё так просто.
Есть два способа, но каждый из них имеет недостатки.

1) При помощи смены погоды и времени суток (то, как это делают SkyColor и SkyChanger). При использовании данного метода полностью от дождя не избавиться никак. Единственное, что можно сделать - на всей карте сменить биом на пустынный или любой другой, где дожди не идут (вернее не отображаются на клиенте). Либо же можно поместить на максимальную высоту мира слой блоков барьера.

2) При спауне игрока в мире подменять тип мира (с обычного на нижний). Я делал подобное, это работает, но начинают возникать довольно странные баги с респауном, телепортацией и чем-то ещё. В чём конкретно они заключаются, я уже не помню, но будь уверен, что тебе придётся изрядно поизвращаться, чтобы всё работало корректно.

Оба варианта реализуются с использованием пакетов (отправка или модификация). Но я допускаю, что есть уже готовые решения, апи которых ты можешь использовать. Но опять же, всё это костыли, которые, скорее всего, корректно работать никогда не будут. Адекватное решение этой задачи можно сделать только на новых версиях


Могу попросить рассказать об этом адекватном решении на новых версиях?
 
Могу попросить рассказать об этом адекватном решении на новых версиях?
Датапаками добавляются новые биомы. У биомов можно указать цвет неба. Правда как поменять биом на кастомный - не интересовался, но наверняка сложностей с этим нет.
Также в теории можно попробовать поменять цвет неба в стандартных биомах. Но не уверен, что это сработает на практике
 
Датапаками добавляются новые биомы. У биомов можно указать цвет неба. Правда как поменять биом на кастомный - не интересовался, но наверняка сложностей с этим нет.
Также в теории можно попробовать поменять цвет неба в стандартных биомах. Но не уверен, что это сработает на практике
Спасибо за информацию, будет интересно полагаю погуглить, да порыться в коде в этом ключе)
 
Документации нет, так как это недобаг-недофича клиента.

Так может кто-нибудь запилит очередную статью, в которой будет уже рассказано про пакеты? И ещё я заметил, что в данном разделе очень много полезных тредов, которые просто теряются за кучей вопросов, было бы хорошо хотя бы ссылки на все эти треды объединить и закрепить.
 
Так может кто-нибудь запилит очередную статью, в которой будет уже рассказано про пакеты?
Пакеты постоянно меняются - то, что работало на одной версии, может не работать уже на следующей. Меняется специфика пакетов, их состав, наименование. В твоем случае вообще используется "непредусмотренная функциональность" клиента, которая может быть пофикшена в любой момент. Пакеты - не API, и не предусмотрены для использования напрямую. Документировать все подобные моменты - адский, и что немаловажно для некоторых, неоплачиваемый труд.
Единственное, соглашусь, что статейки по самой работе с пакетами не хватает - как читать, создавать, манипулировать пакетами, да чего-нибудь по чтению https://wiki.vg/Protocol
И ещё я заметил, что в данном разделе очень много полезных тредов, которые просто теряются за кучей вопросов, было бы хорошо хотя бы ссылки на все эти треды объединить и закрепить.
Было бы и правда неплохо, но в конце концов, для этого существует поиск. Либо сразу на форуме, либо через гугл/яндекс с указанием "site:rubukkit.org"
 
Назад
Верх