Passage 1.8.9 en 1.10



  • Bonsoir,

    Comment vous l'avez vus dans le titre je passes mon MOD 1.8.9 en 1.10.

    Du coup je rencontres quelques erreurs je vous dis lesquelles:
    1)
    Ici dans l'event au niveau du "e.getDisplayname() = cap.getDisplayname(); éclipse me dit: "The left-hand side of an assignment must be a variable.

    
        @SubscribeEvent
        public void changedisplayname(PlayerEvent.NameFormat e)
        {
            if(e.getEntityPlayer().hasCapability(Main.PLAYERS_CAP, null))
            {
                PlayersCapabilities cap = e.getEntityPlayer().getCapability(Main.PLAYERS_CAP, null);
                if(cap.getDisplayname() != null && !cap.getDisplayname().isEmpty())
                {
    
                    e.getDisplayname() = cap.getDisplayname(); //ici
                }
            }
        }
    
    

    2)
    EntityPlayerMP player = MinecraftServer.getServer().getConfigurationManager().getPlayerByUUID(UUID.fromString(message.uuid));
    J'ai chercher la même en 1.10.
    J'ai trouvé ça:

    
    EntityPlayerMP player = ctx.getServerHandler().playerEntity.worldObj.getMinecraftServer().getPlayerList().getPlayerByUUID(message.uuid)));
    
    

    Le problème c'est que cette "fonction" demande en argument du UUID et pas du String donc j'ai une érreur j'ai pas trouvé d'autre méthode.

    J'ai chercher cette fonction

    playerIn.setItemInUse(itemStackIn,this.getMaxItemUseDuration(itemStackIn));
    

    en 1.10 mais j'ai pas trouvé.

    Et normalement le reste c'est bon 🙂

    J'attends vos réponses merci !



    1. Si "e.getDisplayname() = cap.getDisplayname()" fonctionnait déjà chapeau, en gros il faut que la variable à laquelle tu attribues une valeur soit une variable qui accepte ce changement de valeur ce qui n'est pas le cas comme c'est un "get"

    2. Euh… "UUID.fromString(message.uuid)" lol

    3. Je ne sais pas

    Conclusion, je n'ai jamais codé après la 1.7.10 et sans chercher dans mon code je connais la réponse à tes problèmes, cherches mieux avec différents regard avant de demander de l'aide, tu devrais commencer à voler de tes propres ailes 😉



  • Salut,
    Merci de ta réponses bah j'ai déjà chercher j'ai pas vraiment trouvé .
    Je vais essayer de chercher un peu plus mais bon j'ai déjà bien chercher cet aprem.
    Merci en tout cas.


  • Administrateurs

    1. e.setDisplayname(cap.getDisplayname());

    2. UUID.fromString(message.uuid)

    3. il y a surement une fonction avec la main.
      Regardes ItemFood.java



  • @'robin4002':

    1. e.setDisplayname(cap.getDisplayname());

    2. UUID.fromString(message.uuid)

    3. il y a surement une fonction avec la main.
      Regardes ItemFood.java

    Pour les deux en fait c'était bon j'avais réussi .

    pour la dernière j'ai trouvé ça: playerIn.setActiveHand(hand); surement ça j'ai pas encore testé j'ai encore beaucoup d'érreur dans mes gui avec le EnumChatFomatting qui est devenu ChatFormatting…
    Si j'ai d'autre problème je vous dis, merci.

    edit:

    ça rendermanager.renderEntityWithPosYaw(p_147046_5_, 0.0D, 0.0D, 0.0D, 0.0F, 1.0F);

    ça devient quoi en 1.10 ? je vais chercher voir vite fait


  • Administrateurs

    En effet c'est bien playerIn.setActiveHand(hand);

    Pour le rendu d'entité, visiblement c'est :
    rendermanager.doRenderEntity(entity, x, y, z, yaw, partialTicks, hideBox)

    Mets false pour hideBox, (elle n'a pas de nom dans mcp p_188391_10_, c'est moi qui l'est nommé comme ça) sauf si tu veux interdire le rendu de la boite de collision de cette entité.

    Pour x, y, z, yaw, partialTicks tu peux remettre 0F,0F,0F,0F,1F