Problème avec la rotation des blocs
-
Vérifies le nom et les arguments de la fonction dans la classe bloc.
Tu peux aussi mettre un @Override dessus pour être sûr que la fonction est la bonne. -
J’ai tout vérifié, rien de suspect

C’est un modèle Tesr donc je dois bien le faire avec les TileEntity comme je l’ai fais ?
-
Oui.
Ajouter le @Override au dessus de la fonction ne fait pas d’erreur ? -
Non, quand j’ajoute le override aucune erreur
-
Essaies de retirer la condition if(stack.getItemDamage() == 0)
-
Merci de tes aides, mais ça ne donne toujours rien

-
Tu as essayé de mettre System.out.println(“quelque chose”); dans la fonction pour voir si cela apparait dans la console quand tu poses le bloc ?
-
Ah oui, en effet, rien ne se passe, la fonction n’est pas appelée, je ne sais pas pourquoi

-
Tu as mis un @Override au dessus ?
-
Oui

public class BlockTesr extends Block { public BlockTesr(Material p_i45394_1_) { super(p_i45394_1_); } @Override public void onBlockPlacedBy(World world, int x, int y, int z, EntityLivingBase living, ItemStack stack) { System.out.println("1"); TileEntity tile = world.getTileEntity(x, y, z); if (tile instanceof TileEntityBlockTesr) { int direction = MathHelper.floor_double((double)(living.rotationYaw * 4.0F / 360.0F) + 2.5D) & 3; ((TileEntityBlockTesr)tile).setDirection((byte)direction); System.out.println("2"); } } @Override public TileEntity createTileEntity(World world, int metadata) { return new TileEntityBlockTesr(); } @Override public boolean hasTileEntity(int metadata) { return true; } public boolean isOpaqueCube() { return false; } public boolean renderAsNormalBlock() { return false; } public int getRenderType() { return ClientProxy.renderTesr; } } -
Tu as surement mis la mauvaise classe sur la déclaration de ton bloc.
-
Malheureusement, j’ai bien mis les bonnes classes sur la déclaration du bloc, donc le problème n’a pas l’air de venir de là

-
Envoies-moi par mp un zip de ton dossier src, je regardera ce soir.
-
Bon ce n’est pas étonnant que ça ne fonctionne pas …
Tu as deux classes BlockTesr, une qui contient la fonction onBlockPlacedBy (celle dans le package com.vitesse.init) et une autre qui ne l’a pas (celle dans com.vitesse.blocks).
Et ton bloc utilise celle la classe com.vitesse.blocks.BlockTesr donc celle qui n’a pas la fonction. -
Ah oui en effet, merci énormément de ton aide ^^
-
N’oublie pas de sélectionner la réponse qui t’as le + aidée.