Лучшее решение рендера тайла с многоблоковой моделью

Версия Minecraft
1.7.10
1,159
38
544
Доброго утра, народ. У меня возникла задача рендерить тайл, модель которого занимает в высоту 2 блока:
2020-07-11_16.22.34.png

Нижняя часть (подставка) представляет собой обычный монолитный блок, а верхняя часть (панель) является кастомной моделькой с анимацией - при приближении игрока она будет подниматься на ножках из лежачего положения в приподнятое и опускаться, когда игрок отойдет от блока.

Я вижу два способа реализации этой задачи:
  1. Рендерить как единую модель, в которой хранится и верхняя и нижняя часть, а сверху устанавливать невидимый блок-заполнитель:
    • + Просто реализуется​
    • - TESR рендерит себя заново каждый тик, в то время как стандартные блоки "запекают" свой рендер в дисплей листы (через ISimpleBlockRenderingHandler). Я не уверен в том что именно так все и происходит, но предполагаю что такое имеет место быть. Надеюсь, знающие люди расскажут об этом подробнее.

      Если все действительно так, как я описал, то бессмысленно рендерить нижнюю часть заново, т.к. она никогда не изменяется. В этом и заключается минус данного решения - в излишней работе.​
  2. Рендерить нижнюю часть стандартным рендерером монолитных блоков, а для верхней заюзать TESR:
    • + В теории это должно лучше сказаться на производительности​
    • - TileEntity придется переместить в верхний блок, чтобы связать с ним TESR панели​
    • - IItemRenderer придется кленить из двух рендеров: нижнего и верхнего​
    • - кода становится больше​
Никак не могут определить, какой из способов будет лучшим для этой задачи. Предлагаю подискутировать на эту тему.
 
1,159
38
544
Пришло в голову сразу как только запостил))
 
Последнее редактирование модератором:
Сверху