• S'inscrire
    • Se connecter
    • Recherche
    • Récent
    • Mots-clés
    • Populaire
    • Utilisateurs
    • Groupes

    Résolu Packet 1.8

    1.8.x
    1.8
    2
    5
    1114
    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.
    • Gabs
      Gabs dernière édition par

      Bonsoir,

      Je me lance en 1.8 donc je rencontre pas mal de soucis car le code n’est pas le même x) .

      Actuellement j’ai un soucis avec mon packet.

      Je vous explique:

      En gros dans mon packet j’ai un switch/case donc dans le switch je récupère le message de mon packet avec -> message.sicle (sicle est le string de mon packet) mais j’ai une érreur il me demande de changer ma compilation et mon JRE en 1.7 .

      Sûrement car en 1.8 il y a une alternance mais la quelle ? je sais pas du tout x) 
      je vous passe mon code (au cas ou car je sais que j’explique mal):

      
      package com.CSC.net.item.packet;
      
      import io.netty.buffer.ByteBuf;
      import net.minecraftforge.fml.common.network.ByteBufUtils;
      import net.minecraftforge.fml.common.network.simpleimpl.IMessage;
      import net.minecraftforge.fml.common.network.simpleimpl.IMessageHandler;
      import net.minecraftforge.fml.common.network.simpleimpl.MessageContext;
      
      public class PacketPrison implements IMessage{
      
      private String sicle;
      
      public PacketPrison()
      {
      
      }
      
      public PacketPrison(String s)
      {
      this.sicle = s;
      }
      
      @Override
      public void fromBytes(ByteBuf buf) 
      {
      this.sicle = ByteBufUtils.readUTF8String(buf);
      }
      
      @Override
      public void toBytes(ByteBuf buf) 
      {
      ByteBufUtils.writeUTF8String(buf, sicle);
      }
      
      public static class Handler implements IMessageHandler <packetprison, imessage="">{
         public IMessage onMessage(PacketPrison message, MessageContext ctx) 
         {
          switch(message.sicle)//Erreur ici
                   {
                       case 1:
      
                           break;
                       case 2:
                           break;
                       default:
                           break;
                   }
      return null;
      
         }
      }
      
      }
      
      

      Merci :)</packetprison,>

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

        Le problème ne vient pas du fait que tu soit en 1.8, mais du fait que ce n’est pas possible de faire un switch de String avant Java 7. Donc soit tu précises dans ton build.gradle que tu souhaites utiliser java 7 (ou 8), soit tu utilises des conditions simples

        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
        • Gabs
          Gabs dernière édition par

          @‘SCAREX’:

          Le problème ne vient pas du fait que tu soit en 1.8, mais du fait que ce n’est pas possible de faire un switch de String avant Java 7. Donc soit tu précises dans ton build.gradle que tu souhaites utiliser java 7 (ou 8), soit tu utilises des conditions simples

          Ah ok,

          Le truc c’est que j’utilise le packet pour un GuiTextField dans mon guiscreen donc je peux pas changer de condition, sinon je fais autrement mais je vois pas comment faire.

          (Se que je cherche a faire c’est dans le GuiTextField quand je joueur marque dans le GuiTextField un chiffre entre 1 et 5 sa le met prison)

          Le temps de prison varie en fonction du chiffre 1 = 5 min , 2 = 10 min etc…

          edit:

          J’ai trouvé… je suis con

          if(text.getText().equals(“1”))
          {
          }

          Merci quand même x)

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

            Le switch est impossible pour les chaînes de caractères, mais tu peux faire une suite de conditions :

            if (sicle.equals("1")) {
            // ton code
            } else if (sicle.equals("2")) {
            // ton code etc.
            }
            

            Par contre ce que je ne comprends pas c’est pourquoi tu envoies un String pour ensuite le comparer en tant que chiffre ? C’est beaucoup mieux de convertir d’abord ta chaîne de caractère en chiffre.

            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
            • Gabs
              Gabs dernière édition par

              @‘SCAREX’:

              Le switch est impossible pour les chaînes de caractères, mais tu peux faire une suite de conditions :

              if (sicle.equals("1")) {
                 // ton code
              } else if (sicle.equals("2")) {
                 // ton code etc.
              }
              

              Par contre ce que je ne comprends pas c’est pourquoi tu envoies un String pour ensuite le comparer en tant que chiffre ? C’est beaucoup mieux de convertir d’abord ta chaîne de caractère en chiffre.

              Non mais c’est bon finalement x) désolé du dérangement.

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

              MINECRAFT FORGE FRANCE © 2018

              Powered by NodeBB