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