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.
    • 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