MFF

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

    Bug Title 1.7.10

    Planifier Épinglé Verrouillé Déplacé Sans suite
    1.7.10
    22 Messages 6 Publieurs 4.0k Vues 1 Abonné
    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.
    • I Hors-ligne
      impuuu
      dernière édition par

      [14:36:07] [Server thread/ERROR]: Couldn't process command: 'title test test 5 Player33'
      java.lang.NullPointerException
      at fr.impuuu.havenrp.packets.PacketHelper.sendTo(PacketHelper.java:140) ~[PacketHelper.class:?]
      at fr.impuuu.havenrp.commands.CommandSendMessage.processCommand(CommandSendMessage.java:68) ~[CommandSendMessage.class:?]
      at net.minecraft.command.CommandHandler.executeCommand(CommandHandler.java:96) [CommandHandler.class:?]
      at net.minecraft.network.NetHandlerPlayServer.handleSlashCommand(NetHandlerPlayServer.java:788) [NetHandlerPlayServer.class:?]
      at net.minecraft.network.NetHandlerPlayServer.processChatMessage(NetHandlerPlayServer.java:764) [NetHandlerPlayServer.class:?]
      at net.minecraft.network.play.client.C01PacketChatMessage.processPacket(C01PacketChatMessage.java:47) [C01PacketChatMessage.class:?]
      at net.minecraft.network.play.client.C01PacketChatMessage.processPacket(C01PacketChatMessage.java:68) [C01PacketChatMessage.class:?]
      at net.minecraft.network.NetworkManager.processReceivedPackets(NetworkManager.java:241) [NetworkManager.class:?]
      at net.minecraft.network.NetworkSystem.networkTick(NetworkSystem.java:182) [NetworkSystem.class:?]
      at net.minecraft.server.MinecraftServer.updateTimeLightAndEntities(MinecraftServer.java:726) [MinecraftServer.class:?]
      at net.minecraft.server.MinecraftServer.tick(MinecraftServer.java:614) [MinecraftServer.class:?]
      at net.minecraft.server.integrated.IntegratedServer.tick(IntegratedServer.java:118) [IntegratedServer.class:?]
      at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:485) [MinecraftServer.class:?]
      at net.minecraft.server.MinecraftServer$2.run(MinecraftServer.java:752) [MinecraftServer$2.class:?]
      [14:36:07] [Client thread/INFO]: [CHAT] An unknown error occurred while attempting to perform this command
      
      
      1 réponse Dernière réponse Répondre Citer 0
      • BrokenSwingB Hors-ligne
        BrokenSwing Moddeurs confirmés Rédacteurs
        dernière édition par

        Il semblerai que le joueur auquel tu essai d’envoyer ton packet soit null, fait voir la classe PlayerHelper et dis-nous quelle commande tu a effectué pour obtenir ce crash

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

          Moi je sais pourquoieuhhh……
          C’est du copié collé de mon codeuh…
          Et comme ça tu ne sais pas où est l’erreur
          Surtout que mon code est pas open source
          Et que tu n’as pas mon autorisation
          Je ne t’aiderais pas !

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

            package fr.impuuu.havenrp.utils;
            
            import java.util.List;
            import net.minecraft.entity.player.EntityPlayer;
            import net.minecraft.server.MinecraftServer;
            import net.minecraft.server.management.ServerConfigurationManager;
            
            public class PlayerHelper
            {
              public static EntityPlayer getPlayerByName(String name)
              {
                List <entityplayer>pl = MinecraftServer.getServer().getConfigurationManager().playerEntityList;
                for (EntityPlayer p : pl) {
                  if (p.getDisplayName().equalsIgnoreCase(name)) {
                    return p;
                  }
                }
                return null;
              }
            }
            
            ```</entityplayer>
            1 réponse Dernière réponse Répondre Citer 0
            • moscaphone421M Hors-ligne
              moscaphone421
              dernière édition par

              C’est un peu normal : BON fait des erreurs lui aussi

              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

                Couldn’t process command: ‘title test test 5 Player33’
                Regardes le chat, ton pseudo c’est Player481. Donc normal que Player33 est null.
                Si tu avais fait un peu mieux la commande tu aura renvoyé un message “le joueur n’existe pas” si player est null.

                Tu pourrai aussi compléter la fonction addTabCompletionOptions et la fonction isUsernameIndex.

                Et en passant, tu utilises une vieille implémentation de paquet qui est mauvaise car elle cause des fuites de mémoire.
                Le tutoriel de blackout sur le forum explique comme bien faire.

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

                  robin l eurreur ses pas le pseudo puisque je les refait la command car j avais fermé le jeu est eclipse

                  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

                    Faut trouver alors pourquoi ton joueur renvoie null.
                    Et bon, à l’intérieur de la classe commande base il y a une fonction pour avoir l’instance du joueur à l’aide du pseudo, je ne sais pas pourquoi tu t’embête avec une nouvelle fonction.

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

                      tu veut dire sa
                      public static EntityPlayerMP getPlayer(ICommandSender p_82359_0_, String p_82359_1_)
                      {
                      EntityPlayerMP entityplayermp = PlayerSelector.matchOnePlayer(p_82359_0_, p_82359_1_);

                      if (entityplayermp != null)
                      {
                      return entityplayermp;
                      }
                      else
                      {
                      entityplayermp = MinecraftServer.getServer().getConfigurationManager().func_152612_a(p_82359_1_);

                      if (entityplayermp == null)
                      {
                      throw new PlayerNotFoundException();
                      }
                      else
                      {
                      return entityplayermp;
                      }
                      }
                      }

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

                        Oui, c’est cette fonction.

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

                          en gros
                          quand je change le entityplayer par
                          EntityPlayerMP p = getPlayer(sender, command[0]);

                          sa me souligne le get player
                          sa me mais The method getPlayer(ICommandSender, String) is undefined for the type CommandSendMessage

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

                            Normale. La méthode getPlayer provient de la classe CommandBase et non de l’interface ICommand.

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

                              dans le la class icommand appart le isUsernameIndex et addTabCompletionOptions

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

                                @‘impuuu’:

                                dans le la class icommand appart le isUsernameIndex et addTabCompletionOptions

                                Ta commande doit être extends CommandBase

                                Site web contenant mes scripts : http://SCAREXgaming.github.io

                                Pas de demandes de support par MP ni par skype SVP.
                                Je n'accepte sur skype que l…

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

                                  oui mais quand je fait la command sa fait sa alor que le pseudo est bon
                                  sa me met cette erreur
                                  Couldn’t process command: ‘title player player 5 Player894’
                                  java.lang.NullPointerException
                                  at fr.impuuu.havenrp.packets.PacketHelper.sendTo(PacketHelper.java:140) ~[PacketHelper.class:?]
                                  at fr.impuuu.havenrp.commands.CommandSendMessage.processCommand(CommandSendMessage.java:70) ~[CommandSendMessage.class:?]
                                  at net.minecraft.command.CommandHandler.executeCommand(CommandHandler.java:96) [CommandHandler.class:?]
                                  at net.minecraft.network.NetHandlerPlayServer.handleSlashCommand(NetHandlerPlayServer.java:788) [NetHandlerPlayServer.class:?]
                                  at net.minecraft.network.NetHandlerPlayServer.processChatMessage(NetHandlerPlayServer.java:764) [NetHandlerPlayServer.class:?]
                                  at net.minecraft.network.play.client.C01PacketChatMessage.processPacket(C01PacketChatMessage.java:47) [C01PacketChatMessage.class:?]
                                  at net.minecraft.network.play.client.C01PacketChatMessage.processPacket(C01PacketChatMessage.java:68) [C01PacketChatMessage.class:?]
                                  at net.minecraft.network.NetworkManager.processReceivedPackets(NetworkManager.java:241) [NetworkManager.class:?]
                                  at net.minecraft.network.NetworkSystem.networkTick(NetworkSystem.java:182) [NetworkSystem.class:?]
                                  at net.minecraft.server.MinecraftServer.updateTimeLightAndEntities(MinecraftServer.java:726) [MinecraftServer.class:?]
                                  at net.minecraft.server.MinecraftServer.tick(MinecraftServer.java:614) [MinecraftServer.class:?]
                                  at net.minecraft.server.integrated.IntegratedServer.tick(IntegratedServer.java:118) [IntegratedServer.class:?]
                                  at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:485) [MinecraftServer.class:?]
                                  at net.minecraft.server.MinecraftServer$2.run(MinecraftServer.java:752) [MinecraftServer$2.class:?]
                                  [14:28:24] [Client thread/INFO]: [CHAT] An unknown error occurred while attempting to perform this command

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

                                    Envoi la classe du PacketHelper

                                    Site web contenant mes scripts : http://SCAREXgaming.github.io

                                    Pas de demandes de support par MP ni par skype SVP.
                                    Je n'accepte sur skype que l…

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

                                      package fr.impuuu.havenrp.packets;
                                      
                                      import cpw.mods.fml.common.network.FMLEmbeddedChannel;
                                      import cpw.mods.fml.common.network.FMLOutboundHandler;
                                      import cpw.mods.fml.common.network.FMLOutboundHandler.OutboundTarget;
                                      import cpw.mods.fml.common.network.NetworkRegistry;
                                      import cpw.mods.fml.common.network.internal.FMLProxyPacket;
                                      import cpw.mods.fml.relauncher.Side;
                                      import cpw.mods.fml.relauncher.SideOnly;
                                      import io.netty.buffer.ByteBuf;
                                      import io.netty.buffer.Unpooled;
                                      import io.netty.channel.Channel;
                                      import io.netty.channel.ChannelHandler;
                                      import io.netty.channel.ChannelHandler.Sharable;
                                      import io.netty.channel.ChannelHandlerContext;
                                      import io.netty.handler.codec.MessageToMessageCodec;
                                      import io.netty.util.Attribute;
                                      import java.util.Collections;
                                      import java.util.Comparator;
                                      import java.util.EnumMap;
                                      import java.util.LinkedList;
                                      import java.util.List;
                                      import net.minecraft.client.Minecraft;
                                      import net.minecraft.entity.player.EntityPlayer;
                                      import net.minecraft.entity.player.EntityPlayerMP;
                                      import net.minecraft.network.INetHandler;
                                      import net.minecraft.network.NetHandlerPlayServer;
                                      
                                      @ChannelHandler.Sharable
                                      public class PacketHelper
                                        extends MessageToMessageCodec <fmlproxypacket, abstractpackethelper="">{
                                        private EnumMap <side, fmlembeddedchannel="">channels;
                                        private LinkedList<class<? extends="" abstractpackethelper="">> packets = new LinkedList();
                                        private boolean isPostInitialised = false;
                                      
                                        public boolean registerPacket(Class clazz)
                                        {
                                          if (this.packets.size() > 256) {
                                            return false;
                                          }
                                          if (this.packets.contains(clazz)) {
                                            return false;
                                          }
                                          if (this.isPostInitialised) {
                                            return false;
                                          }
                                          this.packets.add(clazz);
                                          return true;
                                        }
                                      
                                        protected void encode(ChannelHandlerContext ctx, AbstractPacketHelper msg, List <object>out)
                                          throws Exception
                                        {
                                          ByteBuf buffer = Unpooled.buffer();
                                          Class clazz = msg.getClass();
                                          if (!this.packets.contains(msg.getClass())) {
                                            throw new NullPointerException("No Packet Registered for: " + msg.getClass().getCanonicalName());
                                          }
                                          byte discriminator = (byte)this.packets.indexOf(clazz);
                                          buffer.writeByte(discriminator);
                                          msg.encodeInto(ctx, buffer);
                                          FMLProxyPacket proxyPacket = new FMLProxyPacket(buffer.copy(), (String)ctx.channel().attr(NetworkRegistry.FML_CHANNEL).get());
                                          out.add(proxyPacket);
                                        }
                                      
                                        protected void decode(ChannelHandlerContext ctx, FMLProxyPacket msg, List <object>out)
                                          throws Exception
                                        {
                                          ByteBuf payload = msg.payload();
                                          byte discriminator = payload.readByte();
                                          Class clazz = (Class)this.packets.get(discriminator);
                                          if (clazz == null) {
                                            throw new NullPointerException("No packet registered for discriminator: " + discriminator);
                                          }
                                          AbstractPacketHelper pkt = (AbstractPacketHelper)clazz.newInstance();
                                          pkt.decodeInto(ctx, payload.slice());
                                          switch (cpw.mods.fml.common.FMLCommonHandler.instance().getEffectiveSide())
                                          {
                                          case CLIENT: 
                                            EntityPlayer player = getClientPlayer();
                                            pkt.handleClientSide(player);
                                            break;
                                          case SERVER: 
                                            INetHandler netHandler = (INetHandler)ctx.channel().attr(NetworkRegistry.NET_HANDLER).get();
                                            EntityPlayer player1 = ((NetHandlerPlayServer)netHandler).playerEntity;
                                            pkt.handleServerSide(player1);
                                          }
                                        }
                                      
                                        public void initalise()
                                        {
                                          this.channels = NetworkRegistry.INSTANCE.newChannel("HavenRP", new ChannelHandler[] { this });
                                          registerPackets();
                                        }
                                      
                                        public void registerPackets()
                                        {
                                          registerPacket(PacketMessage.class);
                                        }
                                      
                                        public void postInitialise()
                                        {
                                          if (this.isPostInitialised) {
                                            return;
                                          }
                                          this.isPostInitialised = true;
                                          Collections.sort(this.packets, new Comparator()
                                          {
                                            public int compare(Class clazz1, Class clazz2)
                                            {
                                              int com = String.CASE_INSENSITIVE_ORDER.compare(clazz1.getCanonicalName(), clazz2.getCanonicalName());
                                              if (com == 0) {
                                                com = clazz1.getCanonicalName().compareTo(clazz2.getCanonicalName());
                                              }
                                              return com;
                                            }
                                      
                                            public int compare(Object o1, Object o2)
                                            {
                                              return 0;
                                            }
                                          });
                                        }
                                      
                                        @SideOnly(Side.CLIENT)
                                        private EntityPlayer getClientPlayer()
                                        {
                                          return Minecraft.getMinecraft().thePlayer;
                                        }
                                      
                                        public void sendToAll(AbstractPacketHelper message)
                                        {
                                          ((FMLEmbeddedChannel)this.channels.get(Side.SERVER)).attr(FMLOutboundHandler.FML_MESSAGETARGET).set(FMLOutboundHandler.OutboundTarget.ALL);
                                          ((FMLEmbeddedChannel)this.channels.get(Side.SERVER)).writeAndFlush(message);
                                        }
                                      
                                        public void sendTo(AbstractPacketHelper message, EntityPlayerMP player)
                                        {
                                          ((FMLEmbeddedChannel)this.channels.get(Side.SERVER)).attr(FMLOutboundHandler.FML_MESSAGETARGET).set(FMLOutboundHandler.OutboundTarget.PLAYER);
                                          ((FMLEmbeddedChannel)this.channels.get(Side.SERVER)).attr(FMLOutboundHandler.FML_MESSAGETARGETARGS).set(player);
                                          ((FMLEmbeddedChannel)this.channels.get(Side.SERVER)).writeAndFlush(message);
                                        }
                                      
                                        public void sendToServer(AbstractPacketHelper message)
                                        {
                                          ((FMLEmbeddedChannel)this.channels.get(Side.CLIENT)).attr(FMLOutboundHandler.FML_MESSAGETARGET).set(FMLOutboundHandler.OutboundTarget.TOSERVER);
                                          ((FMLEmbeddedChannel)this.channels.get(Side.CLIENT)).writeAndFlush(message);
                                        }
                                      }
                                      
                                      ```</object></object></class<?></side,></fmlproxypacket,>
                                      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

                                        J’ai déjà dit que cette façon de faire des paquets ne doit plus être utilisé …

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

                                          ok je remplace par quoi il a tuto sur le forum ?

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

                                            @‘robin4002’:

                                            Couldn’t process command: ‘title test test 5 Player33’
                                            Regardes le chat, ton pseudo c’est Player481. Donc normal que Player33 est null.
                                            Si tu avais fait un peu mieux la commande tu aura renvoyé un message “le joueur n’existe pas” si player est null.

                                            Tu pourrai aussi compléter la fonction addTabCompletionOptions et la fonction isUsernameIndex.

                                            Et en passant, tu utilises une vieille implémentation de paquet qui est mauvaise car elle cause des fuites de mémoire.
                                            Le tutoriel de blackout sur le forum explique comme bien faire.

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

                                            MINECRAFT FORGE FRANCE © 2024

                                            Powered by NodeBB