Affichage texte en jeu



  • Bonjour,

    Mon problème peut paraître tout bête mais je n'arrive pas à afficher du texte à l'écran.
    J'ai essayé avec : Minecraft.getMinecraft().ingameGUI.displayTitle("Nombre de coffre présent", "" + compteur, 1, 10, 1);
    ça marche cependant le texte est bien trop gros et ne tient pas sur tout l'écran.

    J'ai donc essayé avec : 
    Minecraft.getMinecraft().ingameGUI.drawString(Minecraft.getMinecraft().ingameGUI.getFontRenderer(), "Nombre de coffre présent : " + compteur , 100, 100, 16777215);
    ou
    Minecraft.getMinecraft().ingameGUI.getFontRenderer().drawStringWithShadow("Nombre de coffre présent : " + compteur , 100, 100, 16777215);

    mais ça plante à chaque fois :

    Merci d'avance



  • Salut, depuis qu'elle méthode exécutes-tu le drawString ? Car il semblerait que ce ne soit pas dans le thread d'OpenGL


  • Administrateurs

    Salut,
    Il a appelé la fonction dans la fonction onRightClick de son bloc, sûrement côté serveur.
    La méthode propre pour mettre du texte est d'utiliser RenderGameOverlayEvent



  • Oui c'est bien dans la fonction onItemRightClick. Du coup je dois mettre un @SideOnly(value = Side.CLIENT) ou pas ?

    Pour le RenderGameOverlayEvent je ne vois pas trop comment l'utiliser. Il faut que dans ma méthode onItemRightClick je fasse appel à l'évenement ?


  • Administrateurs

    Ou alors mettre une condition if(world.isRemote) (sans le !)
    Pour l'event RenderGameOverlayEvent tu le mets dans une classe d'event dans laquelle il faudra aussi mettre une variable correspondant au texte à draw, et depuis la fonction du clic droit tu changes la valeur du texte.



  • D'accord merci 😉