Ice And Fire: Dragon Care

A comprehensive addon for Ice and Fire CE introducing ethical resource harvesting, dynamic bonding, and long-term dragon husbandry.

File Details

Dragon Care - 1.0.1.jar

  • R
  • May 20, 2026
  • 2.26 MB
  • 66
  • 1.21.1
  • NeoForge

File Name

Ice and Fire - Dragon Care-1.0.1.jar

Supported Versions

  • 1.21.1

Curse Maven Snippet

NeoForge

implementation "curse.maven:ice-and-fire-dragon-care-1548726:8119299"
Curse Maven does not yet support mods that have disabled 3rd party sharing

Learn more about Curse Maven

[Hotfix] Sound System Stabilization (OpenAL Crash Fix)

English

🔴 Fixed

  • Client Crash on Startup / No Audio Devices: Fixed a critical client-side crash (No ALCapabilities instance has been set) caused by raw LWJGL/OpenAL buffers being initialized before Minecraft's sound engine had finished loading asynchronously, or if the user's system lacked active audio devices.
  • Sound Engine Reload Crash (F3+T): Resolved a bug where reloading resource packs or changing audio devices invalidated existing OpenAL buffers and sources, causing subsequent ticks to reference dead memory addresses and crash the client.

🛠️ Technical Implementation

  • Added an isOpenALReady() safety check utilizing AL.getCapabilities() != null to guard low-level AL10 calls within GeigerSoundPlayer.
  • Added a reset() method to safely discard invalid voice and buffer configurations.
  • Hooked into NeoForge's client-side SoundEngineLoadEvent in AshSensorSoundHandler to automatically reset the geiger player on sound system reload, forcing graceful re-allocation of buffers in the new OpenAL context.

Русский

🔴 Исправлено

  • Краш клиента при запуске / отсутствии аудиоустройств: Исправлено критическое падение игры (No ALCapabilities instance has been set), возникавшее из-за попытки инициализации сырых OpenAL-буферов счетчика Гейгера до завершения асинхронной загрузки звукового движка Minecraft, либо при отсутствии активных аудиоустройств в системе пользователя.
  • Краш при перезагрузке звука (F3+T): Устранена ошибка, при которой перезагрузка ресурс-паков или смена аудиоустройства инвалидировали старые OpenAL буферы и источники, приводя к падениям на последующих тиках из-за обращения к несуществующим ID в памяти.

🛠️ Техническая реализация

  • Добавлена безопасная проверка isOpenALReady() с использованием AL.getCapabilities() != null для защиты всех низкоуровневых вызовов AL10 в GeigerSoundPlayer.
  • Реализован метод reset() для безопасного сброса недействительных ID источников и буферов.
  • Реализована подписка на событие NeoForge SoundEngineLoadEvent в AshSensorSoundHandler, которая автоматически сбрасывает состояние плеера при перезагрузке звуковой системы, обеспечивая бесшовное создание буферов в новом контексте OpenAL на следующем тике.