MFF

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

    [SANS SUITE] Crash Serveur

    Planifier Épinglé Verrouillé Déplacé Résolu 1.7.x
    1.7.10
    87 Messages 7 Publieurs 19.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.
    • DeletedD Hors-ligne
      Deleted
      dernière édition par

      File ton code, il peut très bien venir d’autre part…

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

        Event:

        
        @SubscribeEvent
        public void onDeath(LivingDeathEvent event)
        {
        if(event.entityLiving instanceof EntityPlayer)
        {
        event.entityLiving.setHealth(1);
        Mort.settimer(10000);
        if(player.worldObj.isRemote){
        Minecraft.getMinecraft().displayGuiScreen(new Mort());
        }
        }
        
        

        Guiscreen:

        
        package com.DeathDelay.net.Gui;
        
        import com.DeathDelay.net.Main;
        import com.DeathDelay.net.packet.PacketGui;
        import com.DeathDelay.net.packet.PacketMedecin;
        
        import cpw.mods.fml.relauncher.Side;
        import cpw.mods.fml.relauncher.SideOnly;
        import net.minecraft.client.Minecraft;
        import net.minecraft.client.gui.GuiButton;
        import net.minecraft.client.gui.GuiScreen;
        import net.minecraft.entity.Entity;
        import net.minecraft.entity.player.EntityPlayer;
        import net.minecraft.server.MinecraftServer;
        import net.minecraft.util.ChatComponentText;
        import net.minecraft.util.ResourceLocation;
        
        public class Mort extends GuiScreen {
        
        @SideOnly(Side.CLIENT)
        
        private ResourceLocation ressource = new ResourceLocation("dd:textures/gui/death.png");
        
        private int medecin;
        
        private int spawn;
        
        public static int timer = 10000;
        
        int guiWidth = 256;
        
        int guiHeight = 256;
        
        public Mort() {
        
        }
        
        @Override
        public void initGui() {
        
        int guiX = (this.width - guiWidth) / 2;
        
        int guiY = (this.height - guiHeight) / 2;
        
        medecin = 0;
        
        spawn = 1;
        
        buttonList.clear();
        
        buttonList.add(new GuiButton(medecin, guiX + 170, guiY + 226 + 5, 58, 20, "§aAppeller un médecin"));
        
        buttonList.add(new GuiButton(spawn, guiX + 80, guiY, 120, 20, "§5Respawn possible dans"));
        
        super.initGui();
        }
        
        @Override
        protected void keyTyped(char typedChar, int keyCode) {
        super.keyTyped(typedChar, keyCode);
        }
        
        @Override
        protected void actionPerformed(GuiButton button) {
        
        switch(button.id) {
        case 0:
        Main.network.sendToServer(new PacketMedecin());
        break;
        case 1:
        if(timer > 0)
        {
        EntityPlayer player1 = Minecraft.getMinecraft().thePlayer;
        ChatComponentText text1 = new ChatComponentText("§7Vous ne pouvez pas respawn ! il vous reste: " + timer / 100 + " §7secondes");
        player1.addChatComponentMessage(text1);
        timer –;
        break;
        }
        else
        {
        
        EntityPlayer player1 = Minecraft.getMinecraft().thePlayer;
        player1.setDead();
        Minecraft.getMinecraft().thePlayer.closeScreen();
        break;
        }
        default:
        break;
        }
        
        super.actionPerformed(button);
        }
        
        @Override
        public void updateScreen() {
        super.updateScreen();
        }
        
        public void drawScreen(int mouseX, int mouseY, float partialTick) 
        
        {
        
        String tilename = "§5 : " + timer-- / 100;
        
        mc.getTextureManager().bindTexture(ressource);
        
        this.drawTexturedModalRect(this.width / 2 - 135, this.height / 2 - 127, 0, 0, 256, 255);
        if(timer > 0)
        {
        this.fontRendererObj.drawString(tilename, this.width / 2 + 95 - this.fontRendererObj.getStringWidth(tilename) / 2, 1, 0);
        }
        super.drawScreen(mouseX, mouseY, partialTick);
            }
        
        public static void settimer(int newtimer)
        {
        timer = newtimer;
        }
        
        @Override
        public void onGuiClosed() {
        
        Main.network.sendToServer(new PacketGui()); // possible que c'est ça ?
        
        }
        
        }
        
        
        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

          Envoies le code de ton paquet.

          Et dans l’event onDeath tu dois garder le paquet.
          Comme tu mets 0,5 de vie, ça doit être fait côté serveur et pas côté client.

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

            Le crash restant vient du Mort.setTimer.
            Je t’ai dit de ne laisser aucun code ayant rapport avec ton gui, qui pourrait alors être interprété par le serveur. Donc à mettre aussi danse isRemote.
            Ensuite je ne comprends pas trop @robin, si l’event LivingDeathEvent est client et server side, nullement besoin d’avoir recours au packet alors ??

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

              @‘robin4002’:

              Envoies le code de ton paquet.

              Et dans l’event onDeath tu dois garder le paquet.
              Comme tu mets 0,5 de vie, ça doit être fait côté serveur et pas côté client.

              Tien mon packet:

              public class PacketGui implements IMessage {
              
              public int i;
              
              public PacketGui(){
              
              }
              public PacketGui(int i){
              this.i = i;
              }
              
              @Override
              public void fromBytes(ByteBuf buf) {
              i = buf.readInt();
              }
              
              @Override
              public void toBytes(ByteBuf buf) {
              buf.writeInt(i);
              }
              
              public static class Handler implements IMessageHandler <packetgui, imessage="">{
                 public IMessage onMessage(PacketGui message, MessageContext ctx) {
              
                      Minecraft.getMinecraft().displayGuiScreen(new Mort());
                      return message;
                     }
              
                 }
              

              Comment ça je dois regarder lepacket ?? 
              Pour le 0.5 de heal je dois mettre un !world.isremote du coup?

              Parce que ça fait:

              
              1.  @SubscribeEvent
              2.  **public** **void** onDeath(LivingDeathEvent **event**)
              3.  {
              4.  **if**(**event**.entityLiving **instanceof** EntityPlayer && !world.isremote) // side serveur
              5.  {
              6.  **event**.entityLiving.setHealth(1);
              7.  Mort.settimer(10000);
              8.  }
              9.  **if**(player.worldObj.isRemote){ // side client 
              10.  Minecraft.getMinecraft().displayGuiScreen(**new** Mort());
              11.  }
              12.  }
              
              

              Comme ça?</packetgui,>

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

                Refresh le poste et regarde mon message précédent. Tu n’as pas besoin de le mettre uniquement côté serveur le setHealth. Peu importe en fait, de toute manière il sera automatiquement synchronisé entre les DataWatchers et les NBTTag’s.

                EDIT = Ta classe PacketGui ne sert à rien du tout car tu envoies ce packet au serveur avec comme instruction d’ouvrir ton gui mort. A partir de là 2 choses sont illogiques. La première est qu’on n’envoie pas un packet au serveur pour effectuer une action au client, sa n’a aucun sens. Mais pire, la seconde remarque est que tu dis dans la fonction onGuiClosed d’envoyer ce packet dans le but de….rouvrir une seconde fois le gui Mort ?! Là je ne te suis plus u_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

                  Au dessus de la fonction onMessage du paquet ajoutes un  @SideOnly.

                  Et tu ne devrais pas l’utiliser depuis le gui comme c’est un paquet qui va du client au serveur.

                  @Plaigon, oui en effet, on pourrait s’en passer.

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

                    @‘Plaigon’:

                    Refresh le poste et regarde mon message précédent. Tu n’as pas besoin de le mettre uniquement côté serveur le setHealth. Peu importe en fait, de toute manière il sera automatiquement synchronisé entre les DataWatchers et les NBTTag’s.

                    EDIT = Ta classe PacketGui ne sert à rien du tout car tu envoies ce packet au serveur avec comme instruction d’ouvrir ton gui mort. A partir de là 2 choses sont illogiques. La première est qu’on n’envoie pas un packet au serveur pour effectuer une action au client, sa n’a aucun sens. Mais pire, la seconde remarque est que tu dis dans la fonction onGuiClosed d’envoyer ce packet dans le but de….rouvrir une seconde fois le gui Mort ?! Là je ne te suis plus u_U

                    Pour la fonction onGuiClosed je cherche a faire en sorte de ne pas quitter le gui même avec la touche échap .
                    Edit:

                    @Robin je n’utilise plus le packet x)

                    Euhhh je viens d’essayer, le event.entityLiving.worldObj.isRemote cause problème, mon gui ne s’ouvre plus 😕

                    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

                      Donc l’event n’est pas appelé côté client.
                      Donc tu as bien besoin du paquet.

                      Pour le onGuiClosed, il serait mieux de contourner l’action de la touche échap (suffit d’override la méthode keyPressed et ne pas mettre un super.keyPressed dedans).

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

                        Euhh la vous m’avez perdu un dis que j’ai pas besoin du packet un autre dis que si …
                        @Plaigon j’ai essayer sans le packet le soucis est que avec world.isRemote mon gui ne s’ouvre pas .
                        @Robin je comprends pas trop je dois enregistrer mon packet quel side ? l’envoyer au joueur / serveur ?? dans mon event est-ce que je dois mettre un world.isremote avant l’appel du packet ?

                        Pour l’instant j’ai ça comme code:

                        ça marche pas sauf quand j’enlève le if(event.entityliving.worldObj…)

                        
                        @SubscribeEvent
                        public void onDeath(LivingDeathEvent event)
                        {
                        if(event.entityLiving instanceof EntityPlayer)
                        {
                        
                        event.entityLiving.setHealth(1);
                        
                        if(event.entityLiving.worldObj.isRemote){
                        Main.network.sendToServer(new PacketGui());
                        Mort.settimer(10000);
                        System.out.println("Mort");
                        }
                        
                        }
                        
                        }
                        
                        
                        
                         network = NetworkRegistry.INSTANCE.newSimpleChannel("dd:");
                        
                        network.registerMessage(PacketGui.Handler.class, PacketGui.class, 0, Side.CLIENT);
                        
                        1 réponse Dernière réponse Répondre Citer 0
                        • robin4002R Hors-ligne
                          robin4002 Moddeurs confirmés Rédacteurs Administrateurs
                          dernière édition par

                          Actuellement est-ce que “Mort” s’affiche dans la console ?
                          Car si oui alors l’event est bien appelé côté client, donc non pas besoin de paquet.

                          Et ton paquet tel que tu l’as fait doit aller du serveur vers le client.

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

                            @‘robin4002’:

                            Actuellement est-ce que “Mort” s’affiche dans la console ?
                            Car si oui alors l’event est bien appelé côté client, donc non pas besoin de paquet.

                            Et ton paquet tel que tu l’as fait doit aller du serveur vers le client.

                            Non, “Mort” s’affiche pas dans la console.

                            Du coup j’ai ça:

                            Event:

                            
                            @SubscribeEvent
                            public void onDeath(LivingDeathEvent event)
                            {
                            
                            if(event.entityLiving instanceof EntityPlayer)
                            {
                            
                            event.entityLiving.setHealth(1);
                            
                            if(event.entityLiving.worldObj.isRemote){
                            Main.network.sendToServer(new PacketGui());
                            Mort.settimer(10000);
                            System.out.println("Mort");
                            }
                            
                            }
                            
                            }
                            

                            Packet:

                            
                            public class PacketGui implements IMessage {
                            
                            public int i;
                            
                            public PacketGui(){
                            
                            }
                            public PacketGui(int i){
                            this.i = i;
                            }
                            
                            @Override
                            public void fromBytes(ByteBuf buf) {
                            i = buf.readInt();
                            }
                            
                            @Override
                            public void toBytes(ByteBuf buf) {
                            buf.writeInt(i);
                            }
                            
                            public static class Handler implements IMessageHandler <packetgui, imessage="">{
                            @SideOnly(Side.CLIENT)
                               public IMessage onMessage(PacketGui message, MessageContext ctx) {
                            
                                    Minecraft.getMinecraft().displayGuiScreen(new Mort());
                                    return message;
                                   }
                            
                               }
                            
                            }
                            
                            

                            Gui:

                            
                            public class Mort extends GuiScreen {
                            
                            @SideOnly(Side.CLIENT)
                            
                            private ResourceLocation ressource = new ResourceLocation("dd:textures/gui/death.png");
                            
                            private int medecin;
                            
                            private int spawn;
                            
                            public static int timer = 10000;
                            
                            int guiWidth = 256;
                            
                            int guiHeight = 256;
                            
                            public Mort() {
                            
                            }
                            
                            @Override
                            public void initGui() {
                            
                            int guiX = (this.width - guiWidth) / 2;
                            
                            int guiY = (this.height - guiHeight) / 2;
                            
                            medecin = 0;
                            
                            spawn = 1;
                            
                            buttonList.clear();
                            
                            buttonList.add(new GuiButton(medecin, guiX + 170, guiY + 226 + 5, 58, 20, "§aAppeller un médecin"));
                            
                            buttonList.add(new GuiButton(spawn, guiX + 80, guiY, 120, 20, "§5Respawn possible dans"));
                            
                            super.initGui();
                            }
                            
                            @Override
                            protected void keyTyped(char typedChar, int keyCode) {
                            
                            }
                            
                            @Override
                            protected void actionPerformed(GuiButton button) {
                            
                            switch(button.id) {
                            case 0:
                            Main.network.sendToServer(new PacketMedecin());
                            break;
                            case 1:
                            if(timer > 0)
                            {
                            EntityPlayer player1 = Minecraft.getMinecraft().thePlayer;
                            ChatComponentText text1 = new ChatComponentText("§7Vous ne pouvez pas respawn ! il vous reste: " + timer / 100 + " §7secondes");
                            player1.addChatComponentMessage(text1);
                            timer –;
                            break;
                            }
                            else
                            {
                            
                            EntityPlayer player1 = Minecraft.getMinecraft().thePlayer;
                            player1.setDead();
                            Minecraft.getMinecraft().thePlayer.closeScreen();
                            break;
                            }
                            default:
                            break;
                            }
                            
                            super.actionPerformed(button);
                            }
                            
                            @Override
                            public void updateScreen() {
                            super.updateScreen();
                            }
                            
                            public void drawScreen(int mouseX, int mouseY, float partialTick) 
                            
                            {
                            
                            String tilename = "§5 : " + timer-- / 100;
                            
                            mc.getTextureManager().bindTexture(ressource);
                            
                            this.drawTexturedModalRect(this.width / 2 - 135, this.height / 2 - 127, 0, 0, 256, 255);
                            if(timer > 0)
                            {
                            this.fontRendererObj.drawString(tilename, this.width / 2 + 95 - this.fontRendererObj.getStringWidth(tilename) / 2, 1, 0);
                            }
                            super.drawScreen(mouseX, mouseY, partialTick);
                                }
                            
                            public static void settimer(int newtimer)
                            {
                            timer = newtimer;
                            }
                            
                            @Override
                            public void onGuiClosed() {
                            
                            }
                            
                            }
                            
                            

                            Register packet:

                            
                            network = NetworkRegistry.INSTANCE.newSimpleChannel("dd:");
                            network.registerMessage(PacketGui.Handler.class, PacketGui.class, 0, Side.SERVER);
                            
                            

                            Mon gui ne s’ouvre toujours pas.</packetgui,>

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

                              Normal tu as pas changé le code de ton évent, il faut que tu retires le if(…worldObj.isRemote), que tu envoies le packet au client qui vient de mourir, et que tu déplaces le Mort.setTimer dans la fonction onMessage de packet.

                              Envoyé de mon RAINBOW LITE 4G en utilisant Tapatalk

                              Si je vous ai aidé, n'oubliez pas d’être heureux, j'aiderai encore +

                              AymericRed, moddeur expérimenté qui aide sur ce forum et qui peut accepter de faire un mod Forge rémunéré de temps en temps.

                              Mes tutos : Table de craft, plugin NEI, plugin JEI, modifier l'overlay
                              Je suis un membre apprécié et joueur, j'ai déjà obtenu 6 points de réputation.

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

                                @‘AymericRed’:

                                Normal tu as pas changé le code de ton évent, il faut que tu retires le if(…worldObj.isRemote), que tu envoies le packet au client qui vient de mourir, et que tu déplaces le Mort.setTimer dans la fonction onMessage de packet.

                                Envoyé de mon RAINBOW LITE 4G en utilisant Tapatalk

                                Ok , Merci ça marche du coup mais la j’ai un autre crash report …

                                
                                –-- Minecraft Crash Report ----
                                // There are four lights!
                                
                                Time: 22/07/16 12:17
                                Description: Exception in server tick loop
                                
                                cpw.mods.fml.common.LoaderException: java.lang.NoClassDefFoundError: net/minecraft/client/entity/EntityClientPlayerMP
                                at cpw.mods.fml.common.LoadController.transition(LoadController.java:163)
                                at cpw.mods.fml.common.Loader.initializeMods(Loader.java:739)
                                at cpw.mods.fml.server.FMLServerHandler.finishServerLoading(FMLServerHandler.java:97)
                                at cpw.mods.fml.common.FMLCommonHandler.onServerStarted(FMLCommonHandler.java:324)
                                at net.minecraft.server.dedicated.DedicatedServer.func_71197_b(DedicatedServer.java:287)
                                at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:631)
                                at java.lang.Thread.run(Thread.java:745)
                                Caused by: java.lang.NoClassDefFoundError: net/minecraft/client/entity/EntityClientPlayerMP
                                at com.DeathDelay.net.Main.init(Main.java:64)
                                at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                                at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
                                at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
                                at java.lang.reflect.Method.invoke(Method.java:606)
                                at cpw.mods.fml.common.FMLModContainer.handleModStateEvent(FMLModContainer.java:532)
                                at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                                at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
                                at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
                                at java.lang.reflect.Method.invoke(Method.java:606)
                                at com.google.common.eventbus.EventSubscriber.handleEvent(EventSubscriber.java:74)
                                at com.google.common.eventbus.SynchronizedEventSubscriber.handleEvent(SynchronizedEventSubscriber.java:47)
                                at com.google.common.eventbus.EventBus.dispatch(EventBus.java:322)
                                at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:304)
                                at com.google.common.eventbus.EventBus.post(EventBus.java:275)
                                at cpw.mods.fml.common.LoadController.sendEventToModContainer(LoadController.java:212)
                                at cpw.mods.fml.common.LoadController.propogateStateMessage(LoadController.java:190)
                                at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                                at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
                                at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
                                at java.lang.reflect.Method.invoke(Method.java:606)
                                at com.google.common.eventbus.EventSubscriber.handleEvent(EventSubscriber.java:74)
                                at com.google.common.eventbus.SynchronizedEventSubscriber.handleEvent(SynchronizedEventSubscriber.java:47)
                                at com.google.common.eventbus.EventBus.dispatch(EventBus.java:322)
                                at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:304)
                                at com.google.common.eventbus.EventBus.post(EventBus.java:275)
                                at cpw.mods.fml.common.LoadController.distributeStateMessage(LoadController.java:119)
                                at cpw.mods.fml.common.Loader.initializeMods(Loader.java:737)
                                ... 5 more
                                Caused by: java.lang.ClassNotFoundException: net.minecraft.client.entity.EntityClientPlayerMP
                                at net.minecraft.launchwrapper.LaunchClassLoader.findClass(LaunchClassLoader.java:191)
                                at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
                                at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
                                ... 33 more
                                Caused by: java.lang.NullPointerException
                                
                                A detailed walkthrough of the error, its code path and all known details is as follows:
                                ---------------------------------------------------------------------------------------
                                
                                -- System Details --
                                Details:
                                Minecraft Version: 1.7.10
                                Operating System: Windows 7 (amd64) version 6.1
                                Java Version: 1.7.0_79, Oracle Corporation
                                Java VM Version: Java HotSpot(TM) 64-Bit Server VM (mixed mode), Oracle Corporation
                                Memory: 780690480 bytes (744 MB) / 1029701632 bytes (982 MB) up to 1029701632 bytes (982 MB)
                                JVM Flags: 4 total; -XX:PermSize=128m -XX:MaxPermSize=256m -Xmx1G -Xms1G
                                AABB Pool Size: 0 (0 bytes; 0 MB) allocated, 0 (0 bytes; 0 MB) used
                                IntCache: cache: 0, tcache: 0, allocated: 0, tallocated: 0
                                FML: MCP v9.05 FML v7.10.99.99 Minecraft Forge 10.13.4.1448 5 mods loaded, 5 mods active
                                States: 'U' = Unloaded 'L' = Loaded 'C' = Constructed 'H' = Pre-initialized 'I' = Initialized 'J' = Post-initialized 'A' = Available 'D' = Disabled 'E' = Errored
                                UCHI mcp{9.05} [Minecraft Coder Pack] (minecraft.jar) 
                                UCHI FML{7.10.99.99} [Forge Mod Loader] (KCauldron-1.7.10-1448.121-server.jar) 
                                UCHI Forge{10.13.4.1448} [Minecraft Forge] (KCauldron-1.7.10-1448.121-server.jar) 
                                UCHI kimagine{0.1} [KImagine] (minecraft.jar) 
                                UCHE dd{1.0} [dd] (DeathDelay.jar) 
                                Profiler Position: N/A (disabled)
                                Player Count: 0 / 20; []
                                Is Modded: Definitely; Server brand changed to 'kcauldron,cauldron,craftbukkit,mcpc,fml,forge'
                                Type: Dedicated Server (map_server.txt)
                                
                                1 réponse Dernière réponse Répondre Citer 0
                                • AymericRedA Hors-ligne
                                  AymericRed
                                  dernière édition par

                                  Tu as un problème (de side) dans ta classe Main fonction init à la ligne 64, montres la.

                                  Envoyé via mobile

                                  Si je vous ai aidé, n'oubliez pas d’être heureux, j'aiderai encore +

                                  AymericRed, moddeur expérimenté qui aide sur ce forum et qui peut accepter de faire un mod Forge rémunéré de temps en temps.

                                  Mes tutos : Table de craft, plugin NEI, plugin JEI, modifier l'overlay
                                  Je suis un membre apprécié et joueur, j'ai déjà obtenu 6 points de réputation.

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

                                    @‘AymericRed’:

                                    Tu as un problème (de side) dans ta classe Main fonction init à la ligne 64, montres la.

                                    Envoyé via mobile

                                    
                                     @EventHandler
                                        public void init(FMLInitializationEvent event)
                                        {
                                        proxy.init(event);
                                            MinecraftForge.EVENT_BUS.register(new Events()); // ligne 64
                                            FMLCommonHandler.instance().bus().register(new Events());
                                        }
                                    
                                    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

                                      Envoies ta classe Events entière.

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

                                        @‘robin4002’:

                                        Envoies ta classe Events entière.

                                        Tien : (J’ai fais quelques modif au niveau de l’event ondeath mais je pense pas que se soit ça:

                                        
                                        public class Events {
                                        
                                        public static boolean coma;
                                        
                                        @SubscribeEvent
                                        public void onDeath(LivingDeathEvent event)
                                        {
                                        
                                        booleantrue();
                                        System.out.println(coma);
                                        if(event.entityLiving instanceof EntityPlayer && coma == true)
                                        {
                                        
                                        event.entityLiving.setHealth(1);
                                        
                                        Main.network.sendToServer(new PacketGui());
                                        
                                        System.out.println("Mort");
                                        System.out.println(coma);
                                        
                                        }
                                        
                                        }
                                        
                                        @SubscribeEvent
                                        public void onInventoryOpen(GuiOpenEvent event)
                                        {
                                        EntityPlayer player = Minecraft.getMinecraft().thePlayer;
                                        if(event.gui instanceof GuiInventory && !player.capabilities.isCreativeMode)
                                        {
                                        event.setCanceled(true);
                                        }
                                        }
                                        
                                        public static void booleantrue()
                                        {
                                        coma = true;
                                        }
                                        public static void booleanfalse()
                                        {
                                        coma = false;
                                        }
                                        
                                        @SubscribeEvent
                                        public void pickupfalse(EntityItemPickupEvent event)
                                        {
                                        if(coma == true && event.entity instanceof EntityPlayer)
                                        {
                                        event.setCanceled(true);
                                        }
                                        }
                                        @SubscribeEvent
                                        public void onRespawn(PlayerEvent.PlayerRespawnEvent event)
                                        {
                                        if(coma == true)
                                        {
                                        booleanfalse();
                                        System.out.println(coma);
                                        }
                                        }
                                        
                                        @SubscribeEvent
                                        public void onDecocoma(PlayerEvent.PlayerLoggedOutEvent event)
                                        {
                                        if(coma == true)
                                        {
                                        event.player.setDead();
                                        }
                                        }
                                        
                                        }
                                        
                                        
                                        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 un @SideOnly(Side.CLIENT) au dessus de cette fonction : public void onInventoryOpen(GuiOpenEvent event)

                                          Et dans onDeath Main.network.sendToServer(new PacketGui()); devrait être Main.network.sendTo(new PacketGui(), (EntityPlayer)event.entityLiving);
                                          Comment veux-tu envoyer un paquet au serveur si tu es déjà sur le serveur ?

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

                                            @‘robin4002’:

                                            Mets un @SideOnly(Side.CLIENT) au dessus de cette fonction : public void onInventoryOpen(GuiOpenEvent event)

                                            Et dans onDeath Main.network.sendToServer(new PacketGui()); devrait être Main.network.sendTo(new PacketGui(), (EntityPlayer)event.entityLiving);
                                            Comment veux-tu envoyer un paquet au serveur si tu es déjà sur le serveur ?

                                            Mon gui s’ouvre plus du coup:

                                            
                                            @SubscribeEvent
                                            public void onDeath(LivingDeathEvent event)
                                            {
                                            
                                            booleantrue();
                                            System.out.println(coma);
                                            if(event.entityLiving instanceof EntityPlayer && coma == true)
                                            {
                                            
                                            event.entityLiving.setHealth(1);
                                            
                                            Main.network.sendTo(new PacketGui(), (EntityPlayerMP)event.entityLiving);
                                            
                                            System.out.println("Mort");
                                            System.out.println(coma);
                                            
                                            }
                                            
                                            }
                                            
                                            1 réponse Dernière réponse Répondre Citer 0
                                            • 1
                                            • 2
                                            • 3
                                            • 4
                                            • 5
                                            • 1 / 5
                                            • Premier message
                                              Dernier message
                                            Design by Woryk
                                            ContactMentions Légales

                                            MINECRAFT FORGE FRANCE © 2024

                                            Powered by NodeBB