MFF

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

    Mon Mods ne Fonctione pas sur serveur

    Planifier Épinglé Verrouillé Déplacé Résolu 1.9.x et 1.10.x
    1.10.x
    13 Messages 3 Publieurs 2.0k Vues 1 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.
    • F Hors-ligne
      Fury
      dernière édition par

      
      ```Bonjours j'ai un soucie avec mon mods en 1.10.2 en client mon mods fonctionne très bien mais des que je veux tester en seveur ca met ce 
      

      Caused by: java.lang.NoClassDefFoundError: net/minecraftforge/client/model/ModelLoader
      at ins.SandstoneBlock.registerRender(SandstoneBlock.java:141)
      at ins.SandstoneBlock.registerRenders(SandstoneBlock.java:96)
      at ins.SandstoneBlock.<init>(SandstoneBlock.java:26)
      at com.mickdev.tuto.proxy.CommonProxy.preInit(CommonProxy.java:12)
      at com.mickdev.tuto.proxy.ServerProxy.preInit(ServerProxy.java:6)
      at com.mickdev.tuto.tutomods.Preinit(tutomods.java:30)
      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:618)
      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:243)
      at net.minecraftforge.fml.common.LoadController.propogateStateMessage(LoadController.java:221)
      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:145)
      at net.minecraftforge.fml.common.Loader.preinitializeMods(Loader.java:624)
      at net.minecraftforge.fml.server.FMLServerHandler.beginServerLoading(FMLServerHandler.java:99)
      at net.minecraftforge.fml.common.FMLCommonHandler.onServerStart(FMLCommonHandler.java:328)
      at net.minecraft.server.dedicated.DedicatedServer.startServer(DedicatedServer.java:124)
      at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:497)
      at java.lang.Thread.run(Unknown Source)
      Caused by: java.lang.ClassNotFoundException: net.minecraftforge.client.model.ModelLoader
      at net.minecraft.launchwrapper.LaunchClassLoader.findClass(LaunchClassLoader.java:191)
      at java.lang.ClassLoader.loadClass(Unknown Source)
      at java.lang.ClassLoader.loadClass(Unknown Source)
      … 38 more
      Caused by: java.lang.NoClassDefFoundError: net/minecraft/client/renderer/block/model/ModelBakery
      at java.lang.ClassLoader.defineClass1(Native Method)
      at java.lang.ClassLoader.defineClass(Unknown Source)
      at java.security.SecureClassLoader.defineClass(Unknown Source)
      at net.minecraft.launchwrapper.LaunchClassLoader.findClass(LaunchClassLoader.java:182)
      … 40 more
      Caused by: java.lang.ClassNotFoundException: net.minecraft.client.renderer.block.model.ModelBakery
      at net.minecraft.launchwrapper.LaunchClassLoader.findClass(LaunchClassLoader.java:101)
      at java.lang.ClassLoader.loadClass(Unknown Source)
      at java.lang.ClassLoader.loadClass(Unknown Source)
      … 44 more

      A detailed walkthrough of the error, its code path and all known details is as follows:

      – System Details –
      Details:
      Minecraft Version: 1.10.2
      Operating System: Windows 7 (amd64) version 6.1
      Java Version: 1.8.0_131, Oracle Corporation
      Java VM Version: Java HotSpot™ 64-Bit Server VM (mixed mode), Oracle Corporation
      Memory: 905813848 bytes (863 MB) / 1037959168 bytes (989 MB) up to 1037959168 bytes (989 MB)
      JVM Flags: 3 total; -Xincgc -Xmx1024M -Xms1024M
      IntCache: cache: 0, tcache: 0, allocated: 0, tallocated: 0
      FML: MCP 9.32 Powered by Forge 12.18.3.2297 7 mods loaded, 7 mods active
      States: ‘U’ = Unloaded ‘L’ = Loaded ‘C’ = Constructed ‘H’ = Pre-initialized ‘I’ = Initialized ‘J’ = Post-initialized ‘A’ = Available ‘D’ = Disabled ‘E’ = Errored
      UCH mcp{9.19} [Minecraft Coder Pack] (minecraft.jar)
      UCH FML{8.0.99.99} [Forge Mod Loader] (forgeSrc-1.10.2-12.18.3.2297.jar)
      UCH Forge{12.18.3.2297} [Minecraft Forge] (forgeSrc-1.10.2-12.18.3.2297.jar)
      UCE tutomods{1.0} [WesterosBlocks] (bin)
      UCH Waila{1.7.0} [Waila] (Waila-1.7.0-B3_1.9.4.jar)
      UCH icse{1.1.0.0} _(Wawla-1.10.2-2.3.2.215.jar)
      UCH wawla{2.3.2.215} [What Are We Looking At] (Wawla-1.10.2-2.3.2.215.jar)
      Loaded coremods (and transformers):
      Profiler Position: N/A (disabled)
      Is Modded: Definitely; Server brand changed to ‘fml,forge’
      Type: Dedicated Server (map_server.txt)

      
      voila ma class de mes block:
      [private void renders(){
      registerBlock(orangeneon);
      
      }
      @SideOnly(Side.CLIENT)
      private void registerRenders(){
      registerRender(orangeneon,0);
      
      }
      private void registerItemBlocks(){
      registerItemBlock(orangeneon);
      
      }
      /**************************/
      private void registerBlock(Block block){
      GameRegistry.register(block);
      }
      private void registerRender(Block block,int meta){
      ModelLoader.setCustomModelResourceLocation(Item.getItemFromBlock(block),meta,new ModelResourceLocation(new ResourceLocation(References.MODID,block.getUnlocalizedName().substring(5)),"inventory"));
      }
      private void registerItemBlock(Block block){
      ItemBlock ib = new ItemBlock(block);
          ib.setRegistryName(block.getRegistryName());
          GameRegistry.register(ib);
      
      et finalement comment je peux régler mon problème pour que mon mods fonctionne sur les deux client et server. merci de vôtre aide.:)_</init>
      1 réponse Dernière réponse Répondre Citer 0
      • AymericRedA Hors-ligne
        AymericRed
        dernière édition par

        Alors, il y a plusieurs problèmes : La prochaine fois, mets des balises java pour ton code, ça sera plus clair et plus simple à lire.
        Ensuite, il faut que tu revoies les noms de tes fonctions, leurs noms ne sont pas tous cohérents (celle render(…) notamment).

        Pour ton problème de crash, pourquoi as-tu mis une annotation “@SideOnly(Side.SERVER)” sur une fonction de rendu ? L’annotation pour le server n’est à utiliser que dans de très rares cas (elle ne fonctionne pas pour le serveur du mode solo). Il faut que tu mettes l’inverse pour ne plus avoir de crash, donc “@SideOnly(Side.CLIENT)” et que tu n’appelles cette fonction que si tu es sur le client (donc tu mets un if au dessus de l’appel de la fonction. Pour savoir si tu es sur le client tu peux faire ```java
        if(FMLCommonHandler.instance().getSide().isClient())

        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 0
        • F Hors-ligne
          Fury
          dernière édition par

          Tu veux me dire que( private void renders(){ ) je doit mettre private void renders(Block block){ ou quoi alors je doit faire quoi aux juste.?
          que tu veux dire par cohérents?

          1 réponse Dernière réponse Répondre Citer 0
          • AymericRedA Hors-ligne
            AymericRed
            dernière édition par

            Cohérent=logique.
            Le premier paragraphe et le deuxième n’ont pas de lien. Pour le 1er paragraphe la fontion “render(Block)” enregistre le block et pas le rendu, donc elle devrait s’appeler “registerBlock(Block)”, le code serait plus facile à comprendre comme ça.

            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 0
            • F Hors-ligne
              Fury
              dernière édition par

              private void renders(){
              registerBlock(orangeneon);

              }
              @SideOnly(Side.CLIENT)
              private void registerRenders(){
              registerRender(orangeneon,0);

              }
              private void registerItemBlocks(){
              registerItemBlock(orangeneon);

              }
              /**************************/
              private void registerBlock(Block block){
              GameRegistry.register(block);
              }
              private void registerRender(Block block,int meta){
              ModelLoader.setCustomModelResourceLocation(Item.getItemFromBlock(block),meta,new ModelResourceLocation(new ResourceLocation(References.MODID,block.getUnlocalizedName().substring(5)),“inventory”));
              }
              private void registerItemBlock(Block block){
              ItemBlock ib = new ItemBlock(block);
                  ib.setRegistryName(block.getRegistryName());
                  GameRegistry.register(ib);

              –-------------
              Mais maintenant il dit que sais le registerRender pk

              1 réponse Dernière réponse Répondre Citer 0
              • A Hors-ligne
                aypristyle
                dernière édition par

                Tu as vérifier les proxys ?

                **Je suis un membre apprécié et joueur, j'ai déjà obtenu 1[ point de réputation./…

                1 réponse Dernière réponse Répondre Citer 0
                • F Hors-ligne
                  Fury
                  dernière édition par

                  package com.fury.tuto.proxy;

                  import init.ModBlocks;
                  import init.ModItem;

                  public class CommonProxy {
                  public void preInit(){
                  new ModBlocks();
                  new ModItem();

                  }
                  public void init(){

                  }

                  }
                  –---------------------------------------------------------
                  public class ServerProxy extends CommonProxy{
                  @Override
                  public void preInit(){
                  super.preInit();

                  }
                  @Override
                  public void init(){
                  super.init();
                  }

                  }
                  Server et client son pareille

                  1 réponse Dernière réponse Répondre Citer 0
                  • AymericRedA Hors-ligne
                    AymericRed
                    dernière édition par

                    “La prochaine fois, mets des balises java pour ton code, ça sera plus clair et plus simple à lire.”

                    Là sans aucune balise c’est très dur à lire, en plus la classe est pas en entière.
                    Mets la classe de tes blocks en entier dans une balise java ```java
                    code ici

                    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 0
                    • F Hors-ligne
                      Fury
                      dernière édition par

                      Ma class de mes block```java
                      package init;

                      import com.fury.tuto.References;

                      import net.minecraft.block.Block;
                      import net.minecraft.block.material.Material;
                      import net.minecraft.client.renderer.block.model.ModelResourceLocation;
                      import net.minecraft.creativetab.CreativeTabs;
                      import net.minecraft.item.Item;
                      import net.minecraft.item.ItemBlock;
                      import net.minecraft.util.ResourceLocation;
                      import net.minecraftforge.client.model.ModelLoader;
                      import net.minecraftforge.fml.common.registry.GameRegistry;
                      import net.minecraftforge.fml.relauncher.Side;
                      import net.minecraftforge.fml.relauncher.SideOnly;

                      public class ModBlocks {
                      public ModBlocks(){
                      init();
                      renders();
                      registerItemBlocks();
                      registerRenders();
                      }

                      public static Block orangeneon;
                      private void init(){
                      orangeneon = new Block(Material.IRON).setRegistryName(“orangeneon”).setUnlocalizedName(“orangeneon”).setHardness(2.0f).setResistance(1.5f).setCreativeTab(CreativeTabs.BUILDING_BLOCKS);

                      }
                      private void renders(){
                      registerBlock(orangeneon);

                      }
                      @SideOnly(Side.CLIENT)
                      private void registerRenders(){
                      registerMeta(orangeneon,0);

                      }
                      private void registerItemBlocks(){
                      registerItemBlock(orangeneon);

                      }
                      /**************************/
                      private void registerBlock(Block block){
                      GameRegistry.register(block);
                      }
                      private void registerMeta(Block block, int meta){
                      Item item = Item.getItemFromBlock(block);
                      ModelLoader.setCustomModelResourceLocation(item, 0, new ModelResourceLocation(item.getRegistryName(),“inventory”));
                      }
                      private void registerItemBlock(Block block){
                      ItemBlock ib = new ItemBlock(block);
                         ib.setRegistryName(block.getRegistryName());
                         GameRegistry.register(ib);

                      }
                      }
                      Ma classe CommmonProxy java
                      package com.fury.tuto.proxy;

                      import init.ModBlocks;
                      import init.ModItem;
                      import init.ModsBriks;
                      import init.SandBlock;
                      import init.SandstoneBlock;

                      public class CommonProxy {
                      public void preInit(){
                      new ModBlocks();
                      new ModItem();

                      }
                      public void init(){

                      }

                      }

                      1 réponse Dernière réponse Répondre Citer 0
                      • AymericRedA Hors-ligne
                        AymericRed
                        dernière édition par

                        Alors les noms sont toujours pas logiques, “renders()”=>“registerBlocks()”, “registerMeta” => “registerRender” ce sera mieux ^^

                        Sinon pour ton crash tu n’as pas fait ce que je t’ai dit de faire :
                        @AymericRed:

                        […]et que tu n’appelles cette fonction que si tu es sur le client (donc tu mets un if au dessus de l’appel de la fonction. Pour savoir si tu es sur le client tu peux faire ```java
                        if(FMLCommonHandler.instance().getSide().isClient())

                        (la fonction “registerRenders”)

                        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 0
                        • F Hors-ligne
                          Fury
                          dernière édition par

                          comme ça ```java
                          public class ModBlocks {
                          public ModBlocks(){
                          init();
                          registerBlocks();
                          registerItemBlocks();
                          registerRenders();
                          }

                          public static Block orangeneon;
                          private void init(){
                          orangeneon = new Block(Material.IRON).setRegistryName(“orangeneon”).setUnlocalizedName(“orangeneon”).setHardness(2.0f).setResistance(1.5f).setCreativeTab(CreativeTabs.BUILDING_BLOCKS);

                          }
                          private void registerBlocks(){
                          registerBlock(orangeneon);

                          }

                          @SideOnly(Side.CLIENT)
                          private void registerRenders(){
                          if(FMLCommonHandler.instance().getSide().isClient())
                          registerRender(orangeneon,0);

                          }
                          private void registerItemBlocks(){
                          registerItemBlock(orangeneon);

                          }
                          /**************************/
                          private void registerBlock(Block block){
                          GameRegistry.register(block);
                          }
                          private void registerRender(Block block, int meta){
                          Item item = Item.getItemFromBlock(block);
                          ModelLoader.setCustomModelResourceLocation(item, 0, new ModelResourceLocation(item.getRegistryName(),“inventory”));

                          }
                          private void registerItemBlock(Block block){
                          ItemBlock ib = new ItemBlock(block);
                              ib.setRegistryName(block.getRegistryName());
                              GameRegistry.register(ib);

                          }
                          }
                          mais je sais pas ou mettre ce codesjava
                          if(FMLCommonHandler.instance().getSide().isClient())

                          1 réponse Dernière réponse Répondre Citer 0
                          • AymericRedA Hors-ligne
                            AymericRed
                            dernière édition par

                            Tu devrais lire ça https://openclassrooms.com/courses/apprenez-a-programmer-en-java c’est très intéressant.
                            Je t’ai dit de le mettre au dessus de l’appel de la fonction “registerRenders” donc comme ça :

                            public ModBlocks(){
                            init();
                            registerBlocks();
                            registerItemBlocks();
                            if(FMLCommonHandler.instance().getSide().isClient())
                            registerRenders();
                            }
                            

                            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 0
                            • F Hors-ligne
                              Fury
                              dernière édition par

                              Merci ca fonctione.

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

                              MINECRAFT FORGE FRANCE © 2024

                              Powered by NodeBB