[1.7.10] Rotation d'un block TESR
-
@robin4002 Et j’en revient a ma queltion du debut comment on dit : le cas où la direction vaut 4 ou 5.
Genre if metadata == … ?
-
Oui.
Ton code actuel ressemble à quoi ? -
@robin4002 niveau rendu pareil qu’au debut. mais le reste j’ai fais ceque vous m’avez envoyé
-
@whartokx c’est if(world.getBlockMetadata(x, y, z) == 0) qu’on doit mettre pour check le metadata car si oui on ne peut pas le mettre vu qu’on est dans du rendu il faut que la fonction ait world
-
Fais voir ton code actuel complet (toute la fonction renderTileEntityAt, avec son contenu).
-
@Override public void renderTileEntityAt(TileEntity te, double x, double y, double z, float scale) { GL11.glPushMatrix(); GL11.glTranslatef((float) x + 0.5F, (float) y + 1.5F, (float) z + 0.5F); ResourceLocation textures = (new ResourceLocation(Reference.MOD_ID + ":SpikeTopaze.png")); Minecraft.getMinecraft().renderEngine.bindTexture(textures); GL11.glPushMatrix(); GL11.glRotatef(180F, 0.0F, 0.0F, 1.0F); GL11.glPushMatrix(); GL11.glRotatef(te.getBlockMetadata() * 90, 0.0F, 1.0F, 0.0F); this.model.render((Entity) null, 0.0F, 0.0F, -0.1F, 0.0F, 0.0F, 0.0625F); GL11.glPopMatrix(); GL11.glPopMatrix(); GL11.glPopMatrix(); }
-
@robin4002 je n’ai pas avancé depuis. J’ai juste changé des trucs dans la classe du block
-
Essayes comme ça :
@Override public void renderTileEntityAt(TileEntity te, double x, double y, double z, float scale) { GL11.glPushMatrix(); GL11.glTranslatef((float) x + 0.5F, (float) y + 1.5F, (float) z + 0.5F); ResourceLocation textures = (new ResourceLocation(Reference.MOD_ID + ":SpikeTopaze.png")); Minecraft.getMinecraft().renderEngine.bindTexture(textures); GL11.glPushMatrix(); GL11.glRotatef(180F, 0.0F, 0.0F, 1.0F); GL11.glPushMatrix(); if (te.getBlockMetadata() > 0 && te.getBlockMetadata() < 4) { GL11.glRotatef(te.getBlockMetadata() * 90, 0.0F, 1.0F, 0.0F); } else if(te.getBlockMetadata() == 4) { GL11.glRotatef(90F, 1.0F, 0.0F, 0.0F); } else { GL11.glRotatef(90F, -1.0F, 0.0F, 0.0F); } this.model.render((Entity) null, 0.0F, 0.0F, -0.1F, 0.0F, 0.0F, 0.0625F); GL11.glPopMatrix(); GL11.glPopMatrix(); GL11.glPopMatrix(); }
-
@robin4002 cool merci. est il possible de mettre du glTranslatef? car je l’ai fait et le model me suivait mais je restait pas sur le block.
-
Oui tu peux en mettre.
-
@robin4002 regarde ceque ca fait
-
Tu as mis quoi comme translate et tu l’as mit où ?
-
@robin4002
else if(te.getBlockMetadata() == 4) {
GL11.glTranslatef((float) x + 0.0F, (float) y + 2.0F, (float) z + 0.0F);
GL11.glRotatef(90F, 1.0F, 0.0F, 0.0F);
} -
@robin4002 j’ai rien dit ! avec : GL11.glTranslatef(0.0F, 2.0F, 0.0F); ca marche ! merci a tous
-
@robin4002 un tout dernier truc. est il possible de mettre une texture 2d sur l’item qu’on a en main?