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

      @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