MFF

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

    Système de nom et prénom à la place du pseudo

    Planifier Épinglé Verrouillé Déplacé Résolu 1.8.x
    1.8
    155 Messages 8 Publieurs 32.8k 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

      la:

      Est aussi c’est normal que une fois que j’ai un nom_prénom je déco reco pour changer mon nom prénom ça marche pas?

      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

        Heu ?
        Tu n’as pas mon code là.
        Car j’ai complètement changé ce code.

        1 réponse Dernière réponse Répondre Citer 0
        • GabsG Hors-ligne
          Gabs
          dernière édition par

          @‘robin4002’:

          Heu ?
          Tu n’as pas mon code là.
          Car j’ai complètement changé ce code.

          R’envoie alors tu as du surement te trompé… j’ai re mis le src deux fois pour être sur c’est pareil.

          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 robin4002

            J’ai pourtant vérifier le fichier avant de l’envoyer.

            src.zip
            md5 : 8e16ff012b32027db4ad60c5fb328cba

            1 réponse Dernière réponse Répondre Citer 0
            • GabsG Hors-ligne
              Gabs
              dernière édition par

              Ah je sais pourquoi maintenant je met le nouveau src je fais un gradlew setup avec comme mapping stable_22 et j’ai un build failed mais j’arrive pas a le lire il se ferme direct une astuce pour le laisser ouvert ?

              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

                Dans le dossier .gradle il y a un fichier gradle.log avec les logs.
                Tu lances comment le setup pour que le cmd se ferme ?

                1 réponse Dernière réponse Répondre Citer 0
                • GabsG Hors-ligne
                  Gabs
                  dernière édition par

                  @‘robin4002’:

                  Dans le dossier .gradle il y a un fichier gradle.log avec les logs.
                  Tu lances comment le setup pour que le cmd se ferme ?

                  Je fais un fichier .bat avec dedant gradlew setupDecompWorkspace (Je peux aussi faire un shift clic droit ouvrir un inviter de commande mais dès fois l’option ne s’affiche pas)

                  pour se qui des logs tien:

                  
                  FAILURE: Build failed with an exception.
                  
                  * Where:
                  Build file 'C:\Users\Admin\Desktop\CSC - Copie\build.gradle' line: 33
                  
                  * What went wrong:
                  A problem occurred evaluating root project 'CSC - Copie'.
                  > This mapping 'stable_22' exists only for MC 1.8.9!
                  
                  * Try:
                  Run with –stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.
                  
                  BUILD FAILED
                  
                  Total time: 2.583 secs
                  
                  

                  Le stable_22 existe que en 1.8.9 et pas en 1.8 d’après se que j’ai compris.

                  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

                    Ah tu es en 1.8.0 ?
                    Pourquoi utiliser une version obsolète contenant des bugs qui ont été corrigé en 1.8.9 ? ça n’a juste pas de sens.

                    1 réponse Dernière réponse Répondre Citer 0
                    • GabsG Hors-ligne
                      Gabs
                      dernière édition par

                      Je sais pas, mais maintenant c’est trop tard pour changer de version non?

                      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

                        Pourquoi ça serait trop tard ?
                        J’ai tout fait en 1.8.9 de mon côté, je n’ai pas de workspace 1.8.0 (je ne garde que la dernière version de chaque version majeur de MC).

                        1 réponse Dernière réponse Répondre Citer 0
                        • GabsG Hors-ligne
                          Gabs
                          dernière édition par

                          #################################################
                                   ForgeGradle 2.1-SNAPSHOT-da90449        
                            https://github.com/MinecraftForge/ForgeGradle  
                          #################################################
                                         Powered by MCP unknown               
                                       http://modcoderpack.com             
                                   by: Searge, ProfMobius, Fesh0r,         
                                   R4wk, ZeuX, IngisKahn, bspkrs           
                          #################################################
                          :deobfCompileDummyTask
                          :deobfProvidedDummyTask
                          :getVersionJson
                          :extractUserdev UP-TO-DATE
                          :extractDependencyATs SKIPPED
                          :extractMcpData SKIPPED
                          :extractMcpMappings
                          Download http://files.minecraftforge.net/maven/de/oceanlabs/mcp/mcp_stable/22-1.8.9/mcp_stable-22-1.8.9.zip
                          :genSrgs
                          :downloadClient SKIPPED
                          :downloadServer SKIPPED
                          :splitServerJar SKIPPED
                          :mergeJars SKIPPED
                          :deobfMcSRG
                          Applying SpecialSource…
                          Applying Exceptor...
                          :decompileMc FAILED
                          
                          FAILURE: Build failed with an exception.
                          
                          * What went wrong:
                          Execution failed for task ':decompileMc'.
                          > Java heap space
                          
                          * Try:
                          Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.
                          
                          BUILD FAILED
                          
                          Total time: 39.982 secs
                          
                          

                          J’ai re télécharger forge 1.8.9 je fait un setupdecomp et voila le crash

                          edit:

                          j’ai essayer avec ça: https://www.minecraftforgefrance.fr/archive/index.php?thread-3260.html

                          mais mon java ne peux pas dépasser 1.5Go d’après se que j’ai compris (c’est pas les jdk 32 bits ça ?)

                          j’ai mis 1000Mo ça charge j’attends.

                          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

                            -Xmx1400M en 32 bits ça devrait passer. Mais c’est très limite.

                            Si tu as un pc 64 bits télécharges Java 64 bits, ça sera mieux.

                            1 réponse Dernière réponse Répondre Citer 0
                            • GabsG Hors-ligne
                              Gabs
                              dernière édition par

                              C’est passer c’est bon, par contre je vois le problème, une fois le pseudo entrée ça le modifie dans le chat mais pas a droite a l’écran …

                              Comment je peux faire ? si je kick le joueur une fois qui valide en lui disant de se reco c’est le mieux à faire non?

                              edit: est le pseudo n’est toujours pas save normal?

                              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

                                Kicker le joueur me semble vraiment pas propre comment méthode.
                                à la limite afficher le texte à droite en fonction de ce qu’il a entré dans le gui au lieu de display son pseudo.

                                Par contre la save fonctionne très bien chez moi (testé en relançant le jeu), donc non ce n’est pas normal que ça ne fonctionne pas chez toi.

                                1 réponse Dernière réponse Répondre Citer 0
                                • GabsG Hors-ligne
                                  Gabs
                                  dernière édition par

                                  @‘robin4002’:

                                  Kicker le joueur me semble vraiment pas propre comment méthode.
                                  à la limite afficher le texte à droite en fonction de ce qu’il a entré dans le gui au lieu de display son pseudo.

                                  Par contre la save fonctionne très bien chez moi (testé en relançant le jeu), donc non ce n’est pas normal que ça ne fonctionne pas chez toi.

                                  C’est complètement wtf… moi ça marche pas du tout, un setupdecomp peut réglé le prob ? car je les pas fait avec le nouveau src.

                                  J’ai une question aussi: Le pseudo n’est pas changer au dessus de la tête normal? (en multi)

                                  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

                                    Je ne pense pas qu’un setupdecomp changera quelque chose.
                                    Essaies peut-être de créer un nouveau monde.

                                    Pour le pseudo, ça ne change pas même après deco reco ?
                                    Si oui c’est que l’event est aussi utilisé côté client, donc il faudrait laisser tomber le worldSavedData et la map pour passer sur les capabilites (remplaçant de l’EEP : https://www.minecraftforgefrance.fr/showthread.php?tid=3028) afin d’enregistrer la valeur directement avec le player et la synchro vers le client.

                                    1 réponse Dernière réponse Répondre Citer 0
                                    • GabsG Hors-ligne
                                      Gabs
                                      dernière édition par

                                      Même avec un déco reco c’est pareil pas de pseudo changer (au dessus de la tête).
                                      Pour se qui de re créer un monde ça marche nickel maintenant !
                                      edit:

                                      Euhhh, j’ai une autre question, une fois que j’ai un pseudo, je fais comment pour le re changer ?? car j’ai plus accès au gui quand je me connecte.

                                      1 réponse Dernière réponse Répondre Citer 0
                                      • GabsG Hors-ligne
                                        Gabs
                                        dernière édition par

                                        Robin tu sais les refreshdisplayname que tu m’as mis j’en est mis un peu partout dans l’event pour rendre les pseudos et tout et en solo tout est bien refresh mais en multi non, penses tu que si je fais un packet avec refreshdisplayname ça peut marcher ? car à mon avis refreshdisplayname est client.

                                        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’:

                                          Euhhh, j’ai une autre question, une fois que j’ai un pseudo, je fais comment pour le re changer ?? car j’ai plus accès au gui quand je me connecte.

                                          Tu fais une touche qui permet d’ouvrir le gui ?

                                          @‘floriangabet’:

                                          Robin tu sais les refreshdisplayname que tu m’as mis j’en est mis un peu partout dans l’event pour rendre les pseudos et tout et en solo tout est bien refresh mais en multi non, penses tu que si je fais un packet avec refreshdisplayname ça peut marcher ? car à mon avis refreshdisplayname est client.

                                          Je t’ai déjà dit comment il faudrait faire :

                                          @‘robin4002’:

                                          il faudrait laisser tomber le worldSavedData et la map pour passer sur les capabilites (remplaçant de l’EEP : https://www.minecraftforgefrance.fr/showthread.php?tid=3028) afin d’enregistrer la valeur directement avec le player et la synchro vers le client.

                                          1 réponse Dernière réponse Répondre Citer 0
                                          • GabsG Hors-ligne
                                            Gabs
                                            dernière édition par

                                            @‘robin4002’:

                                            @‘floriangabet’:

                                            Euhhh, j’ai une autre question, une fois que j’ai un pseudo, je fais comment pour le re changer ?? car j’ai plus accès au gui quand je me connecte.

                                            Tu fais une touche qui permet d’ouvrir le gui ?

                                            @‘floriangabet’:

                                            Robin tu sais les refreshdisplayname que tu m’as mis j’en est mis un peu partout dans l’event pour rendre les pseudos et tout et en solo tout est bien refresh mais en multi non, penses tu que si je fais un packet avec refreshdisplayname ça peut marcher ? car à mon avis refreshdisplayname est client.

                                            Je t’ai déjà dit comment il faudrait faire :

                                            @‘robin4002’:

                                            il faudrait laisser tomber le worldSavedData et la map pour passer sur les capabilites (remplaçant de l’EEP : https://www.minecraftforgefrance.fr/showthread.php?tid=3028) afin d’enregistrer la valeur directement avec le player et la synchro vers le client.

                                            Pour le 1 non c’est lors de la connection que le gui s’ouvre j’ai assigné aucune touche,

                                            pour le 2 c’est bon j’ai fais le capabilities, mais j’ai un crash quand je me co en solo au moment ou j’[font=Ubuntu, sans-serifattacher le capacité au joueur.]

                                            [font=Ubuntu, sans-serifJe te passe tout:]

                                            [font=Ubuntu, sans-serifPacketCapabilitiesPlayers:]

                                            
                                            [font=Ubuntu, sans-serifpackage com.CSC.net.Capabilities;
                                            
                                            import io.netty.buffer.ByteBuf;
                                            import net.minecraft.client.Minecraft;
                                            import net.minecraft.server.MinecraftServer;
                                            import net.minecraftforge.fml.common.network.ByteBufUtils;
                                            import net.minecraftforge.fml.common.network.simpleimpl.IMessage;
                                            import net.minecraftforge.fml.common.network.simpleimpl.IMessageHandler;
                                            import net.minecraftforge.fml.common.network.simpleimpl.MessageContext;
                                            import net.minecraftforge.fml.relauncher.Side;
                                            import net.minecraftforge.fml.relauncher.SideOnly;
                                            
                                            public class PacketCapabilitiesPlayers implements IMessage{
                                            
                                            public String displayname;
                                            
                                            public PacketCapabilitiesPlayers(String string) 
                                            {
                                            this.displayname = string;
                                            }
                                            
                                            @Override
                                            public void fromBytes(ByteBuf buf) 
                                            {
                                            this.displayname = ByteBufUtils.readUTF8String(buf);
                                            }
                                            
                                            @Override
                                            public void toBytes(ByteBuf buf) 
                                            {
                                            ByteBufUtils.writeUTF8String(buf, displayname);
                                            }
                                            
                                            public static class ServerHandler implements IMessageHandler <packetcapabilitiesplayers, imessage="">{
                                            
                                               @Override
                                               public IMessage onMessage(PacketCapabilitiesPlayers message, MessageContext ctx)
                                               {
                                                   //Nous reviendrons sur cette ligne plus tard.
                                                   MinecraftServer.getServer().addScheduledTask(new ScheduledPacketTask(ctx.getServerHandler().playerEntity, message));
                                                   return null;
                                               }
                                            
                                            }
                                            
                                            @SideOnly(Side.CLIENT)
                                            public static class ClientHandler implements IMessageHandler <packetcapabilitiesplayers, imessage="">{
                                            
                                               @Override
                                               public IMessage onMessage(PacketCapabilitiesPlayers message, MessageContext ctx)
                                               {
                                                    Minecraft.getMinecraft().addScheduledTask(new ScheduledPacketTask(null, message));
                                                    return null;
                                                }
                                            
                                            }
                                            
                                            }
                                            
                                            ]
                                            
                                            

                                            PlayersCapabilities:

                                            
                                            package com.CSC.net.Capabilities;
                                            
                                            import java.util.concurrent.Callable;
                                            
                                            import com.CSC.net.Main;
                                            
                                            import net.minecraft.entity.player.EntityPlayer;
                                            import net.minecraft.entity.player.EntityPlayerMP;
                                            import net.minecraft.nbt.NBTBase;
                                            import net.minecraft.nbt.NBTTagCompound;
                                            import net.minecraft.util.EnumFacing;
                                            import net.minecraftforge.common.capabilities.Capability;
                                            import net.minecraftforge.common.capabilities.CapabilityManager;
                                            import net.minecraftforge.common.capabilities.ICapabilityProvider;
                                            import net.minecraftforge.common.util.INBTSerializable;
                                            
                                            public class PlayersCapabilities implements ICapabilityProvider,INBTSerializable <nbttagcompound>{
                                            
                                            public String displayname;
                                            
                                                @Override
                                                public boolean hasCapability(Capability capability, EnumFacing facing)
                                                {
                                                return Main.PLAYERS_CAP != null && capability == Main.PLAYERS_CAP;
                                                }
                                            
                                                @Override
                                                public <t>T getCapability(Capability <t>capability, EnumFacing facing)
                                                {
                                                return Main.PLAYERS_CAP != null && capability == Main.PLAYERS_CAP ? (T)this : null;
                                                }
                                            
                                                @Override
                                                public NBTTagCompound serializeNBT()
                                                {
                                                NBTTagCompound compound = new NBTTagCompound();
                                                    compound.setString("Displayname", this.getDisplayname());
                                                    return compound;
                                                }
                                            
                                                @Override
                                                public void deserializeNBT(NBTTagCompound compound)
                                                {
                                                this.setDisplayname(compound.getString("Displayname"));
                                                }
                                            
                                                public void setDisplayname(String name)
                                                {
                                                this.displayname = name;
                                                }
                                            
                                                public String getDisplayname()
                                                {
                                                return this.displayname;
                                                }
                                            
                                                public static class Storage implements Capability.IStorage <playerscapabilities>{
                                            
                                                    @Override
                                                    public NBTBase writeNBT(Capability <playerscapabilities>capability, PlayersCapabilities instance, EnumFacing side)
                                                    {
                                                        return null;
                                                    }
                                            
                                                    @Override
                                                    public void readNBT(Capability <playerscapabilities>capability, PlayersCapabilities instance, EnumFacing side, NBTBase nbt)
                                                    {
                                            
                                                    }
                                            
                                                }
                                            
                                                public static class Factory implements Callable <playerscapabilities>{
                                                    @Override
                                                    public PlayersCapabilities call() throws Exception
                                                    {
                                                        return null;
                                                    }
                                                }
                                            
                                                private EntityPlayer player;
                                            
                                                public static void register()
                                                {
                                                    CapabilityManager.INSTANCE.register(PlayersCapabilities.class, new PlayersCapabilities.Storage(), new PlayersCapabilities.Factory());
                                                }
                                            
                                                public PlayersCapabilities(EntityPlayer player)
                                                {
                                                    this.player = player;
                                                    this.displayname = "NAME";
                                                }
                                            
                                                public void sync()
                                                {
                                                PacketCapabilitiesPlayers packet = new PacketCapabilitiesPlayers(this.getDisplayname());
                                                    if(!this.player.worldObj.isRemote)
                                                    {
                                                        EntityPlayerMP playerMP = (EntityPlayerMP)player;
                                                        Main.network.sendTo(packet, playerMP);
                                                    }
                                                    else
                                                    {
                                                    Main.network.sendToServer(packet);
                                                    }
                                                }
                                            }
                                            
                                            

                                            ScheduledPacketTask:

                                            
                                            package com.CSC.net.Capabilities;
                                            
                                            import com.CSC.net.Main;
                                            
                                            import net.minecraft.client.Minecraft;
                                            import net.minecraft.entity.player.EntityPlayer;
                                            import net.minecraftforge.fml.relauncher.Side;
                                            import net.minecraftforge.fml.relauncher.SideOnly;
                                            
                                            public class ScheduledPacketTask implements Runnable
                                            {
                                               private EntityPlayer player;
                                               private PacketCapabilitiesPlayers message;
                                            
                                               public ScheduledPacketTask(EntityPlayer player, PacketCapabilitiesPlayers message)
                                               {
                                                   this.player = player;
                                                   this.message = message;
                                               }
                                            
                                               @Override
                                               public void run()
                                               {
                                                   //Condition ternaire pour récupérer le joueur selon le côté.
                                                   EntityPlayer player = this.player == null ? getPlayer() : this.player;
                                                   //On revient sur cette ligne plus tard.
                                                   player.getCapability(Main.PLAYERS_CAP, null).setDisplayname(message.displayname);
                                               }
                                            
                                               @SideOnly(Side.CLIENT)
                                               private EntityPlayer getPlayer()
                                               {
                                                   return Minecraft.getMinecraft().thePlayer;
                                               }
                                            
                                            }
                                            
                                            

                                            Main class:

                                            
                                            @CapabilityInject(PlayersCapabilities.class)
                                              public static final Capability <playerscapabilities>PLAYERS_CAP = null;
                                            
                                             network.registerMessage(PacketCapabilitiesPlayers.ClientHandler.class, PacketCapabilitiesPlayers.class, 7, Side.CLIENT);
                                            
                                                    network.registerMessage(PacketCapabilitiesPlayers.ServerHandler.class, PacketCapabilitiesPlayers.class, 7, Side.SERVER);
                                            

                                            init:

                                             PlayersCapabilities.register();
                                            

                                            Events:

                                            
                                             @SubscribeEvent
                                                public void onPlayerCloned(PlayerEvent.Clone event)
                                                {
                                                    if(event.wasDeath)
                                                    {
                                                        if(event.original.hasCapability(Main.PLAYERS_CAP, null))
                                                        {
                                                            PlayersCapabilities cap = event.original.getCapability(Main.PLAYERS_CAP, null);
                                                            PlayersCapabilities newCap = event.entityPlayer.getCapability(Main.PLAYERS_CAP, null);
                                                            newCap.setDisplayname(cap.getDisplayname());
                                                        }
                                                    }
                                                }
                                            
                                                @SubscribeEvent
                                                public void onPlayerRespawn(PlayerRespawnEvent event) 
                                                {
                                                    if(!event.player.worldObj.isRemote)
                                                    {
                                                        event.player.getCapability(Main.PLAYERS_CAP, null).sync();
                                                    }
                                                }
                                            
                                                @SubscribeEvent
                                                public void onAttachCapability(AttachCapabilitiesEvent.Entity event)
                                                {
                                                    if(event.getEntity() instanceof EntityPlayer)
                                                    {
                                                        event.addCapability(new ResourceLocation(Main.MODID + ":PLAYERS_CAP"), new PlayersCapabilities((EntityPlayer) event.getEntity()));
                                                    }
                                                }
                                            
                                            

                                            Et j’ajoute le pseudo du joueur comme ça:

                                            
                                            package com.CSC.net.GUI;
                                            
                                            import java.io.IOException;
                                            
                                            import com.CSC.net.Main;
                                            import com.CSC.net.Capabilities.PacketCapabilitiesPlayers;
                                            import com.CSC.net.packet.PacketNameServerAdd;
                                            import com.CSC.net.packet.PacketNameServerRemove;
                                            import com.CSC.net.proxy.ServerProxy;
                                            
                                            import net.minecraft.client.Minecraft;
                                            import net.minecraft.client.gui.GuiButton;
                                            import net.minecraft.client.gui.GuiScreen;
                                            import net.minecraft.client.gui.GuiTextField;
                                            import net.minecraft.entity.player.EntityPlayer;
                                            import net.minecraft.entity.player.EntityPlayerMP;
                                            import net.minecraft.server.MinecraftServer;
                                            import net.minecraft.util.EnumChatFormatting;
                                            import net.minecraftforge.fml.client.FMLClientHandler;
                                            
                                            public class GuiJoinServer extends GuiScreen
                                            {
                                                private boolean erreur;
                                                private int valider;
                                            
                                                private int nom;
                                                private int prenom;
                                            
                                                public GuiTextField text;
                                                public GuiTextField text2;
                                            
                                                public GuiJoinServer()
                                                {
                                            
                                                }
                                            
                                                @Override
                                                public void initGui()
                                                {
                                                    valider = 0;
                                                    nom = 1;
                                                    prenom = 2;
                                                    text = new GuiTextField(nom, fontRendererObj, width / 2, 130, 64, 20);
                                                    text2 = new GuiTextField(prenom, fontRendererObj, width / 2, 100, 64, 20);
                                                    text.setFocused(false);
                                                    text2.setFocused(true);
                                                    text.setMaxStringLength(20);
                                                    text2.setMaxStringLength(20);
                                                    this.buttonList.add(new GuiButton(valider, width / 2 - 123, 200, 40, 20, "Valider"));
                                            
                                                    super.initGui();
                                                }
                                            
                                                @Override
                                                public void mouseClicked(int i, int j, int k)
                                                {
                                                    text.mouseClicked(i, j, k);
                                                    text2.mouseClicked(i, j, k);
                                                    try
                                                    {
                                                        super.mouseClicked(i, j, k);
                                                    }
                                                    catch(IOException e)
                                                    {
                                                        e.printStackTrace();
                                                    }
                                                }
                                            
                                                @Override
                                                protected void keyTyped(char typedChar, int keyCode) throws IOException
                                                {
                                            
                                                    text.textboxKeyTyped(typedChar, keyCode);
                                                    text2.textboxKeyTyped(typedChar, keyCode);
                                                    super.keyTyped(typedChar, keyCode);
                                                }
                                            
                                                @Override
                                                protected void actionPerformed(GuiButton button) throws IOException
                                                {
                                            
                                                    switch(button.id)
                                                    {
                                                        case 0:
                                                            if(!text.getText().equals("") && text.getText().length() > 3 && !text2.getText().equals("") && text2.getText().length() > 3 && !ServerProxy.map.containsKey(Minecraft.getMinecraft().getSession().getPlayerID()))
                                                            {
                                                                Main.network.sendToServer(new PacketCapabilitiesPlayers(text2.getText() + "_" + text.getText())); // ajoute le nouveau nom                                                                                                                      // la map
                                                                erreur = false;
                                                                mc.thePlayer.closeScreen();
                                                            }
                                            
                                            //          EN DESSOUS J AI PAS ENCORE FAIS DONC FAITES COMME SI VOUS AVEZ RIEN VU
                                            
                                            //                else if(!text.getText().equals("") && text.getText().length() > 3 && !text2.getText().equals("") && text2.getText().length() > 3 && ServerProxy.map.containsKey(Minecraft.getMinecraft().getSession().getPlayerID()))
                                            //                {
                                            //                    // si les text ne sont pas vide et que il sont > que 3 arguments
                                            //                    // et que le joueur à  déjà  un nom_prénom:
                                            //                    Main.network.sendToServer(new PacketNameServerRemove());// retire l'ancient nom_prénom de la map
                                            //                    Main.network.sendToServer(new PacketNameServerAdd(text2.getText() + "_" + text.getText())); // ajoute le nouveau nom pr�nom dans la map
                                            //                    erreur = false;
                                            //                    mc.thePlayer.closeScreen();
                                            //                }
                                            //                else if(text.getText().equals("72") && !text2.getText().equals("") && text2.getText().length() > 3 && !ServerProxy.map.containsKey(Minecraft.getMinecraft().getSession().getPlayerID()))
                                            //                {
                                            //                    // Ici en gros c'est pour ne pas avoir de nom, juste un prénom,
                                            //                    // le joueur met 72 dans le champ nom pour ne pas avoir de nom.
                                            //                    Main.network.sendToServer(new PacketNameServerAdd(text2.getText())); // ….
                                            //                    erreur = false;
                                            //                    mc.thePlayer.closeScreen();
                                            //                }
                                            //                else if(text.getText().equals("72") && !text2.getText().equals("") && text2.getText().length() > 3 && ServerProxy.map.containsKey(Minecraft.getMinecraft().getSession().getPlayerID()))
                                            //                {
                                            //                    Main.network.sendToServer(new PacketNameServerRemove());// ....
                                            //                    Main.network.sendToServer(new PacketNameServerAdd(text2.getText()));// ....
                                            //                    erreur = false;
                                            //                    mc.thePlayer.closeScreen();
                                            //                }
                                                            else
                                                            {
                                                                erreur = true;
                                                            }
                                                            break;
                                                        default:
                                                            erreur = false;
                                                            break;
                                                    }
                                            
                                                    super.actionPerformed(button);
                                                }
                                            
                                                @Override
                                                public void updateScreen()
                                                {
                                                    super.updateScreen();
                                                }
                                            
                                                public void drawScreen(int mouseX, int mouseY, float partialTick)
                                                {
                                            
                                                    this.drawDefaultBackground();
                                            
                                                    text.drawTextBox();
                                                    text2.drawTextBox();
                                            
                                                    this.drawString(this.fontRendererObj, EnumChatFormatting.GRAY + "Nom", width / 2 - 80, 135, 0);
                                            
                                                    this.drawString(this.fontRendererObj, EnumChatFormatting.GRAY + "Prénom", width / 2 - 80, 105, 0);
                                            
                                                    super.drawScreen(mouseX, mouseY, partialTick);
                                            
                                                    if(erreur)
                                                    {
                                                        this.drawString(fontRendererObj, "§cVotre nom et/ou pr�nom est/sont vide ou trop court !", this.width / 2 - 110, this.height / 2 - 50, 0);
                                                    }
                                                }
                                            
                                                @Override
                                                public void onGuiClosed()
                                                {
                                                    Minecraft.getMinecraft().displayGuiScreen(this);
                                                }
                                            }
                                            
                                            

                                            CRASH:

                                            
                                            java.lang.IllegalStateException: Duplicate Capability Key: csc:PLAYERS_CAP com.CSC.net.Capabilities.PlayersCapabilities@60f15c
                                            at net.minecraftforge.event.AttachCapabilitiesEvent.addCapability(AttachCapabilitiesEvent.java:48)
                                            at com.CSC.net.Events.Events.onAttachCapability(Events.java:404)
                                            at net.minecraftforge.fml.common.eventhandler.ASMEventHandler_17_Events_onAttachCapability_Entity.invoke(.dynamic)
                                            at net.minecraftforge.fml.common.eventhandler.ASMEventHandler.invoke(ASMEventHandler.java:55)
                                            at net.minecraftforge.fml.common.eventhandler.EventBus.post(EventBus.java:140)
                                            at net.minecraftforge.event.ForgeEventFactory.gatherCapabilities(ForgeEventFactory.java:502)
                                            at net.minecraftforge.event.ForgeEventFactory.gatherCapabilities(ForgeEventFactory.java:492)
                                            at net.minecraft.entity.Entity.<init>(Entity.java:238)
                                            at net.minecraft.entity.EntityLivingBase.<init>(EntityLivingBase.java:162)
                                            at net.minecraft.entity.player.EntityPlayer.<init>(EntityPlayer.java:154)
                                            at net.minecraft.entity.player.EntityPlayerMP.<init>(EntityPlayerMP.java:149)
                                            at net.minecraft.server.management.ServerConfigurationManager.createPlayerForUser(ServerConfigurationManager.java:470)
                                            at net.minecraft.server.network.NetHandlerLoginServer.tryAcceptPlayer(NetHandlerLoginServer.java:137)
                                            at net.minecraft.server.network.NetHandlerLoginServer.update(NetHandlerLoginServer.java:64)
                                            at net.minecraft.network.NetworkManager.processReceivedPackets(NetworkManager.java:310)
                                            at net.minecraft.network.NetworkSystem.networkTick(NetworkSystem.java:204)
                                            at net.minecraft.server.MinecraftServer.updateTimeLightAndEntities(MinecraftServer.java:800)
                                            at net.minecraft.server.MinecraftServer.tick(MinecraftServer.java:681)
                                            at net.minecraft.server.integrated.IntegratedServer.tick(IntegratedServer.java:159)
                                            at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:548)
                                            at java.lang.Thread.run(Thread.java:745)
                                            
                                            A detailed walkthrough of the error, its code path and all known details is as follows:
                                            ---------------------------------------------------------------------------------------
                                            
                                            -- Head --
                                            Stacktrace:
                                            at net.minecraftforge.event.AttachCapabilitiesEvent.addCapability(AttachCapabilitiesEvent.java:48)
                                            at com.CSC.net.Events.Events.onAttachCapability(Events.java:404)
                                            at net.minecraftforge.fml.common.eventhandler.ASMEventHandler_17_Events_onAttachCapability_Entity.invoke(.dynamic)
                                            at net.minecraftforge.fml.common.eventhandler.ASMEventHandler.invoke(ASMEventHandler.java:55)
                                            at net.minecraftforge.fml.common.eventhandler.EventBus.post(EventBus.java:140)
                                            at net.minecraftforge.event.ForgeEventFactory.gatherCapabilities(ForgeEventFactory.java:502)
                                            at net.minecraftforge.event.ForgeEventFactory.gatherCapabilities(ForgeEventFactory.java:492)
                                            at net.minecraft.entity.Entity.<init>(Entity.java:238)
                                            at net.minecraft.entity.EntityLivingBase.<init>(EntityLivingBase.java:162)
                                            at net.minecraft.entity.player.EntityPlayer.<init>(EntityPlayer.java:154)
                                            at net.minecraft.entity.player.EntityPlayerMP.<init>(EntityPlayerMP.java:149)
                                            at net.minecraft.server.management.ServerConfigurationManager.createPlayerForUser(ServerConfigurationManager.java:470)
                                            at net.minecraft.server.network.NetHandlerLoginServer.tryAcceptPlayer(NetHandlerLoginServer.java:137)
                                            at net.minecraft.server.network.NetHandlerLoginServer.update(NetHandlerLoginServer.java:64)
                                            at net.minecraft.network.NetworkManager.processReceivedPackets(NetworkManager.java:310)
                                            
                                            -- Ticking connection --
                                            Details:
                                            Connection: net.minecraft.network.NetworkManager@17cd754
                                            Stacktrace:
                                            at net.minecraft.network.NetworkSystem.networkTick(NetworkSystem.java:204)
                                            at net.minecraft.server.MinecraftServer.updateTimeLightAndEntities(MinecraftServer.java:800)
                                            at net.minecraft.server.MinecraftServer.tick(MinecraftServer.java:681)
                                            at net.minecraft.server.integrated.IntegratedServer.tick(IntegratedServer.java:159)
                                            at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:548)
                                            at java.lang.Thread.run(Thread.java:745)
                                            
                                            -- System Details --
                                            Details:
                                            Minecraft Version: 1.8.9
                                            Operating System: Windows 7 (x86) version 6.1
                                            Java Version: 1.8.0_45, Oracle Corporation
                                            Java VM Version: Java HotSpot(TM) Client VM (mixed mode), Oracle Corporation
                                            Memory: 483849160 bytes (461 MB) / 1037959168 bytes (989 MB) up to 1037959168 bytes (989 MB)
                                            JVM Flags: 3 total; -Xincgc -Xmx1024M -Xms1024M
                                            IntCache: cache: 0, tcache: 0, allocated: 12, tallocated: 94
                                            FML: MCP 9.19 Powered by Forge 11.15.1.1722 4 mods loaded, 4 mods active
                                            States: 'U' = Unloaded 'L' = Loaded 'C' = Constructed 'H' = Pre-initialized 'I' = Initialized 'J' = Post-initialized 'A' = Available 'D' = Disabled 'E' = Errored
                                            UCHIJAAAA mcp{9.19} [Minecraft Coder Pack] (minecraft.jar) 
                                            UCHIJAAAA FML{8.0.99.99} [Forge Mod Loader] (forgeSrc-1.8.9-11.15.1.1722.jar) 
                                            UCHIJAAAA Forge{11.15.1.1722} [Minecraft Forge] (forgeSrc-1.8.9-11.15.1.1722.jar) 
                                            UCHIJAAAA csc{1.0} [Cite Sous Controle] (bin) 
                                            Loaded coremods (and transformers): 
                                            GL info: ~~ERROR~~ RuntimeException: No OpenGL context found in the current thread.
                                            Profiler Position: N/A (disabled)
                                            Player Count: 0 / 8; []
                                            Type: Integrated Server (map_client.txt)
                                            Is Modded: Definitely; Client brand changed to 'fml,forge'
                                            [19:01:36] [Client thread/INFO] [STDOUT]: [net.minecraft.init.Bootstrap:printToSYSOUT:612]: #@!@# Game crashed! Crash report saved to: #@!@# .\crash-reports\crash-2016-10-30_19.01.36-server.txt
                                            [19:01:36] [Client thread/INFO] [FML]: Waiting for the server to terminate/save.
                                            [19:01:36] [Server thread/INFO]: Saving chunks for level 'New World'/Nether
                                            [19:01:36] [Server thread/INFO]: Saving chunks for level 'New World'/The End
                                            [19:01:36] [Server thread/INFO] [FML]: Unloading dimension 0
                                            [19:01:36] [Server thread/INFO] [FML]: Unloading dimension -1
                                            [19:01:36] [Server thread/INFO] [FML]: Unloading dimension 1
                                            [19:01:36] [Server thread/INFO] [FML]: Applying holder lookups
                                            [19:01:36] [Server thread/INFO] [FML]: Holder lookups applied
                                            [19:01:36] [Server thread/INFO] [FML]: The state engine was in incorrect state SERVER_STOPPING and forced into state SERVER_STOPPED. Errors may have been discarded.
                                            [19:01:36] [Client thread/INFO] [FML]: Server terminated.
                                            AL lib: (EE) alc_cleanup: 1 device not closed
                                            Java HotSpot(TM) Client VM warning: Using incremental CMS is deprecated and will likely be removed in a future release
                                            
                                            ```</init></init></init></init></init></init></init></init></playerscapabilities></playerscapabilities></playerscapabilities></playerscapabilities></playerscapabilities></t></t></nbttagcompound></packetcapabilitiesplayers,></packetcapabilitiesplayers,>
                                            1 réponse Dernière réponse Répondre Citer 0
                                            • 1
                                            • 2
                                            • 3
                                            • 4
                                            • 5
                                            • 6
                                            • 7
                                            • 8
                                            • 1 / 8
                                            • Premier message
                                              Dernier message
                                            Design by Woryk
                                            ContactMentions Légales

                                            MINECRAFT FORGE FRANCE © 2024

                                            Powered by NodeBB