Рендер сторон блока

Версия Minecraft
1.11.2
4,045
63
645
Воспользуюсь чужой темой )))
Название как раз подходит... Только мне сторону блока нужно не в гуи, а в мире зарендерить...
TTSR создал, но на этом моменте что-то завис...
Через что её рендерить-то?
Пробую через тесселятор, вылетает... Что делаю не так?
Никакой модели нету, нужна просто плоскость с текстурой.
Код:
public void render(TileEntityXXX te, double x, double y, double z, float partialTicks, int destroyStage, float alpha) {

 Tessellator tessellator = Tessellator.getInstance();
 BufferBuilder vertexbuffer = tessellator.getBuffer();
 if (vertexbuffer != null) {
 float red = 1.0F; float green = 1.0F; float blue = 1.0F;
 vertexbuffer.pos(x, y+1, z).tex(0, 0).color(red, green, blue, 1.0F).endVertex();
 vertexbuffer.pos(x, y+1, z + 1).tex(0, 1).color(red, green, blue, 1.0F).endVertex();
 vertexbuffer.pos(x + 1, y+1, z + 1).tex(1, 1).color(red, green, blue, 1.0F).endVertex();
 vertexbuffer.pos(x + 1, y+1, z).tex(1, 0).color(red, green, blue, 1.0F).endVertex();
 tessellator.draw();
 }
 }


Спасибо.
 
4,045
63
645
Эм... Это мне ответ или автору?
В 1.11.2 нет иконок )))
...
Ладно, быстро отвечу ему:
Для предметов, например, это Minecraft.getMinecraft().getRenderItem().getItemModelMesher().getParticleIcon(item, мета);
Поройся, может быть что-то и для блоков есть...
...
А теперь мне помогите )))
 
1,015
9
102
Все текстуры блоков и предметов находятся тут TextureMap.LOCATION_BLOCKS_TEXTURE
Они запекаются майном в 1 атлас при запуске. И что бы нарисовать какие-либо стороны блока, нам надо знать их UV, а что бы их узнать, надо получить из IBlockState IBakedModel, а из неё List<IBakedQuad>. Из IBackedQuad получаем vertexData, которая и содержит нужный нам UV. Далее просто биндим текстуру, устанавливаем UV и рендрим
 
4,045
63
645
Бдыщ! Доктор, меня никто не замечает...


Кстати, краш

Код:
java.lang.NullPointerException: Rendering Block Entity
 at net.minecraft.client.renderer.BufferBuilder.pos(BufferBuilder.java:451)
 at ru.liahim.mist.client.renderer.tileentity.TileEntityXXXRenderer.render(TileEntityXXXRenderer.java:32)
 at ru.liahim.mist.client.renderer.tileentity.TileEntityXXXRenderer.render(TileEntityXXXRenderer.java:1)
 at net.minecraft.client.renderer.tileentity.TileEntityRendererDispatcher.render(TileEntityRendererDispatcher.java:161)
 at net.minecraft.client.renderer.tileentity.TileEntityRendererDispatcher.render(TileEntityRendererDispatcher.java:133)
 at net.minecraft.client.renderer.RenderGlobal.renderEntities(RenderGlobal.java:732)
 at net.minecraft.client.renderer.EntityRenderer.renderWorldPass(EntityRenderer.java:1398)
 at net.minecraft.client.renderer.EntityRenderer.renderWorld(EntityRenderer.java:1312)
 at net.minecraft.client.renderer.EntityRenderer.updateCameraAndRender(EntityRenderer.java:1115)
 at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1192)
 at net.minecraft.client.Minecraft.run(Minecraft.java:436)
 at net.minecraft.client.main.Main.main(Main.java:118)
 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
 at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
 at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
 at java.lang.reflect.Method.invoke(Unknown Source)
 at net.minecraft.launchwrapper.Launch.launch(Launch.java:135)
 at net.minecraft.launchwrapper.Launch.main(Launch.java:28)
 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
 at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
 at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
 at java.lang.reflect.Method.invoke(Unknown Source)
 at net.minecraftforge.gradle.GradleStartCommon.launch(GradleStartCommon.java:97)
 at GradleStart.main(GradleStart.java:26)


Крашит на первом vertexbuffer.pos


А всё, решил... Забыл vertexbuffer.begin(7, DefaultVertexFormats.POSITION_TEX_COLOR);
 
4,045
63
645
Не, фишка была в нормалях, как оказалось...
Я ж в тайле рендерю... Там свет уже выставлен должен быть...
А симптомы были такие: плоскость горизонтальная, если смотрю на ней под острым углом, всё ок, как только опускаю голову и смотрю сверху вниз - темнее...
Видать, нормали не верно выкручивались...
Направил их все вверх и заработало )
 
Сверху