-
au pire tenez mon discord https://discord.gg/r6N9vQ par contre ca expire dans 3h
-
Regardes la fonction onBlockPlacedBy du piste, elle contient ce qu’il faut pour avoir les 6 directions.
-
@robin4002 Ce n’est pas seulement pour les blocks basiques ca? car moi je suis avec un block tesr. Je vais essayer. Merci
-
La méthode
onBlockPlacedByva juste déterminer l’orientation.
Ensuite c’est dans le code du rendu qu’il faut effectuer la rotation en fonction de l’orientation. Seule cette partie est différente en fonction du type de rendu (“basique” ou TESR) -
@robin4002 et dans le rendu je met quoi?
-
Presque la même chose que tu as actuellement, il faut juste ajouter le cas où la direction vaut 4 ou 5 et dans ce cas faire une rotation sur l’axe x de 180°.
-
@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
