• Récent
  • Mots-clés
  • Populaire
  • Utilisateurs
  • Groupes
  • S'inscrire
  • Se connecter
  • S'inscrire
  • Se connecter
  • Recherche
  • Récent
  • Mots-clés
  • Populaire
  • Utilisateurs
  • Groupes

Résolu Créer une library pour un mod

1.11.x
1.11.x
4
8
2.1k
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.
  • Cl00e9ment
    Cl00e9ment dernière édition par 27 avr. 2017, 17:58

    Bonjour,

    Je suis en train de créer une library pour un mod Minecraft. Cette library permettra de simplifier la sauvegarde de données et la synchronisation des données.
    J’ai déjà compilé un prototype de cette library et pour l’implémenter à un mod, je fais tout simplement :
    Properties → Java Build Path → Libraries → Add Jars…

    Mon problème est le suivant : Où doit se situer le jar de ma library ?
    Quand je le met à la racine du projet le build du mod fonctionne très bien, mais une fois en jeu, le mod ne trouve plus les fichiers de ma library (normal : la library n’est pas build avec le mod).
    Donc j’ai eu l’idée de la mettre dans les ressources du mod, sauf que là, le build ne fonctionne même plus : la console m’indique qu’elle ne trouve pas les fichiers de ma library (ce que je comprends moins).

    J’espère que vous saurez m’aider. Merci.

    1 réponse Dernière réponse Répondre Citer 0
    • robin4002
      robin4002 Moddeurs confirmés Rédacteurs Administrateurs dernière édition par 27 avr. 2017, 17:59

      Salut,
      Dans le dossier de forge / gradle, fais un dossier libs et mets-le dedans.

      1 réponse Dernière réponse Répondre Citer 0
      • Ama
        Ama dernière édition par 27 avr. 2017, 18:00

        Normalement tu dois avoir les deux jars (ton mod et la lib) dans le dossier mods du .minecraft une fois le tout terminé.

        Si je t'ai filé un coup de main n'oublie pas le + / -
        Par contre évite les demandes d'aides en MP, tu sera sympa'

        La JavaDoc c'est comme le PQ, ça sert à ce démerder tous seul. -Victor Hugo- 2017

        Une superbe API pour animer vos super modèles CraftStudio dans Minecraft !

        1 réponse Dernière réponse Répondre Citer 1
        • Cl00e9ment
          Cl00e9ment dernière édition par 27 avr. 2017, 18:05

          Ok merci, je teste ça.
          Les gars vous êtes beaucoup trop chauds.  😮  J’ai à peine eu le temps de mettre mon pc en veille que j’ai reçu une notif par mail ! Et là 2 nouvelles réponses ! Merci en tout cas 😄


          Oubliez ce que j’ai dis précédemment, voici les vrais infos :

          Quand je met ma library dans un dossier libs à la racine du projet le build du mod fonctionne très bien, mais une fois en jeu, le mod ne trouve plus les fichiers de ma library.

          Donc j’ai eu l’idée de la mettre dans les ressources du mod, sauf que là, le build ne fonctionne même plus : la console m’indique qu’elle ne trouve pas les fichiers de ma library.
          En fait cette erreur de build apparait du moment que la library n’est pas dans un dossier libs à la racine du projet. Elle apparait quand la library est directement à la racine du projet ou dans un dossier quelconque à la racine du projet, même dans le dossier gradle/libs par exemple.

          –-

          Du coup, j’ai build mon mod avec la première option. Et cette fois j’ai mis ma library dans le dossier mods. Et là surprise, ça fonctionne… ou pas. En fait la fonction getMapStorage() n’est pas trouvée. C’est étrange car avec la même version de Minecraft et de Forge, ça fonctionne très bien dans mon environnement de développement.
          :::

          ---- Minecraft Crash Report ----
          // There are four lights!
          
          Time: 4/27/17 8:13 PM
          Description: Exception in server tick loop
          
          net.minecraftforge.fml.common.LoaderExceptionModCrash: Caught exception from Example Mod (examplemod)
          Caused by: java.lang.NoSuchMethodError: net.minecraft.world.WorldServer.getMapStorage()Lnet/minecraft/world/storage/MapStorage;
          at com.trcgames.dbSynchronizer.database.Database.initInstance(Database.java:33)
          at com.trcgames.dbSynchronizer.DBSynchronizer.onServerStarted(DBSynchronizer.java:33)
          at com.example.examplemod.ExampleMod.onServerStared(ExampleMod.java:27)
          at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
          at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
          at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
          at java.lang.reflect.Method.invoke(Unknown Source)
          at net.minecraftforge.fml.common.FMLModContainer.handleModStateEvent(FMLModContainer.java:641)
          at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
          at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
          at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
          at java.lang.reflect.Method.invoke(Unknown Source)
          at com.google.common.eventbus.EventSubscriber.handleEvent(EventSubscriber.java:74)
          at com.google.common.eventbus.SynchronizedEventSubscriber.handleEvent(SynchronizedEventSubscriber.java:47)
          at com.google.common.eventbus.EventBus.dispatch(EventBus.java:322)
          at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:304)
          at com.google.common.eventbus.EventBus.post(EventBus.java:275)
          at net.minecraftforge.fml.common.LoadController.sendEventToModContainer(LoadController.java:246)
          at net.minecraftforge.fml.common.LoadController.propogateStateMessage(LoadController.java:224)
          at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
          at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
          at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
          at java.lang.reflect.Method.invoke(Unknown Source)
          at com.google.common.eventbus.EventSubscriber.handleEvent(EventSubscriber.java:74)
          at com.google.common.eventbus.SynchronizedEventSubscriber.handleEvent(SynchronizedEventSubscriber.java:47)
          at com.google.common.eventbus.EventBus.dispatch(EventBus.java:322)
          at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:304)
          at com.google.common.eventbus.EventBus.post(EventBus.java:275)
          at net.minecraftforge.fml.common.LoadController.distributeStateMessage(LoadController.java:147)
          at net.minecraftforge.fml.common.Loader.serverStarted(Loader.java:872)
          at net.minecraftforge.fml.common.FMLCommonHandler.handleServerStarted(FMLCommonHandler.java:300)
          at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:444)
          at java.lang.Thread.run(Unknown Source)
          
          A detailed walkthrough of the error, its code path and all known details is as follows:
          ---------------------------------------------------------------------------------------
          
          -- System Details --
          Details:
          Minecraft Version: 1.11.2
          Operating System: Windows 10 (amd64) version 10.0
          Java Version: 1.8.0_121, Oracle Corporation
          Java VM Version: Java HotSpot(TM) 64-Bit Server VM (mixed mode), Oracle Corporation
          Memory: 391019368 bytes (372 MB) / 676331520 bytes (645 MB) up to 954728448 bytes (910 MB)
          JVM Flags: 3 total; -XX:HeapDumpPath=MojangTricksIntelDriversForPerformance_javaw.exe_minecraft.exe.heapdump -Xms512m -Xmx1024m
          IntCache: cache: 0, tcache: 0, allocated: 13, tallocated: 95
          FML: MCP 9.38 Powered by Forge 13.20.0.2228 5 mods loaded, 5 mods active
          States: 'U' = Unloaded 'L' = Loaded 'C' = Constructed 'H' = Pre-initialized 'I' = Initialized 'J' = Post-initialized 'A' = Available 'D' = Disabled 'E' = Errored
          UCHIJAAAA minecraft{1.11.2} [Minecraft] (minecraft.jar)
          UCHIJAAAA mcp{9.19} [Minecraft Coder Pack] (minecraft.jar)
          UCHIJAAAA FML{8.0.99.99} [Forge Mod Loader] (forge-1.11.2-13.20.0.2228-universal.jar)
          UCHIJAAAA forge{13.20.0.2228} [Minecraft Forge] (forge-1.11.2-13.20.0.2228-universal.jar)
          UCHIJAAAE examplemod{1.0} [Example Mod] (DBSyncTest.jar)
          Loaded coremods (and transformers):
          GL info: ~~ERROR~~ RuntimeException: No OpenGL context found in the current thread.
          Profiler Position: N/A (disabled)
          Player Count: 0 / 8; []
          Type: Integrated Server (map_client.txt)
          Is Modded: Definitely; Client brand changed to 'fml,forge'
          

          :::

          1 réponse Dernière réponse Répondre Citer 0
          • AymericRed
            AymericRed dernière édition par 28 avr. 2017, 11:04

            La 1e solution est la bonne, mettre la librairie dans le dossier mod est aussi la bonne manière.
            Tu l’as compilé avec quoi ta librairie ? Car le problème est qu’elle utilise les noms non obfusqués de l’environnement de dev au lieu de ceux obfusqués.

            Si je vous ai aidé, n'oubliez pas d’être heureux, j'aiderai encore +

            AymericRed, moddeur expérimenté qui aide sur ce forum et qui peut accepter de faire un mod Forge rémunéré de temps en temps.

            Mes tutos : Table de craft, plugin NEI, plugin JEI, modifier l'overlay
            Je suis un membre apprécié et joueur, j'ai déjà obtenu 6 points de réputation.

            1 réponse Dernière réponse Répondre Citer 1
            • Cl00e9ment
              Cl00e9ment dernière édition par 28 avr. 2017, 11:22

              Ah… d’accord, ça expliquerait tout !
              En fait j’ai créer ma library comme si c’était un mod sauf que je ne l’ai pas build, j’ai juste exporter un jar avec les classes que j’ai créé (sauf la classe principale qui me servait de test).

              Du coup, comment je dois m’y prendre ?

              1 réponse Dernière réponse Répondre Citer 0
              • robin4002
                robin4002 Moddeurs confirmés Rédacteurs Administrateurs dernière édition par 28 avr. 2017, 11:55

                Faut compiler comme si c’est un mod.

                1 réponse Dernière réponse Répondre Citer 1
                • Cl00e9ment
                  Cl00e9ment dernière édition par 28 avr. 2017, 12:07

                  MERCI !
                  Ahh… l’explosion de joie quand j’ai vu que ça a fonctionné ! Merci encore !

                  1 réponse Dernière réponse Répondre Citer 0
                  • 1 / 1
                  1 sur 8
                  • Premier message
                    1/8
                    Dernier message
                  Design by Woryk
                  Contact / Mentions Légales

                  MINECRAFT FORGE FRANCE © 2018

                  Powered by NodeBB