Résolu Rendu item dans le special entity render
-
Bon cette fois ci un probleme je veux afficher un item dans le rendu d’un block donc pas trop de problème j’ai fait ceci
ItemStack stack = new ItemStack(Items.redstone, 1, 0); EntityItem entItem = new EntityItem(Minecraft.getMinecraft().thePlayer.getEntityWorld(), x, y, z, stack); entItem.hoverStart = 0; GL11.glTranslated(x + 0.5, y + 0.8 , z + 0.5); RenderItem.renderInFrame = true; if(te != null){ GL11.glScaled((te.progressBarCraft) / te.progressBarCraft_Full,(te.progressBarCraft) / te.progressBarCraft_Full, (te.progressBarCraft) / te.progressBarCraft_Full); } RenderManager.instance.renderEntityWithPosYaw(entItem, 0, 0, 0, 0.0F, 0.0f); RenderItem.renderInFrame = false;
Mais le problème c’est que j’ai voulutchanger sa taille en fonction d 'un valeur allant de 1 à 0 donc j’ai mis ceci :
if(te != null){ GL11.glScaled((te.progressBarCraft) / te.progressBarCraft_Full,(te.progressBarCraft) / te.progressBarCraft_Full, (te.progressBarCraft) / te.progressBarCraft_Full); }
Mais sa ne fonctionne pas j’ai aussi voulut l’animer rotation avec glrotate mais la aussi aucun resultat !
-
Up parceque j’ai bon faire tout et nimporte quoi rien ne se produit…
-
Bon je viens de comprendre pourquoi et j’ai reussi partiellement à rêgler mon problème donc tous ofnctionne à premiere vue le seul problème c’est que l’animation s’updtate que quand j’ouvre m’on gui et je ne vois pas d’ou sa peux venir.
-
Tu as mit ton code dans quelle fonction ?
-
lequel l’affichage ?
si oui dans public void renderTileEntityAt(TileEntity te, double x, double y, double z, float f)
-
Ah je vois le problème, en fait la variable progressBarCraft n’est que synchronisé si tu as le container ouvert, il faudrait le synchroniser à chaque tick.
-
Mais comment faire vue qu’elle est aussi lié au gui ?
-
Dans la fonction updateTick() de ton bloc met un worldObj.markBlockForUpdate(xCoord, yCoord, zCoord);
-
Non sa ne fonctionne pas pourtant je ne pense pas avoir fais de faute :
public void updateTick(World p_149674_1_, int p_149674_2_, int p_149674_3_, int p_149674_4_, Random p_149674_5_) { p_149674_1_.markBlockForUpdate(p_149674_2_, p_149674_3_, p_149674_4_); }
-
Non, dans le tile entity, pas dans le bloc.
-
Sa fonctionne parfaitement sujet resolu merci mille fois !