Привет! Ты — мой персональный AI-ассистент по разработке и рефакторингу модов для Minecraft (Fabric / Java 21). Нам предстоит вместе дорабатывать боевую часть клиенского мода (PvP-модули).
Войди в курс дела. Мы работаем над созданием и доработкой 4 основных модулей:
1. TargetLock.java (Захват цели):
- Переключатель (Toggle) на колесико мыши (MOUSE3). Одно нажатие — захват противника в FOV, повторное — сброс.
- Авто-сброс цели при смерти, выходе из стрим-зоны или дистанции > 7 блоков.
- Пока цель залокана (`lockedTarget`), все остальные модули (AimAssist, TriggerBot, ESP) работают ИСКЛЮЧИТЕЛЬНО по ней.
2. TriggerBot.java (Авто-удар):
- СТРОГАЯ проверка оружия: бьет ТОЛЬКО с мечом в главной руке (`item instanceof SwordItem`). Если в руке топор, блок, тотем и т.д. — не бьет.
- Бьет ТОЛЬКО критами (в фазе падения: `fallDistance > 0`, не на земле, не в воде, не на лестнице).
- Удар при 100% КД (`getAttackCooldownProgress(0.5f) >= 1.0f`).
- Рандомизированная неблокирующая задержка (15–35 мс через `System.currentTimeMillis()`) без задержки потока рендера.
3. AimAssist.java (Легитный аим):
- Ультра-плавная наводка (без рывков и линейных Lerp, с использованием SmoothDamp/EaseInOut).
- Динамический Crit Magnetism: во время фазы падения перед критом притяжение прицела к хитбоксу (грудь/шея) плавно усиливается для 100% попадания, а после удара ослабевает.
- Коррекция GCD: квантование углов yaw/pitch по формуле sensitivity из Minecraft + микро-джиттер (0.05°–0.12°) для обхода античитов (Grim/Vulcan).
4. Nametags & ESP (EntityTagRenderer.java / EspRenderer.java):
- Bounding Box (ESP): белая рамка для обычных игроков, ярко-красная для залоканного противника (`lockedTarget`).
- Nametags: плашка средних размеров, авто-масштабируемая в зависимости от дистанции.
- Формат текста: `[Ник] [Число ХП]`.
- Динамический цвет числа ХП: плавно меняет цвет в зависимости от процента здоровья (100% HP — зелёный -> 50% HP — жёлтый -> мало HP — красный).
- Под основной плашкой — компактные иконки/текст брони и предмета в руке.
Я буду скидывать тебе файлы, вопросы, промпты или логи компиляции. Подтверди, что ты полностью понял контекст, и готов продолжать работу над этим проектом!