modsmith Войти Войти Рус / Eng

Hísëa

hsa · 596121 загрузок · MIT

клиент: unknown · сервер: unknown (заявлено автором мода)

Добавляет настраиваемые блоки, генерирующие туман для атмосферы и детализации.

Описание

Hísëa (на квенья «туманный») — это мод, разработанный для проекта ArdaCraft. Он добавляет блоки, генерирующие туман, которые невидимы для пользователя, если он не держит блок в руке. Эти блоки не имеют коллизий, а это означает, что игроки могут добавлять в свои конструкции интересные детали, такие как водопадный туман, пар от горячих ванн и туман, не мешая исследованию или погружению.

Различные аспекты тумана, создаваемого этими блоками, можно настроить с помощью Ctrl+щелчка правой кнопкой мыши:

The config screen

Более подробную инструкцию можно найти ниже.

<details> <summary>Инструкции Хисеа</summary>

Интенсивность (0–50%)

Пояснение: Управляет толщиной тумана. Более высокие значения создают более плотный и видимый туман. При максимальных значениях туман становится очень заметным и создает эффект густого тумана.

С точки зрения кода: масштабирует количество и размер генерируемых частиц. Внутренне хранится как число с плавающей запятой (0,0–5,0), где:

  • Каждые 10% в пользовательском интерфейсе = 1,0 в коде.
  • Влияет как на масштаб частиц, так и на скорость появления.
  • Влияет на расчет времени жизни частиц

Скорость (0–200%)

Пояснение: Определяет, насколько быстро движутся частицы тумана. Низкие значения создают неподвижный, висящий туман. Более высокие значения создают струящийся, дрейфующий туман, который более резко перемещается по пространству.

С точки зрения кода: хранится как число с плавающей запятой (0,0–2,0) и напрямую умножается на значения движения:

 .setMotion(
      velocityMultiplier == 0 ? 0 : (world.getRandom().nextFloat() * 0.01f) * Math.signum(offsetX) * velocityMultiplier,
      velocityMultiplier == 0 ? 0 : (world.getRandom().nextFloat() * 0.005f) * velocityMultiplier, // Slower vertical
      velocityMultiplier == 0 ? 0 : (world.getRandom().nextFloat() * 0.01f) * Math.signum(offsetZ) * velocityMultiplier
  )

Время действия (5–30 секунд)

Пояснение: Управляет тем, как долго частицы тумана остаются видимыми, прежде чем исчезнуть. Более длительный срок службы создает более стойкий эффект тумана, а более короткий срок службы создает более эфемерный, тонкий эффект.

По коду: хранится в виде тиков (100–600), где:

  • Каждая секунда = 20 тактов (Minecraft работает со скоростью 20 тактов в секунду)
  • Непосредственно используется в построителе частиц:
.setLifetime(lifetime)

Цвет (RGB)

Пояснение: Устанавливает цвет частиц тумана. Может использоваться для создания атмосферных эффектов, таких как цветной туман, волшебный туман, токсичные облака, пар различной температуры и т. д.

С точки зрения кода: хранится как стандартное целое число RGB (от 0x000000 до 0xFFFFFF):

  .setColorData(ColorParticleData.create(particleColor).build())

Прозрачность (0–100 %)

Пояснение: Управляет прозрачностью тумана. Более низкие значения создают полупрозрачный призрачный туман, который едва закрывает обзор. Более высокие значения создают более непрозрачный туман, который может скрывать за собой элементы.

В коде: хранится как число с плавающей запятой (0,0–1,0) и используется при вычислении градиента прозрачности:

  .setTransparencyData(
      GenericParticleData.create(0.001f, 0.7f * customTransparency, 0f)
      .setEasing(Easing.EXPO_OUT, Easing.SINE_OUT)
      .build()
  )

Это создает эффект плавного появления/затухания, при этом пиковая видимость контролируется этой настройкой.

Радиус (1–100 блоков)

Пояснение: Определяет, насколько далеко туман распространяется от исходного блока. Больший радиус создает туман, который покрывает большую площадь, а меньший радиус создает концентрированные облака.

С точки зрения кода: хранится как целое число и используется для масштабирования смещений положения частиц:

  double radiusScale = customRadius / 3.0; // Scale factor where 3 is the default radius
  double scaledOffsetX = offsetX * radiusScale;
  double scaledOffsetZ = offsetZ * radiusScale;

Включено (Вкл./Выкл.)

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

С точки зрения кода: хранится как логическое значение и проверяется перед созданием каких-либо частиц:

  if (cachedEnabled != null && !cachedEnabled) {
      // Block has been disabled by the user
      return;
  }

Примечания по технической реализации

  • Синхронизация клиент-сервер: все настройки хранятся на сервере в блочном объекте и синхронизируются с подключенными клиентами.
    • Постоянство: настройки сохраняются в мировых данных NBT для восстановления после перезапуска сервера.
    • Эффективность: частицы используют проверки видимости и оптимизации, чтобы минимизировать влияние на производительность.
    • Последние использованные настройки: мод запоминает ваши последние использованные настройки при размещении новых блоков.

</details>

Мод был разработан для ArdaCraft компанией Divined (.divined на Discord). Большое спасибо разработчикам Effective за помощь.

Иконка проекта принадлежит kameh.space в Instagram.

Версии (3)

ВерсияMinecraftЗагрузчикиФайл
1.0.2 1.20.1 fabric скачать
1.0.1 1.20.1 fabric скачать
1.0.0 1.20.1 fabric скачать

Страница на Modrinth →