Tags
Creators
Details
Licensed LGPL-3.0-or-later
Published 5 months ago
Updated 2 months ago
All versions
1.2.6
Release
Dragon Care - 1.2.6 - 1.21.1v4 months ago 3,526
Compatibility
Minecraft: Java Edition
1.21.1
Platform
NeoForge
Supported environments
Client and server
Required content
Any compatible version
Changes
English Changelog
🐛 Bug Fixes
- Dragon Phone: Fixed a texture I accidentally broke in one of the patches, preventing it from switching to "ON" when activated. The 'overrides' block in the item model was accidentally removed—the predicate was registered, but there was nothing to switch to.
🔒 Critical Fixes
- Dragon Data Loss: Fixed a critical issue where
cleanupStaleEntrieswas deleting bond level, dirt, and family data for dragons in unloaded chunks every 5 minutes. This meant your pet dragon at base would silently lose its bond while you explored far away. Data cleanup now only triggers on dragon death (LivingDeathEvent), which is safe since Ice and Fire dragons cannot resurrect. - Brush Exploit: Fixed an exploit where a crafted network packet could bypass dirt level validation, granting unlimited bond points. The server now clamps
newDirtLevelto[0, oldDirtLevel].
🛠️ Optimizations & Memory Leak Fixes (Technical Details)
- Thread Safety Fix:
ClientDirtCachenow usesConcurrentHashMapinstead ofHashMap. The cache was being accessed simultaneously from the network thread and the render thread, which could cause visual glitches or crashes under load.
Русский список изменений
🐛 Исправление багов
- Драконий телефон: Исправлена текстура, которую я случайно сломал в одном из патчей, и она не переключалась на «ВКЛ» при активации. В модели предмета случайно удалён блок
overrides— предикат регистрировался, но переключаться было не на что.
🔒 Критические исправления
- Потеря данных дракона: Исправлена критическая проблема, из-за которой
cleanupStaleEntriesкаждые 5 минут удалял уровень привязанности, грязь и данные о семье у драконов в выгруженных чанках. Это означало, что ваш питомец на базе молча терял привязанность, пока вы исследовали мир. Теперь очистка данных срабатывает только при гибели дракона (LivingDeathEvent), что безопасно — драконы Ice and Fire не воскресают. - Эксплойт щётки: Исправлена уязвимость, позволявшая с помощью поддельного сетевого пакета обойти валидацию уровня грязи и получить неограниченные очки привязанности. Сервер теперь зажимает
newDirtLevelв диапазон[0, oldDirtLevel].
🛠️ Оптимизация и исправление утечек памяти (Технические детали)
- Исправление потокобезопасности:
ClientDirtCacheтеперь используетConcurrentHashMapвместоHashMap. Кеш одновременно читался из сетевого потока и потока рендеринга, что могло приводить к визуальным артефактам или вылетам под нагрузкой.
Projects on Modrinth are automatically available through a Maven repository for use with JVM build tools such as Gradle. To learn more about the Modrinth Maven API, click here.
Note: When available, you should use the creator's maven repo instead as it will have transitive dependency information that the Modrinth Maven API does not. You may also end up with duplicate dependencies if you use a mix of Modrinth and non-Modrinth Maven repositories for your dependencies, because the group identifier will be different when served through the Modrinth Maven API.
Maven coordinates:
Version ID:
build.gradle:
repositories {
exclusiveContent {
forRepository {
maven {
name = "Modrinth"
url = "https://api.modrinth.com/maven"
}
}
// forRepositories(fg.repository) // Uncomment when using ForgeGradle
filter {
includeGroup "maven.modrinth"
}
}
}
// Standard Gradle dependency
dependencies {
implementation "maven.modrinth:Hlm7REws:gxtpMOCJ"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:Hlm7REws:gxtpMOCJ"
}

