Packet et méthodes pour récupérer le clic gauche
-
io.netty.handler.codec.DecoderException: java.lang.InstantiationException: saomodders.saoserver.saomod.common.packet.SAOPacketMouse
Pourtant au moment du crash le constructeur vide n’était pas la. Renvoie ton crash le plus récent. -
@‘robin4002’:
io.netty.handler.codec.DecoderException: java.lang.InstantiationException: saomodders.saoserver.saomod.common.packet.SAOPacketMouse
Pourtant au moment du crash le constructeur vide n’était pas la. Renvoie ton crash le plus récent.c’est le crash le plus récent et ce que je veux te dire c’est que j’ai lu qu’un constructeur de packet ne devait jamais être vide or il me fait aussi une internal error si je retire les ligne de code dedans. En gros vide ou pas c’est pareil. Tu veux quand même que je te passe les logs quand le constructeur est vide, au cas où ?
-
Il faut un constructeur vide et un avec les arguments. Oui envoie les logs avec un constructeur vide.
-
@‘robin4002’:
Il faut un constructeur vide et un avec les arguments. Oui envoie les logs avec un constructeur vide.
Ok voici les logs avec juste un constructeur vide (du coup les 2 boolean au-dessus ne sont pas initialisés)
Lien de téléchargement : http://www.mediafire.com/download/9a4r3fjo8d66fcm/fml-client+packet+problem+constructeur+vide.log
En ajoutant 2 constructeurs, je n’ai plus de crash en solo mais il m’affiche les 2 println (du solo et du seveur)quant au multi il crash toujours mais avec un autre crash-report cette fois
here was a critical exception handling a packet on channel SAO java.lang.AbstractMethodError: fr.minecraftforgefrance.ffmtlibs.network.FFMTPacket.handleServerSide(Lnet/minecraft/entity/player/EntityPlayer;)V at fr.minecraftforgefrance.ffmtlibs.network.PacketHandler.channelRead0(PacketHandler.java:32) ~[PacketHandler.class:?] at fr.minecraftforgefrance.ffmtlibs.network.PacketHandler.channelRead0(PacketHandler.java:15) ~[PacketHandler.class:?] at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:98) ~[SimpleChannelInboundHandler.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.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:103) ~[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.dedicated.DedicatedServer.updateTimeLightAndEntities(DedicatedServer.java:349) [DedicatedServer.class:?] at net.minecraft.server.MinecraftServer.tick(MinecraftServer.java:614) [MinecraftServer.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:?] -
Renvoie la classe de ton paquet, c’est étrange d’avoir ça.
-
@‘robin4002’:
Renvoie la classe de ton paquet, c’est étrange d’avoir ça.
package saomodders.saoserver.saomod.common.packet; import io.netty.buffer.ByteBuf; import java.io.IOException; import saomodders.saoserver.saomod.common.SaoMod; import saomodders.saoserver.saomod.common.items.ItemLeftClick; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import fr.minecraftforgefrance.ffmtlibs.network.FFMTPacket; public class SAOPacketMouse extends FFMTPacket { public static boolean held; public static boolean left; public SAOPacketMouse() { } public SAOPacketMouse(boolean l, boolean h) { left = l; held = h; } @Override public void writeData(ByteBuf buffer) throws IOException { buffer.writeBoolean(held); buffer.writeBoolean(left); } @Override public void readData(ByteBuf buffer) { held = buffer.readBoolean(); left = buffer.readBoolean(); } @Override public void handleClientSide(EntityPlayer player) { } @Override @SideOnly(Side.CLIENT) public void handleServerSide(EntityPlayer player) { ItemStack currentItem = player.inventory.getCurrentItem(); if(currentItem != null && currentItem.getItem() != null && currentItem.getItem() instanceof ItemLeftClick) { //((ItemLeftClick)currentItem.getItem()).onMouseHeld(currentItem, player.worldObj, player, left, held); } } }Mais aussi la méthode handleServerSide me parait bizarre pour Server alors qu’elle est side CLIENT ? Désolé si la question semble bête car le client envoie l’info au serveur c’est ça ?
-
C’est ça, retire le @SideOnly(Side.CLIENT) il n’a rien à faire là …
-
@‘robin4002’:
C’est ça, retire le @SideOnly(Side.CLIENT) il n’a rien à faire là …
Ok ça marche mais juste un dernière question :
Pourquoi quand le joueur quitte le serv il y a ce message d’erreur ?[Netty IO #1/ERROR] [FML]: NetworkDispatcher exception java.io.IOException: Une connexion existante a dû être fermée par l’hôte distant at sun.nio.ch.SocketDispatcher.read0(Native Method) ~[?:1.7.0_71] at sun.nio.ch.SocketDispatcher.read(Unknown Source) ~[?:1.7.0_71] at sun.nio.ch.IOUtil.readIntoNativeBuffer(Unknown Source) ~[?:1.7.0_71] at sun.nio.ch.IOUtil.read(Unknown Source) ~[?:1.7.0_71] at sun.nio.ch.SocketChannelImpl.read(Unknown Source) ~[?:1.7.0_71] at io.netty.buffer.UnpooledUnsafeDirectByteBuf.setBytes(UnpooledUnsafeDirectByteBuf.java:436) ~[UnpooledUnsafeDirectByteBuf.class:?] at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:870) ~[AbstractByteBuf.class:?] at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:208) ~[NioSocketChannel.class:?] at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:87) [AbstractNioByteChannel$NioByteUnsafe.class:?] at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:480) [NioEventLoop.class:?] at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:447) [NioEventLoop.class:?] at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:341) [NioEventLoop.class:?] at io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:101) [SingleThreadEventExecutor$2.class:?] at java.lang.Thread.run(Unknown Source) [?:1.7.0_71] [23:58:24] [Server thread/INFO] [net.minecraft.network.NetHandlerPlayServer]: Player229 lost connection: TranslatableComponent{key='disconnect.genericReason', args=[Internal Exception: java.io.IOException: Une connexion existante a dû être fermée par l’hôte distant], siblings=[], style=Style{hasParent=false, color=null, bold=null, italic=null, underlined=null, obfuscated=null, clickEvent=null, hoverEvent=null}} [23:58:24] [Server thread/INFO] [net.minecraft.server.MinecraftServer]: Player229 left the gameJ’ai vaguement entendu parler des sockets c’est l’équivalent des packets ? Peux-tu m’en dire plus, stp ^^ ??
-
Heu là aucune idée, je n’ai encore jamais vu cette erreur.
-
@‘robin4002’:
Heu là aucune idée, je n’ai encore jamais vu cette erreur.
Ok Mais pas grave ça n’intervient pas et ne gêne pas le joueur. Il quitte comme si de rien n’était le serv.
Bon bah comme d’hab je te remercie infiniment robin ^^