Hitbox Mixin Return Value Override
Влияние на механику Minecraft
Перехватывает методы Entity.getBoundingBox() или Entity.getTargetingMargin() через Mixin (@ModifyReturnValue, @Inject), возвращая искусственно раздутый хитбокс, благодаря чему по игрокам можно попадать далеко за пределами их видимой модели.
Анализируемые функции и API
Entity.getBoundingBox
Основной метод получения хитбокса сущности (method_5829), используемый в проверках луча и коллизиях.
Entity.getTargetingMargin
Метод запаса попадания (margin, method_5871), добавляемый к хитбоксу при наведении прицела.
ModifyReturnValue / ModifyExpressionValue
Аннотации Mixin, подменяющие возвращаемое значение метода.
Реализация в моде (Исходный код)
// Developer Source (Fabric / Yarn mappings)
@Mixin(Entity.class)
public class HitboxMixin {
@ModifyReturnValue(method = "getTargetingMargin", at = @At("RETURN"))
private float expandMargin(float original) {
return original + 0.4f;
}
}
Декомпилированный вид (Vineflower)
// Decompiled with Vineflower 1.12 (Intermediary mappings)
@Mixin({class_1297.class})
public class HitboxMixin {
@ModifyReturnValue(method = {"method_5871"}, at = @At("RETURN"))
private float expandMargin(float original) {
return original + 0.4F;
}
}
Сигнатура байткода и статический детект
Обнаруживает Mixin-инъекции в методы getBoundingBox (method_5829), getTargetingMargin (method_5871) или getDimensions (method_18376).