MFF

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

    Sauvegarder une donnée en 1.12.2

    Planifier Épinglé Verrouillé Déplacé Résolu 1.12.x
    1.12.2
    21 Messages 3 Publieurs 1.6k Vues 3 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.
    • U Hors-ligne
      UtopiePhysique @pazzazzo
      dernière édition par UtopiePhysique

      @pazzazzo D’accord comme j’avais vu “dans un monde” je pensais un changement de monde.

      Alors tu as 2 options:
      • Le dossier de configuration
      • La base de donnée

      Je suis adepte aux bases de données car j’enregistre pas mal d’informations, mais pour juste une valeur, pas très utile et très gourmand.

      Les bases de données il existe 3 types, sois en ligne externe, en ligne local et local (sous forme de fichier).
      Les deux premières dites “en ligne” nécessite un serveur évidemment 🙂

      Et là il y à 2 façons d’y accéder, un système qui va envoyer des données ou en lire sur une page web et utiliser une page PHP pour ça (on appel ça une API).

      Ou directement par le Java, bien plus complexe mais très efficace, la seule solution pour le 3eme type de base de donnée d’ailleurs. J’ai déjà pu le faire pour ce 3eme type en 1.12.2 donc faisable et très performant car si la connexion internet coupe et que tu as le serveur local c’est super 🙂
      Et si c’est sous format fichier ça évite d’avoir le serveur qui héberge la base qui crash.

      Tu n’as plus qu’à écrire/lire l’information dès qu’elle est utilisé.

      Tu as une fonction qui reconnaît les nouveaux joueur je crois (à moins que je l’avais bidouiller pour vérifier si son dossier existe dans les deux cas c’est faisable), là tu ajoutes ta valeur (exemple une configuration au nom de chaque joueurs qui possède la valeur “monney” en format integer ou float, si tu veux ou non des chiffres à virgule) puis je te conseil sur le serveur de faire une méthode qui gère le retrait et ajout d’argent sur les joueurs.

      Comme ça t’y place un petit code qui va aussi sauvegarder/modifier la base de donnée ou la configuration et tu es sûr d’être toujours a jour, si le serveur crash, pas de soucis tout est sauvegarder.

      J’espère ne pas m’être trop étaler, je te proposes tout ce qui existe à toi de faire ton choix.

      Donc sois gérer une base de donnée en Java (ou requête sur une API), sois créer un fichier de configuration avec Forge 🙂
      (Ou créer un bête fichier texte en Java avec l’IO mais je te déconseille cette méthode puisqu’il y à le système de configuration forge spécialement fait pour gérer des infos).

      1 réponse Dernière réponse Répondre Citer 2
      • pazzazzoP Hors-ligne
        pazzazzo
        dernière édition par

        bah tu avais pas besoin de dire tout sa x) quoi qu’il en soit c’est la 3 que je veut faire, et comment tu sais que c’est sur un serveur?

        U 1 réponse Dernière réponse Répondre Citer 3
        • pazzazzoP Hors-ligne
          pazzazzo
          dernière édition par

          donc j’aimerais que tu m’apprenne a faire la technique 3 stp

          1 réponse Dernière réponse Répondre Citer 2
          • U Hors-ligne
            UtopiePhysique @pazzazzo
            dernière édition par UtopiePhysique

            @pazzazzo Tu sauvegardes généralement jamais d’informations sur un client, c’est la base de la programmation, never trust a client une règle IMPORTANTE !

            J’ai pas compris, la 3 c’est quoi? La base de donnée local sans serveur ? Tu as aussi le système de configuration par exemple ici

            Sinon pour la base de donnée local sans serveur, comme ça fait longtemps que je ne l’ai pas fais je suis en train d’apprendre (et j’avance vite !) à modder pour minecraft, je comptes faire beaucoup de tutos et d’exemples qui pour moi manque cruellement que ce sois sur les forums francophone ou anglophone.

            Cependant je vais te donner des pistes, la méthode dont j’ai dis que c’était sur un fichier c’est SQLite (site officiel, je penses que c’est utilisable avec Forge).

            Pour les tutos d’utilisation de SQLite en Java c’est ici.

            Je te préviens c’est peut être un niveau un peu plus élevé que du modding ^^’
            Si tu n’arrives pas, penche toi sur la création de configuration tant pis.

            pazzazzoP 1 réponse Dernière réponse Répondre Citer 3
            • pazzazzoP Hors-ligne
              pazzazzo
              dernière édition par

              ok merci je vais essayer

              1 réponse Dernière réponse Répondre Citer 2
              • pazzazzoP Hors-ligne
                pazzazzo @UtopiePhysique
                dernière édition par

                @UtopiePhysique sa a laire bien https://forums.minecraftforge.net/topic/62627-112-how-to-create-config/ mais… je comprend rien 😕

                U 1 réponse Dernière réponse Répondre Citer 2
                • U Hors-ligne
                  UtopiePhysique @pazzazzo
                  dernière édition par

                  @pazzazzo C’était le premier lien google la personne donnait plus la réponse que la solution … Cherche par toi même les sujets ne manque pas sur comment faire une configuration …

                  Documentation : https://mcforge.readthedocs.io/en/1.12.x/config/annotations/
                  Vidéo: https://www.youtube.com/watch?v=yy82mmcxP-Q

                  Etc …

                  1 réponse Dernière réponse Répondre Citer 2
                  • pazzazzoP Hors-ligne
                    pazzazzo
                    dernière édition par

                    merci

                    1 réponse Dernière réponse Répondre Citer 2
                    • pazzazzoP Hors-ligne
                      pazzazzo
                      dernière édition par pazzazzo

                      J’ai finalement utilisé les capabilities
                      Résolu

                      U 1 réponse Dernière réponse Répondre Citer 2
                      • U Hors-ligne
                        UtopiePhysique @pazzazzo
                        dernière édition par

                        @pazzazzo En effet, je connais pas bien les capabilities à priori c’est bien pour sauvegarder une informations ^^

                        https://www.minecraftforgefrance.fr/topic/2800/utiliser-les-capabilities/2

                        pazzazzoP 1 réponse Dernière réponse Répondre Citer 2
                        • pazzazzoP Hors-ligne
                          pazzazzo @UtopiePhysique
                          dernière édition par pazzazzo

                          @UtopiePhysique c’est le tuto que j’ai utilisé x) j’ai trerminé mais mtn je cherche a faire la commande /pay je sais pas comment je vais m’y prendre

                          U 1 réponse Dernière réponse Répondre Citer 2
                          • U Hors-ligne
                            UtopiePhysique @pazzazzo
                            dernière édition par

                            @pazzazzo En 1.12.2 les commandes c’est un peu relou, en 1.15.2 c’est hyper simplifié.

                            https://www.minecraftforgefrance.fr/topic/4471/créer-une-commande

                            pazzazzoP 1 réponse Dernière réponse Répondre Citer 2
                            • pazzazzoP Hors-ligne
                              pazzazzo @UtopiePhysique
                              dernière édition par

                              @UtopiePhysique je sais faire une commande mais c’est pour retirer l’argent du joueur et tout que je sais pas comment je vais faire

                              U 1 réponse Dernière réponse Répondre Citer 2
                              • U Hors-ligne
                                UtopiePhysique @pazzazzo
                                dernière édition par UtopiePhysique

                                @pazzazzo Le tuto dit:

                                public int money;
                                 
                                public void setMoney(int money) {
                                    this.money = money;
                                }
                                 
                                public int getMoney() {
                                    return this.money;
                                }
                                

                                En sois tu peux ajouter:

                                public void editMoney(int money) {
                                    this.money += money;
                                }
                                

                                “editMoney(10);” ajoutera 10 pièces, editMoney(-10); retire 10 pièces.

                                Comme ça tu n’as plus qu’à faire (dans ta commande):

                                TutoCapabilities newCap = (EntityPlayer)sender.getCapability(ModTutoriel.TUTO_CAP, null);
                                newCap.editMoney(10));
                                

                                Cependant attention, vérifie que tu as bien tout mis côté serveur et qu’un joueur ne pas pas utiliser quelque une méthode côté client pour ce give de l’argent 😉

                                pazzazzoP 2 réponses Dernière réponse Répondre Citer 3
                                • pazzazzoP Hors-ligne
                                  pazzazzo
                                  dernière édition par

                                  javais fais sa

                                  package com.frenchdevteam.goodlifemod.monnaie;
                                  
                                  public interface IMoney {
                                  
                                      default public void removeMoney(int amount) {
                                          this.addMoney(-amount);
                                      }
                                  
                                      default public void addMoney(int amount) {
                                          this.setMoney(this.getMoney() + amount);
                                      }
                                  
                                      public void setMoney(int amount);
                                  
                                      public int getMoney();
                                  
                                  }
                                  
                                  1 réponse Dernière réponse Répondre Citer 2
                                  • pazzazzoP Hors-ligne
                                    pazzazzo @UtopiePhysique
                                    dernière édition par pazzazzo

                                    @UtopiePhysique oui mais comment je dis que joueur qui perde l’argent et celui qui gagner l’argent

                                    Ha non j’ai pas utiliser se tuto moi x)

                                    je vais regarder se tuto

                                    et comme c’est résolu stp dm moi discord pazzazzo#9999

                                    1 réponse Dernière réponse Répondre Citer 2
                                    • pazzazzoP Hors-ligne
                                      pazzazzo @UtopiePhysique
                                      dernière édition par

                                      Ce message a été supprimé !
                                      1 réponse Dernière réponse Répondre Citer 0
                                      • 1
                                      • 2
                                      • 1 / 2
                                      • Premier message
                                        Dernier message
                                      Design by Woryk
                                      ContactMentions Légales

                                      MINECRAFT FORGE FRANCE © 2024

                                      Powered by NodeBB