Progressive Mechanics Library
progressive-mechanics-library · 141307 загрузок · LicenseRef-All-Rights-Reserved
клиент: required · сервер: required (заявлено автором мода)
Библиотека модов для моих модов и других людей, которым нужен полный контроль над механикой повреждений в игре. Может работать с модом «Первая помощь».
Описание
Это библиотечный мод, позволяющий моим и другим модам иметь отличный контроль над уроном и некоторой боевой механикой. По умолчанию этот мод делает это Изменяет тип урона, наносимого при нанесении критического удара, позволяя модификациям легко отслеживать, является ли атака критическим ударом. Тип урона — «pml:player_critical». Изменяет тип урона, наносимого при нанесении размашистой атаки. Тип урона — «pml:sweeping_damage».
Для разработчиков модов Он добавляет новый способ регистрации и добавления бонусов и уменьшений урона, а также работу с модом «Первая помощь», позволяющим контролировать поврежденные части тела.
Класс DamageControl является основным компонентом. Он обеспечивает структурированный способ изменения, контроля и расчета значений урона перед их применением в игре.
Эта система допускает несколько модификаторов, включая фиксированные бонусы, процентные бонусы и скидки от брони, чар и специальной механики.
🔧 Как это работает: Система начинается с чистого базового урона.
Он применяет масштабирование для конкретного оружия (уменьшение урона перед дальнейшими расчетами).
Базовые бонусы применяются в первую очередь (фиксированные и процентные).
Далее применяются дополнительные бонусы (фиксированные и процентные).
Система рассчитывает скидки (броня, чары, специальные скидки).
Окончательный урон сохраняется и может быть получен или изменен в LivingDamageEvent.
📊 Разбивка переменных: 🛠️ Модификаторы увеличения урона Описание переменной baseFlatBonus Фиксированный бонус добавляется перед процентными множителями (например, +10 урона). basePercentBonus Увеличение в процентах, применяемое перед другими расчетами (например, множитель 1,2). FlatBonus Плоский бонус добавляется после базовых бонусов (например, +5 урона). процентБонус Процентное увеличение, применяемое после базовых расчетов. 🛡️ Модификаторы для уменьшения урона Описание переменной Weapondamagecontrol Управляет масштабированием оружия перед всеми расчетами. ArmReduction Уменьшение урона из-за брони (обрабатывается отдельно). enchReduction Урон уменьшен из-за чар (оговаривается отдельно). SpecialReduction Непосредственно снижает итоговый урон, поэтому его следует использовать осторожно. 📌 Исходные значения для справки
Описание переменной originalDamage Сохраняет окончательный урон после всех расчетов, готовый к LivingDamageEvent. originalAbsorbion Сохраняет значение поглощения до внесения изменений.
🛠️ Ключевые методы ✔️ Добавление бонусов 🛡️ getArmorReduction() ✅ Возврат: Величина снижения урона за счет брони. 💡 Применение: это значение задается с помощью setArmorReduction(float value) и представляет собой количество урона, блокируемого механикой, основанной на броне (например, расчетами ванильной брони или пользовательскими эффектами брони из других модов). 🔮 getEnchantmentReduction() ✅ Возврат: величина уменьшения урона, вызванного чарами. 💡 Использование: отслеживает, насколько защитные чары (например, защита или специальные чары) уменьшают итоговый урон. Моды могут использовать это для балансировки эффектов зачарования или отображения их во всплывающих подсказках. ⚠️ getSpecialReduction() ✅ Возврат: величина уменьшения прямого урона, применяемая с помощью специальной механики. 💡 Применение: это самая мощная форма снижения урона, поскольку он вычитается в самом конце расчета урона. Модификациям следует использовать это осторожно, поскольку оно может полностью свести на нет урон, если оно слишком велико.
📌 Система совместимости модов «Первая помощь» Эта система интегрируется с модом First Aid, который изменяет способ обработки повреждений, добавляя травмы конкретных частей тела. Следующий код помогает отследить, какая часть тела была повреждена при использовании мода First Aid, и обеспечивает совместимость с системой DamageControl.
🛠️ Ключевые методы 🔍 getDamagedBodyPart (Игрок-игрок)
✅ Цель: восстанавливает поврежденную часть тела. Возвращает переменную EquipmentSlot, соответствующую поврежденной части тела. 💡Использование:
Этот метод следует использовать только во время LivingDamageEvent и при наличии первой помощи.
Если игрок не сопоставлен, он возвращает ноль.
Один из примеров использования — внутри мода Just Much more Enchantments.
Версии (4)
| Версия | Minecraft | Загрузчики | Файл |
|---|---|---|---|
1.0.4b |
1.20.1 | forge | скачать |
1.0.3c |
1.20.1 | forge | скачать |
1.0.3 |
1.20.1 | forge | скачать |
1.0.1 |
1.20.1, 1.20.2, 1.20.3 | forge | скачать |