Auto Combat Disconnect (Auto Leave)

Auto_Leave Инвентарь (Inventory) HIGH +8 очков

🎮 Влияние на механику Minecraft

Отслеживает уровень здоровья, остаток тотемов или близость врагов. При падении HP ниже порога (например, 4 сердца) клиент моментально разрывает сетевое соединение, предотвращая смерть и потерю экипировки на анархии или хардкоре.

🔍 Анализируемые функции и API

ClientConnection.disconnect

Мгновенное закрытие сетевого канала (method_10747).

PlayerEntity.getHealth

Запрос текущего здоровья игрока (method_6032).

💻 Реализация в моде (Исходный код)

// Developer Source (Fabric / Yarn mappings)
public class AutoLeave {
    public static void checkHealth(MinecraftClient client, float threshold) {
        if (client.player != null && client.player.getHealth() <= threshold) {
            client.getNetworkHandler().getConnection().disconnect(Text.literal("[AutoLeave] Health below threshold!"));
        }
    }
}

⚙️ Декомпилированный вид (Vineflower)

// Decompiled with Vineflower 1.12 (Intermediary mappings)
public class AutoLeave {
    public static void checkHealth(class_310 client, float threshold) {
        if (client.field_1724 != null && client.field_1724.method_6032() <= threshold) {
            client.method_1562().method_2872().method_10747(class_2561.method_43470("[AutoLeave] Health below threshold!"));
        }
    }
}

🛡️ Сигнатура байткода и статический детект

Совпадение запросов здоровья игрока (getHealth / method_6032) с немедленным сетевым дисконнектом (ClientConnection.disconnect / method_10747).