Direction de bloc
-
Sa marche merci
Je n’avait pas prit les bon codes ^^ -
Petit probléme, il vient d’où le Icon3[] ?
-
http://www.minecraftforgefrance.fr/showthread.php?tid=78
“Multiple-textures avec les metadata (un peu de tout)”Il n’y avait pas les prérequis à l’époque ou j’ai fait ce tutoriel, il est nécessaire de maitriser les multiples textures pour faire des blocs directionnels.
-
Bonsoir ! Je suis avec un model techne et pour la direction c’est là ou on regarde, mais je cherche à faire en sorte que se soit en face du joueur lorsqu’il ce place (c’est une armoire) et moi la porte ce place là ou je regarde, pas en fasse du joueur quel est le code à modifier ?
Merci !
-
Sous Techne, ta “face” dois d’être a l’arrière. Regarde sous techne, en bas a droite, tu a un cube avec les initials de chaque face Tu t’es peut être trompé lors de la conception
(La première fois je me suis fait avoir^^)
-
Sinon tu fais un GL11.glrotatef(180, 0.0F, 1.0F, 0.0F);
-
ok je teste ça !
Ok c’est nickel ! Merci !
-
pour la direction de bloc: on met les fonction dans la classe du bloc ou de celle de notre rendu (ISBRH pour moi)
-
Du bloc.
-
d’accord, par contre, comme fait un rendu ISBRH j’ai agrandi la taille du bloc a 3x3 (pas la hit box) cela va influer sur la direction de bloc?
-
Aucune idée, j’ai jamais essayé. Par contre je sais pas à quoi ressemble ton rendu ISBRH, mais si ça forme n’est pas un cube, il faudra faire un GL11.glRotatef(90 * metadata, 0.0F, 1.0F, 0.0F); dans le code du rendu.
-
et la metadata est obtenue par la fonction onplacedby?
-
Oui, sauf si tu as utilisé la deuxième méthode (pour les blocs qui ont déjà un métadata), il faut passer par le tile entity dans ce cas.
-
mes bloc n’ont pas de metadata.
par contre
public void onBlockPlacedBy(World world, int x, int y, int z, EntityLivingBase living, ItemStack stack) { int direction = MathHelper.floor_double((double)(living.rotationYaw * 4.0F / 360.0F) + 2.5D) & 3; world.setBlockMetadataWithNotify(x, y, z, direction, 2); } @Override public boolean renderWorldBlock(IBlockAccess world, int x, int y, int z, Block block, int modelId, RenderBlocks renderer) { GL11.glRotatef(90 * metadata, 0.0F, 1.0F, 0.0F); renderer.setRenderBounds( 0.0F, 0.0F, 0.0F, 3.0F, 3.0F, 1.0F); // cree un "etage" pour le rendu en jeu //renderer.setRenderBounds(minX, minY, minZ, maxX, maxY, maxZ); renderer.renderStandardBlock(block, x, y, z); //sauvegarde "l'etage" pour le rendu en jeu //etc etc return true; }
comment faire pour que le int direction renseigne la metadata?
-
remplace metadata par world.getBlockMetadata(x, y, z)
-
À d’accord merci
-
cela ne fait rien….
et le GL11.glRotatef(90 * world.getBlockMetadata(x, y, z), 0.0F, 1.0F, 0.0F); fait un bug d’affichage quand ca active la plaque
-
Aucune idée dans ce cas, je suis pas un pro en ISBRH
-
au pire je le transforme en entité et je teste l’autre technique
-
en fait le GL11.glRotatef(90 * world.getBlockMetadata(x, y, z), 0.0F, 1.0F, 0.0F); permet de faire pivoter le rendu a l’écran
pour GL11.glRotatef(90 * world.getBlockMetadata(x, y, z), 0.0F, 0.0F, 0.0F); :
et avec GL11.glRotatef(90 * world.getBlockMetadata(x, y, z), 3.0F, 3.0F, 0.0F); :