MFF

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

    Problème erreur de la part de register(block)

    Planifier Épinglé Verrouillé Déplacé Sans suite
    1.12.x
    14 Messages 5 Publieurs 2.6k 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

      Bonjour je me suis mis sur la nouvelle version de minecraft forge 1.12 et j’ai une erreur étrange aux niveaux de gamerestry.register(block)

      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.minecraftforge.client.model.ModelLoader;
      import net.minecraftforge.fml.common.FMLCommonHandler;
      import net.minecraftforge.fml.common.registry.GameRegistry;
      
      public class ModBlocks {
      public ModBlocks(){
      init();
      registerBlocks();
      registerItemBlocks();
      if(FMLCommonHandler.instance().getSide().isClient())
      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);
      }
      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){
      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); il me dis comme ceci:the methode register(K)frome type GamesRegistry is not visible
      
      }
      }
      

      voila merci

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

        Salut,

        private void registerBlock(Block block){
        GameRegistry.register(block);
        
        }
        

        Ca devrait être

        private static void registerBlock(Block block){
        GameRegistry.register(orangeneon);
        
        }
        

        Oui ce gif est drôle.

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

          Euh…non c’est très bien comme c’est, car si il ajoute des blocks par la suite il faut laisser ça.

          Par contre en 1.11 je sais que GameRegistry.register(…) est dépréciée et elle est documentée comme allant être retirée.
          Il faut maintenant faire comme indiqué dans ce tutoriel https://www.minecraftforgefrance.fr/showthread.php?tid=4374 pour enregistrer des blocs.

          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
          • FlowF Hors-ligne
            Flow
            dernière édition par

            Oups my bad, effectivement j’ai oublié que j’ai pas fait par rapport au tuto ^^

            Oui ce gif est drôle.

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

              je doit le remplacer par quoi le GameRegister.register pour les block car les object et item fonctionne tres bien sauf pour les block.

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

                En 1.12 et plus, c’est “mieux” d’utiliser les events pour faire tout ça. Un exemple de classe pour register tes blocks :

                
                public static BlockTest BLOCK_TEST = new BlockTest();
                public static BlockTest2 BLOCK_TEST2 = new BlockTest2();
                public static BlockTest3 BLOCK_TEST3 = new BlockTest3();
                public static BlockTest4 BLOCK_TEST4 = new BlockTest4();
                
                    @Mod.EventBusSubscriber
                    public static class RegistrationHandler {
                
                        @SubscribeEvent
                        public static void registerBlocks(final RegistryEvent.Register <block>event) {
                
                            final IForgeRegistry <block>registry = event.getRegistry();
                
                            final Block[] blocks = {
                                    BLOCK_TEST,
                                    BLOCK_TEST2,
                                    BLOCK_TEST3,
                                    BLOCK_TEST4,
                            };
                
                            registry.registerAll(blocks);
                        }
                
                        public static final Set <itemblock>ITEM_BLOCKS = new HashSet<>();
                
                        @SubscribeEvent
                        public static void registerItemBlocks(final RegistryEvent.Register event) {
                
                            final ItemBlock[] items = {
                                    new ItemBlock(BLOCK_TEST),
                                    new ItemBlock(BLOCK_TEST2),
                                    new ItemBlock(BLOCK_TEST3),
                                    new ItemBlock(BLOCK_TEST4),
                            };
                
                            final IForgeRegistry registry = event.getRegistry();
                
                            for (final ItemBlock item : items) {
                                final Block block = item.getBlock();
                                final ResourceLocation registryName = Preconditions.checkNotNull(block.getRegistryName(), "Block %s has null registry name", block);
                                registry.register(item.setRegistryName(registryName));
                                ITEM_BLOCKS.add(item);
                            }
                        }
                    }
                
                

                Je te laisse deviner pour les modèles 🙂


                PS: Je rajouterai juste que tu peux utiliser ce site génial : http://tabstospaces.com/ pour que ton code soit espacé même dans le forum (ça convertit tous tes \t (tabulations) en espaces 🙂 )</itemblock></block></block>

                Si je t'ai aidé, n'hésite pas à cliquer sur le nombre vert en dessous de mon image de profil, pour me le faire savoir. Ca me motive pour continuer …

                1 réponse Dernière réponse Répondre Citer 0
                • BrokenSwingB Hors-ligne
                  BrokenSwing Moddeurs confirmés Rédacteurs
                  dernière édition par

                  Surtout que la 1.12 n’est pas encore réellement sortie et que LexManos ré-écrit le système de registre. Dans le nouveau système GameRegistry#register est privé donc vous ne pourrez plus l’utiliser 😄

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

                    je vais laisser tomber la 1.12 pour le moment et attendre que quel q’un fasse une video tuto.

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

                      @‘BrokenSwing’:

                      Surtout que la 1.12 n’est pas encore réellement sortie et que LexManos ré-écrit le système de registre. Dans le nouveau système GameRegistry#register est privé donc vous ne pourrez plus l’utiliser 😄

                      J’ai tout qui tourne sous 1.12, et je trouve que tout est plus simple au contraire 😛

                      Si je t'ai aidé, n'hésite pas à cliquer sur le nombre vert en dessous de mon image de profil, pour me le faire savoir. Ca me motive pour continuer …

                      1 réponse Dernière réponse Répondre Citer 0
                      • BrokenSwingB Hors-ligne
                        BrokenSwing Moddeurs confirmés Rédacteurs
                        dernière édition par

                        Je n’ai pas dit qu’on ne pouvait pas encore utiliser la 1.12 mais il n’y a pas encore de release stable (voir ici http://files.minecraftforge.net/maven/net/minecraftforge/forge/index_1.12.html). Et de plus je n’ai pas non plus dit que c’était compliqué, je suis au contraire très content qu’ils aient enlever le GameRegister#register, j’indiquait seulement que dans les builds actuels GaemeRegistry#register est encore disponible mais que dès lors qu’une version stable de 1.12 sera dispo, il n’y sera plus.

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

                          @‘BrokenSwing’:

                          Je n’ai pas dit qu’on ne pouvait pas encore utiliser la 1.12 mais il n’y a pas encore de release stable (voir ici http://files.minecraftforge.net/maven/net/minecraftforge/forge/index_1.12.html). Et de plus je n’ai pas non plus dit que c’était compliqué, je suis au contraire très content qu’ils aient enlever le GameRegister#register, j’indiquait seulement que dans les builds actuels GaemeRegistry#register est encore disponible mais que dès lors qu’une version stable de 1.12 sera dispo, il n’y sera plus.

                          C’est pour ça que dans la réponse que j’ai posté je n’utilise nulle part GameRegister#register.

                          Si je t'ai aidé, n'hésite pas à cliquer sur le nombre vert en dessous de mon image de profil, pour me le faire savoir. Ca me motive pour continuer …

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

                            oui j’ai vue ça il faut pratiquement faire c’est block par tileEntitie et pareille pour les items pour L’instant cette version de forge minecraft n’est pas trop conseiller pour les débutant et personne qui ne sait pas coder a 75% sur java.
                            Sais assie l’ancien mainteneur de buildcraft qui ma la dit direct sur sont live.merci pour le tuyau Dylem.

                            pour L’instant je vais rester sur la 1.10.2.

                            1 réponse Dernière réponse Répondre Citer 0
                            • BrokenSwingB Hors-ligne
                              BrokenSwing Moddeurs confirmés Rédacteurs
                              dernière édition par

                              Tu peux parfaitement commencer par la version 1.12, une release est sortie mercredi dernier. Débutant ou pas, rien ne t’empêche de modder en 1.12

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

                                oui un seul sais que je suis habituer avec gameregistry.register() mais ca changer je sais pas par quoi exactement il a pas de exemples et en plus les sever en 1.12 ca lag comme pas possible.

                                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