Игнорирование пирамиды видимости камеры при рендере Entity

Версия Minecraft
1.7.10
API
Forge
354
14
117
Всем привет, сегодня 14.08.2021, значит, настало время новых неадекватных вопросов от меня.
Вопрос в заголовке. Мне треубуется рисовать сущность(наследника EntityLiving) независимо от угла обзора камеры. Фордж предлагает использовать ignoreFrustumCheck = true, что я и сделал по аналогии с EntityDragon, но это помогло чуть меньше, чем никак.
В тайл-сущности я бы написал такое::
@SideOnly(Side.CLIENT)
    public AxisAlignedBB getRenderBoundingBox() {
        AxisAlignedBB bb = net.minecraft.tileentity.TileEntity.INFINITE_EXTENT_AABB;
        return bb;
    }
Прошу подсказать мне доступный аналог для обычных Entity.
 
Теперь пошла явная аномалия, иногда вышеназванный флаг работает, иногда - нет.
Проблема точно не в моем коде, так как мобы полностью идентичны.
Вроде бы можно решить проблему, изменив ванильный RenderGlobal, но править дефолтные классы очень не хочу.
 
Если я правильно тебя понял тебе нужно также как рисуется частицы. То есть модель всегда смотри на камеру (игрока). Вычисляется это довольно просто. Вычитаем из координат игрока координаты сущности. Получается вектор (из которого можно получить и расстояние - по нему определить рисуем ли мы вообще модель), нормализуем (normalize, или проще говоря делаем его единичным) и получается вектор направления (direction).
Полную формулу завтра дам, это по вектору направления вычислит угол. А сегодня можешь просто взять из игрока угол поворота камеры, повернутый на 180 градусов (обратный угол получается).
 
Если я правильно тебя понял тебе нужно также как рисуется частицы.
Нет. Ему нужно выключить куллинг, чтобы рисовался энтити всегда, а не только если на камеру попадает.
 
Тогда можно поймать событие на рендер любой сущности, в первый раз, затем рендирить свою.
Давно не модил, хммм, можно взять событие рендер игрока и рисовать там. Проверить что игрок локальный и рендирить. Игрок и клиент точно в одном экземпляре.
 
Назад
Сверху