Events qui ne se déclenchent plus



  • Bonjour,

    J'ai terminé mon mod en 1.10.2 mais avant de le mettre en ligne et de le présenter sur le site j'aimerais le compiler pour différentes versions de Minecraft (de la 1.7.10 à la 1.12).
    J'ai donc commencé à modifier le code pour le faire fonctionner en 1.7.10 et une fois que j'ai terminé je me rends compte que mes events ne sont plus appelés.

    Voici ma méthode *preInit *:

    @EventHandler
    public void preInit (FMLPreInitializationEvent event){
    
        MinecraftForge.EVENT_BUS.register (new EventListener ());
        System.out.println("EVENT REGISTRED");
    }
    

    Et voici ma classe *EventListener *:

    package com.trcgames.dbSynchronizer;
    
    import cpw.mods.fml.common.eventhandler.SubscribeEvent;
    import cpw.mods.fml.common.gameevent.PlayerEvent.PlayerLoggedInEvent;
    import cpw.mods.fml.common.network.FMLNetworkEvent.ClientDisconnectionFromServerEvent;
    
    public class EventListener{
    
        /** Triggered on <u>Server thread</u>. */
        @SubscribeEvent
        public void onClientJoin (PlayerLoggedInEvent event){
            System.out.println ("EVENT 1");
        }
    
        /** Triggered on thread <u>Netty Client IO</u>. */
        @SubscribeEvent
        public void onClientLeave (ClientDisconnectionFromServerEvent event){
            System.out.println ("EVENT 2");
        }
    }
    

    Le message "EVENT REGISTRED" apparaît bien dans les logs mais pas les messages "EVENT 1" et "EVENT 2".

    Pouvez-vous m'aidez s'il vous plaît ?
    Merci.


  • Rédacteurs

    Les events ClientDisconnectionFromServerEvent et PlayerLoggedInEvent sont des events FML, il te faut les enregistrer sur le bus FML. Merci de te référer au tutoriel 1.7.10 sur les events pour savoir comment faire.



  • Oui effectivement je suis un boulet, j'ai regardé ton tutoriel (1.11.x) au lieu de celui de Robin4002 (1.7.x).
    J'utilise donc :

    FMLCommonHandler.instance().bus().register (new EventListener ());
    

    Ce qui marche parfaitement.
    Merci !