
Crystal Leveling
Активный0.0
Установок
Последнее обновление
Версии
Crystal Leveling - Динамическая система сложности мобов
Данный мод кардинально меняет подход к сражениям в Minecraft, внедряя прогрессивную систему уровней сложности для всех существ в игре.
Каждое существо, появляющееся в мире, автоматически получает случайный уровень сложности от 1 до 100. На основе этого значения мод усиливает характеристики моба, делая его более опасным противником. Визуально уровень сложности отображается с помощью цветного кристального значка рядом с именем существа, что позволяет мгновенно оценить его опасность.
В зависимости от уровня сложности мобы получают усиления:
- Максимальное здоровье
- Урон от атак
- Показатель брони
- Прочность брони
Цветовая кодировка кристаллов варьируется от зелёного для слабых существ до многоцветных для самых опасных противников высшего уровня.
Пример градации сложности (от низшей к высшей):
Для разработчиков
Мод добавляет синхронизируемый атрибут difficulty_level
(0–100) ко всем сущностям. Другие модификации могут использовать это значение для создания собственной логики — например, настройки выпадения лута, создания уровней добычи или применения специальных эффектов.
@Mod.EventBusSubscriber
public class CustomDropOnDeathWithTiers {
@SubscribeEvent
public static void onLivingDeath(net.minecraftforge.event.entity.living.LivingDeathEvent event) {
LivingEntity entity = event.getEntityLiving();
if (entity == null)
return;
// Чтение уровня сложности (по умолчанию 0, если отсутствует)
double difficulty = 0;
if (entity.getAttributes().hasAttribute(CrystalLevelingModAttributes.DIFFICULTY_LEVEL.get())) {
difficulty = entity.getAttribute(CrystalLevelingModAttributes.DIFFICULTY_LEVEL.get()).getBaseValue();
}
// Определение уровня и выдача соответствующей добычи
if (difficulty >= 81) {
// Высший уровень (многоцветный): очень редкая награда
entity.spawnAtLocation(new ItemStack(Items.NETHER_STAR), 0.0F);
} else if (difficulty >= 65) {
// Тёмно-синий уровень: редкая награда
entity.spawnAtLocation(new ItemStack(Items.DIAMOND), 0.0F);
} else if (difficulty >= 49) {
// Светло-фиолетовый уровень: необычная награда
entity.spawnAtLocation(new ItemStack(Items.EMERALD), 0.0F);
} else if (difficulty >= 33) {
// Красный уровень: умеренная награда
entity.spawnAtLocation(new ItemStack(Items.IRON_INGOT), 0.0F);
} else if (difficulty >= 17) {
// Жёлтый уровень: обычная награда
entity.spawnAtLocation(new ItemStack(Items.GOLD_INGOT), 0.0F);
} else {
// Зелёный уровень: базовая награда
entity.spawnAtLocation(new ItemStack(Items.APPLE), 0.0F);
}
}
}