getIcon на новых версиях

Doc

Золотая лига
Сообщения
2,120
Лучшие ответы
112
Симпатии
249
#1
Версия Minecraft
1.12.2
Подтверждение
Я максимально подробно описал проблему, включая исходный код файлов, краш лог, изображения и другую информацию, которая может помочь пользователям форума решить мой вопрос!
Возможно ли без кастомных IBakedModel получить возможность getIcon с 1.7 версии?
 

Ivasik

Porting GrandBombaster
Команда форума
Сообщения
2,508
Лучшие ответы
71
Симпатии
203
#2
Нет, нет больше iicon интерфейса, а с ним и методов.
 

Doc

Золотая лига
Сообщения
2,120
Лучшие ответы
112
Симпатии
249
#3
Ну, то, что IIcon убрали это я знаю, но должны же быть замены им.
 

Ivasik

Porting GrandBombaster
Команда форума
Сообщения
2,508
Лучшие ответы
71
Симпатии
203
#4
Вместо иконок модели и RenderItem, в классе смотри что-то похожее на гуи или тип того, ибо в самих моделях есть параметр отвечающий за положение, размер и повороты модели в гуи.
 

Doc

Золотая лига
Сообщения
2,120
Лучшие ответы
112
Симпатии
249
#5
Если делать инвиз рендер для блока + TESR, это будет примерно одинаково по оптимизации?
 

Ivasik

Porting GrandBombaster
Команда форума
Сообщения
2,508
Лучшие ответы
71
Симпатии
203
#6
Эм, ну во первых не tesr, а fastTesr, ну и блок это просто куб обтянутый текстурой. Тут больше зависит от того, что ты будешь рендерить и в каком количестве. Если обж модели, то на сколько мне известно, дисплей листы без говна и палок там не подрубить, проще написать свой обж загрузчик. Ну как-то так:/
 

Doc

Золотая лига
Сообщения
2,120
Лучшие ответы
112
Симпатии
249
#7
С наследованием FastTESR - у меня не получилось корректно транслейтить текстуру.
Мне просто пнг подключить, да поддержу меты сделать.
 

Ivasik

Porting GrandBombaster
Команда форума
Сообщения
2,508
Лучшие ответы
71
Симпатии
203
#8
Ну не знаю, у меня всё ок, да и forge рекомендуют fastTesr использовать.
 

Doc

Золотая лига
Сообщения
2,120
Лучшие ответы
112
Симпатии
249
#9
Java:
@Override
public void renderTileEntityFast(TileInvise te, double x, double y, double z, float partialTicks, int destroyStage, float partial, BufferBuilder buffer) {
    BlockRendererDispatcher dispatcher = Minecraft.getMinecraft().getBlockRendererDispatcher();
    IBakedModel model = dispatcher.getModelForState(Blocks.DIAMOND_BLOCK.getDefaultState());
    BlockPos blockpos = te.getPos();
    GlStateManager.translate(x - blockpos.getX(), y - blockpos.getY(), z - blockpos.getZ());
    dispatcher.getBlockModelRenderer().renderModel(te.getWorld(), model, te.getWorld().getBlockState(te.getPos()), te.getPos(), buffer, true);
}
Увы, смещение уходит. Если ставить только 1 блок, то нормально. 2 рядом - уже плохо.
 

MaxVaryingFloats = 32;

Золотая лига
Сообщения
1,750
Лучшие ответы
47
Симпатии
280
#10
дисплей листы без говна и палок
проще написать свой обж загрузчик
Дисплей листы из говна и палок не спасут. И никакой загрузчик не поможет.
Ибо рендер дисплей листа для каждого блока очень расточительно. Самым производительным способом будет поместить модельки блоков в дисплей листы (или какие-нибудь массивы вершин) своего чанка. Таким образом каждый блок будет рисоваться 1 раз вместе со всем чанком, а не по отдельности. Для этого и созданы запеченные модели
 

Ivasik

Porting GrandBombaster
Команда форума
Сообщения
2,508
Лучшие ответы
71
Симпатии
203
#11
Я не говорил про дисплей листы для своего загрузчика :\ Не вижу смысла писать свой загрузчик моделей, чтобы использовать с устаревшими дисплей листами, раз уж на то пошло.
 

MaxVaryingFloats = 32;

Золотая лига
Сообщения
1,750
Лучшие ответы
47
Симпатии
280
#12
Да и vao на каждый блок тоже ничем не лучше. Тут не загрузчик надо менять, а способ рендера
 

Ivasik

Porting GrandBombaster
Команда форума
Сообщения
2,508
Лучшие ответы
71
Симпатии
203
#13
Мне уже дахака давно сказал, что да как :\
 
Сверху