MFF

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

    Signer un mod

    Planifier Épinglé Verrouillé Déplacé Java & outils de développement
    forgegradle
    14 Messages 4 Publieurs 3.3k 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.
    • D Hors-ligne
      Degraduck
      dernière édition par robin4002

      Aucun crash ^^

      Mon fichier gradle.properties:

      keyStore=C:\Users\Sullivan.keystore
      keyStoreAlias=Degraduck
      keyStorePass=monmdp
      keyStoreKeyPass=monmdp
      

      Mon code dans la class principale:

      @Mod(modid = Constants.MODID, name = Constants.MODNAME, version = Constants.MODVERSION, certificateFingerprint = "13acf16405b3ac8d7ccab68563acefda5f644c75")
      
      @EventHandler
      public void signature(FMLFingerprintViolationEvent event){
      
      }
      
      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

        As-tu bien ajouté la tâche signJar dans le fichier build.gradle ?

        1 réponse Dernière réponse Répondre Citer 0
        • D Hors-ligne
          Degraduck
          dernière édition par robin4002

          Oui voici mon fichier:

          buildscript {
          repositories {
          mavenCentral()
          maven {
          name = "forge"
          url = "http://files.minecraftforge.net/maven"
          }
          maven {
          name = "sonatype"
          url = "https://oss.sonatype.org/content/repositories/snapshots/"
          }
          }
          dependencies {
          classpath 'net.minecraftforge.gradle:ForgeGradle:1.2-SNAPSHOT'
          }
          }
          
          apply plugin: 'forge'
          
          version = "1.0"
          group= "com.yourname.modid" // http://maven.apache.org/guides/mini/guide-naming-conventions.html
          archivesBaseName = "modid"
          
          minecraft {
          version = "1.7.10-10.13.4.1558-1.7.10"
          runDir = "eclipse"
          }
          
          dependencies {
          // you may put jars on which you depend on in ./libs
          // or you may define them like so..
          //compile "some.group:artifact:version:classifier"
          //compile "some.group:artifact:version"
          
          // real examples
          //compile 'com.mod-buildcraft:buildcraft:6.0.8:dev' // adds buildcraft to the dev env
          //compile 'com.googlecode.efficient-java-matrix-library:ejml:0.24' // adds ejml to the dev env
          
          // for more info…
          // http://www.gradle.org/docs/current/userguide/artifact_dependencies_tutorial.html
          // http://www.gradle.org/docs/current/userguide/dependency_management.html
          
          }
          
          processResources
          {
          // this will ensure that this task is redone when the versions change.
          inputs.property "version", project.version
          inputs.property "mcversion", project.minecraft.version
          
          // replace stuff in mcmod.info, nothing else
          from(sourceSets.main.resources.srcDirs) {
          include 'mcmod.info'
          
          // replace version and mcversion
          expand 'version':project.version, 'mcversion':project.minecraft.version
          }
          
          // copy everything else, thats not the mcmod.info
          from(sourceSets.main.resources.srcDirs) {
          exclude 'mcmod.info'
          }
          }
          
          task signJar(type: SignJar) {
          onlyIf { // On exécute seulement s'il y a un keystore spécifié dans le gradle.properties
          project.hasProperty('keyStore')
          }
          
          keyStore = project.keyStore // on indique le keystore ainsi que toutes les autres variables
          alias = project.keyStoreAlias
          storePass = project.keyStorePass
          keyPass = project.keyStoreKeyPass
          inputFile = jar.archivePath // On indique le jar d'entrée et de sortie
          outputFile = jar.archivePath
          }
          
          assemble.dependsOn signJar // Lorsque l'on compile le jar on le signe
          
          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

            Dans ta fonction public void signature(FMLFingerprintViolationEvent event){
            ajoutes un System.out.println(“empreinte invalide”);
            et regardes s’il affiche après avoir modifié le jar.

            1 réponse Dernière réponse Répondre Citer 0
            • D Hors-ligne
              Degraduck
              dernière édition par robin4002

              Oui en lançant j’ai bien:

              [14:34:53] [Client thread/INFO] [STDOUT]: [com.degraduck.atlantidecraft.core.AtlantideCraft:signature:63]: empreinte invalide
              
              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

                Donc ça fonctionne comme prévu.
                À toi de faire ce que tu veux dans la fonction en question.

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

                  Ah d’accord je pensais que ça crashait au lancement tout seul, j’avais pas compris que c’était a moi de lui dire de crash dans ma fonction^^

                  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

                    C’était aussi ce que je pensais au début.

                    1 réponse Dernière réponse Répondre Citer 0
                    • Flow ArgF Hors-ligne
                      Flow Arg Moddeurs confirmés
                      dernière édition par

                      Est-on réellement obliger de passer par le keytool de java ? Ou alors peut-on également et manuellement calculer le sha-1 du fichier et de le mettre en paramètre du @Mod ? Car si je comprend bien, le sha1 mis dans l’annotation correspond au sha1 de notre mod, je me trompe ?

                      Mon GitHub
                      Mon repo Maven
                      Mon Updater
                      Je suis un membre apprécié et joueur, j'ai déjà obtenu 10 points de réputation.

                      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 robin4002

                        Le sha1 qui se trouve dans @mod c’est la signature de la clé avec laquelle tu signes, pas celle du mod.

                        Il y a probablement moyen de signer sans keytool mais je ne vois pas l’intérêt de vouloir se passer de cet outil qui simplifie la procédure.
                        https://docs.oracle.com/javase/tutorial/deployment/jar/intro.html

                        1 réponse Dernière réponse Répondre Citer 0
                        • Flow ArgF Hors-ligne
                          Flow Arg Moddeurs confirmés
                          dernière édition par

                          merci de ces informations !

                          Mon GitHub
                          Mon repo Maven
                          Mon Updater
                          Je suis un membre apprécié et joueur, j'ai déjà obtenu 10 points de réputation.

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

                          MINECRAFT FORGE FRANCE © 2024

                          Powered by NodeBB