• Register
    • Login
    • Search
    • Recent
    • Tags
    • Popular
    • Users
    • Groups

    Solved Mon Mods ne Fonctione pas sur serveur

    1.9.x et 1.10.x
    1.10.x
    3
    13
    1523
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • F
      Fury last edited by

      
      ```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 Reply Last reply Reply Quote 0
      • AymericRed
        AymericRed last edited by

        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 Reply Last reply Reply Quote 0
        • F
          Fury last edited by

          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 Reply Last reply Reply Quote 0
          • AymericRed
            AymericRed last edited by

            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 Reply Last reply Reply Quote 0
            • F
              Fury last edited by

              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 Reply Last reply Reply Quote 0
              • A
                aypristyle last edited by

                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 Reply Last reply Reply Quote 0
                • F
                  Fury last edited by

                  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 Reply Last reply Reply Quote 0
                  • AymericRed
                    AymericRed last edited by

                    “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 Reply Last reply Reply Quote 0
                    • F
                      Fury last edited by

                      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 Reply Last reply Reply Quote 0
                      • AymericRed
                        AymericRed last edited by

                        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 Reply Last reply Reply Quote 0
                        • F
                          Fury last edited by

                          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 Reply Last reply Reply Quote 0
                          • AymericRed
                            AymericRed last edited by

                            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 Reply Last reply Reply Quote 0
                            • F
                              Fury last edited by

                              Merci ca fonctione.

                              1 Reply Last reply Reply Quote 0
                              • 1 / 1
                              • First post
                                Last post
                              Design by Woryk
                              Contact / Mentions Légales

                              MINECRAFT FORGE FRANCE © 2018

                              Powered by NodeBB