• Register
    • Login
    • Search
    • Recent
    • Tags
    • Popular
    • Users
    • Groups

    Solved #1.12.2 - Problème : slots container / entity / ghostblocks

    1.12.x
    1.12.x
    4
    13
    1491
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • SpyMan
      SpyMan last edited by robin4002

      Yo, tout le monde
      Des problèmes, toujours des problèmes….

      J’ai créer un blocks type quarry (like buildcraft) sauf que bah quand je fait un world#setBlockair ou dektroyBlock, jai un ghostblocks qui apparait (Class du TE)

      ensuite avec le container de ce même block, les slots du player inventory sont placé n’importe comment (Class du container)

      et pour fini j’ai “essayé” de créer une entity tout ce quil y a de plus basique (en gros une petite bouboule pour faire jolie) (Class RenderEntityQuarryMiner, ModelQuarryMiner, EntityQuarryMiner, main class pour le registry)
      j’arrive a avoir l’entity en faisant /summon mais elle apparait pas dans le monde

      si quelqu’un aurait l’amabilité de bien vouloir m’aider, j’en serait très content, car j’en n’ai mare de suivre des vieux tutos tout claquer qui me mène a rien

      Merci encore de m’aider a résoudre mes problèmes si toutefois vous y parvenez

      src.zip

      1 Reply Last reply Reply Quote 0
      • LeBossMax2
        LeBossMax2 last edited by

        Salut,
        il se trouve que le gui est coté client, donc le bouton n’active la quarry uniquement coté client. (-> packets !)

        1 Reply Last reply Reply Quote 0
        • SpyMan
          SpyMan last edited by

          srx je pensais pas que cela se comportais ainsi
          donc je dois utiliser les packets par contre je ne sais pas du tout comment faire (j’ai jamais utiliser de packets)
          peut-tu m’indiquer la marche a suivre plz ?

          1 Reply Last reply Reply Quote 0
          • Joelchasseu
            Joelchasseu last edited by

            Je sais pas si ça a changé des masses depuis la 1.7.2/1.7.10 mais ce tuto est bien pour apprendre a manier les packets 😉

            https://www.minecraftforgefrance.fr/showthread.php?tid=1118

            1 Reply Last reply Reply Quote 0
            • SpyMan
              SpyMan last edited by

              merci 😄

              1 Reply Last reply Reply Quote 0
              • SpyMan
                SpyMan last edited by robin4002

                Coucou tout le monde, comme je ne sais pas use les packets bah je sais pas trop résoudre ca

                net.minecraftforge.fml.common.LoaderExceptionModCrash: Caught exception from Basic Machines (basicmachines)
                Caused by: java.lang.NullPointerException
                at net.spyman.basicmachines.common.BasicMachines.init(BasicMachines.java:59)
                at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
                at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
                at java.lang.reflect.Method.invoke(Method.java:498)
                at net.minecraftforge.fml.common.FMLModContainer.handleModStateEvent(FMLModContainer.java:608)
                at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
                at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
                at java.lang.reflect.Method.invoke(Method.java:498)
                at com.google.common.eventbus.Subscriber.invokeSubscriberMethod(Subscriber.java:91)
                at com.google.common.eventbus.Subscriber$SynchronizedSubscriber.invokeSubscriberMethod(Subscriber.java:150)
                at com.google.common.eventbus.Subscriber$1.run(Subscriber.java:76)
                at com.google.common.util.concurrent.MoreExecutors$DirectExecutor.execute(MoreExecutors.java:399)
                at com.google.common.eventbus.Subscriber.dispatchEvent(Subscriber.java:71)
                at com.google.common.eventbus.Dispatcher$PerThreadQueuedDispatcher.dispatch(Dispatcher.java:116)
                at com.google.common.eventbus.EventBus.post(EventBus.java:217)
                at net.minecraftforge.fml.common.LoadController.sendEventToModContainer(LoadController.java:253)
                at net.minecraftforge.fml.common.LoadController.propogateStateMessage(LoadController.java:231)
                at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
                at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
                at java.lang.reflect.Method.invoke(Method.java:498)
                at com.google.common.eventbus.Subscriber.invokeSubscriberMethod(Subscriber.java:91)
                at com.google.common.eventbus.Subscriber$SynchronizedSubscriber.invokeSubscriberMethod(Subscriber.java:150)
                at com.google.common.eventbus.Subscriber$1.run(Subscriber.java:76)
                at com.google.common.util.concurrent.MoreExecutors$DirectExecutor.execute(MoreExecutors.java:399)
                at com.google.common.eventbus.Subscriber.dispatchEvent(Subscriber.java:71)
                at com.google.common.eventbus.Dispatcher$PerThreadQueuedDispatcher.dispatch(Dispatcher.java:116)
                at com.google.common.eventbus.EventBus.post(EventBus.java:217)
                at net.minecraftforge.fml.common.LoadController.distributeStateMessage(LoadController.java:148)
                at net.minecraftforge.fml.common.Loader.initializeMods(Loader.java:719)
                at net.minecraftforge.fml.client.FMLClientHandler.finishMinecraftLoading(FMLClientHandler.java:352)
                at net.minecraft.client.Minecraft.init(Minecraft.java:581)
                at net.minecraft.client.Minecraft.run(Minecraft.java:421)
                at net.minecraft.client.main.Main.main(Main.java:118)
                at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
                at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
                at java.lang.reflect.Method.invoke(Method.java:498)
                at net.minecraft.launchwrapper.Launch.launch(Launch.java:135)
                at net.minecraft.launchwrapper.Launch.main(Launch.java:28)
                at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
                at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
                at java.lang.reflect.Method.invoke(Method.java:498)
                at net.minecraftforge.gradle.GradleStartCommon.launch(GradleStartCommon.java:97)
                at GradleStart.main(GradleStart.java:26)
                

                src.zip

                je pense aussi que mes class <implements IMessage>et <implements IMessageHandler>ne pas correctement construites

                1 Reply Last reply Reply Quote 0
                • Joelchasseu
                  Joelchasseu last edited by

                  Tu appelles le champ network mais tu ne l’as pas instancié (tu l’as bien déclaré mais pas défini) ce qui explique un NullPointerException.

                  Je te conseille cette vidéo pour apprendre a lire les crash logs car c’est une erreur commune et facile a résoudre quand on commence a toucher au modding.

                  Youtube Video

                  Je ne te donne pas le code directement mais si tu comprends la vidéo tu seras la corrger par toi même ce qui te feras progresser. Je suis passé par là aussi, comme a peu près tout le monde je pense.

                  PS : pour peu de ligne de code comme un paquet essaie de mettre ton code directement sur le forum, c’est moins long pour nous de t’aider 😉
                  PS 2 : Si quelqu’un de plus expérimenté se rend compte que mon vocabulaire n’est pas au point n’hésitez pas à me reprendre surtout.

                  1 Reply Last reply Reply Quote 0
                  • SpyMan
                    SpyMan last edited by robin4002

                    ok je suis aveugle j’avais pas vu que javais oublier le network = …

                    bon c’est bon mon network n’est plus null mais j’ai un autre problème quand le sendToServer();
                    (appleler quand je click sur un button dans ma class de Gui (GuiBlockQuarry)

                    14:42:54] [Netty Server IO #1/ERROR]: FMLIndexedMessageCodec exception caught
                    io.netty.handler.codec.DecoderException: java.lang.InstantiationException: net.spyman.basicmachines.common.packet.MessageBlockQuarry
                    at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:98) ~[MessageToMessageDecoder.class:4.1.9.Final]
                    at io.netty.handler.codec.MessageToMessageCodec.channelRead(MessageToMessageCodec.java:111) ~[MessageToMessageCodec.class:4.1.9.Final]
                    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362) [AbstractChannelHandlerContext.class:4.1.9.Final]
                    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348) [AbstractChannelHandlerContext.class:4.1.9.Final]
                    at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340) [AbstractChannelHandlerContext.class:4.1.9.Final]
                    at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1334) [DefaultChannelPipeline$HeadContext.class:4.1.9.Final]
                    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362) [AbstractChannelHandlerContext.class:4.1.9.Final]
                    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348) [AbstractChannelHandlerContext.class:4.1.9.Final]
                    at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:926) [DefaultChannelPipeline.class:4.1.9.Final]
                    at io.netty.channel.embedded.EmbeddedChannel.writeInbound(EmbeddedChannel.java:274) [EmbeddedChannel.class:4.1.9.Final]
                    at net.minecraftforge.fml.common.network.internal.FMLProxyPacket.processPacket(FMLProxyPacket.java:108) [FMLProxyPacket.class:?]
                    at net.minecraft.network.NetworkManager.channelRead0(NetworkManager.java:155) [NetworkManager.class:?]
                    at net.minecraft.network.NetworkManager.channelRead0(NetworkManager.java:49) [NetworkManager.class:?]
                    at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:105) [SimpleChannelInboundHandler.class:4.1.9.Final]
                    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362) [AbstractChannelHandlerContext.class:4.1.9.Final]
                    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348) [AbstractChannelHandlerContext.class:4.1.9.Final]
                    at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340) [AbstractChannelHandlerContext.class:4.1.9.Final]
                    at net.minecraftforge.fml.common.network.handshake.NetworkDispatcher.handleServerSideCustomPacket(NetworkDispatcher.java:446) [NetworkDispatcher.class:?]
                    at net.minecraftforge.fml.common.network.handshake.NetworkDispatcher.channelRead0(NetworkDispatcher.java:268) [NetworkDispatcher.class:?]
                    at net.minecraftforge.fml.common.network.handshake.NetworkDispatcher.channelRead0(NetworkDispatcher.java:72) [NetworkDispatcher.class:?]
                    at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:105) [SimpleChannelInboundHandler.class:4.1.9.Final]
                    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362) [AbstractChannelHandlerContext.class:4.1.9.Final]
                    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348) [AbstractChannelHandlerContext.class:4.1.9.Final]
                    at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340) [AbstractChannelHandlerContext.class:4.1.9.Final]
                    at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1334) [DefaultChannelPipeline$HeadContext.class:4.1.9.Final]
                    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362) [AbstractChannelHandlerContext.class:4.1.9.Final]
                    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348) [AbstractChannelHandlerContext.class:4.1.9.Final]
                    at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:926) [DefaultChannelPipeline.class:4.1.9.Final]
                    at io.netty.channel.local.LocalChannel.finishPeerRead0(LocalChannel.java:443) [LocalChannel.class:4.1.9.Final]
                    at io.netty.channel.local.LocalChannel.access$500(LocalChannel.java:49) [LocalChannel.class:4.1.9.Final]
                    at io.netty.channel.local.LocalChannel$5.run(LocalChannel.java:397) [LocalChannel$5.class:4.1.9.Final]
                    at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:163) [AbstractEventExecutor.class:4.1.9.Final]
                    at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:403) [SingleThreadEventExecutor.class:4.1.9.Final]
                    at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:442) [NioEventLoop.class:4.1.9.Final]
                    at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:858) [SingleThreadEventExecutor$5.class:4.1.9.Final]
                    at java.lang.Thread.run(Thread.java:745) [?:1.8.0_121]
                    Caused by: java.lang.InstantiationException: net.spyman.basicmachines.common.packet.MessageBlockQuarry
                    at java.lang.Class.newInstance(Class.java:427) ~[?:1.8.0_121]
                    at net.minecraftforge.fml.common.network.FMLIndexedMessageToMessageCodec.decode(FMLIndexedMessageToMessageCodec.java:99) ~[FMLIndexedMessageToMessageCodec.class:?]
                    at net.minecraftforge.fml.common.network.FMLIndexedMessageToMessageCodec.decode(FMLIndexedMessageToMessageCodec.java:38) ~[FMLIndexedMessageToMessageCodec.class:?]
                    at io.netty.handler.codec.MessageToMessageCodec$2.decode(MessageToMessageCodec.java:81) ~[MessageToMessageCodec$2.class:4.1.9.Final]
                    at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:88) ~[MessageToMessageDecoder.class:4.1.9.Final]
                    … 35 more
                    Caused by: java.lang.NoSuchMethodException: net.spyman.basicmachines.common.packet.MessageBlockQuarry.<init>()
                    at java.lang.Class.getConstructor0(Class.java:3082) ~[?:1.8.0_121]
                    at java.lang.Class.newInstance(Class.java:412) ~[?:1.8.0_121]
                    at net.minecraftforge.fml.common.network.FMLIndexedMessageToMessageCodec.decode(FMLIndexedMessageToMessageCodec.java:99) ~[FMLIndexedMessageToMessageCodec.class:?]
                    at net.minecraftforge.fml.common.network.FMLIndexedMessageToMessageCodec.decode(FMLIndexedMessageToMessageCodec.java:38) ~[FMLIndexedMessageToMessageCodec.class:?]
                    at io.netty.handler.codec.MessageToMessageCodec$2.decode(MessageToMessageCodec.java:81) ~[MessageToMessageCodec$2.class:4.1.9.Final]
                    at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:88) ~[MessageToMessageDecoder.class:4.1.9.Final]
                    … 35 more
                    [14:42:54] [Netty Server IO #1/ERROR]: SimpleChannelHandlerWrapper exception
                    io.netty.handler.codec.DecoderException: java.lang.InstantiationException: net.spyman.basicmachines.common.packet.MessageBlockQuarry
                    at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:98) ~[MessageToMessageDecoder.class:4.1.9.Final]
                    at io.netty.handler.codec.MessageToMessageCodec.channelRead(MessageToMessageCodec.java:111) ~[MessageToMessageCodec.class:4.1.9.Final]
                    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362) [AbstractChannelHandlerContext.class:4.1.9.Final]
                    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348) [AbstractChannelHandlerContext.class:4.1.9.Final]
                    at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340) [AbstractChannelHandlerContext.class:4.1.9.Final]
                    at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1334) [DefaultChannelPipeline$HeadContext.class:4.1.9.Final]
                    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362) [AbstractChannelHandlerContext.class:4.1.9.Final]
                    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348) [AbstractChannelHandlerContext.class:4.1.9.Final]
                    at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:926) [DefaultChannelPipeline.class:4.1.9.Final]
                    at io.netty.channel.embedded.EmbeddedChannel.writeInbound(EmbeddedChannel.java:274) [EmbeddedChannel.class:4.1.9.Final]
                    at net.minecraftforge.fml.common.network.internal.FMLProxyPacket.processPacket(FMLProxyPacket.java:108) [FMLProxyPacket.class:?]
                    at net.minecraft.network.NetworkManager.channelRead0(NetworkManager.java:155) [NetworkManager.class:?]
                    at net.minecraft.network.NetworkManager.channelRead0(NetworkManager.java:49) [NetworkManager.class:?]
                    at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:105) [SimpleChannelInboundHandler.class:4.1.9.Final]
                    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362) [AbstractChannelHandlerContext.class:4.1.9.Final]
                    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348) [AbstractChannelHandlerContext.class:4.1.9.Final]
                    at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340) [AbstractChannelHandlerContext.class:4.1.9.Final]
                    at net.minecraftforge.fml.common.network.handshake.NetworkDispatcher.handleServerSideCustomPacket(NetworkDispatcher.java:446) [NetworkDispatcher.class:?]
                    at net.minecraftforge.fml.common.network.handshake.NetworkDispatcher.channelRead0(NetworkDispatcher.java:268) [NetworkDispatcher.class:?]
                    at net.minecraftforge.fml.common.network.handshake.NetworkDispatcher.channelRead0(NetworkDispatcher.java:72) [NetworkDispatcher.class:?]
                    at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:105) [SimpleChannelInboundHandler.class:4.1.9.Final]
                    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362) [AbstractChannelHandlerContext.class:4.1.9.Final]
                    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348) [AbstractChannelHandlerContext.class:4.1.9.Final]
                    at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340) [AbstractChannelHandlerContext.class:4.1.9.Final]
                    at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1334) [DefaultChannelPipeline$HeadContext.class:4.1.9.Final]
                    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362) [AbstractChannelHandlerContext.class:4.1.9.Final]
                    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348) [AbstractChannelHandlerContext.class:4.1.9.Final]
                    at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:926) [DefaultChannelPipeline.class:4.1.9.Final]
                    at io.netty.channel.local.LocalChannel.finishPeerRead0(LocalChannel.java:443) [LocalChannel.class:4.1.9.Final]
                    at io.netty.channel.local.LocalChannel.access$500(LocalChannel.java:49) [LocalChannel.class:4.1.9.Final]
                    at io.netty.channel.local.LocalChannel$5.run(LocalChannel.java:397) [LocalChannel$5.class:4.1.9.Final]
                    at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:163) [AbstractEventExecutor.class:4.1.9.Final]
                    at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:403) [SingleThreadEventExecutor.class:4.1.9.Final]
                    at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:442) [NioEventLoop.class:4.1.9.Final]
                    at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:858) [SingleThreadEventExecutor$5.class:4.1.9.Final]
                    at java.lang.Thread.run(Thread.java:745) [?:1.8.0_121]
                    Caused by: java.lang.InstantiationException: net.spyman.basicmachines.common.packet.MessageBlockQuarry
                    at java.lang.Class.newInstance(Class.java:427) ~[?:1.8.0_121]
                    at net.minecraftforge.fml.common.network.FMLIndexedMessageToMessageCodec.decode(FMLIndexedMessageToMessageCodec.java:99) ~[FMLIndexedMessageToMessageCodec.class:?]
                    at net.minecraftforge.fml.common.network.FMLIndexedMessageToMessageCodec.decode(FMLIndexedMessageToMessageCodec.java:38) ~[FMLIndexedMessageToMessageCodec.class:?]
                    at io.netty.handler.codec.MessageToMessageCodec$2.decode(MessageToMessageCodec.java:81) ~[MessageToMessageCodec$2.class:4.1.9.Final]
                    at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:88) ~[MessageToMessageDecoder.class:4.1.9.Final]
                    … 35 more
                    Caused by: java.lang.NoSuchMethodException: net.spyman.basicmachines.common.packet.MessageBlockQuarry.<init>()
                    at java.lang.Class.getConstructor0(Class.java:3082) ~[?:1.8.0_121]
                    at java.lang.Class.newInstance(Class.java:412) ~[?:1.8.0_121]
                    at net.minecraftforge.fml.common.network.FMLIndexedMessageToMessageCodec.decode(FMLIndexedMessageToMessageCodec.java:99) ~[FMLIndexedMessageToMessageCodec.class:?]
                    at net.minecraftforge.fml.common.network.FMLIndexedMessageToMessageCodec.decode(FMLIndexedMessageToMessageCodec.java:38) ~[FMLIndexedMessageToMessageCodec.class:?]
                    at io.netty.handler.codec.MessageToMessageCodec$2.decode(MessageToMessageCodec.java:81) ~[MessageToMessageCodec$2.class:4.1.9.Final]
                    at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:88) ~[MessageToMessageDecoder.class:4.1.9.Final]
                    … 35 more
                    [14:42:54] [Netty Server IO #1/ERROR]: There was a critical exception handling a packet on channel basicmachines:channel1
                    io.netty.handler.codec.DecoderException: java.lang.InstantiationException: net.spyman.basicmachines.common.packet.MessageBlockQuarry
                    at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:98) ~[MessageToMessageDecoder.class:4.1.9.Final]
                    at io.netty.handler.codec.MessageToMessageCodec.channelRead(MessageToMessageCodec.java:111) ~[MessageToMessageCodec.class:4.1.9.Final]
                    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362) ~[AbstractChannelHandlerContext.class:4.1.9.Final]
                    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348) ~[AbstractChannelHandlerContext.class:4.1.9.Final]
                    at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340) ~[AbstractChannelHandlerContext.class:4.1.9.Final]
                    at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1334) ~[DefaultChannelPipeline$HeadContext.class:4.1.9.Final]
                    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362) ~[AbstractChannelHandlerContext.class:4.1.9.Final]
                    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348) ~[AbstractChannelHandlerContext.class:4.1.9.Final]
                    at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:926) ~[DefaultChannelPipeline.class:4.1.9.Final]
                    at io.netty.channel.embedded.EmbeddedChannel.writeInbound(EmbeddedChannel.java:274) ~[EmbeddedChannel.class:4.1.9.Final]
                    at net.minecraftforge.fml.common.network.internal.FMLProxyPacket.processPacket(FMLProxyPacket.java:108) [FMLProxyPacket.class:?]
                    at net.minecraft.network.NetworkManager.channelRead0(NetworkManager.java:155) [NetworkManager.class:?]
                    at net.minecraft.network.NetworkManager.channelRead0(NetworkManager.java:49) [NetworkManager.class:?]
                    at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:105) [SimpleChannelInboundHandler.class:4.1.9.Final]
                    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362) [AbstractChannelHandlerContext.class:4.1.9.Final]
                    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348) [AbstractChannelHandlerContext.class:4.1.9.Final]
                    at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340) [AbstractChannelHandlerContext.class:4.1.9.Final]
                    at net.minecraftforge.fml.common.network.handshake.NetworkDispatcher.handleServerSideCustomPacket(NetworkDispatcher.java:446) [NetworkDispatcher.class:?]
                    at net.minecraftforge.fml.common.network.handshake.NetworkDispatcher.channelRead0(NetworkDispatcher.java:268) [NetworkDispatcher.class:?]
                    at net.minecraftforge.fml.common.network.handshake.NetworkDispatcher.channelRead0(NetworkDispatcher.java:72) [NetworkDispatcher.class:?]
                    at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:105) [SimpleChannelInboundHandler.class:4.1.9.Final]
                    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362) [AbstractChannelHandlerContext.class:4.1.9.Final]
                    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348) [AbstractChannelHandlerContext.class:4.1.9.Final]
                    at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340) [AbstractChannelHandlerContext.class:4.1.9.Final]
                    at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1334) [DefaultChannelPipeline$HeadContext.class:4.1.9.Final]
                    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362) [AbstractChannelHandlerContext.class:4.1.9.Final]
                    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348) [AbstractChannelHandlerContext.class:4.1.9.Final]
                    at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:926) [DefaultChannelPipeline.class:4.1.9.Final]
                    at io.netty.channel.local.LocalChannel.finishPeerRead0(LocalChannel.java:443) [LocalChannel.class:4.1.9.Final]
                    at io.netty.channel.local.LocalChannel.access$500(LocalChannel.java:49) [LocalChannel.class:4.1.9.Final]
                    at io.netty.channel.local.LocalChannel$5.run(LocalChannel.java:397) [LocalChannel$5.class:4.1.9.Final]
                    at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:163) [AbstractEventExecutor.class:4.1.9.Final]
                    at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:403) [SingleThreadEventExecutor.class:4.1.9.Final]
                    at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:442) [NioEventLoop.class:4.1.9.Final]
                    at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:858) [SingleThreadEventExecutor$5.class:4.1.9.Final]
                    at java.lang.Thread.run(Thread.java:745) [?:1.8.0_121]
                    Caused by: java.lang.InstantiationException: net.spyman.basicmachines.common.packet.MessageBlockQuarry
                    at java.lang.Class.newInstance(Class.java:427) ~[?:1.8.0_121]
                    at net.minecraftforge.fml.common.network.FMLIndexedMessageToMessageCodec.decode(FMLIndexedMessageToMessageCodec.java:99) ~[FMLIndexedMessageToMessageCodec.class:?]
                    at net.minecraftforge.fml.common.network.FMLIndexedMessageToMessageCodec.decode(FMLIndexedMessageToMessageCodec.java:38) ~[FMLIndexedMessageToMessageCodec.class:?]
                    at io.netty.handler.codec.MessageToMessageCodec$2.decode(MessageToMessageCodec.java:81) ~[MessageToMessageCodec$2.class:4.1.9.Final]
                    at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:88) ~[MessageToMessageDecoder.class:4.1.9.Final]
                    … 35 more
                    Caused by: java.lang.NoSuchMethodException: net.spyman.basicmachines.common.packet.MessageBlockQuarry.<init>()
                    at java.lang.Class.getConstructor0(Class.java:3082) ~[?:1.8.0_121]
                    at java.lang.Class.newInstance(Class.java:412) ~[?:1.8.0_121]
                    at net.minecraftforge.fml.common.network.FMLIndexedMessageToMessageCodec.decode(FMLIndexedMessageToMessageCodec.java:99) ~[FMLIndexedMessageToMessageCodec.class:?]
                    at net.minecraftforge.fml.common.network.FMLIndexedMessageToMessageCodec.decode(FMLIndexedMessageToMessageCodec.java:38) ~[FMLIndexedMessageToMessageCodec.class:?]
                    at io.netty.handler.codec.MessageToMessageCodec$2.decode(MessageToMessageCodec.java:81) ~[MessageToMessageCodec$2.class:4.1.9.Final]
                    at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:88) ~[MessageToMessageDecoder.class:4.1.9.Final]
                    … 35 more
                    [14:42:54] [Netty Server IO #1/ERROR]: Network Disconnect: A fatal error has occurred, this connection is terminated
                    

                    src.zip

                    1 Reply Last reply Reply Quote 0
                    • Lycoon
                      Lycoon last edited by

                      Envoie les classes concernées en pastebin ça sera plus simple, on n’a pas que ça à faire de dl le src 🙂

                      1 Reply Last reply Reply Quote 0
                      • SpyMan
                        SpyMan last edited by

                        package net.spyman.basicmachines.common;
                        
                        import net.minecraft.creativetab.CreativeTabs;
                        import net.minecraft.item.ItemStack;
                        import net.minecraftforge.common.MinecraftForge;
                        import net.minecraftforge.fml.common.Mod;
                        import net.minecraftforge.fml.common.event.FMLInitializationEvent;
                        import net.minecraftforge.fml.common.event.FMLPostInitializationEvent;
                        import net.minecraftforge.fml.common.event.FMLPreInitializationEvent;
                        import net.minecraftforge.fml.common.network.NetworkRegistry;
                        import net.minecraftforge.fml.common.network.simpleimpl.SimpleNetworkWrapper;
                        import net.minecraftforge.fml.relauncher.Side;
                        import net.spyman.basicmachines.client.events.ClientEventHandler;
                        import net.spyman.basicmachines.common.blocks.BMBlocks;
                        import net.spyman.basicmachines.common.items.BMItems;
                        import net.spyman.basicmachines.common.packet.MessageBlockQuarry;
                        
                        @Mod(modid = "basicmachines", name = "BasicMachines", version = "1.0")
                        public class BasicMachines
                        {
                            // Mod id field
                            public static final String MODID = "basicmachines";
                            // Mod id + ':' field for resource location prefix
                            public static final String RPREFIX = MODID + ":";
                            // Insatance field;
                            @Mod.Instance("basicmachines")
                            public static BasicMachines instance;
                            // Network packets field
                            public static SimpleNetworkWrapper network;
                        
                            // Creative tab
                            public static CreativeTabs BM_TAB = new CreativeTabs("bm_tab")
                            {
                                @Override
                                public ItemStack getTabIconItem()
                                {
                                    return new ItemStack(BMBlocks.BLOCK_QUARRY);
                                }
                            };
                        
                            @Mod.EventHandler
                            public void preInit(FMLPreInitializationEvent event)
                            {
                                new BMBlocks();
                                new BMItems();
                            }
                        
                            @Mod.EventHandler
                            public void init(FMLInitializationEvent event)
                            {
                                NetworkRegistry.INSTANCE.registerGuiHandler(this, new BMGuiHandler());
                        
                                if (event.getSide().isClient())
                                {
                                    MinecraftForge.EVENT_BUS.register(new ClientEventHandler());
                                }
                        
                                network = NetworkRegistry.INSTANCE.newSimpleChannel(RPREFIX + "channel1");
                                network.registerMessage(MessageBlockQuarry.Handler.class, MessageBlockQuarry.class, 0, Side.SERVER);
                            }
                        
                            @Mod.EventHandler
                            public void postInit(FMLPostInitializationEvent event)
                            {
                        
                            }
                        }
                        
                        
                        package net.spyman.basicmachines.common.packet;
                        
                        import io.netty.buffer.ByteBuf;
                        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;
                        
                        public class MessageBlockQuarry implements IMessage
                        {
                            private String value = "false";
                        
                            public MessageBlockQuarry(String v)
                            {
                                this.value = v;
                            }
                        
                            @Override
                            public void fromBytes(ByteBuf buf)
                            {
                                this.value = ByteBufUtils.readUTF8String(buf);
                            }
                        
                            @Override
                            public void toBytes(ByteBuf buf)
                            {
                                ByteBufUtils.writeUTF8String(buf, this.value);
                            }
                        
                            public static class Handler implements IMessageHandler <messageblockquarry, imessage="">{
                                @Override
                                public IMessage onMessage(MessageBlockQuarry message, MessageContext ctx)
                                {
                                    System.out.println(message.value);
                                    return null;
                                }
                            }
                        }
                        
                        
                        package net.spyman.basicmachines.client.gui;
                        
                        import net.minecraft.client.gui.GuiButton;
                        import net.minecraft.client.gui.inventory.GuiContainer;
                        import net.minecraft.client.renderer.GlStateManager;
                        import net.minecraft.client.resources.I18n;
                        import net.minecraft.util.ResourceLocation;
                        import net.spyman.basicmachines.client.gui.components.GuiSwitchButton;
                        import net.spyman.basicmachines.common.BasicMachines;
                        import net.spyman.basicmachines.common.blocks.tileentities.TEBlockQuarry;
                        import net.spyman.basicmachines.common.containers.ContainerBlockQuarry;
                        import net.spyman.basicmachines.common.packet.MessageBlockQuarry;
                        
                        import java.awt.*;
                        import java.io.IOException;
                        
                        public class GuiBlockQuarry extends GuiContainer
                        {
                            private final ResourceLocation texture = new ResourceLocation(BasicMachines.RPREFIX + "textures/gui/container/gui_quarry.png");
                            private TEBlockQuarry tile;
                        
                            private String title = I18n.format("gui.block_quarry.title");
                            private int x = 0;
                            private int y = 0;
                            private int bh = 7;
                            private int bw = 15;
                            private int color = new Color(21, 21, 21).getRGB();
                            private GuiSwitchButton switchButton;
                            /* **** AREA BOUNDS **** */
                            private int sx = 0;
                            private int sy = 0;
                            private int sz = 0;
                            /* **** AREA BOUNDS **** */
                            private boolean isActive = false;
                            private ContainerBlockQuarry container;
                        
                            public GuiBlockQuarry(TEBlockQuarry tile, ContainerBlockQuarry container)
                            {
                                super(container);
                                this.container = container;
                                this.tile = tile;
                                this.xSize = 176;
                                this.ySize = 199;
                                this.sx = tile.getSizeX();
                                this.sy = tile.getStopY();
                                this.sz = tile.getSizeZ();
                                this.isActive = tile.isActivated();
                            }
                        
                            @Override
                            public void initGui()
                            {
                                this.x = (this.width - this.xSize) / 2;
                                this.y = (this.height - this.ySize) / 2;
                        
                                this.switchButton = new GuiSwitchButton(6, (4 + x + 20 + 10 * 5) + 23, y + 81, 65, 20, I18n.format("gui.block_quarry.button.activated", this.isActive));
                        
                                this.addButton(new GuiButton(0, 4 + x + 10,          10 + y + 50 + 15, this.bw, this.bh, "+"));
                                this.addButton(new GuiButton(1, 4 + x + 10,               y + 100, this.bw, this.bh, "-"));
                                this.addButton(new GuiButton(2, 4 + x + 10 + 10 * 3, 10 + y + 50 + 15, this.bw, this.bh, "+"));
                                this.addButton(new GuiButton(3, 4 + x + 10 + 10 * 3,      y + 100, this.bw, this.bh, "-"));
                                this.addButton(new GuiButton(4, 4 + x + 20 + 10 * 5, 10 + y + 50 + 15, this.bw, this.bh, "+"));
                                this.addButton(new GuiButton(5, 4 + x + 20 + 10 * 5,      y + 100, this.bw, this.bh, "-"));
                                this.addButton(this.switchButton); // ID = 6
                            }
                        
                            @Override
                            protected void drawGuiContainerBackgroundLayer(float partialTicks, int mouseX, int mouseY)
                            {
                                GlStateManager.color(1.0F, 1.0F, 1.0F, 1.0F);
                                this.mc.getTextureManager().bindTexture(this.texture);
                                this.drawTexturedModalRect(this.x, this.y, 0, 0, this.xSize, this.ySize);
                            }
                        
                            @Override
                            protected void drawGuiContainerForegroundLayer(int mouseX, int mouseY)
                            {
                                this.mc.fontRenderer.drawString(this.title, (float)(this.width - this.mc.fontRenderer.getStringWidth(this.title)) / 2, (float)this.y + 9, this.color, false);
                                this.mc.fontRenderer.drawString(" X      Y      Z", x + 13, y + 62, this.color, false);
                                this.mc.fontRenderer.drawString(this.sx + "", (float)5 +x + 10,          (float)12 + y + this.bh + 4 + 50 + 15, this.color, false);
                                this.mc.fontRenderer.drawString(this.sy + "", (float)5 + x + 10 + 10 * 3, (float)12 + y + this.bh + 4 + 50 + 15, this.color, false);
                                this.mc.fontRenderer.drawString(this.sz + "", (float)5 + x + 20 + 10 * 5, (float)12 + y + this.bh + 4 + 50 + 15, this.color, false);
                            }
                        
                            @Override
                            protected void actionPerformed(GuiButton button) throws IOException
                            {
                                super.actionPerformed(button);
                        
                                if (button.id == 0) this.sx++;
                                if (button.id == 1) this.sx–;
                                if (button.id == 2) this.sy++;
                                if (button.id == 3) this.sy--;
                                if (button.id == 4) this.sz++;
                                if (button.id == 5) this.sz--;
                        
                                if (button.id == 6)
                                {
                                    this.tile.setActivated(this.switchButton.getState());
                                    BasicMachines.network.sendToServer(new MessageBlockQuarry(this.switchButton.getState() + ""));
                                }
                        
                                if (this.sx < 0) this.sx = 0;
                                if (this.sy < 0) this.sy = 0;
                                if (this.sz < 0) this.sz = 0;
                        
                                this.tile.setAreaBounds(this.sx, this.sz, this.sy);
                            }
                        }
                        
                        ```</messageblockquarry,>
                        1 Reply Last reply Reply Quote 0
                        • Lycoon
                          Lycoon last edited by

                          Pourquoi ne pas utiliser un booléen à la place d’un String, je vois que tu set v sur “false”, quel intérêt ? Et donne le même nom à ta variable “value”, renomme-la v, ce qui doit te donner this.v = v, sinon quel intérêt de mettre this ?

                          1 Reply Last reply Reply Quote 0
                          • SpyMan
                            SpyMan last edited by

                            Chacun sa façon de mettre en forme son code et de nommer ses vars, et si j’ai mit un string c’est pour une bonne raison a moins que cela ne pose soucis

                            1 Reply Last reply Reply Quote 0
                            • LeBossMax2
                              LeBossMax2 last edited by

                              Il te faut un constructeur vide (sans paramètres) en plus pour ton MessageBlockQuarry. Ça sert à forge pour instancier la class quand le message est reçu.

                              1 Reply Last reply Reply Quote 0
                              • 1 / 1
                              • First post
                                Last post
                              Design by Woryk
                              Contact / Mentions Légales

                              MINECRAFT FORGE FRANCE © 2018

                              Powered by NodeBB