Navigation

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

    SOLVED Crash server OreDictionary et petite question

    1.12.x
    1.12.x
    3
    5
    624
    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.
    • jules552
      jules552 last edited by

      Bonjour à tous,

      J’ai un petit problème de crash lors du démarrage d’un server sur mon mod qui est du apparemment à la manière dont j’utilise OreDictionnary mais je n’arrive pas à comprendre ce que je fais de mal.

      [19:59:35] [main/WARN] [FML]: ****************************************
      [19:59:35] [main/WARN] [FML]: * Invalid registration attempt for an Ore Dictionary item with name AluminiumOre has occurred. The registration has been denied to prevent crashes. The mod responsible for the registration needs to correct this.
      [19:59:35] [main/WARN] [FML]: *  at net.minecraftforge.oredict.OreDictionary.registerOreImpl(OreDictionary.java:642)
      [19:59:35] [main/WARN] [FML]: *  at net.minecraftforge.oredict.OreDictionary.registerOre(OreDictionary.java:628)
      [19:59:35] [main/WARN] [FML]: *  at fr.jules552.mod.proxy.CommonProxy.preInit(CommonProxy.java:30)
      [19:59:35] [main/WARN] [FML]: *  at fr.jules552.mod.proxy.ClientProxy.preInit(ClientProxy.java:16)
      [19:59:35] [main/WARN] [FML]: *  at fr.jules552.mod.Adamantium.preInit(Adamantium.java:36)
      [19:59:35] [main/WARN] [FML]: *  at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)…
      [19:59:35] [main/WARN] [FML]: ****************************************
      

      Et voici les classes concernées :

      package fr.jules552.mod.proxy;
      
      import fr.jules552.mod.Reference;
      
      import fr.jules552.mod.WorldGeneration.GenerationHelper;
      import fr.jules552.mod.init.BlocksMod;
      import fr.jules552.mod.init.EntitiesMod;
      import fr.jules552.mod.init.ItemsMod;
      import fr.jules552.mod.init.Adamantium.EntityDynamite;
      import net.minecraft.client.renderer.block.model.ModelResourceLocation;
      import net.minecraft.item.ItemStack;
      import net.minecraft.util.ResourceLocation;
      import net.minecraftforge.client.model.ModelLoader;
      import net.minecraftforge.fml.common.Mod.EventHandler;
      import net.minecraftforge.fml.common.event.FMLInitializationEvent;
      import net.minecraftforge.fml.common.event.FMLPreInitializationEvent;
      import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
      import net.minecraftforge.fml.common.registry.EntityRegistry;
      import net.minecraftforge.fml.common.registry.GameRegistry;
      import net.minecraftforge.fml.relauncher.Side;
      import net.minecraftforge.fml.relauncher.SideOnly;
      import net.minecraftforge.oredict.OreDictionary;
      
      public abstract class  CommonProxy {
      public void preInit(FMLPreInitializationEvent event) {
      
      // Système de Générération
      OreDictionary.registerOre("AdamantiumOre", new ItemStack(BlocksMod.ADAMANTIUM_ORE));
      OreDictionary.registerOre("SilverOre", new ItemStack(BlocksMod.SILVER_ORE));
      OreDictionary.registerOre("AluminiumOre", new ItemStack(BlocksMod.ALUMINIUM_ORE));
      GameRegistry.registerWorldGenerator(new GenerationHelper(), 2);
      
      }
      
      public void init(FMLInitializationEvent event) {
      
      BlocksMod.registerTextRecipies();
      EntitiesMod.registerModEntity();
      
      }
      
      }
      
      
      package fr.jules552.mod;
      
      import fr.jules552.mod.WorldGeneration.GenerationHelper;
      import fr.jules552.mod.init.BlocksMod;
      import fr.jules552.mod.init.ItemsMod;
      import fr.jules552.mod.proxy.CommonProxy;
      import net.minecraft.init.Blocks;
      import net.minecraft.item.Item;
      import net.minecraft.item.ItemBlock;
      import net.minecraft.item.ItemStack;
      import net.minecraftforge.common.MinecraftForge;
      import net.minecraftforge.fml.client.registry.ClientRegistry;
      import net.minecraftforge.fml.common.Mod;
      import net.minecraftforge.fml.common.Mod.EventHandler;
      import net.minecraftforge.fml.common.Mod.Instance;
      import net.minecraftforge.fml.common.SidedProxy;
      import net.minecraftforge.fml.common.event.FMLInitializationEvent;
      import net.minecraftforge.fml.common.event.FMLPostInitializationEvent;
      import net.minecraftforge.fml.common.event.FMLPreInitializationEvent;
      import net.minecraftforge.fml.common.registry.GameRegistry;
      import net.minecraftforge.oredict.OreDictionary;
      
      @Mod(modid = Reference.MOD_ID, name = Reference.MOD_NAME, version = Reference.MOD_VERSION)
      
      public class Adamantium {
      
      @Instance(Reference.MOD_ID)
      public static Adamantium Instance;
      
      @SidedProxy(clientSide = Reference.CLIENT_PROXY_CLASS, serverSide = Reference.SERVER_PROXY_CLASS)
      public static CommonProxy proxy;
      
      @EventHandler
      public void preInit(FMLPreInitializationEvent event) {
      proxy.preInit(event);
      }
      
      @EventHandler
      public void init(FMLInitializationEvent event) {
      proxy.init(event);
      }
      
      @EventHandler
      public void postInit(FMLPostInitializationEvent event) {
      
      }
      }
      
      

      Ca doit venir d’un changement fait entre la 1.11 et la 1.12 mais quand je vais voir comment fonctionne OreDictionary tout est similaire à ce que j’ai fait donc je coince un peu 😕

      Sinon seconde question
      J’aimerai trouver le moyen de cacher le pseudonyme afficher au dessus de la tête du joueur, mais même en fouillant dans le fonctionnement du sneak etc… je n’arrive pas à trouver ce que je cherche donc si quelqu’un pourrait m’aider sur ce point aussi, ça serait gentil à lui ^^

      Merci d’avance pour votre aide  😉

      1 Reply Last reply Reply Quote 0
      • robin4002
        robin4002 Administrateurs Rédacteurs Moddeurs confirmés last edited by

        Salut,
        Le code qui affiche l’erreur est le suivant :

        if (ore.isEmpty())
        {
        FMLLog.bigWarning("Invalid registration attempt for an Ore Dictionary item with name {} has occurred. The registration has been denied to prevent crashes. The mod responsible for the registration needs to correct this.", name);
        return; //prevent bad ItemStacks.
        }
        

        L’item stack que tu as mis en argument est donc vide, le bloc n’est surement pas initialisé au moment où tu exécutes ce code.
        Passes-le dans init plutôt que dans preinit.

        1 Reply Last reply Reply Quote 0
        • jules552
          jules552 last edited by

          @‘robin4002’:

          Salut,
          Le code qui affiche l’erreur est le suivant :

                 if (ore.isEmpty())
                 {
                     FMLLog.bigWarning("Invalid registration attempt for an Ore Dictionary item with name {} has occurred. The registration has been denied to prevent crashes. The mod responsible for the registration needs to correct this.", name);
                     return; //prevent bad ItemStacks.
                 }
          

          L’item stack que tu as mis en argument est donc vide, le bloc n’est surement pas initialisé au moment où tu exécutes ce code.
          Passes-le dans init plutôt que dans preinit.

          Effectivement ça règle le soucis ^^
          Merci à toi, bon je laisse le sujet ouvert pour la seconde petite question  🙂

          1 Reply Last reply Reply Quote 0
          • AymericRed
            AymericRed last edited by

            Salut,
            Pour ta deuxième question, il me semble que tu trouveras ton bonheur avec l’event “RenderLivingEvent.Specials.Pre” 🙂

            1 Reply Last reply Reply Quote 0
            • jules552
              jules552 last edited by

              @‘AymericRed’:

              Salut,
              Pour ta deuxième question, il me semble que tu trouveras ton bonheur avec l’event “RenderLivingEvent.Specials.Pre” 🙂

              Effectivement ça m’a l’air d’être ça, je vais regarder à ça du coup.

              Merci à vous deux  😉

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

              MINECRAFT FORGE FRANCE © 2018

              Powered by NodeBB