Savoir si nous sommes en singleplayer ou en multiplayer ?



  • Avant de commencez, si tu regarde ce tutoriel qui reste simple... C'est que tu est très certainement un débutant modeur, ou simplement que tu est en galère et ça arrive. Je t'invite à te renseignez sur les events FML qui sont très utiles comme ici, pour connaître la nature de notre partie 😉

    Je t'ai mis quelques liens juste ici, pour te renseignez sur les events :

    Sommaire du tutoriel

    Pré-requis

    Tutoriel

    Tout d'abord, il faut savoir si nous sommes sur une partie quelconque, nous allons donc utilisez les events FML pour exécutez du code quand une partie est lancez.

    Et grâce à la magie d'internet nous pouvons facilement trouvez tout les Events de FML.
    Celui qui nous intérréssent est FMLServerStartingEvent

    En déclarant l'EventHandler voici le code que vous devez avoir :

    @EventHandler
    public void onParty(FMLServerStartingEvent event)
    {
    
    }
    

    Pour l'instant ce code serra exécutez dès que nous lancerons une partie qu'elle sois multijoueur ou singleplayer.

    Mais avant tout il faut indiquez que notre code ne fonctionnera seulement sur Client et non serveur !

    @SideOnly(Side.CLIENT)
    @EventHandler
    public void onParty(FMLServerStartingEvent event)
    {
    
    }
    

    Nous allons donc ajoutez des conditions si/sinon pour exécutez un code précis en fonction du mode de jeu. Avec les classes de minecraft qui sont directement renseignez sur Eclipse dans les resources, nous utiliserons Minecraft.getMinecraft().isSingleplayer(), qui retourne une valeur booléenne. Si vrai nous sommes en singleplayer, si faux, en multiplayer 🙂

    Voici le code final :

    @SideOnly(Side.CLIENT)
    @EventHandler
    public void onParty(FMLServerStartingEvent event)
    {
       if(Minecraft.getMinecraft().isSingleplayer() == true) {
           //SINGLEPLAYER
           System.out.println("Vous êtes en singleplayer !");
       }else if(Minecraft.getMinecraft().isSingleplayer() == false) {
           //MULTIPLAYER
           System.out.println("Vous êtes en multiplayer !");
        }
    }
    

    Licence et attribution

    Creative Commons

    Ce tutoriel rédigé par YiraSan et publié sur Minecraft Forge France est mis à disposition selon les termes de la licence Creative Commons Attribution - Pas d’Utilisation Commerciale - Partage dans les Mêmes Conditions 4.0 International

    retour Sommaire des tutoriels



  • Je tenais à précisez que le code ne marche que pour les parties en solo et les parties en LAN, mais pour savoir si le joueur est connecté à un serveur il existe cette événement : FMLNetworkEvent.ClientConnectedToServerEvent, ne pas oubliez d'ajoutez @EventHandler ainsi que @SideOnly(Side.CLIENT).


Log in to reply