Auto Combat Disconnect (Auto Leave)
Влияние на механику 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).