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

      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