Savoir si le joueur est en solo/multi


  • Hello, tout le monde ,
    j’aimerais savoir si cela est possible de détecter quand un joueur a lancer un monde solo ou c’est connecté a un serveur.

    Je voudrait afficher un message dans le chat (jusqu’a la c’est facile XD) quand le joueur se connecte en solo et un autre message en multi.

    Je ne sais pas trop comment faire et je sais même pas si c’est possible XD 😉


  • ClientConnectedToServerEvent permet de le savoir avec event.islocal


  • @‘moscaphone421’:

    ClientConnectedToServerEvent permet de le savoir avec event.islocal

    Oui mais je crois qu’il n’est appelé que côté serveur, il doit y avoir un autre event.


  • Nop je le side client sur le systeme vocal


  • hein ? Je pense qu’il faut vérifié


  • Hello,

    Alors je vient d’utilise l’event **ClientConnectedToServerEvent **

    Cela marche très bien sa détecte quand je suis en solo et en Multi mais le problème (car il en faut toujours un sinon c’est pas drôle XD)

    c’est que le jeu crash des que je veux affiché un message dans le chat avec

    %(#333333)[```java
    Minecraft.getMinecraft().thePlayer.addChatComponentMessage(new ChatComponentText(EnumChatFormatting.RED + “TEST > Mutli :p”));

    
    et si je veut juste écrire dans la console sans écrire dans le chat la sa marche niquel ^^
    
    #LE CRASH(LE CRASH)
    ```java
    –-- Minecraft Crash Report ----
    // Oops.
    
    Time: 13/08/16 13:14
    Description: Unexpected error
    
    java.lang.NullPointerException: Unexpected error
    at cpw.mods.fml.common.network.internal.FMLProxyPacket.processPacket(FMLProxyPacket.java:110)
    at net.minecraft.network.NetworkManager.processReceivedPackets(NetworkManager.java:241)
    at net.minecraft.client.Minecraft.runTick(Minecraft.java:2152)
    at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1039)
    at net.minecraft.client.Minecraft.run(Minecraft.java:962)
    at net.minecraft.client.main.Main.main(Main.java:164)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at net.minecraft.launchwrapper.Launch.launch(Launch.java:135)
    at net.minecraft.launchwrapper.Launch.main(Launch.java:28)
    at net.minecraftforge.gradle.GradleStartCommon.launch(Unknown Source)
    at GradleStart.main(Unknown Source)
    

    #L’event(L’event)

    @SubscribeEvent
    public void onClientConnectedServer(ClientConnectedToServerEvent event)
    {
    
           if(!event.isLocal) 
            {
                  System.out.println("Tu est en Mutli");
    
                  Minecraft.getMinecraft().thePlayer.addChatComponentMessage(new ChatComponentText(EnumChatFormatting.RED + "TEST > Mutli :p"));
            }
            else
            {
                  System.out.println("Tu est en Solo");
    
                  Minecraft.getMinecraft().thePlayer.addChatComponentMessage(new ChatComponentText(EnumChatFormatting.RED + "TEST > Solo :p"));
            }
    }
    
  • Moddeurs confirmés Rédacteurs

    Il faut que tu utilises l’attribut de type EntityPlayer se trouvant dans l’event et non Minecraft.getMinecraft() (je suppose qu’il y en a un)


  • @‘BrokenSwing’:

    Il faut que tu utilises l’attribut de type EntityPlayer se trouvant dans l’event et non Minecraft.getMinecraft() (je suppose qu’il y en a un)

    Quand je fait event. (CTRL + espace) pour avoir les proposition d’eclipse il n’y a rien qui se rapproche de player ou entityPlayer


  • tu declare une fonction:

    EntityPlayer player = Minecraft.getMinecraft().thePlayer;

    et apres tu fait:

    player.addChatComponentMessage(…);

    comme ça, tu dit que Minecraft.getMinecraft.thePlayer est un EntityPlayer et pas un EntityClientPlayerMP

  • Administrateurs Rédacteurs Moddeurs confirmés

    Attention, cette discussion date de 2016 … Il n’est plus vraiment pertinent d’y répondre maintenant.