[1.7.10] Rotation d'un block TESR
-
bonjour, j’ai fais un block avec un rendu tesr, et j’aimerai que l’orientation du block change en fonction de ou je le pose (si je pose au plafond qu’il soit a l’envers). pour le moment, seul la dirrection droite gauche avant arriere fonctionne.
et j’ai une 2eme petite question, est il possible de mettre une texture 2d a l’item dans l’inventaire et non de faire son rendu dans l’inventaire ?
Merci
-
Possible de mettre se problème dans aide modeleur ? Il va pas avoir beaucoup de personne qui va répondre ici
-
Il n’a pas de section d’aide pour les modeleurs, j’ai donc déplacé dans aide pour les moddeurs. (qui est d’ailleurs la section dans lequel cette discussion aurait dû être créé depuis le début).
-
ah oui merci
-
up
-
un petit glRotatef et glTranslatef suffiront x)
-
@SpyMan enfait je sais pas trop comment dire : si on le pose contre cette face de l’autre block alors glRotated etc…
-
montre ton code rendu tesr
-
package net.mod.topazmod.Spikes; public class TileEntityCustomRenderer extends TileEntitySpecialRenderer { private final Modelspike model; public TileEntityCustomRenderer() { this.model = new Modelspike(); } @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(); } }
(je sais pas pourquoi le public class n’est pas dans la “fenetre” de code)
EDIT de @Superloup10 : J’ai édité ton message comme ça, tu sauras mettre le markdown de code. -
du coup?
-
@whartokx
il faut que tu stock dans le tile la rotation de la même façon qu’on stock une rotation de blockstate dans le state puis que tu le get dans rotate -
@Wind_Blade oui mais le truc que je sais pas c’est ou le mettre. Genre dire “si on le pose contre le block de droite” etc…
-
-
@SpyMan avec ca je n’arrive que a faire droite gauche avant arriere…
-
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
onBlockPlacedBy
va 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°.