MFF

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

    Minecraft Frame Undecorated

    Planifier Épinglé Verrouillé Déplacé Résolu 1.7.x
    1.7.10
    60 Messages 6 Publieurs 10.0k Vues 1 Watching
    Charger plus de messages
    • Du plus ancien au plus récent
    • Du plus récent au plus ancien
    • Les plus votés
    Répondre
    • Répondre à l'aide d'un nouveau sujet
    Se connecter pour répondre
    Ce sujet a été supprimé. Seuls les utilisateurs avec les droits d'administration peuvent le voir.
    • P Hors-ligne
      PlagueZ
      dernière édition par

      toujours pas mon print ne s affiche pas =(
      code:

      package virusz.event;
      
      import net.minecraft.entity.player.EntityPlayer;
      import cpw.mods.fml.common.eventhandler.Event;
      import cpw.mods.fml.common.eventhandler.SubscribeEvent;
      import cpw.mods.fml.common.gameevent.PlayerEvent;
      import cpw.mods.fml.common.gameevent.PlayerEvent.PlayerLoggedOutEvent;
      
      public class DisconnectEvent {
      @SubscribeEvent
      public void onPlayerDisconnect(PlayerEvent.PlayerLoggedOutEvent e) {
      System.out.println("jfgdlkjgkdhghdiusnuhgfihsdiuhghdfhdfgihiufgdsquighui");
      }
      }
      
      

      “Imagination is more important than knowledge. For knowledge is limited to all we now know and understand, while imagination embraces the entire wo…

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

        Renvoi ton code

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

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

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

          Il faut enregistrer l’event avec fml. De plus PlayerLoggedOutEvent est un event serveur seulement.

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

            player.sendChatMessage((new StringBuilder()).append(“/tacommande”).toString());
            par contre ca ca fonctionne pas pour exécuter ma commande de ban

            le serveur plante quad il exécute cette ligne

            “Imagination is more important than knowledge. For knowledge is limited to all we now know and understand, while imagination embraces the entire wo…

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

              Crash-report ?

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

                :::

                –-- Minecraft Crash Report ----
                // I feel sad now :(
                
                Time: 20/09/15 21:51
                Description: Exception in server tick loop
                
                java.lang.NoClassDefFoundError: net/minecraft/client/Minecraft
                at virusz.event.DisconnectEvent.onPlayerDisconnect(DisconnectEvent.java:19)
                at cpw.mods.fml.common.eventhandler.ASMEventHandler_44_DisconnectEvent_onPlayerDisconnect_PlayerLoggedOutEvent.invoke(.dynamic)
                at cpw.mods.fml.common.eventhandler.ASMEventHandler.invoke(ASMEventHandler.java:54)
                at cpw.mods.fml.common.eventhandler.EventBus.post(EventBus.java:138)
                at cpw.mods.fml.common.FMLCommonHandler.firePlayerLoggedOut(FMLCommonHandler.java:555)
                at net.minecraft.server.management.ServerConfigurationManager.playerLoggedOut(ServerConfigurationManager.java:332)
                at net.minecraft.network.NetHandlerPlayServer.onDisconnect(NetHandlerPlayServer.java:673)
                at net.minecraft.network.NetworkSystem.networkTick(NetworkSystem.java:175)
                at net.minecraft.server.MinecraftServer.updateTimeLightAndEntities(MinecraftServer.java:726)
                at net.minecraft.server.dedicated.DedicatedServer.updateTimeLightAndEntities(DedicatedServer.java:349)
                at net.minecraft.server.MinecraftServer.tick(MinecraftServer.java:614)
                at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:485)
                at net.minecraft.server.MinecraftServer$2.run(MinecraftServer.java:752)
                Caused by: java.lang.ClassNotFoundException: net.minecraft.client.Minecraft
                at net.minecraft.launchwrapper.LaunchClassLoader.findClass(LaunchClassLoader.java:191)
                at java.lang.ClassLoader.loadClass(Unknown Source)
                at java.lang.ClassLoader.loadClass(Unknown Source)
                ... 13 more
                Caused by: java.lang.RuntimeException: Attempted to load class net/minecraft/client/Minecraft for invalid side SERVER
                at cpw.mods.fml.common.asm.transformers.SideTransformer.transform(SideTransformer.java:50)
                at net.minecraft.launchwrapper.LaunchClassLoader.runTransformers(LaunchClassLoader.java:279)
                at net.minecraft.launchwrapper.LaunchClassLoader.findClass(LaunchClassLoader.java:176)
                ... 15 more
                
                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.8.0_45, Oracle Corporation
                Java VM Version: Java HotSpot(TM) 64-Bit Server VM (mixed mode), Oracle Corporation
                Memory: 952838680 bytes (908 MB) / 1037959168 bytes (989 MB) up to 1037959168 bytes (989 MB)
                JVM Flags: 3 total; -Xincgc -Xmx1024M -Xms1024M
                AABB Pool Size: 0 (0 bytes; 0 MB) allocated, 0 (0 bytes; 0 MB) used
                IntCache: cache: 7, tcache: 0, allocated: 13, tallocated: 95
                FML: MCP v9.05 FML v7.10.85.1291 Minecraft Forge 10.13.2.1291 7 mods loaded, 7 mods active
                mcp{9.05} [Minecraft Coder Pack] (minecraft.jar) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available
                FML{7.10.85.1291} [Forge Mod Loader] (forgeSrc-1.7.10-10.13.2.1291.jar) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available
                Forge{10.13.2.1291} [Minecraft Forge] (forgeSrc-1.7.10-10.13.2.1291.jar) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available
                flansmod{@VERSION@} [Flan's Mod] (bin) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available
                MapWriter{2.1.1} [MapWriter] (bin) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available
                craftguide{@MOD_VERSION@} [CraftGuide] (bin) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available
                VirusZ{beta-0.1} [VirusZ] (bin) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available
                Profiler Position: N/A (disabled)
                Vec3 Pool Size: 0 (0 bytes; 0 MB) allocated, 0 (0 bytes; 0 MB) used
                Player Count: 2 / 20; [EntityPlayerMP['Devils44'/15, l='world', x=48,06, y=64,00, z=-202,67], EntityPlayerMP['KeYriN'/16, l='world', x=48,02, y=64,00, z=-200,36]]
                Is Modded: Definitely; Server brand changed to 'fml,forge'
                Type: Dedicated Server (map_server.txt)
                

                :::

                code:

                
                package virusz.event;
                
                import virusz.core.ExtendedPlayer;
                import net.minecraft.client.Minecraft;
                import net.minecraft.entity.player.EntityPlayer;
                import net.minecraft.util.ChatComponentText;
                import net.minecraft.util.ChatComponentTranslation;
                import net.minecraft.util.EnumChatFormatting;
                import cpw.mods.fml.common.eventhandler.Event;
                import cpw.mods.fml.common.eventhandler.SubscribeEvent;
                import cpw.mods.fml.common.gameevent.PlayerEvent;
                import cpw.mods.fml.common.gameevent.PlayerEvent.PlayerLoggedOutEvent;
                
                public class DisconnectEvent {
                @SubscribeEvent
                public void onPlayerDisconnect(PlayerEvent.PlayerLoggedOutEvent e) {
                EntityPlayer player =(EntityPlayer)e.player;
                if (ExtendedPlayer.get(player).getCombatState() == true){
                Minecraft.getMinecraft().thePlayer.sendChatMessage(((new StringBuilder()).append("/ban " + Minecraft.getMinecraft().getSession().getUsername())).toString()));
                }
                }
                }
                
                

                “Imagination is more important than knowledge. For knowledge is limited to all we now know and understand, while imagination embraces the entire wo…

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

                  Il faut vérifier si le Side est bien Client, sinon il t’indiquera que le serveur n’a pas trouvé la classe Minecraft, ce qui est logique

                  
                  @SubscribeEvent
                  public void onPlayerDisconnect(PlayerEvent.PlayerLoggedOutEvent e) {
                  EntityPlayer player =(EntityPlayer)e.player;
                  if (ExtendedPlayer.get(player).getCombatState() == true && world.isRemote){
                  Minecraft.getMinecraft().thePlayer.sendChatMessage(((new StringBuilder()).append("/ban " + Minecraft.getMinecraft().getSession().getUsername())).toString()));
                  }
                  }
                  
                  
                  1 réponse Dernière réponse Répondre Citer 0
                  • DiabolicaTrixD Hors-ligne
                    DiabolicaTrix Correcteurs Moddeurs confirmés
                    dernière édition par

                    Ouais mais il faut exécuter la commande en tant qu’op sinon…

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

                      Ouep ou alors ne passe pas par des commandes, et crées toi même ta méthode ban

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

                        world.isRemote peut pas fonctionner ici ou est-ce que je chope mon instance de world?
                        pour la commande en op je vois pas comment faire

                        “Imagination is more important than knowledge. For knowledge is limited to all we now know and understand, while imagination embraces the entire wo…

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

                          C’est pourtant évident…
                          player.worldObj

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

                            la commande ne s’execute pas et aucun message d’erreur

                            “Imagination is more important than knowledge. For knowledge is limited to all we now know and understand, while imagination embraces the entire wo…

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

                              Débug
                              System.out.println(player.worldObj.isRemote);

                              Si la console te renvoie que des false, c’est que l’event n’est appelé que côté Server, et ça ne m’étonnerait pas. La déconnexion et connexion d’un joueur m’aurait étonné si le Client avait à voir là-dedans. Dans ce cas tu vas devoir envoyer des packets 😃

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

                                Les packet c’est ma hantise et apparemment va falloir que j’utilise des packet……

                                “Imagination is more important than knowledge. For knowledge is limited to all we now know and understand, while imagination embraces the entire wo…

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

                                  C’est ce que je pensais un début et maintenant je trouve ça vraiment simple. Va voir le tuto de Blackout sur le sujet.

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

                                    Perso j ai une préférence pour celui de robin sur Youtube =p

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

                                      j’ai déjà lu les 2 tuto et ça me refile toujours des boutons je vais essayer mais je doit avouer que je m’arrange a chaque fois pour contourner l’utilisation de packet mais la même en réfléchissant je vais être obliger de galérer comme quand j’ai créé mon extendPlayerProperties souhaitez moi bonne chance vais en avoir besoins

                                      “Imagination is more important than knowledge. For knowledge is limited to all we now know and understand, while imagination embraces the entire wo…

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

                                        Celui de robin est bien mais j’ai mieux compris avec celui de Blackout mais bon chacun apprend à sa manière.

                                        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

                                          @‘robin4002’:

                                          Il faut enregistrer l’event avec fml. De plus PlayerLoggedOutEvent est un event serveur seulement.

                                          Heureusement que je l’ai dit …

                                          De plus ce que tu fais n’est pas du tout bon. Comme tu es déjà côté serveur pas besoin de commande ou de paquet, tu peux directement faire d’action … Et même comme ça ce n’est toujours pas bon, PlayerLoggedOutEvent est déclenché lorsque le joueur déconnecte. Par contre lorsqu’on coupe de force ou perd la connexion il me semble qu’il n’est pas déclenché. Donc là tu vas bannir ceux qui coupent le jeu normalement x).
                                          Il faudrait plutôt avoir une liste de joueur et vérifier à chaque tick le nombre de joueur co en prenant en compte PlayerLoggedOutEvent et PlayerLoggedInEvent (pas mal de chose à prendre en compte du-coup, il faudrait un event de tick + PlayerLoggedOutEvent + PlayerLoggedInEvent).
                                          Et puis même avec ça tu vas bannir les joueurs qui ont perdu la connexion. Le pauvre, sanctionné car sa box internet a planté ou que le wifi a rencontré un petit problème … (ou même une coupure de courant).

                                          Il faudrait donc imaginer un autre moyen pour éviter que les joueurs déco en pleins pvp.
                                          Quelque chose de complexe à mettre en place mais qui pourrait fonctionner : lorsqu’un joueur prend des dégâts tu l’ajoutes à une liste. Au bout de 5 secondes tu le retires de cette liste. Si avant ces 5 secondes le joueur n’est plus sur le serveur, (il faudrait vérifier toutes les secondes pour que cela soit efficace sans être trop lourd), tu l’ajoutes dans une liste. À sa reconnexion (PlayerLoggedInEvent) si le joueur est dans cette liste tu le kill directement.
                                          Ça reste un peu injuste pour un joueur qui perd la connexion, mais moins qu’un bann ^^

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

                                            je fait déjà la vérification pour le joueur je passe une boolean a true dans les tag du joueur lorsque il prend des dégâts contre un entités ou un joueur ensuite je comptait utiliser le logout évent pour vérifier que il n’utilise pas de client modifier pour passer en dehors de mes menus

                                            ensuite je voulait comme tu le montre au dessus créé un évent qui vérifie la présence du joueur dans un ontick et vérifier le temps que il a mis a déconnecter en récupérant l’horloge systeme pendant le dernier tick et en la comparant a celle au moment ou le joueur n’est plus connecté sachant que le ontick seras mis en pause au moment ou le menu de déconnexion seras afficher

                                            celui-ci demande au joueur 20 seconde avant de lancer le paquet de déconnexion donc si il ya une différence trop faible je ban mais pas definitivement la j’utilise le /ban pour les test mais comme mon serveur possède essentials d’installé je pourrait donc le bannir pour une durée de quelques heures

                                            pour la remise a zéro du mode combat ça se passe si le joueur meurt ou au bout de 2minutes dans le livingEvent

                                            dit moi si j’oublie quelques choses ^^

                                            donc pour en revenir a ce que je voulait faire je voulait envoyer une commande de a la déconnexion du joueur si la boolean est sur true,
                                            de plus dans le mod que je développe la mort est très pénalisante car il y a un systeme de leveling qui est remis a zéros lors de la mort du joueur je pense que entre perdre l’ entierté de l’expérience et un ban de 1H le choix des joueur seras vite fait et pour les perte de connexion je compte faire en sortes de kicker les personne avec un ping trop élevé donc si le mec a une perte de connexion je suppose que le ping doit monter d’un coup il seras donc kicker avant d’être ban

                                            “Imagination is more important than knowledge. For knowledge is limited to all we now know and understand, while imagination embraces the entire wo…

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

                                            MINECRAFT FORGE FRANCE © 2024

                                            Powered by NodeBB