Entity Loop Hitbox Expander
Влияние на механику Minecraft
Каждый тик обходит список всех загруженных в мир сущностей и принудительно увеличивает размеры хитбокса каждого противника, поддерживая их увеличенными непрерывно.
Анализируемые функции и API
ClientWorld.getEntities
Получение списка всех загруженных сущностей мира (method_18112).
Entity.setBoundingBox
Замена ванильного хитбокса увеличенными координатами.
Реализация в моде (Исходный код)
// Developer Source (Fabric / Yarn mappings)
public class LoopExpander {
public static void tick(MinecraftClient client) {
for (Entity e : client.world.getEntities()) {
if (e instanceof PlayerEntity && e != client.player) {
e.setBoundingBox(e.getBoundingBox().expand(0.5));
}
}
}
}
Декомпилированный вид (Vineflower)
// Decompiled with Vineflower 1.12 (Intermediary mappings)
public class LoopExpander {
public static void tick(class_310 client) {
for (class_1297 e : client.field_1687.method_18112()) {
if (e instanceof class_1657 && e != client.field_1724) {
e.method_5857(e.method_5829().method_1009(0.5));
}
}
}
}
Сигнатура байткода и статический детект
Обнаруживает циклы обхода сущностей мира с вызовом Entity.setBoundingBox внутри обработчика тиков.