MFF

    Minecraft Forge France
    • Récent
    • Mots-clés
    • Populaire
    • Utilisateurs
    • Groupes
    • Forge Events
      • Automatique
      • Foncé
      • Clair
    • S'inscrire
    • Se connecter

    Rendu des pseudos des joueurs dans un rayon de bloc

    Planifier Épinglé Verrouillé Déplacé Résolu 1.8.x
    1.8
    3 Messages 2 Publieurs 990 Vues 1 Watching
    Charger plus de messages
    • Du plus ancien au plus récent
    • Du plus récent au plus ancien
    • Les plus votés
    Répondre
    • Répondre à l'aide d'un nouveau sujet
    Se connecter pour répondre
    Ce sujet a été supprimé. Seuls les utilisateurs avec les droits d'administration peuvent le voir.
    • GabsG Hors-ligne
      Gabs
      dernière édition par

      Bonjour,

      Je cherches à faire que on puisse voir les pseudos des joueurs que dans un rayon de trois bloc.

      En gros faut que le joueur se colle au second joueur pour qu’il puisse voir son pseudo (visible dans un rayon de bloc autour des joueurs).

      J’ai fais ça:

      
       @SideOnly(Side.CLIENT)
         @SubscribeEvent
         public void onRenderLabel(RenderLivingEvent.Specials.Pre event)
         {
          EntityPlayer player = (EntityPlayer)event.entity;
      
          if(event.entity instanceof EntityPlayer)
          {
          if(player.getPosition().distanceSq(player.posX, player.posY, player.posZ) <= 3)
          {
          event.setCanceled(false);
          }
          else
          {
          event.setCanceled(true);
          }
      
          }
         }
      
      

      J’ai pas essayer en multi mais je penses que ça ne marchera pas.

      Car à mon avis l’event ne s’update pas et mon code n’est pas vraiment juste aussi je penses.

      Du coup j’aimerais s’avoir comment auto update cet event et si mon code et juste ou non !

      Merci !

      1 réponse Dernière réponse Répondre Citer 0
      • robin4002R Hors-ligne
        robin4002 Moddeurs confirmés Rédacteurs Administrateurs
        dernière édition par

        @‘floriangabet’:

        
         @SideOnly(Side.CLIENT)
           @SubscribeEvent
           public void onRenderLabel(RenderLivingEvent.Specials.Pre event)
           {
            EntityPlayer player = (EntityPlayer)event.entity; // <- il faut cast après le instanceof, sinon ça va faire un ClassCastException si l'entité n'est pas un joueur
           
            if(event.entity instanceof EntityPlayer)
            {
            if(player.getPosition().distanceSq(player.posX, player.posY, player.posZ) <= 3) // cette condition sera toujours vrai
            {
            event.setCanceled(false);
            }
            else //<- inutile, suffit d'inverser la condition en haut
            {
            event.setCanceled(true);
            }
           
            }
           }
        
        

        @‘floriangabet’:

        Car à mon avis l’event ne s’update pas et mon code n’est pas vraiment juste aussi je penses.

        Si, l’event est appelé à chaque tick.
        Et oui, ton code n’est pas bon.

        Voila comment il faudrait faire :

        @SideOnly(Side.CLIENT)
        @SubscribeEvent
        public void onRenderLabel(RenderLivingEvent.Specials.Pre event)
        {
        if(event.entity instanceof EntityPlayer)
        {
        EntityPlayer player = (EntityPlayer)event.entity;
        if(Minecraft.getMinecraft().thePlayer.getPosition().distanceSq(player.posX, player.posY, player.posZ) > 3)
        {
        event.setCanceled(true);
        }
        }
        }
        
        1 réponse Dernière réponse Répondre Citer 1
        • GabsG Hors-ligne
          Gabs
          dernière édition par

          D’accord ok merci 😄

          1 réponse Dernière réponse Répondre Citer 0
          • 1 / 1
          • Premier message
            Dernier message
          Design by Woryk
          ContactMentions Légales

          MINECRAFT FORGE FRANCE © 2024

          Powered by NodeBB