MFF

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

    Compiler un mod avec des libs

    Planifier Épinglé Verrouillé Déplacé Résolu 1.12.x
    1.12.2
    17 Messages 2 Publieurs 1.4k Vues 2 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 robin4002

      Probablement car tu embarque dans ton jar une lib qui est déjà utilisé par Minecraft mais dans une autre version, d’où la nécessité de relocate.

      EDIT: quoi que; slf4j ne semble pas être utilisé par Minecraft. As-tu bien installé le fichier -all.jar ?

      FeedBackF 1 réponse Dernière réponse Répondre Citer 0
      • FeedBackF Hors-ligne
        FeedBack @robin4002
        dernière édition par

        @robin4002 oui, bien sûr

        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 essaies de relocate la bibliothèque slf4j

          FeedBackF 1 réponse Dernière réponse Répondre Citer 0
          • FeedBackF Hors-ligne
            FeedBack @robin4002
            dernière édition par FeedBack

            @robin4002 comment je suis censé faire ?
            (je me doute qu’il faut utiliser relocate dans build.gradle mais aucune idée de comment)

            Edit : je tiens à préciser que mes libs sont des .jar dans /libs ^^

            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

              https://imperceptiblethoughts.com/shadow/configuration/relocation/#filtering-relocation

              Ce n’est pas vraiment une bonne pratique d’avoir les libs dans le dossier libs. Utilises plutôt les dépendances via maven.

              FeedBackF 1 réponse Dernière réponse Répondre Citer 0
              • FeedBackF Hors-ligne
                FeedBack @robin4002
                dernière édition par

                @robin4002 merci !
                J’ai réussi à exporter et le jeu ne crash plus mais j’ai 2 problèmes :

                J’ai ce magnifique icône sur eclipse ba5c9b22-a2a3-45d0-9465-724eccafbdf2-image.png
                (ça n’a pas l’air d’influer sur le jeu)

                Et sur minecraft (hors eclipse), le jeu n’a pas l’air de vouloir charger mes resources 😕

                Je n’ai pas non plus mettre mes libs via maven car j’ai un crash au lancement si je fais comme ça car gradle ne connait pas la fonction api() nécessaire à ma dépendance

                buildscript {
                    repositories {
                        jcenter()
                        maven { url = "https://files.minecraftforge.net/maven" }
                		
                		maven {
                			url "https://plugins.gradle.org/m2/"
                		}
                		
                		mavenCentral()
                    }
                    dependencies {
                        classpath 'net.minecraftforge.gradle:ForgeGradle:2.3-SNAPSHOT'
                		classpath 'com.github.jengelman.gradle.plugins:shadow:2.0.3'   
                	}
                }
                
                apply plugin: 'net.minecraftforge.gradle.forge'
                apply plugin: 'com.github.johnrengelman.shadow'
                apply plugin: 'com.github.johnrengelman.plugin-shadow'
                
                version = "1.0"
                group = "com.drastic.twitchmod" // http://maven.apache.org/guides/mini/guide-naming-conventions.html
                archivesBaseName = "TwitchMod"
                
                sourceCompatibility = targetCompatibility = '1.8' // Need this here so eclipse task generates correctly.
                compileJava {
                    sourceCompatibility = targetCompatibility = '1.8'
                }
                
                minecraft {
                    version = "1.12.2-14.23.5.2847"
                    runDir = "run"
                
                    mappings = "snapshot_20171003"
                }
                
                dependencies {
                	implementation fileTree(dir: 'libs', includes: ['*.jar']) 
                }
                
                import com.github.jengelman.gradle.plugins.shadow.tasks.ConfigureShadowRelocation
                
                task relocateShadowJar(type: ConfigureShadowRelocation) {
                    target = tasks.shadowJar
                    prefix = "twitchmod" // Default value is "shadow"
                
                }
                
                tasks.shadowJar.dependsOn tasks.relocateShadowJar
                
                reobf {
                    shadowJar {}
                }
                
                processResources {
                    inputs.property "version", project.version
                    inputs.property "mcversion", project.minecraft.version
                
                    from(sourceSets.main.resources.srcDirs) {
                        include 'mcmod.info'
                                
                        expand 'version':project.version, 'mcversion':project.minecraft.version
                    }
                        
                    from(sourceSets.main.resources.srcDirs) {
                        exclude 'mcmod.info'
                    }
                }
                
                #Mon Sep 14 12:28:28 PDT 2015
                distributionBase=GRADLE_USER_HOME
                distributionPath=wrapper/dists
                zipStoreBase=GRADLE_USER_HOME
                zipStorePath=wrapper/dists
                distributionUrl=https\://services.gradle.org/distributions/gradle-3.5-bin.zip
                
                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

                  Ah probablement que le fat jar n’inclut pas les ressources. As-tu déjà vérifié si le dossier assets est présent ou non dans le fat jar ?

                  api c’est pour les versions récentes de gradle, utilises compile à la place.

                  FeedBackF 1 réponse Dernière réponse Répondre Citer 0
                  • FeedBackF Hors-ligne
                    FeedBack @robin4002
                    dernière édition par

                    @robin4002 bonjour,
                    j’ai bien vérifié et mes assets / mcmod.info sont bien dans mon jar

                    Je pense que le problème vient de ForgeGradle car il est déprécié quand on met à jour gradle (ce que j’ai fait pour pouvoir utiliser shadow)

                    Malheureusement, je n’ai aucune idée de comment utiliser ForgeGradle 3.+

                    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’est presque pareil, base toi sur le mdk de forge 14.23.5.2855

                      FeedBackF 1 réponse Dernière réponse Répondre Citer 0
                      • FeedBackF Hors-ligne
                        FeedBack @robin4002
                        dernière édition par FeedBack

                        @robin4002 d’acc

                        j’ai réussi mais j’ai une erreur quand je fais un gradlew setupDecompWorkspace
                        0788b7fa-655a-43bc-ac7f-4e7493f125de-image.png

                        edit: j’ai trouvé le pourquoi mais pas la solution : le bon lien pour le userdev est : https://maven.minecraftforge.net/net/minecraftforge/forge/1.12.2-14.23.5.2847/forge-1.12.2-14.23.5.2847-userdev.jar
                        mais forge cherche
                        https://maven.minecraftforge.net/net/minecraftforge/forge/1.12.2-14.23.5.2847/forge-1.12.2-14.23.5.2847/userdev3.jar

                        buildscript {
                            repositories {
                                maven { url = 'https://files.minecraftforge.net/maven' }
                                maven { url "https://plugins.gradle.org/m2/" }
                                jcenter()
                                mavenCentral()
                            }
                            dependencies {
                                classpath group: 'net.minecraftforge.gradle', name: 'ForgeGradle', version: '3.+', changing: true	
                        		classpath 'com.github.jengelman.gradle.plugins:shadow:5.2.0'   
                        	}
                        }
                        
                        plugins{
                            id 'com.github.johnrengelman.shadow' version '5.2.0'
                        }
                        
                        apply plugin: 'net.minecraftforge.gradle'
                        apply plugin: 'eclipse'
                        apply plugin: 'maven-publish'
                        
                        version = "1.0.1"
                        group = "com.drastic.twitchmod" // http://maven.apache.org/guides/mini/guide-naming-conventions.html
                        archivesBaseName = "TwitchMod"
                        
                        sourceCompatibility = targetCompatibility = '1.8'
                        
                        compileJava {
                            sourceCompatibility = targetCompatibility = '1.8'
                        }
                        
                        println('Java: ' + System.getProperty('java.version') + ' JVM: ' + System.getProperty('java.vm.version') + '(' + System.getProperty('java.vendor') + ') Arch: ' + System.getProperty('os.arch'))
                        
                        minecraft {
                            mappings channel: 'snapshot', version: '20171003'
                        	
                        	runs {
                                client {
                                    workingDirectory project.file('run')
                        
                                    // Recommended logging data for a userdev environment
                                    property 'forge.logging.markers', 'SCAN,REGISTRIES,REGISTRYDUMP'
                        
                                    // Recommended logging level for the console
                                    property 'forge.logging.console.level', 'debug'
                        
                                    mods {
                                        examplemod {
                                            source sourceSets.main
                                        }
                                    }
                                }
                        
                                server {
                                    workingDirectory project.file('run')
                        
                                    // Recommended logging data for a userdev environment
                                    property 'forge.logging.markers', 'SCAN,REGISTRIES,REGISTRYDUMP'
                        
                                    // Recommended logging level for the console
                                    property 'forge.logging.console.level', 'debug'
                        
                                    mods {
                                        examplemod {
                                            source sourceSets.main
                                        }
                                    }
                                }
                        
                                data {
                                    workingDirectory project.file('run')
                        
                                    // Recommended logging data for a userdev environment
                                    property 'forge.logging.markers', 'SCAN,REGISTRIES,REGISTRYDUMP'
                        
                                    // Recommended logging level for the console
                                    property 'forge.logging.console.level', 'debug'
                        
                                    args '--mod', 'examplemod', '--all', '--output', file('src/generated/resources/')
                        
                                    mods {
                                        examplemod {
                                            source sourceSets.main
                                        }
                                    }
                                }
                            }
                        }
                        
                        dependencies {
                        	minecraft 'net.minecraftforge:forge:1.12.2-14.23.5.2847'
                        
                            shadow fileTree(dir: 'libs', include: ['*.jar'])
                        
                        	compile group: 'com.github.twitch4j', name: 'twitch4j', version: '1.3.1'
                        	shadow group: 'com.github.twitch4j', name: 'twitch4j', version: '1.3.1'
                        	shadow group: 'ch.qos.logback', name: 'logback-classic', version: '1.2.3'
                        }
                        
                        import com.github.jengelman.gradle.plugins.shadow.tasks.ConfigureShadowRelocation
                        
                        task relocateShadowJar(type: ConfigureShadowRelocation) {
                            target = tasks.shadowJar
                            prefix = "twitchmod"
                        
                        }
                        
                        tasks.shadowJar.dependsOn tasks.relocateShadowJar
                        
                        reobf {
                            shadowJar {}
                        }
                        
                        processResources {
                            inputs.property "version", project.version
                            inputs.property "mcversion", project.minecraft.version
                        
                            from(sourceSets.main.resources.srcDirs) {
                                include 'mcmod.info'
                                        
                                expand 'version':project.version, 'mcversion':project.minecraft.version
                            }
                                
                            from(sourceSets.main.resources.srcDirs) {
                                exclude 'mcmod.info'
                            }
                        }
                        
                        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

                          Ah mince, donc le setup forge gradle 3 pour la 1.12 est cassé 😕

                          La je n’ai pas de solution

                          FeedBackF 1 réponse Dernière réponse Répondre Citer 0
                          • FeedBackF Hors-ligne
                            FeedBack @robin4002
                            dernière édition par

                            @robin4002 on peut fork au pire nn ?

                            FeedBackF 1 réponse Dernière réponse Répondre Citer 0
                            • FeedBackF Hors-ligne
                              FeedBack @FeedBack
                              dernière édition par

                              Bon j’ai trouvé !
                              J’ai réussi avec cette config :

                              buildscript {
                                  repositories {
                                      maven { url = 'https://files.minecraftforge.net/maven' }
                                      maven { url "https://plugins.gradle.org/m2/" }
                                      jcenter()
                                      mavenCentral()
                              		maven { url 'https://jitpack.io' }
                                      gradlePluginPortal()		
                                  }
                                  dependencies {
                                      classpath 'net.minecraftforge.gradle:ForgeGradle:2.3-SNAPSHOT'
                              		classpath 'com.github.jengelman.gradle.plugins:shadow:4.0.2'
                              	}
                              }
                              
                              plugins{
                              	id 'java'
                              }
                              
                              apply plugin: 'net.minecraftforge.gradle.forge'
                              apply plugin: 'eclipse'
                              apply plugin: 'com.github.johnrengelman.shadow'
                              
                              version = "1.0.0"
                              group = "com.drastic.twitchmod" // http://maven.apache.org/guides/mini/guide-naming-conventions.html
                              archivesBaseName = "TwitchMod-RedSkyll"
                              
                              sourceCompatibility = targetCompatibility = '1.8'
                              
                              compileJava {
                                  sourceCompatibility = targetCompatibility = '1.8'
                              }
                              
                              println('Java: ' + System.getProperty('java.version') + ' JVM: ' + System.getProperty('java.vm.version') + '(' + System.getProperty('java.vendor') + ') Arch: ' + System.getProperty('os.arch'))
                              
                              minecraft {
                                  version = "1.12.2-14.23.5.2847"
                                  runDir = "run"
                              
                                  mappings 'snapshot_20171003'
                              }
                              
                              
                              dependencies {
                                 shadow fileTree(dir: 'libs', include: ['*.jar'])
                              }
                              
                              import com.github.jengelman.gradle.plugins.shadow.tasks.ConfigureShadowRelocation
                              
                              task relocateShadowJar(type: ConfigureShadowRelocation) {
                                  target = tasks.shadowJar
                              	prefix = "twitchmod"
                              }
                              
                              tasks.shadowJar.dependsOn tasks.relocateShadowJar
                              
                              reobf {
                              	shadowJar {}
                              }
                              
                              processResources {
                                  inputs.property "version", project.version
                                  inputs.property "mcversion", project.minecraft.version
                              
                                  from(sourceSets.main.resources.srcDirs) {
                                      include 'mcmod.info'
                                              
                                      expand 'version':project.version, 'mcversion':project.minecraft.version
                                  }
                                      
                                  from(sourceSets.main.resources.srcDirs) {
                                      exclude 'mcmod.info'
                                  }
                              }
                              
                              #Mon Sep 14 12:28:28 PDT 2015
                              distributionBase=GRADLE_USER_HOME
                              distributionPath=wrapper/dists
                              zipStoreBase=GRADLE_USER_HOME
                              zipStorePath=wrapper/dists
                              distributionUrl=https\://services.gradle.org/distributions/gradle-4.9-bin.zip
                              
                              1 réponse Dernière réponse Répondre Citer 0
                              • robin4002R robin4002 marked this topic as a question on
                              • robin4002R robin4002 has marked this topic as solved on
                              • robin4002R robin4002 a déplacé ce sujet de Support pour les moddeurs sur
                              • 1 / 1
                              • Premier message
                                Dernier message
                              Design by Woryk
                              ContactMentions Légales

                              MINECRAFT FORGE FRANCE © 2024

                              Powered by NodeBB