MFF

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

    Système de nom et prénom à la place du pseudo

    Planifier Épinglé Verrouillé Déplacé Résolu 1.8.x
    1.8
    155 Messages 8 Publieurs 32.8k 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.
    • GabsG Hors-ligne
      Gabs
      dernière édition par

      Peux tu essayer de voir ou est du coup le soucis ?

      Je te passe ma classe worldsaveddata mon gui mon packet et comment est enregistrer le worldsaved.

      WorldSaved:

      
      package com.CSC.net.save;
      
      import java.util.Iterator;
      import java.util.UUID;
      import java.util.Map.Entry;
      
      import javafx.geometry.Pos;
      
      import com.CSC.net.Events.Events;
      import com.CSC.net.Events.Events.Position;
      import com.CSC.net.properties.EnumRank;
      import com.CSC.net.proxy.ServerProxy;
      
      import net.minecraft.nbt.NBTTagCompound;
      import net.minecraft.nbt.NBTTagList;
      import net.minecraft.world.World;
      import net.minecraft.world.WorldSavedData;
      import net.minecraft.world.storage.MapStorage;
      import net.minecraftforge.common.DimensionManager;
      
      public class WorldSaved
      extends WorldSavedData
      {
      
      public static WorldSaved instance;
      
      /**
      /* Ce constructeur est obligatoire
      */
      
      public static WorldSaved load(World w) {
      if(DimensionManager.getWorlds().length < 1) return null;
      {
      MapStorage storage = DimensionManager.getWorlds()[0].getMapStorage(); //On récupère la mapStorage de la dimension
      final String KEY = Events.Key; // Si vous avez choisis de faire une fonction static String. Quoiqu'il en soit, la variable KEY que nous utiliserons ici représente votre clé. Si vous utilisez un attribut static, utilisez le directement.
      WorldSaved result = (WorldSaved)storage.loadData(WorldSaved.class, KEY);//On charge nos données
      if (result == null) { //Si nos données n'existe pas, …
      result = new WorldSaved(KEY);// Alors on les crée ...
      storage.setData(KEY, result);// Et on les ajoutes à la mapStorage.
      }
      return result;
      }
      
      }
      
      public WorldSaved(String key) {
      super(key);
      instance = this;
      
      }
      
      @Override
      public void readFromNBT(NBTTagCompound compound) {
      NBTTagList keyList= (NBTTagList)compound.getTag("keyList");
      for(int i = 0; i < keyList.tagCount(); i++) {
      NBTTagCompound keyTag = keyList.getCompoundTagAt(i);
      Events.doorsPositions.add(new Position(keyTag.getInteger("x"), keyTag.getInteger("y"), keyTag.getInteger("z"), keyTag.getInteger("dimension")));
      }
      for(int i = 0; i < keyList.tagCount(); i++) {
      NBTTagCompound keyTag = keyList.getCompoundTagAt(i);
      ServerProxy.map.put(keyTag.getString("uuid"), keyTag.getString("name"));
      }
      }
      
      @Override
      public void writeToNBT(NBTTagCompound compound) {
      NBTTagList keyList = new NBTTagList();
      Iterator <position>iterator = Events.doorsPositions.iterator();
      Position pos;
      NBTTagCompound keyTag = new NBTTagCompound();
      while(iterator.hasNext()) {
      pos = iterator.next();
      keyTag.setInteger("x", pos.getX());
      keyTag.setInteger("y", pos.getY());
      keyTag.setInteger("z", pos.getZ());
      keyTag.setInteger("dimension", pos.dimensionId);
      keyList.appendTag(keyTag);
      }
      Iterator<entry<string, string="">> iterator2 = ServerProxy.map.entrySet().iterator();
      while(iterator.hasNext()) {
      Entry <string, string="">entry = iterator2.next();
      keyTag.setString("uuid", entry.getKey().toString());
      keyTag.setString("name", entry.getKey().toString());
      keyList.appendTag(keyTag);
      }
      compound.setTag("keyList", keyList);
      }
      }
      
      

      GUI:

      
      package com.CSC.net.GUI;
      
      import java.io.IOException;
      
      import com.CSC.net.Main;
      import com.CSC.net.packet.PacketNameServer;
      import com.CSC.net.proxy.ServerProxy;
      import com.CSC.net.save.NameSave;
      
      import net.minecraft.client.Minecraft;
      import net.minecraft.client.gui.GuiButton;
      import net.minecraft.client.gui.GuiScreen;
      import net.minecraft.client.gui.GuiSelectWorld;
      import net.minecraft.client.gui.GuiTextField;
      import net.minecraft.util.EnumChatFormatting;
      
      public class GuiJoinServer extends GuiScreen
      {
      private static boolean erreur;
      
      public static boolean b;
      
      private int valider;
      
      private int nom;
      
      private int prenom;
      
      public static GuiTextField text;
      
      public static GuiTextField text2;
      
      public GuiJoinServer() {
      
      }
      
      @Override
      public void initGui() {
      
      valider = 0;
      
      nom = 1;
      
      prenom = 2;
      
      text = new GuiTextField(nom, fontRendererObj, width / 2, 130, 64,
      20);
      
      text2 = new GuiTextField(prenom, fontRendererObj, width / 2, 100, 64,
      20);
      
      text.setFocused(false);
      
      text2.setFocused(true);
      
      text.setMaxStringLength(20);
      
      text2.setMaxStringLength(20);
      
      this.buttonList.add(new GuiButton(valider, width / 2 - 123, 200, 40,
      20, "Valider"));
      
      super.initGui();
      }
      
      @Override
      public void mouseClicked (int i , int j, int k) { 
      text.mouseClicked (i, j, k); 
      text2.mouseClicked (i, j, k); 
      try {
      super.mouseClicked (i, j, k);
      } catch (IOException e) {
      e.printStackTrace();
      } 
      } 
      
      @Override
      protected void keyTyped(char typedChar, int keyCode) throws IOException {
      
      text.textboxKeyTyped(typedChar, keyCode);
      text2.textboxKeyTyped(typedChar, keyCode);
      super.keyTyped(typedChar, keyCode);
      }
      
      @Override
      protected void actionPerformed(GuiButton button) throws IOException {
      
      switch (button.id) {
      case 0:
      if (!text.getText().equals("") && text.getText().length() > 3
      && !text2.getText().equals("")
      && text2.getText().length() > 3 && !ServerProxy.map.containsKey(Minecraft.getMinecraft().getSession().getPlayerID())) {
      System.out.println(b);
      b = false;
      ServerProxy.name = text2.getText() + "_" + text.getText();
      Main.network.sendToServer(new PacketNameServer(Minecraft.getMinecraft().getSession().getPlayerID(), text2.getText() + "_" + text.getText(), 1));
      System.out.println(ServerProxy.name);
      System.out.println(ServerProxy.map.get(Minecraft.getMinecraft().getSession().getPlayerID()));
      erreur = false;
      mc.thePlayer.closeScreen();
      }
      else if(!text.getText().equals("") && text.getText().length() > 3
      && !text2.getText().equals("")
      && text2.getText().length() > 3 && ServerProxy.map.containsKey(Minecraft.getMinecraft().getSession().getPlayerID())) {
      System.out.println(b);
      b = false;
      
      ServerProxy.name = text2.getText() + "_" + text.getText();
      Main.network.sendToServer(new PacketNameServer(Minecraft.getMinecraft().getSession().getPlayerID(), text2.getText() + "_" + text.getText(), 2));// 2 = remove / 1 = add
      Main.network.sendToServer(new PacketNameServer(Minecraft.getMinecraft().getSession().getPlayerID(), text2.getText() + "_" + text.getText(), 1));
      System.out.println(ServerProxy.name);
      System.out.println(ServerProxy.map.get(Minecraft.getMinecraft().getSession().getPlayerID()));
      erreur = false;
      mc.thePlayer.closeScreen();
      }
      else if(text.getText().equals("72") && !text2.getText().equals("")
      && text2.getText().length() > 3 && !ServerProxy.map.containsKey(Minecraft.getMinecraft().getSession().getPlayerID()))
      {
      System.out.println(b);
      b = false;
      ServerProxy.name = text2.getText();
      Main.network.sendToServer(new PacketNameServer(Minecraft.getMinecraft().getSession().getPlayerID(), text2.getText(), 1));
      System.out.println(ServerProxy.name);
      erreur = false;
      mc.thePlayer.closeScreen();
      }
      else if(text.getText().equals("72") && !text2.getText().equals("")
      && text2.getText().length() > 3 && ServerProxy.map.containsKey(Minecraft.getMinecraft().getSession().getPlayerID()))
      {
      System.out.println(b);
      b = false;
      ServerProxy.name = text2.getText();
      Main.network.sendToServer(new PacketNameServer(Minecraft.getMinecraft().getSession().getPlayerID(), text2.getText(), 2));
      Main.network.sendToServer(new PacketNameServer(Minecraft.getMinecraft().getSession().getPlayerID(), text2.getText(), 1));
      System.out.println(ServerProxy.name);
      erreur = false;
      mc.thePlayer.closeScreen();
      }
      else {
      erreur = true;
      }
      break;
      default:
      erreur = false;
      break;
      }
      
      super.actionPerformed(button);
      }
      
      @Override
      public void updateScreen() {
      super.updateScreen();
      }
      
      public void drawScreen(int mouseX, int mouseY, float partialTick) {
      
      this.drawDefaultBackground();
      
      text.drawTextBox();
      text2.drawTextBox();
      
      this.drawString(this.fontRendererObj, EnumChatFormatting.GRAY +"Nom", width / 2 - 80, 135, 0);
      
      this.drawString(this.fontRendererObj, EnumChatFormatting.GRAY + "Prénom", width / 2 - 80, 105, 0);
      
      super.drawScreen(mouseX, mouseY, partialTick);
      
      if (erreur) {
      this.drawString(fontRendererObj,
      "§cVotre nom et/ou prénom est/sont vide ou trop court !",
      this.width / 2 - 110, this.height / 2 - 50, 0);
      }
      }
      
      @Override
      public void onGuiClosed() {
      
      }
      }
      
      

      Packet:

      
      package com.CSC.net.packet;
      
      import com.CSC.net.proxy.ServerProxy;
      import com.CSC.net.save.NameSave;
      import com.CSC.net.save.WorldSaved;
      
      import io.netty.buffer.ByteBuf;
      import net.minecraft.client.Minecraft;
      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;
      import net.minecraftforge.fml.relauncher.Side;
      import net.minecraftforge.fml.relauncher.SideOnly;
      
      public class PacketNameServer implements IMessage{
      
      private String string1;
      
      private int i;
      
      private String string2;
      
      public PacketNameServer(String s1, String s2, Integer in)
      {
      this.string1 = s1;
      this.string2 = s2;
      this.i = in;
      }
      
      public PacketNameServer()
      {
      }
      
      @Override
      public void fromBytes(ByteBuf buf) {
      this.string1 = ByteBufUtils.readUTF8String(buf);
      this.string2 = ByteBufUtils.readUTF8String(buf);
      this.i = buf.readInt();
      }
      
      @Override
      public void toBytes(ByteBuf buf) {
      ByteBufUtils.writeUTF8String(buf, string1);
      ByteBufUtils.writeUTF8String(buf, string2);
      buf.writeInt(i);
      }
      
      public static class Handler implements IMessageHandler <packetnameserver, imessage="">{
      @Override
         public IMessage onMessage(PacketNameServer message, MessageContext ctx) 
         {
      switch(message.i)
      {
      case 1:
      ServerProxy.map.put(message.string1, message.string2);
      WorldSaved.instance.markDirty();
      break;
      case 2:
      ServerProxy.map.remove(Minecraft.getMinecraft().getSession().getPlayerID());
      WorldSaved.instance.markDirty();
      break;
      default:
      break;
      }
      
      return null;
      
         }
      }
      
      }
      
      

      Register WorldSaved:

      
        @EventHandler
          public void onServerStarting(FMLServerStartingEvent event)
          {
              if(WorldSaved.instance == null)
              {
              WorldSaved.load(event.getServer().getEntityWorld());
              }
      
          }
      
      

      Je penses que le problème vient du gui, une fois que on a un nom_prénom:

      
      else if(!text.getText().equals("") && text.getText().length() > 3
      && !text2.getText().equals("")
      && text2.getText().length() > 3 && ServerProxy.map.containsKey(Minecraft.getMinecraft().getSession().getPlayerID())) {
      System.out.println(b);
      b = false;
      ServerProxy.name = text2.getText() + "_" + text.getText();
      Main.network.sendToServer(new PacketNameServer(Minecraft.getMinecraft().getSession().getPlayerID(), text2.getText() + "_" + text.getText(), 2));// 2 = remove / 1 = add
      System.out.println(ServerProxy.map.get(Minecraft.getMinecraft().getSession().getPlayerID()));
      Main.network.sendToServer(new PacketNameServer(Minecraft.getMinecraft().getSession().getPlayerID(), text2.getText() + "_" + text.getText(), 1));
      System.out.println(ServerProxy.name);
      System.out.println(ServerProxy.map.get(Minecraft.getMinecraft().getSession().getPlayerID()));
      erreur = false;
      mc.thePlayer.closeScreen();
      }
      
      

      Voilà se que me donne le débug:

      false
      [19:53:48] [Client thread/INFO] [STDOUT]: [com.CSC.net.GUI.GuiJoinServer:actionPerformed:109]: bjrrr_rrrrr
      [19:53:48] [Client thread/INFO] [STDOUT]: [com.CSC.net.GUI.GuiJoinServer:actionPerformed:111]: rrrrr_rrrr
      [19:53:48] [Client thread/INFO] [STDOUT]: [com.CSC.net.GUI.GuiJoinServer:actionPerformed:112]: null
      

      Merci :)!</packetnameserver,></string,></entry<string,></position>

      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

        Commence déjà par formater ton code, car franchement lire ton code est actuellement est juste impossible.
        Je ne sais pas comment tu fais pour coder avec ça.

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

          @‘robin4002’:

          Commence déjà par formater ton code, car franchement lire ton code est actuellement est juste impossible.
          Je ne sais pas comment tu fais pour coder avec ça.

          C’est plus clair comme ça?

          
          package com.CSC.net.GUI;
          
          import java.io.IOException;
          
          import com.CSC.net.Main;
          import com.CSC.net.packet.PacketNameServerAdd;
          import com.CSC.net.packet.PacketNameServerRemove;
          import com.CSC.net.proxy.ServerProxy;
          import com.CSC.net.save.NameSave;
          
          import net.minecraft.client.Minecraft;
          import net.minecraft.client.gui.GuiButton;
          import net.minecraft.client.gui.GuiScreen;
          import net.minecraft.client.gui.GuiSelectWorld;
          import net.minecraft.client.gui.GuiTextField;
          import net.minecraft.util.EnumChatFormatting;
          
          public class GuiJoinServer extends GuiScreen
          {
          private static boolean erreur;
          
          public static boolean b;
          
          private int valider;
          
          private int nom;
          
          private int prenom;
          
          public static GuiTextField text;
          
          public static GuiTextField text2;
          
          public GuiJoinServer() {
          
          }
          
          @Override
          public void initGui() {
          
          valider = 0;
          
          nom = 1;
          
          prenom = 2;
          
          text = new GuiTextField(nom, fontRendererObj, width / 2, 130, 64,
          20);
          
          text2 = new GuiTextField(prenom, fontRendererObj, width / 2, 100, 64,
          20);
          
          text.setFocused(false);
          
          text2.setFocused(true);
          
          text.setMaxStringLength(20);
          
          text2.setMaxStringLength(20);
          
          this.buttonList.add(new GuiButton(valider, width / 2 - 123, 200, 40,
          20, "Valider"));
          
          super.initGui();
          }
          
          @Override
          public void mouseClicked (int i , int j, int k) { 
          text.mouseClicked (i, j, k); 
          text2.mouseClicked (i, j, k); 
          try {
          super.mouseClicked (i, j, k);
          } catch (IOException e) {
          e.printStackTrace();
          } 
          } 
          
          @Override
          protected void keyTyped(char typedChar, int keyCode) throws IOException {
          
          text.textboxKeyTyped(typedChar, keyCode);
          text2.textboxKeyTyped(typedChar, keyCode);
          super.keyTyped(typedChar, keyCode);
          }
          
          @Override
          protected void actionPerformed(GuiButton button) throws IOException {
          
          switch (button.id) {
          case 0:
          if (!text.getText().equals("") && text.getText().length() > 3 && !text2.getText().equals("") && text2.getText().length() > 3 && !ServerProxy.map.containsKey(Minecraft.getMinecraft().getSession().getPlayerID())) {
          //si les text ne sont pas vide et que il sont > que 3 arguments et que le joueur n'a pas de nom_prénom:
          System.out.println(b);
          b = false;
          ServerProxy.name = text2.getText() + "_" + text.getText();
          Main.network.sendToServer(new PacketNameServerAdd(Minecraft.getMinecraft().getSession().getPlayerID(), text2.getText() + "_" + text.getText())); // ajoute le nouveau nom prénom dans la map
          System.out.println(ServerProxy.name);
          System.out.println(ServerProxy.map.get(Minecraft.getMinecraft().getSession().getPlayerID()));
          erreur = false;
          mc.thePlayer.closeScreen();
          }
          else if(!text.getText().equals("") && text.getText().length() > 3 && !text2.getText().equals("") && text2.getText().length() > 3 && ServerProxy.map.containsKey(Minecraft.getMinecraft().getSession().getPlayerID())) {
          //si les text ne sont pas vide et que il sont > que 3 arguments et que le joueur à déjà un nom_prénom:
          System.out.println(b);
          b = false;
          ServerProxy.name = text2.getText() + "_" + text.getText();
          Main.network.sendToServer(new PacketNameServerRemove(Minecraft.getMinecraft().getSession().getPlayerID()));// retire l'ancient nom_prénom de la map
          System.out.println(ServerProxy.map.get(Minecraft.getMinecraft().getSession().getPlayerID()));
          Main.network.sendToServer(new PacketNameServerAdd(Minecraft.getMinecraft().getSession().getPlayerID(), text2.getText() + "_" + text.getText())); // ajoute le nouveau nom prénom dans la map
          System.out.println(ServerProxy.name);
          System.out.println(ServerProxy.map.get(Minecraft.getMinecraft().getSession().getPlayerID()));
          erreur = false;
          mc.thePlayer.closeScreen();
          }
          else if(text.getText().equals("72") && !text2.getText().equals("") && text2.getText().length() > 3 && !ServerProxy.map.containsKey(Minecraft.getMinecraft().getSession().getPlayerID()))
          {
          //Ici en gros c'est pour ne pas avoir de nom, juste un prénom, le joueur met 72 dans le champ nom pour ne pas avoir de nom, on s'en occupe pas d'ici et en dessous.
          System.out.println(b);
          b = false;
          ServerProxy.name = text2.getText();
          Main.network.sendToServer(new PacketNameServerAdd(Minecraft.getMinecraft().getSession().getPlayerID(), text2.getText())); // ….
          System.out.println(ServerProxy.name);
          erreur = false;
          mc.thePlayer.closeScreen();
          }
          else if(text.getText().equals("72") && !text2.getText().equals("") && text2.getText().length() > 3 && ServerProxy.map.containsKey(Minecraft.getMinecraft().getSession().getPlayerID()))
          {
          System.out.println(b);
          b = false;
          ServerProxy.name = text2.getText();
          Main.network.sendToServer(new PacketNameServerRemove(Minecraft.getMinecraft().getSession().getPlayerID()));// ....
          Main.network.sendToServer(new PacketNameServerAdd(Minecraft.getMinecraft().getSession().getPlayerID(), text2.getText()));// ....
          System.out.println(ServerProxy.name);
          erreur = false;
          mc.thePlayer.closeScreen();
          }
          else {
          erreur = true;
          }
          break;
          default:
          erreur = false;
          break;
          }
          
          super.actionPerformed(button);
          }
          
          @Override
          public void updateScreen() {
          super.updateScreen();
          }
          
          public void drawScreen(int mouseX, int mouseY, float partialTick) {
          
          this.drawDefaultBackground();
          
          text.drawTextBox();
          text2.drawTextBox();
          
          this.drawString(this.fontRendererObj, EnumChatFormatting.GRAY +"Nom", width / 2 - 80, 135, 0);
          
          this.drawString(this.fontRendererObj, EnumChatFormatting.GRAY + "Prénom", width / 2 - 80, 105, 0);
          
          super.drawScreen(mouseX, mouseY, partialTick);
          
          if (erreur) {
          this.drawString(fontRendererObj,
          "§cVotre nom et/ou prénom est/sont vide ou trop court !",
          this.width / 2 - 110, this.height / 2 - 50, 0);
          }
          }
          
          @Override
          public void onGuiClosed() {
          
          Minecraft.getMinecraft().displayGuiScreen(this);
          
          }
          }
          
          

          PacketNameServerRemove:

          
          package com.CSC.net.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;
          
          import com.CSC.net.proxy.ServerProxy;
          import com.CSC.net.save.WorldSaved;
          
          public class PacketNameServerRemove implements IMessage{
          private String string1;
          
          public PacketNameServerRemove(String s1)
          {
          this.string1 = s1;
          
          }
          
          public PacketNameServerRemove()
          {
          }
          
          @Override
          public void fromBytes(ByteBuf buf) {
          this.string1 = ByteBufUtils.readUTF8String(buf);
          }
          
          @Override
          public void toBytes(ByteBuf buf) {
          ByteBufUtils.writeUTF8String(buf, string1);
          }
          
          public static class Handler implements IMessageHandler <packetnameserverremove, imessage="">{
          @Override
             public IMessage onMessage(PacketNameServerRemove message, MessageContext ctx) 
             {
          ServerProxy.map.remove(message.string1);
          WorldSaved.instance.markDirty();
          return null;
          
             }
          }
          }
          
          

          PacketNameServerAdd:

          
          package com.CSC.net.packet;
          
          import com.CSC.net.proxy.ServerProxy;
          import com.CSC.net.save.NameSave;
          import com.CSC.net.save.WorldSaved;
          
          import io.netty.buffer.ByteBuf;
          import net.minecraft.client.Minecraft;
          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;
          import net.minecraftforge.fml.relauncher.Side;
          import net.minecraftforge.fml.relauncher.SideOnly;
          
          public class PacketNameServerAdd implements IMessage{
          
          private String string1;
          
          private String string2;
          
          public PacketNameServerAdd(String s1, String s2)
          {
          this.string1 = s1;
          this.string2 = s2;
          }
          
          public PacketNameServerAdd()
          {
          }
          
          @Override
          public void fromBytes(ByteBuf buf) {
          this.string1 = ByteBufUtils.readUTF8String(buf);
          this.string2 = ByteBufUtils.readUTF8String(buf);
          }
          
          @Override
          public void toBytes(ByteBuf buf) {
          ByteBufUtils.writeUTF8String(buf, string1);
          ByteBufUtils.writeUTF8String(buf, string2);
          }
          
          public static class Handler implements IMessageHandler <packetnameserveradd, imessage="">{
          @Override
             public IMessage onMessage(PacketNameServerAdd message, MessageContext ctx) 
             {
          ServerProxy.map.put(message.string1, message.string2);
          WorldSaved.instance.markDirty();
          return null;
          
             }
          }
          
          }
          
          ```</packetnameserveradd,></packetnameserverremove,>
          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

            ctrl + shift + f et voila …
            ça prend 2 secondes formater correcte du code.

            Au pire envoies-moi un zip de ton dossier src, ça sera plus simple.

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

              @‘robin4002’:

              ctrl + shift + f et voila …
              ça prend 2 secondes formater correcte du code.

              Au pire envoies-moi un zip de ton dossier src, ça sera plus simple.

              [size=mediumTien:]
              [size=medium(Si ça te dérange pas biensûr, vérifie l’item “batonp” avec son gui et tout, qui a pour but de mettre un joueur en prison en choisissant le nom de temps avec des sicles )]

              [size=mediumMerci :)]

              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

                Tu utilises quelle mapping ? J’ai des erreurs partout de mon côté, donc on a pas les même.

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

                  @‘robin4002’:

                  Tu utilises quelle mapping ? J’ai des erreurs partout de mon côté, donc on a pas les même.

                  mapping ??? c’est quoi ?

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

                    Ça : http://export.mcpbot.bspk.rs/
                    Cherche dans ton fichier build.gradle une ligne avec marqué mapping et tu dis ce qu’il y a marqué après

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

                      ça?

                      mappings = “snapshot_20141130”

                      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

                        En voyant les messages dans la section support ces derniers temps je commence à me demander si les gens lisent vraiment les tutoriels …
                        Je désespère de plus en plus 😕

                        ÉDIT: oui c’est ça
                        Finalement remplaces ça par “stable_22”, je vais mettre à jour les mappings de mon côté et je t’envoies le code à jour. Il faut que tu refasse un setup après changement des mappings.

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

                          D’accord merci.

                          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

                            Tu as quel encodage sur ta workspace ?
                            Chez moi tout les accents bug en utf8.

                            Tu souhaites que le nom et prénom soit demandé à chaque connexion où seulement si le joueur n’a pas de nom / prénom ?

                            Je suppose que veux le premier cas ? Car actuellement le code est fait tel que ce soit le deuxième cas.
                            Quel est l’intérêt de la boolean nommé b ?

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

                              @‘robin4002’:

                              Tu as quel encodage sur ta workspace ?
                              Chez moi tout les accents bug en utf8.

                              Tu souhaites que le nom et prénom soit demandé à chaque connexion où seulement si le joueur n’a pas de nom / prénom ?

                              Je suppose que veux le premier cas ? Car actuellement le code est fait tel que ce soit le deuxième cas.
                              Quel est l’intérêt de la boolean nommé b ?

                              Premier cas oui, le boolean sert a rien tu peux le viré, il servait avant dans le menu principal.

                              Pour les accent chez moi aussi ça bug, je te dis en quoi je suis je sais pas du touttt

                              il était en: Cp1252
                              je les mis en UTF8

                              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

                                Pour une raison inconnu je n’arrive pas à faire fonctionner le WorldSavedData.
                                C’est pour ça que tu perds le pseudo lorsque tu relance le jeu.
                                J’ai déjà pas mal cherché, je ne comprends pas pourquoi il n’est pas prit en compte (j’ai debug la fonction load c’est bien chargé comme il faut mais writeToNBT n’est jamais appelé …).

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

                                  @‘robin4002’:

                                  Pour une raison inconnu je n’arrive pas à faire fonctionner le WorldSavedData.
                                  C’est pour ça que tu perds le pseudo lorsque tu relance le jeu.
                                  J’ai déjà pas mal cherché, je ne comprends pas pourquoi il n’est pas prit en compte (j’ai debug la fonction load c’est bien chargé comme il faut mais writeToNBT n’est jamais appelé …).

                                  Tu sais quoi tant mieux. c’est pas bien grave le joueur devra retapée son pseudo quand il relance son jeu pas bien grave…

                                  Juste j’ai une question aussi tu as surement du voir que quand on se connecte pour la première fois notre pseudo est “null” , ça risque pas de généré un crash quand on va se co pour la première fois sur le serveur ?

                                  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

                                    Finalement c’est bon.
                                    Il y avait pas mal de soucis avec le WorldSaved.
                                    Et le problème du null n’est plus là.

                                    Il y a juste le pseudo côté client qui n’est pas actualisé sans deco/reco.
                                    J’ai cherché comment le refresh mais les seuls paquets qui utilisent player.getDisplayName() c’est pour le message de connexion et celui de déconnexion. Donc je ne sais pas 😕

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

                                      @‘robin4002’:

                                      Finalement c’est bon.
                                      Il y avait pas mal de soucis avec le WorldSaved.
                                      Et le problème du null n’est plus là.

                                      Il y a juste le pseudo côté client qui n’est pas actualisé sans deco/reco.
                                      J’ai cherché comment le refresh mais les seuls paquets qui utilisent player.getDisplayName() c’est pour le message de connexion et celui de déconnexion. Donc je ne sais pas 😕

                                      Jsp si c’est normal mais c’est pareil.

                                      Le worldsaved marche pas et il y a toujours le null j’ai fais le truc que tu m’a dis avec le mapping et le setup.

                                      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

                                        De mon côté ça fonctionne ?!?

                                        Tu le vois où le null ?

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

                                          la:

                                          Est aussi c’est normal que une fois que j’ai un nom_prénom je déco reco pour changer mon nom prénom ça marche pas?

                                          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

                                            Heu ?
                                            Tu n’as pas mon code là.
                                            Car j’ai complètement changé ce code.

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

                                            MINECRAFT FORGE FRANCE © 2024

                                            Powered by NodeBB