MFF

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

    Est-il Op?

    Planifier Épinglé Verrouillé Déplacé Résolu 1.7.x
    1.7.10
    42 Messages 4 Publieurs 10.0k 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.
    • robin4002R Hors-ligne
      robin4002 Moddeurs confirmés Rédacteurs Administrateurs
      dernière édition par

      La classe Minecraft n’existe pas côté client.
      Tu dois faire comme ça :

      @Override
      public IMessage onMessage(PacketOp message, MessageContext ctx) {
      EntityPlayerMP player = ctx.getServerHandler().playerEntity;
      System.out.println("Message Reçu");
      if(MinecraftServer.getServer().getConfigurationManager().func_152596_g(player.getGameProfile()))
      {
      System.out.println("op");
      return new PacketOpenAdminGui("OP!!");
      }
      else
      {
      System.out.println("player");
      return new PacketOpenAdminGui("Player!!");
      }
      return null;
      }
      

      Ensuite tu créé une classe PacketOpenAdminGui dans laquelle tu fais passer la variable string et dans le handle (qui sera donc côté client cette fois) tu fais l’action du openGui.

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

        Ton premier code est correct.
        Juste le nom de paquet qui est a changer pour éviter les confusion.
        Le premier paquet que tu envoie sert a dire au serveur que tu souhaite ouvrir un GUI mais qu’il te faut plus d’information. Donc un bon nom de paquet serait par exemple “PacketAskForGui” ou un truc du genre.

        Coté serveur, le handler reçoit le paquet.
        La mission du handler ici, c’est de répondre au client.
        Donc le handler doit vérifier que le joueur est OP, et lui retourner un paquet avec cette information.
        Ta classe Handler implémente IMessageHandler avec 2 types générique <laclassdupacketreçu, laclassdupacketrenvoié=“”>Donc dans ton Handler il faut que tu remplace IMessage par la class d’un nouveau paquet.
        On appellera cette classe PacketOpenGui mais le nom n’a pas d’importance tant que ça reste logique.
        C’est la ou tu dois avec un attribut boolean isOp, c’est dans ton PacketOpenGui.

        Donc dans le Handler, tu crées une nouvelle instance de ton PacketOpenGui et au lieu de faire un return null, tu retournes ton objet PacketOpenGui.

        Assure toi d’avoir bien enregistré le packet avec network.registerMessage();
        Incrémente le discriminant (l’id du packet) de 1 et change la side, puisque cette fois ci c’est le client qui reçoit le packet.
        Donc Side.Client.

        Dans ton PacketOpenGui.Handler tu vérifies le contenue de ton PacketOpenGui, et tu ouvre le GUI que tu veux en conséquence.</laclassdupacketreçu,>

        –------------------------------------------------------------------------------------
        Si tu trouves mon intervention pertinente, n'hésite pas a m…

        1 réponse Dernière réponse Répondre Citer 0
        • DiabolicaTrixD Hors-ligne
          DiabolicaTrix Correcteurs Moddeurs confirmés
          dernière édition par

          [11:51:27] [Server thread/ERROR] [FML]: FMLIndexedMessageCodec exception caught
          io.netty.handler.codec.DecoderException: java.lang.InstantiationException: diabolicatrix.base.PacketOpenPlayerMenu
          at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:99) ~[MessageToMessageDecoder.class:?]
          at io.netty.handler.codec.MessageToMessageCodec.channelRead(MessageToMessageCodec.java:111) ~[MessageToMessageCodec.class:?]
          at io.netty.channel.DefaultChannelHandlerContext.invokeChannelRead(DefaultChannelHandlerContext.java:337) [DefaultChannelHandlerContext.class:?]
          at io.netty.channel.DefaultChannelHandlerContext.fireChannelRead(DefaultChannelHandlerContext.java:323) [DefaultChannelHandlerContext.class:?]
          at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:785) [DefaultChannelPipeline.class:?]
          at io.netty.channel.embedded.EmbeddedChannel.writeInbound(EmbeddedChannel.java:169) [EmbeddedChannel.class:?]
          at cpw.mods.fml.common.network.internal.FMLProxyPacket.processPacket(FMLProxyPacket.java:86) [FMLProxyPacket.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:?]
          Caused by: java.lang.InstantiationException: diabolicatrix.base.PacketOpenPlayerMenu
          at java.lang.Class.newInstance(Unknown Source) ~[?:1.8.0_51]
          at cpw.mods.fml.common.network.FMLIndexedMessageToMessageCodec.decode(FMLIndexedMessageToMessageCodec.java:75) ~[FMLIndexedMessageToMessageCodec.class:?]
          at cpw.mods.fml.common.network.FMLIndexedMessageToMessageCodec.decode(FMLIndexedMessageToMessageCodec.java:17) ~[FMLIndexedMessageToMessageCodec.class:?]
          at io.netty.handler.codec.MessageToMessageCodec$2.decode(MessageToMessageCodec.java:81) ~[MessageToMessageCodec$2.class:?]
          at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:89) ~[MessageToMessageDecoder.class:?]
          … 13 more
          Caused by: java.lang.NoSuchMethodException: diabolicatrix.base.PacketOpenPlayerMenu.<init>()
          at java.lang.Class.getConstructor0(Unknown Source) ~[?:1.8.0_51]
          at java.lang.Class.newInstance(Unknown Source) ~[?:1.8.0_51]
          at cpw.mods.fml.common.network.FMLIndexedMessageToMessageCodec.decode(FMLIndexedMessageToMessageCodec.java:75) ~[FMLIndexedMessageToMessageCodec.class:?]
          at cpw.mods.fml.common.network.FMLIndexedMessageToMessageCodec.decode(FMLIndexedMessageToMessageCodec.java:17) ~[FMLIndexedMessageToMessageCodec.class:?]
          at io.netty.handler.codec.MessageToMessageCodec$2.decode(MessageToMessageCodec.java:81) ~[MessageToMessageCodec$2.class:?]
          at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:89) ~[MessageToMessageDecoder.class:?]
          … 13 more
          [11:51:27] [Server thread/ERROR] [FML]: SimpleChannelHandlerWrapper exception
          io.netty.handler.codec.DecoderException: java.lang.InstantiationException: diabolicatrix.base.PacketOpenPlayerMenu
          at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:99) ~[MessageToMessageDecoder.class:?]
          at io.netty.handler.codec.MessageToMessageCodec.channelRead(MessageToMessageCodec.java:111) ~[MessageToMessageCodec.class:?]
          at io.netty.channel.DefaultChannelHandlerContext.invokeChannelRead(DefaultChannelHandlerContext.java:337) [DefaultChannelHandlerContext.class:?]
          at io.netty.channel.DefaultChannelHandlerContext.fireChannelRead(DefaultChannelHandlerContext.java:323) [DefaultChannelHandlerContext.class:?]
          at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:785) [DefaultChannelPipeline.class:?]
          at io.netty.channel.embedded.EmbeddedChannel.writeInbound(EmbeddedChannel.java:169) [EmbeddedChannel.class:?]
          at cpw.mods.fml.common.network.internal.FMLProxyPacket.processPacket(FMLProxyPacket.java:86) [FMLProxyPacket.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:?]
          Caused by: java.lang.InstantiationException: diabolicatrix.base.PacketOpenPlayerMenu
          at java.lang.Class.newInstance(Unknown Source) ~[?:1.8.0_51]
          at cpw.mods.fml.common.network.FMLIndexedMessageToMessageCodec.decode(FMLIndexedMessageToMessageCodec.java:75) ~[FMLIndexedMessageToMessageCodec.class:?]
          at cpw.mods.fml.common.network.FMLIndexedMessageToMessageCodec.decode(FMLIndexedMessageToMessageCodec.java:17) ~[FMLIndexedMessageToMessageCodec.class:?]
          at io.netty.handler.codec.MessageToMessageCodec$2.decode(MessageToMessageCodec.java:81) ~[MessageToMessageCodec$2.class:?]
          at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:89) ~[MessageToMessageDecoder.class:?]
          … 13 more
          Caused by: java.lang.NoSuchMethodException: diabolicatrix.base.PacketOpenPlayerMenu.<init>()
          at java.lang.Class.getConstructor0(Unknown Source) ~[?:1.8.0_51]
          at java.lang.Class.newInstance(Unknown Source) ~[?:1.8.0_51]
          at cpw.mods.fml.common.network.FMLIndexedMessageToMessageCodec.decode(FMLIndexedMessageToMessageCodec.java:75) ~[FMLIndexedMessageToMessageCodec.class:?]
          at cpw.mods.fml.common.network.FMLIndexedMessageToMessageCodec.decode(FMLIndexedMessageToMessageCodec.java:17) ~[FMLIndexedMessageToMessageCodec.class:?]
          at io.netty.handler.codec.MessageToMessageCodec$2.decode(MessageToMessageCodec.java:81) ~[MessageToMessageCodec$2.class:?]
          at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:89) ~[MessageToMessageDecoder.class:?]
          … 13 more
          [11:51:27] [Server thread/ERROR] [FML]: There was a critical exception handling a packet on channel T4Channel
          io.netty.handler.codec.DecoderException: java.lang.InstantiationException: diabolicatrix.base.PacketOpenPlayerMenu
          at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:99) ~[MessageToMessageDecoder.class:?]
          at io.netty.handler.codec.MessageToMessageCodec.channelRead(MessageToMessageCodec.java:111) ~[MessageToMessageCodec.class:?]
          at io.netty.channel.DefaultChannelHandlerContext.invokeChannelRead(DefaultChannelHandlerContext.java:337) ~[DefaultChannelHandlerContext.class:?]
          at io.netty.channel.DefaultChannelHandlerContext.fireChannelRead(DefaultChannelHandlerContext.java:323) ~[DefaultChannelHandlerContext.class:?]
          at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:785) ~[DefaultChannelPipeline.class:?]
          at io.netty.channel.embedded.EmbeddedChannel.writeInbound(EmbeddedChannel.java:169) ~[EmbeddedChannel.class:?]
          at cpw.mods.fml.common.network.internal.FMLProxyPacket.processPacket(FMLProxyPacket.java:86) [FMLProxyPacket.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:?]
          Caused by: java.lang.InstantiationException: diabolicatrix.base.PacketOpenPlayerMenu
          at java.lang.Class.newInstance(Unknown Source) ~[?:1.8.0_51]
          at cpw.mods.fml.common.network.FMLIndexedMessageToMessageCodec.decode(FMLIndexedMessageToMessageCodec.java:75) ~[FMLIndexedMessageToMessageCodec.class:?]
          at cpw.mods.fml.common.network.FMLIndexedMessageToMessageCodec.decode(FMLIndexedMessageToMessageCodec.java:17) ~[FMLIndexedMessageToMessageCodec.class:?]
          at io.netty.handler.codec.MessageToMessageCodec$2.decode(MessageToMessageCodec.java:81) ~[MessageToMessageCodec$2.class:?]
          at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:89) ~[MessageToMessageDecoder.class:?]
          … 13 more
          Caused by: java.lang.NoSuchMethodException: diabolicatrix.base.PacketOpenPlayerMenu.<init>()
          at java.lang.Class.getConstructor0(Unknown Source) ~[?:1.8.0_51]
          at java.lang.Class.newInstance(Unknown Source) ~[?:1.8.0_51]
          at cpw.mods.fml.common.network.FMLIndexedMessageToMessageCodec.decode(FMLIndexedMessageToMessageCodec.java:75) ~[FMLIndexedMessageToMessageCodec.class:?]
          at cpw.mods.fml.common.network.FMLIndexedMessageToMessageCodec.decode(FMLIndexedMessageToMessageCodec.java:17) ~[FMLIndexedMessageToMessageCodec.class:?]
          at io.netty.handler.codec.MessageToMessageCodec$2.decode(MessageToMessageCodec.java:81) ~[MessageToMessageCodec$2.class:?]
          at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:89) ~[MessageToMessageDecoder.class:?]
          … 13 more
          [11:51:27] [Server thread/INFO]: Player497 lost connection: TextComponent{text='A fatal error has occured, this connection is terminated', siblings=[], style=Style{hasParent=false, color=null, bold=null, italic=null, underlined=null, obfuscated=null, clickEvent=null, hoverEvent=null}}
          [11:51:27] [Server thread/INFO]: Player497 left the game
          [11:51:27] [Server thread/INFO]: Stopping singleplayer server as player logged out
          [11:51:27] [Server thread/INFO]: Stopping server
          [11:51:27] [Server thread/INFO]: Saving players
          [11:51:27] [Server thread/INFO]: Saving worlds
          [11:51:27] [Server thread/INFO]: Saving chunks for level 'New World'/Overworld
          [11:51:27] [Server thread/INFO]: Saving chunks for level 'New World'/Nether
          [11:51:27] [Server thread/INFO]: Saving chunks for level 'New World'/The End
          [11:51:27] [Server thread/INFO] [FML]: Unloading dimension 0
          [11:51:27] [Server thread/INFO] [FML]: Unloading dimension -1
          [11:51:27] [Server thread/INFO] [FML]: Unloading dimension 1
          [11:51:27] [Server thread/INFO] [FML]: Applying holder lookups
          [11:51:27] [Server thread/INFO] [FML]: Holder lookups applied
          [11:51:34] [Client thread/INFO]: Connecting to localhost, 25565
          [11:51:37] [Server thread/INFO]: Starting integrated minecraft server version 1.7.10
          [11:51:37] [Server thread/INFO]: Generating keypair
          [11:51:37] [Server thread/INFO] [FML]: Injecting existing block and item data into this server instance
          [11:51:37] [Server thread/INFO] [FML]: Applying holder lookups
          [11:51:37] [Server thread/INFO] [FML]: Holder lookups applied
          [11:51:37] [Server thread/INFO] [FML]: Loading dimension 0 (New World) (net.minecraft.server.integrated.IntegratedServer@4d22e9)
          [11:51:37] [Server thread/INFO] [FML]: Loading dimension 1 (New World) (net.minecraft.server.integrated.IntegratedServer@4d22e9)
          [11:51:37] [Server thread/INFO] [FML]: Loading dimension -1 (New World) (net.minecraft.server.integrated.IntegratedServer@4d22e9)
          [11:51:37] [Server thread/INFO]: Preparing start region for level 0
          [11:51:38] [Server thread/INFO]: Changing view distance to 8, from 10
          [11:51:38] [Netty Client IO #3/INFO] [FML]: Server protocol version 2
          [11:51:38] [Netty IO #3/INFO] [FML]: Client protocol version 2
          [11:51:38] [Netty IO #3/INFO] [FML]: Client attempting to join with 4 mods : t4@1.0.1,FML@7.10.99.99,Forge@10.13.4.1481,mcp@9.05
          [11:51:38] [Netty IO #3/INFO] [FML]: Attempting connection with missing mods [] at CLIENT
          [11:51:38] [Netty Client IO #3/INFO] [FML]: Attempting connection with missing mods [] at SERVER
          [11:51:38] [Server thread/INFO] [FML]: [Server thread] Server side modded connection established
          [11:51:38] [Server thread/INFO]: Player497[local:E:8e75903f] logged in with entity id 940 at (-75.98172863943033, 63.0, 307.58688578944117)
          [11:51:38] [Server thread/INFO]: Player497 joined the game
          [11:51:38] [Client thread/INFO] [FML]: [Client thread] Client side modded connection established
          [11:51:42] [Server thread/ERROR] [FML]: FMLIndexedMessageCodec exception caught
          io.netty.handler.codec.DecoderException: java.lang.InstantiationException: diabolicatrix.base.PacketOpenPlayerMenu
          at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:99) ~[MessageToMessageDecoder.class:?]
          at io.netty.handler.codec.MessageToMessageCodec.channelRead(MessageToMessageCodec.java:111) ~[MessageToMessageCodec.class:?]
          at io.netty.channel.DefaultChannelHandlerContext.invokeChannelRead(DefaultChannelHandlerContext.java:337) [DefaultChannelHandlerContext.class:?]
          at io.netty.channel.DefaultChannelHandlerContext.fireChannelRead(DefaultChannelHandlerContext.java:323) [DefaultChannelHandlerContext.class:?]
          at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:785) [DefaultChannelPipeline.class:?]
          at io.netty.channel.embedded.EmbeddedChannel.writeInbound(EmbeddedChannel.java:169) [EmbeddedChannel.class:?]
          at cpw.mods.fml.common.network.internal.FMLProxyPacket.processPacket(FMLProxyPacket.java:86) [FMLProxyPacket.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:?]
          Caused by: java.lang.InstantiationException: diabolicatrix.base.PacketOpenPlayerMenu
          at java.lang.Class.newInstance(Unknown Source) ~[?:1.8.0_51]
          at cpw.mods.fml.common.network.FMLIndexedMessageToMessageCodec.decode(FMLIndexedMessageToMessageCodec.java:75) ~[FMLIndexedMessageToMessageCodec.class:?]
          at cpw.mods.fml.common.network.FMLIndexedMessageToMessageCodec.decode(FMLIndexedMessageToMessageCodec.java:17) ~[FMLIndexedMessageToMessageCodec.class:?]
          at io.netty.handler.codec.MessageToMessageCodec$2.decode(MessageToMessageCodec.java:81) ~[MessageToMessageCodec$2.class:?]
          at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:89) ~[MessageToMessageDecoder.class:?]
          … 13 more
          Caused by: java.lang.NoSuchMethodException: diabolicatrix.base.PacketOpenPlayerMenu.<init>()
          at java.lang.Class.getConstructor0(Unknown Source) ~[?:1.8.0_51]
          at java.lang.Class.newInstance(Unknown Source) ~[?:1.8.0_51]
          at cpw.mods.fml.common.network.FMLIndexedMessageToMessageCodec.decode(FMLIndexedMessageToMessageCodec.java:75) ~[FMLIndexedMessageToMessageCodec.class:?]
          at cpw.mods.fml.common.network.FMLIndexedMessageToMessageCodec.decode(FMLIndexedMessageToMessageCodec.java:17) ~[FMLIndexedMessageToMessageCodec.class:?]
          at io.netty.handler.codec.MessageToMessageCodec$2.decode(MessageToMessageCodec.java:81) ~[MessageToMessageCodec$2.class:?]
          at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:89) ~[MessageToMessageDecoder.class:?]
          … 13 more
          [11:51:42] [Server thread/ERROR] [FML]: SimpleChannelHandlerWrapper exception
          io.netty.handler.codec.DecoderException: java.lang.InstantiationException: diabolicatrix.base.PacketOpenPlayerMenu
          at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:99) ~[MessageToMessageDecoder.class:?]
          at io.netty.handler.codec.MessageToMessageCodec.channelRead(MessageToMessageCodec.java:111) ~[MessageToMessageCodec.class:?]
          at io.netty.channel.DefaultChannelHandlerContext.invokeChannelRead(DefaultChannelHandlerContext.java:337) [DefaultChannelHandlerContext.class:?]
          at io.netty.channel.DefaultChannelHandlerContext.fireChannelRead(DefaultChannelHandlerContext.java:323) [DefaultChannelHandlerContext.class:?]
          at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:785) [DefaultChannelPipeline.class:?]
          at io.netty.channel.embedded.EmbeddedChannel.writeInbound(EmbeddedChannel.java:169) [EmbeddedChannel.class:?]
          at cpw.mods.fml.common.network.internal.FMLProxyPacket.processPacket(FMLProxyPacket.java:86) [FMLProxyPacket.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:?]
          Caused by: java.lang.InstantiationException: diabolicatrix.base.PacketOpenPlayerMenu
          at java.lang.Class.newInstance(Unknown Source) ~[?:1.8.0_51]
          at cpw.mods.fml.common.network.FMLIndexedMessageToMessageCodec.decode(FMLIndexedMessageToMessageCodec.java:75) ~[FMLIndexedMessageToMessageCodec.class:?]
          at cpw.mods.fml.common.network.FMLIndexedMessageToMessageCodec.decode(FMLIndexedMessageToMessageCodec.java:17) ~[FMLIndexedMessageToMessageCodec.class:?]
          at io.netty.handler.codec.MessageToMessageCodec$2.decode(MessageToMessageCodec.java:81) ~[MessageToMessageCodec$2.class:?]
          at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:89) ~[MessageToMessageDecoder.class:?]
          … 13 more
          Caused by: java.lang.NoSuchMethodException: diabolicatrix.base.PacketOpenPlayerMenu.<init>()
          at java.lang.Class.getConstructor0(Unknown Source) ~[?:1.8.0_51]
          at java.lang.Class.newInstance(Unknown Source) ~[?:1.8.0_51]
          at cpw.mods.fml.common.network.FMLIndexedMessageToMessageCodec.decode(FMLIndexedMessageToMessageCodec.java:75) ~[FMLIndexedMessageToMessageCodec.class:?]
          at cpw.mods.fml.common.network.FMLIndexedMessageToMessageCodec.decode(FMLIndexedMessageToMessageCodec.java:17) ~[FMLIndexedMessageToMessageCodec.class:?]
          at io.netty.handler.codec.MessageToMessageCodec$2.decode(MessageToMessageCodec.java:81) ~[MessageToMessageCodec$2.class:?]
          at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:89) ~[MessageToMessageDecoder.class:?]
          … 13 more
          [11:51:42] [Server thread/ERROR] [FML]: There was a critical exception handling a packet on channel T4Channel
          io.netty.handler.codec.DecoderException: java.lang.InstantiationException: diabolicatrix.base.PacketOpenPlayerMenu
          at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:99) ~[MessageToMessageDecoder.class:?]
          at io.netty.handler.codec.MessageToMessageCodec.channelRead(MessageToMessageCodec.java:111) ~[MessageToMessageCodec.class:?]
          at io.netty.channel.DefaultChannelHandlerContext.invokeChannelRead(DefaultChannelHandlerContext.java:337) ~[DefaultChannelHandlerContext.class:?]
          at io.netty.channel.DefaultChannelHandlerContext.fireChannelRead(DefaultChannelHandlerContext.java:323) ~[DefaultChannelHandlerContext.class:?]
          at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:785) ~[DefaultChannelPipeline.class:?]
          at io.netty.channel.embedded.EmbeddedChannel.writeInbound(EmbeddedChannel.java:169) ~[EmbeddedChannel.class:?]
          at cpw.mods.fml.common.network.internal.FMLProxyPacket.processPacket(FMLProxyPacket.java:86) [FMLProxyPacket.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:?]
          Caused by: java.lang.InstantiationException: diabolicatrix.base.PacketOpenPlayerMenu
          at java.lang.Class.newInstance(Unknown Source) ~[?:1.8.0_51]
          at cpw.mods.fml.common.network.FMLIndexedMessageToMessageCodec.decode(FMLIndexedMessageToMessageCodec.java:75) ~[FMLIndexedMessageToMessageCodec.class:?]
          at cpw.mods.fml.common.network.FMLIndexedMessageToMessageCodec.decode(FMLIndexedMessageToMessageCodec.java:17) ~[FMLIndexedMessageToMessageCodec.class:?]
          at io.netty.handler.codec.MessageToMessageCodec$2.decode(MessageToMessageCodec.java:81) ~[MessageToMessageCodec$2.class:?]
          at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:89) ~[MessageToMessageDecoder.class:?]
          … 13 more
          Caused by: java.lang.NoSuchMethodException: diabolicatrix.base.PacketOpenPlayerMenu.<init>()
          at java.lang.Class.getConstructor0(Unknown Source) ~[?:1.8.0_51]
          at java.lang.Class.newInstance(Unknown Source) ~[?:1.8.0_51]
          at cpw.mods.fml.common.network.FMLIndexedMessageToMessageCodec.decode(FMLIndexedMessageToMessageCodec.java:75) ~[FMLIndexedMessageToMessageCodec.class:?]
          at cpw.mods.fml.common.network.FMLIndexedMessageToMessageCodec.decode(FMLIndexedMessageToMessageCodec.java:17) ~[FMLIndexedMessageToMessageCodec.class:?]
          at io.netty.handler.codec.MessageToMessageCodec$2.decode(MessageToMessageCodec.java:81) ~[MessageToMessageCodec$2.class:?]
          at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:89) ~[MessageToMessageDecoder.class:?]
          … 13 more
          [11:51:42] [Server thread/INFO]: Stopping server
          [11:51:42] [Server thread/INFO]: Saving players
          [11:51:42] [Server thread/INFO]: Saving worlds
          [11:51:42] [Server thread/INFO]: Saving chunks for level 'New World'/Overworld
          [11:51:42] [Server thread/INFO]: Saving chunks for level 'New World'/Nether
          [11:51:42] [Server thread/INFO]: Saving chunks for level 'New World'/The End
          [11:51:43] [Server thread/INFO] [FML]: Unloading dimension 0
          [11:51:43] [Server thread/INFO] [FML]: Unloading dimension -1
          [11:51:43] [Server thread/INFO] [FML]: Unloading dimension 1
          [11:51:43] [Server thread/INFO] [FML]: Applying holder lookups
          [11:51:43] [Server thread/INFO] [FML]: Holder lookups applied
          
          

          Mon PacketOp:

          package diabolicatrix.base;
          
          import cpw.mods.fml.common.network.simpleimpl.IMessage;
          import cpw.mods.fml.common.network.simpleimpl.IMessageHandler;
          import cpw.mods.fml.common.network.simpleimpl.MessageContext;
          import io.netty.buffer.ByteBuf;
          import net.minecraft.client.Minecraft;
          import net.minecraft.entity.player.EntityPlayerMP;
          import net.minecraft.server.MinecraftServer;
          
          public class PacketOp implements IMessage {
          
          @Override
          public void fromBytes(ByteBuf buf) {}
          
          @Override
          public void toBytes(ByteBuf buf) {}
          
          public static class Handler implements IMessageHandler <packetop, packetopenplayermenu="">{
          private boolean isOp;
          
          @Override
          public PacketOpenPlayerMenu onMessage(PacketOp message, MessageContext ctx) {
          EntityPlayerMP player = ctx.getServerHandler().playerEntity;
          System.out.println("Message Reçu");
          if(MinecraftServer.getServer().getConfigurationManager().func_152596_g(player.getGameProfile()))
          {
          System.out.println("op");
          return new PacketOpenPlayerMenu(true);
          }
          else
          {
          System.out.println("player");
          return new PacketOpenPlayerMenu(false);
          }
          }
          
          }
          
          }
          

          Mon packopenplayer…:

          package diabolicatrix.base;
          
          import cpw.mods.fml.common.network.simpleimpl.IMessage;
          import cpw.mods.fml.common.network.simpleimpl.IMessageHandler;
          import cpw.mods.fml.common.network.simpleimpl.MessageContext;
          import io.netty.buffer.ByteBuf;
          import net.minecraft.client.Minecraft;
          
          public class PacketOpenPlayerMenu implements IMessage {
          
          public static boolean isOp;
          
          public PacketOpenPlayerMenu(boolean b) {
          this.isOp = b;
          }
          
          @Override
          public void fromBytes(ByteBuf buf) {}
          
          @Override
          public void toBytes(ByteBuf buf) {}
          
          public static class Handler implements IMessageHandler <packetopenplayermenu, imessage="">{
          @Override
          public IMessage onMessage(PacketOpenPlayerMenu message, MessageContext ctx) {
          if(isOp)
          {
          Minecraft.getMinecraft().displayGuiScreen(new GuiMouseOverOp());
          }
          else
          {
          Minecraft.getMinecraft().displayGuiScreen(new GuiMouseOver());
          }
          return null;
          }
          }
          
          }
          
          ```</packetopenplayermenu,></packetop,></init></init></init></init></init></init>
          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

            Il te manque un constructeur vide dans la classe PacketOpenPlayerMenu. Pour tous les paquets il faut toujours un constructeur vide.
            Ajoutes :
            public PacketOpenPlayerMenu() {
            }
            Et ta variable isOp ne devrait pas être static, dans le handler tu dois utiliser message.isOp au lieu de isOp.

            1 réponse Dernière réponse Répondre Citer 0
            • DiabolicaTrixD Hors-ligne
              DiabolicaTrix Correcteurs Moddeurs confirmés
              dernière édition par

              ça ne crash plus mais j’ai aucune réponse comme si le packetop ne recoit plus le packet

              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

                Mets des System.out.println(“blabla”); par-ci par là pour regarder si ça s’exécute ou pas.

                1 réponse Dernière réponse Répondre Citer 0
                • DiabolicaTrixD Hors-ligne
                  DiabolicaTrix Correcteurs Moddeurs confirmés
                  dernière édition par

                  Ma touche est détectée mais le packet n’est pas reçu

                  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

                    Tu as bien enregistré les paquets ?

                    1 réponse Dernière réponse Répondre Citer 0
                    • DiabolicaTrixD Hors-ligne
                      DiabolicaTrix Correcteurs Moddeurs confirmés
                      dernière édition par

                      Ouais

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

                        Envoi classe principale (celle avec le network), la classe du paquet et l’envoi du paquet.

                        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
                        • DiabolicaTrixD Hors-ligne
                          DiabolicaTrix Correcteurs Moddeurs confirmés
                          dernière édition par

                          J’envoie demain, je n’ai pas accès à mon ordi c’est pour ça que je ne l’ai pas encore donné

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

                            Dans ton PacketOpenPlayerMenu, les méthodes fromBytes(ByteBuf buf) et toBytes(ByteBuf buf) ne doivent pas être vide.
                            Relis le tutoriel.
                            Pourquoi as-tu utilisé static pour ton boolean isOp ?

                            –------------------------------------------------------------------------------------
                            Si tu trouves mon intervention pertinente, n'hésite pas a m…

                            1 réponse Dernière réponse Répondre Citer 0
                            • DiabolicaTrixD Hors-ligne
                              DiabolicaTrix Correcteurs Moddeurs confirmés
                              dernière édition par

                              C’était pas volontaire, c’est eclipse qui me l’avait proposé, je l’ai enlevé après. Sinon, je de nouveau accès à mon ordi j’édit dans 2 min pour les codes.

                              1 réponse Dernière réponse Répondre Citer 0
                              • DiabolicaTrixD Hors-ligne
                                DiabolicaTrix Correcteurs Moddeurs confirmés
                                dernière édition par

                                C’était pas volontaire, c’est eclipse qui me l’avait proposé, je l’ai enlevé après. Sinon, je de nouveau accès à mon ordi j’édit dans 2 min pour les codes.

                                PS: qu’est-ce que j’utilise dans le fromByte?

                                Edit:

                                Main:

                                network = NetworkRegistry.INSTANCE.newSimpleChannel("T4Channel");
                                network.registerMessage(PacketOp.Handler.class, PacketOp.class, 0, Side.SERVER);
                                
                                network.registerMessage(PacketOpenPlayerMenu.Handler.class, PacketOpenPlayerMenu.class, 0, Side.CLIENT);
                                

                                PacketOp:

                                package diabolicatrix.base;
                                
                                import cpw.mods.fml.common.network.simpleimpl.IMessage;
                                import cpw.mods.fml.common.network.simpleimpl.IMessageHandler;
                                import cpw.mods.fml.common.network.simpleimpl.MessageContext;
                                import io.netty.buffer.ByteBuf;
                                import net.minecraft.client.Minecraft;
                                import net.minecraft.entity.player.EntityPlayerMP;
                                import net.minecraft.server.MinecraftServer;
                                
                                public class PacketOp implements IMessage {
                                
                                @Override
                                public void fromBytes(ByteBuf buf) {}
                                
                                @Override
                                public void toBytes(ByteBuf buf) {}
                                
                                public static class Handler implements IMessageHandler <packetop, packetopenplayermenu="">{
                                private boolean isOp;
                                
                                @Override
                                public PacketOpenPlayerMenu onMessage(PacketOp message, MessageContext ctx) {
                                EntityPlayerMP player = ctx.getServerHandler().playerEntity;
                                System.out.println("Message Reçu");
                                if(MinecraftServer.getServer().getConfigurationManager().func_152596_g(player.getGameProfile()))
                                {
                                System.out.println("op");
                                return new PacketOpenPlayerMenu(true);
                                }
                                else
                                {
                                System.out.println("player");
                                return new PacketOpenPlayerMenu(false);
                                }
                                }
                                
                                }
                                
                                }
                                

                                PacketOpenPlayerMenu:

                                package diabolicatrix.base;
                                
                                import cpw.mods.fml.common.network.ByteBufUtils;
                                import cpw.mods.fml.common.network.simpleimpl.IMessage;
                                import cpw.mods.fml.common.network.simpleimpl.IMessageHandler;
                                import cpw.mods.fml.common.network.simpleimpl.MessageContext;
                                import io.netty.buffer.ByteBuf;
                                import net.minecraft.client.Minecraft;
                                
                                public class PacketOpenPlayerMenu implements IMessage {
                                
                                public boolean isOp;
                                
                                public PacketOpenPlayerMenu(boolean b) {
                                this.isOp = b;
                                }
                                
                                public PacketOpenPlayerMenu() {
                                }
                                
                                @Override
                                public void fromBytes(ByteBuf buf) {
                                }
                                
                                @Override
                                public void toBytes(ByteBuf buf) {}
                                
                                public static class Handler implements IMessageHandler <packetopenplayermenu, imessage="">{
                                @Override
                                public IMessage onMessage(PacketOpenPlayerMenu message, MessageContext ctx) {
                                if(message.isOp)
                                {
                                Minecraft.getMinecraft().displayGuiScreen(new GuiMouseOverOp());
                                }
                                else
                                {
                                Minecraft.getMinecraft().displayGuiScreen(new GuiMouseOver());
                                }
                                return null;
                                }
                                }
                                
                                }
                                ```</packetopenplayermenu,></packetop,>
                                1 réponse Dernière réponse Répondre Citer 0
                                • SCAREXS Hors-ligne
                                  SCAREX
                                  dernière édition par

                                  Çà veut dire que t’as essayé d’appeler la valeur de façon statique. Or tu dois avoir un booléen par joueur

                                  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
                                  • DiabolicaTrixD Hors-ligne
                                    DiabolicaTrix Correcteurs Moddeurs confirmés
                                    dernière édition par

                                    Ouais, pour le static, ça va mais pour les codes, j’ai edit mon message précédent, pour le formbyte et tobyte qu’est-ce que je dois mettre pour un boolean?

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

                                      Incrémente le discriminant pour ton channel. Mets ta variable isOp en private.
                                      Dans fromByte, tu as un ByteBuffer plein avec lequel tu remplis les attributs de ton objet.
                                      Dans toByte, tu as un ByteBuffer vide que tu dois remplir avec les attributs de ton objet.
                                      Je ne peux que te conseiller d’apprendre le Java car je ne pense pas que tu ai un bagage assez suffisant pour faire du modding Minecraft correctement. Je ne te dis pas ça pour te décourager mais au contraire, ça va t’éviter de patauger dans la boue pour chaques nouveautés et tu coderas beaucoup plus vite.

                                      –------------------------------------------------------------------------------------
                                      Si tu trouves mon intervention pertinente, n'hésite pas a m…

                                      1 réponse Dernière réponse Répondre Citer 0
                                      • DiabolicaTrixD Hors-ligne
                                        DiabolicaTrix Correcteurs Moddeurs confirmés
                                        dernière édition par

                                        Pour l’incrémentation c’était une erreur d’inattention sinon je ne comprend pas très bien l’utilité de frombyte/tobyte et ce qui faut que je mettes dedans, pour la vitesse j’ai aucun problème que ça me prenne 3 ans, ça ne me dérange pas :P. J’aime mieux apprendre avec quelque chose de concret comme Minecraft que de me mettre sur OpenClassroom et faire une calculatrice… :s


                                        package diabolicatrix.base;
                                        
                                        import cpw.mods.fml.common.network.simpleimpl.IMessage;
                                        import cpw.mods.fml.common.network.simpleimpl.IMessageHandler;
                                        import cpw.mods.fml.common.network.simpleimpl.MessageContext;
                                        import io.netty.buffer.ByteBuf;
                                        import net.minecraft.client.Minecraft;
                                        import net.minecraft.entity.player.EntityPlayerMP;
                                        import net.minecraft.server.MinecraftServer;
                                        
                                        public class PacketOp implements IMessage {
                                        
                                        @Override
                                        public void fromBytes(ByteBuf buf) {}
                                        
                                        @Override
                                        public void toBytes(ByteBuf buf) {}
                                        
                                        public static class Handler implements IMessageHandler <packetop, packetopenplayermenu="">{
                                        private boolean isOp;
                                        
                                        @Override
                                        public PacketOpenPlayerMenu onMessage(PacketOp message, MessageContext ctx) {
                                        EntityPlayerMP player = ctx.getServerHandler().playerEntity;
                                        System.out.println("Message Reçu");
                                        if(MinecraftServer.getServer().getConfigurationManager().func_152596_g(player.getGameProfile()))
                                        {
                                        System.out.println("op");
                                        return new PacketOpenPlayerMenu(true);
                                        }
                                        else
                                        {
                                        System.out.println("player");
                                        return new PacketOpenPlayerMenu(false);
                                        }
                                        }
                                        
                                        }
                                        
                                        }
                                        

                                        Mon code fonctionne jusqu’ici, si le joueur est op, ça ecrit op sinon player mais le packetopenplayermenu ne récupère pas le true ou le false donc c’est toujours le menu player qui ouvre.</packetop,>

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

                                          Pour le paquet qui vient du client, y’a pas besoin d’y insérer des données. En revanche il faut écrire ton booléen dans ton autre paquet : fromBytes et toBytes sont comme les NBT, une fonction lit, l’autre écrit, regarde le tuto de blackout.

                                          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
                                          • DiabolicaTrixD Hors-ligne
                                            DiabolicaTrix Correcteurs Moddeurs confirmés
                                            dernière édition par

                                            J’ai lu le tuto de blackout mais quel est la fonction pour les boolean? Je sais que pour les string c’est ByteBufUtils.readUTF8String(buf); et que pour les int c’est: ByteBufUtils.readVarInt(buf, maxSize);

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

                                            MINECRAFT FORGE FRANCE © 2024

                                            Powered by NodeBB