Follow along with the video below to see how to install our site as a web app on your home screen.
Примечание: This feature may not be available in some browsers.
Легко сказать, я там вообще ничего не понял, какая-то каша.Agravaine написал(а):RenderBlocks смотри, там же есть методы.
@Override
public boolean renderWorldBlock(IBlockAccess world, int x, int y, int z, Block block, int modelId, RenderBlocks renderer)
{
GL11.glPushMatrix();
Tessellator tessellator = Tessellator.instance;
IIcon c = Blocks.diamond_block.getIcon(1, 0);
float u = c.getMinU();
float v = c.getMinV();
float U = c.getMaxU();
float V = c.getMaxV();
tessellator.addTranslation(x, y, z);
tessellator.addVertex(0, 1, 1);
tessellator.addVertex(1, 1, 1);
tessellator.addVertex(1, 1, 0);
tessellator.addVertex(0, 1, 0);
tessellator.addVertex(1, 0, 0);
tessellator.addVertex(1, 0, 1);
tessellator.addVertex(0, 0, 1);
tessellator.addVertex(0, 0, 0);
tessellator.addVertex(0, 1, 0);
tessellator.addVertex(1, 1, 0);
tessellator.addVertex(1, 0, 0);
tessellator.addVertex(0, 0, 0);
tessellator.addVertex(0, 0, 0);
tessellator.addVertex(0, 0, 1);
tessellator.addVertex(0, 1, 1);
tessellator.addVertex(0, 1, 0);
tessellator.addVertex(0, 0, 1);
tessellator.addVertex(1, 0, 1);
tessellator.addVertex(1, 1, 1);
tessellator.addVertex(0, 1, 1);
tessellator.addVertex(1, 1, 0);
tessellator.addVertex(1, 1, 1);
tessellator.addVertex(1, 0, 1);
tessellator.addVertex(1, 0, 0);
tessellator.addTranslation(-x, -y, -z);
tessellator.addTranslation(x, y, z);
tessellator.addVertexWithUV(0, 1, 1, u, v);
tessellator.addVertexWithUV(1, 1, 1, u, V);
tessellator.addVertexWithUV(1, 1, 0, U, V);
tessellator.addVertexWithUV(0, 1, 0, U, v);
tessellator.addVertexWithUV(1, 0, 0, u, v);
tessellator.addVertexWithUV(1, 0, 1, u, V);
tessellator.addVertexWithUV(0, 0, 1, U, V);
tessellator.addVertexWithUV(0, 0, 0, U, v);
tessellator.addVertexWithUV(0, 1, 0, u, v);
tessellator.addVertexWithUV(1, 1, 0, u, V);
tessellator.addVertexWithUV(1, 0, 0, U, V);
tessellator.addVertexWithUV(0, 0, 0, U, v);
tessellator.addVertexWithUV(0, 0, 0, u, v);
tessellator.addVertexWithUV(0, 0, 1, u, V);
tessellator.addVertexWithUV(0, 1, 1, U, V);
tessellator.addVertexWithUV(0, 1, 0, U, v);
tessellator.addVertexWithUV(0, 0, 1, u, v);
tessellator.addVertexWithUV(1, 0, 1, u, V);
tessellator.addVertexWithUV(1, 1, 1, U, V);
tessellator.addVertexWithUV(0, 1, 1, U, v);
tessellator.addVertexWithUV(1, 1, 0, u, v);
tessellator.addVertexWithUV(1, 1, 1, u, V);
tessellator.addVertexWithUV(1, 0, 1, U, V);
tessellator.addVertexWithUV(1, 0, 0, U, v);
tessellator.addTranslation(-x, -y, -z);
GL11.glPopMatrix();
return false;
}
Эм... Что? Т.е. ты пытаешься дать освещение, как-бы делаешь что-то вроде лампы, через Tessellator? Если да, то было давно обсуждение на счёт этого, как-бы был ответ что-то вроде: "По-простому не как.".svk написал(а):Освещение так и не осилил.
@Override
public boolean renderWorldBlock(IBlockAccess world, int x, int y, int z, Block block, int modelId, RenderBlocks renderer)
{
GL11.glPushMatrix();
Tessellator tessellator = Tessellator.instance;
IIcon c = block.getIcon(1, 0);
float u = c.getMinU();
float v = c.getMinV();
float U = c.getMaxU();
float V = c.getMaxV();
renderer.renderStandardBlock(Blocks.stone, x, y, z);
tessellator.addTranslation(x, y, z);
tessellator.addVertexWithUV(0, 1.00005F, 1, u, v);
tessellator.addVertexWithUV(1, 1.00005F, 1, u, V);
tessellator.addVertexWithUV(1, 1.00005F, 0, U, V);
tessellator.addVertexWithUV(0, 1.00005F, 0, U, v);
tessellator.addVertexWithUV(1, -0.00005F, 0, u, v);
tessellator.addVertexWithUV(1, -0.00005F, 1, u, V);
tessellator.addVertexWithUV(0, -0.00005F, 1, U, V);
tessellator.addVertexWithUV(0, -0.00005F, 0, U, v);
tessellator.addVertexWithUV(0, 1, -0.00005F, u, v);
tessellator.addVertexWithUV(1, 1, -0.00005F, u, V);
tessellator.addVertexWithUV(1, 0, -0.00005F, U, V);
tessellator.addVertexWithUV(0, 0, -0.00005F, U, v);
tessellator.addVertexWithUV(-0.00005F, 0, 0, u, v);
tessellator.addVertexWithUV(-0.00005F, 0, 1, u, V);
tessellator.addVertexWithUV(-0.00005F, 1, 1, U, V);
tessellator.addVertexWithUV(-0.00005F, 1, 0, U, v);
tessellator.addVertexWithUV(0, 0, 1.00005F, u, v);
tessellator.addVertexWithUV(1, 0, 1.00005F, u, V);
tessellator.addVertexWithUV(1, 1, 1.00005F, U, V);
tessellator.addVertexWithUV(0, 1, 1.00005F, U, v);
tessellator.addVertexWithUV(1.00005F, 1, 0, u, v);
tessellator.addVertexWithUV(1.00005F, 1, 1, u, V);
tessellator.addVertexWithUV(1.00005F, 0, 1, U, V);
tessellator.addVertexWithUV(1.00005F, 0, 0, U, v);
tessellator.addTranslation(-x, -y, -z);
GL11.glPopMatrix();
return false;
}
Это окраска геометрии.svk написал(а):Пытался через setColorOpaque_F(r, g, b) но всеравно бред какой-то выходил.
GL11.glColor3f(1F, 1F, 1F);
@Override
public boolean renderWorldBlock(IBlockAccess world, int x, int y, int z, Block block, int modelId, RenderBlocks renderer)
{
BlockCrystalOre ore = (BlockCrystalOre) block;
Tessellator tessellator = Tessellator.instance;
IIcon c = block.getIcon(1, 0);
float u = c.getMinU();
float v = c.getMinV();
float U = c.getMaxU();
float V = c.getMaxV();
renderer.renderStandardBlock(Blocks.stone, x, y, z);
tessellator.setColorOpaque_F(ore.color[0]/255.0F, ore.color[1]/255.0F, ore.color[2]/255.0F);
tessellator.addTranslation(x, y, z);
tessellator.addVertexWithUV(0, 1.00005F, 1, u, v);
tessellator.addVertexWithUV(1, 1.00005F, 1, u, V);
tessellator.addVertexWithUV(1, 1.00005F, 0, U, V);
tessellator.addVertexWithUV(0, 1.00005F, 0, U, v);
tessellator.addVertexWithUV(1, -0.00005F, 0, u, v);
tessellator.addVertexWithUV(1, -0.00005F, 1, u, V);
tessellator.addVertexWithUV(0, -0.00005F, 1, U, V);
tessellator.addVertexWithUV(0, -0.00005F, 0, U, v);
tessellator.addVertexWithUV(0, 1, -0.00005F, u, v);
tessellator.addVertexWithUV(1, 1, -0.00005F, u, V);
tessellator.addVertexWithUV(1, 0, -0.00005F, U, V);
tessellator.addVertexWithUV(0, 0, -0.00005F, U, v);
tessellator.addVertexWithUV(-0.00005F, 0, 0, u, v);
tessellator.addVertexWithUV(-0.00005F, 0, 1, u, V);
tessellator.addVertexWithUV(-0.00005F, 1, 1, U, V);
tessellator.addVertexWithUV(-0.00005F, 1, 0, U, v);
tessellator.addVertexWithUV(0, 0, 1.00005F, u, v);
tessellator.addVertexWithUV(1, 0, 1.00005F, u, V);
tessellator.addVertexWithUV(1, 1, 1.00005F, U, V);
tessellator.addVertexWithUV(0, 1, 1.00005F, U, v);
tessellator.addVertexWithUV(1.00005F, 1, 0, u, v);
tessellator.addVertexWithUV(1.00005F, 1, 1, u, V);
tessellator.addVertexWithUV(1.00005F, 0, 1, U, V);
tessellator.addVertexWithUV(1.00005F, 0, 0, U, v);
tessellator.addTranslation(-x, -y, -z);
return false;
}