Версия Minecraft
1.16.4
API
Forge
1,921
107
378
Вообщем, хочу сделать так чтобы рендер TE рендерил нечто за пределами своего блока. Но когда камера отворачивается от этого блока, то рендер перестаёт рендерить. В Minecraft есть Структурный блок, который рендерить в сторонке хитбокс структуры и всё хорошо. Я взял все, по-моему, подходящие методы для решение данной проблемы, но не работает. Смотрел рендер маяка, но там тоже самое, кроме метода getMaxRenderDistanceSquared.
В TE:
@OnlyIn(Dist.CLIENT)
public double getMaxRenderDistanceSquared() {
    return 96D;
}
В рендере:
@Override
public boolean isGlobalRenderer(MyTEClass te) {
    return true;
}
Кто знает как решить проблему?
 
Решение
Нашёл класс IForgeTileEntity, в котором есть метод getRenderBoundingBox, и там описывается боксы рендера всех блоков (мда....).
Вот сам ответ:
Код:
@Override
@OnlyIn(Dist.CLIENT)
public AxisAlignedBB getRenderBoundingBox() {
    return INFINITE_EXTENT_AABB;
}
getRenderShape?
 
Ни это
Java:
@Override
public VoxelShape getRenderShape(BlockState state, IBlockReader world, BlockPos pos) {
    return VoxelShapes.empty();
}
, ни это не даёт нужного результата.
Java:
@Override
public VoxelShape getRenderShape(BlockState state, IBlockReader world, BlockPos pos) {
    return VoxelShapes.INFINITY;
}
Да и в Структурном блоке такого нету.
 
Нашёл класс IForgeTileEntity, в котором есть метод getRenderBoundingBox, и там описывается боксы рендера всех блоков (мда....).
Вот сам ответ:
Код:
@Override
@OnlyIn(Dist.CLIENT)
public AxisAlignedBB getRenderBoundingBox() {
    return INFINITE_EXTENT_AABB;
}
 
Назад
Сверху