1.12.2 Problème de Code avec Register et getRegistery



  • Bonjour est ce que quelqu'un peu m'aider car je ne trouve pas d'ou vient le problème .

    Voila mes codes :

    Main :

    package fr.dodo.csmm;
    
    
    import fr.dodo.csmm.events.RegisteringEvent;
    import fr.dodo.csmm.proxy.CommonProxy;
    import fr.dodo.csmm.utils.References;
    import net.minecraftforge.common.MinecraftForge;
    import net.minecraftforge.fml.common.Mod;
    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;
    
    
    @Mod(modid = References.MODID, name = References.NAME, version = References.VERSION)
    
    public class CSSMMMain {
    
        @Mod.Instance(References.MODID)
        public static CSSMMMain instance;
    
        @SidedProxy(clientSide = References.CP,serverSide = References.SP)
        public static CommonProxy proxy;
    
        public CSSMMMain(){
    
            MinecraftForge.EVENT_BUS.register(new RegisteringEvent());
    
        }
    
        @Mod.EventHandler
        public void preInit(FMLPreInitializationEvent e)
        {
    
            proxy.preInit();
    
        }
    
        @Mod.EventHandler
        public void init(FMLInitializationEvent e)
        {
    
            proxy.init();
    
        }
    
        @Mod.EventHandler
        public void postInit(FMLPostInitializationEvent e)
        {
    
            proxy.postInit();
    
        }
    
    }
    
    

    Le CSMMItem :

    package fr.dodo.csmm.items;
    
    import fr.dodo.csmm.init.ModItems;
    import net.minecraft.item.Item;
    
    public class CSMMItem extends Item {
    
        public CSMMItem(String name) {
    
            setRegistryName(name).setUnlocalizedName(name);
    
            ModItems.INSTANCE.getItems().add(this);
    
        }
    }
    
    

    Et le RegisteringEvents ou j'ai un problème avec le Register et le getRegistry

    package fr.dodo.csmm.events;
    
    import fr.dodo.csmm.CSSMMMain;
    import fr.dodo.csmm.init.ModItems;
    import fr.dodo.csmm.proxy.CommonProxy;
    import net.minecraftforge.common.MinecraftForge;
    import net.minecraft.item.Item;
    import net.minecraftforge.event.RegistryEvent;
    import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
    
    public class RegisteringEvent
    {
    
        @SubscribeEvent
        public void registerItems(RegisteringEvent.Register<Item> e)
        {
            ModItems.INSTANCE.init();
            e.getRegistry().registerAll(ModItems.INSTANCE.getItems().toArray(new Item[0]));
        }
    
    }
    

    Après j'ai tous se qui est proxy mais ça ne vient pas de là.

    Merci de me répondre au plus vite

    Dodo


  • Moddeurs confirmés Rédacteurs Administrateurs

    Bonsoir,

    C'est mieux en étant dans la bonne section et avec la balise de version de Minecraft 😉

    Ton code ne fonctionne pas correctement car comme ta classe se nomme RegisteringEvent elle masque le nom de la classe importée. Choisis un nom différent. (Et le toArray n'a rien à faire là).



  • Je l'ai changer de nom, j'ai mit RegisterEvents au lieu de RegisteringEvent et cela ne fonctionne toujours pas ...

    Le Register est toujours en rouge sur IDEA



  • Salut, c'est RegistryEvent.Register<Item> et pas RegisteringEvent qui peut tout a fait etre le nom de ta classe si tu veux @Dodo_Report



  • A merci


  • Moddeurs confirmés Rédacteurs Administrateurs

    @Flow-Arg a dit dans Problème de Code avec Register et getRegistery :

    Salut, c'est RegistryEvent.Register<Item> et pas RegisteringEvent qui peut tout a fait etre le nom de ta classe si tu veux @Dodo_Report

    Effectivement j'avais mal vu x)


Log in to reply