MFF

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

    RenderingRegistry

    Planifier Épinglé Verrouillé Déplacé Résolu 1.15.x
    1.15.2
    14 Messages 2 Publieurs 787 Vues 2 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.
    • DailyCraftD Hors-ligne
      DailyCraft
      dernière édition par DailyCraft

      Bonjour,
      Ca va faire une heure est demi que je cherche mais je n’arrive pas à enregistrer le render de mon entité,
      Renders :

      @OnlyIn(Dist.CLIENT)
      public class Renders
      {
          public static void registerRenders()
          {
              RenderingRegistry.registerEntityRenderingHandler(Entities.ROBOT, manager -> new RenderRobot(manager) /* c'est ici que ça me mets une erreur */);
          }
      }
      

      et RenderRobot :

      @OnlyIn(Dist.CLIENT)
      public class RenderRobot extends LivingRenderer<EntityRobot, ModelRobot>
      {
          public RenderRobot(EntityRendererManager manager)
          {
              super(manager, new ModelRobot(), 0);
          }
      
          @Override
          public ResourceLocation getEntityTexture(EntityRobot entity)
          {
              return new ResourceLocation(Main.MODID, "texture/entity/robot.png");
          }
      }
      

      EDIT : il demande un IRenderFactory<Entity> alors que moi je lui donne un IRenderFactory<EntityType<?>> donc ça pose problème et je ne sais pas comment dire que c’est Entity

      EDIT 2 : Il n’y pas de RegistryEvent.Register pour ça ?

      Mes créations :

      Mod en cours de développement : Personal Robot (1.15.2)

      Datapacks : DailyCraft's Craft (beta)

      Je suis un membre apprécié et joueur, j'ai déjà obtenu 2 point(s) de réputation.

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

        J’ai réglé le problème, j’ai créer une classe à part avec onItemUse puis dedans j’ai fait spawn le mob au bon endroit

        Mes créations :

        Mod en cours de développement : Personal Robot (1.15.2)

        Datapacks : DailyCraft's Craft (beta)

        Je suis un membre apprécié et joueur, j'ai déjà obtenu 2 point(s) de réputation.

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

          Ce message a été supprimé !
          1 réponse Dernière réponse Répondre Citer 0
          • TwiguinouT Hors-ligne
            Twiguinou
            dernière édition par

            Essaye de faire RenderRobot::new.

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

              J’avais essayé et ça n’avait pas marché

              EDIT : en fait en 1.14 on pouvait extends de son entity donc moi IRenderFactory<EntityRobot>, mais depuis la 1.15 on est obligé de extends IRenderFactory<Entity> et c’est ça qui pose problème. Or mon entity extends de LivingEntity. Mais après tu pourrais me dire, tu fais une class à part et tu extends juste IRenderFactory seul, et il n’y pas d’erreur, donc c’est cool, je lance mc et la boum, un petit, non mais vraiment tout petit (traduit en français car je ne me souviens pas de la phrase exact) :

              Le mod 'personal_robot' à eu un problème lors du sided_setup
              

              donc moi je clique sur le bouton pour voir les logs et il y a un truc encore mois grave (enfin si un peu) : NullPointerExeption

              EDIT 2 : et à chaque je dis IRenderFactory mais en fait je suis pas sur avec IFactoryRenderer

              Mes créations :

              Mod en cours de développement : Personal Robot (1.15.2)

              Datapacks : DailyCraft's Craft (beta)

              Je suis un membre apprécié et joueur, j'ai déjà obtenu 2 point(s) de réputation.

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

                À mon avis tu devrais faire une autre classe dans la RenderRobot qui implements IRenderFactory et passe la dans ta fonction.

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

                  C’est ce que j’ai fais au début sauf que pour que ça marche il faut mettre IRenderFactory sans les <> sauf que ça mets un npe

                  Mes créations :

                  Mod en cours de développement : Personal Robot (1.15.2)

                  Datapacks : DailyCraft's Craft (beta)

                  Je suis un membre apprécié et joueur, j'ai déjà obtenu 2 point(s) de réputation.

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

                    Dans les crochets il faut mettre la classe de ton entité, c’est bizarre j’avais jamais rencontré un problème comme ça.

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

                      oui mas ça ne marche pas

                      Mes créations :

                      Mod en cours de développement : Personal Robot (1.15.2)

                      Datapacks : DailyCraft's Craft (beta)

                      Je suis un membre apprécié et joueur, j'ai déjà obtenu 2 point(s) de réputation.

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

                        J’ai trouvé mon problème, ça venait ne Entities.ROBOT qui était un EntityType<?> et pas EntityType<EntityRobot>

                        Mes créations :

                        Mod en cours de développement : Personal Robot (1.15.2)

                        Datapacks : DailyCraft's Craft (beta)

                        Je suis un membre apprécié et joueur, j'ai déjà obtenu 2 point(s) de réputation.

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

                          Bonjour, j’ai un nouveau problème quand j’essaye d’utiliser mon oeuf de spawn,
                          voici la jolie erreur :

                          [15:46:52] [Server thread/FATAL] [minecraft/ThreadTaskExecutor]: Error executing task on Server
                          java.lang.NullPointerException: null
                          	at net.minecraft.item.SpawnEggItem.onItemUse(SpawnEggItem.java:80) ~[?:?] {re:classloading}
                          	at net.minecraftforge.common.ForgeHooks.onPlaceItemIntoWorld(ForgeHooks.java:610) ~[?:?] {re:classloading}
                          	at net.minecraft.item.ItemStack.onItemUse(ItemStack.java:173) ~[?:?] {re:classloading}
                          	at net.minecraft.server.management.PlayerInteractionManager.func_219441_a(PlayerInteractionManager.java:353) ~[?:?] {re:classloading}
                          	at net.minecraft.network.play.ServerPlayNetHandler.processTryUseItemOnBlock(ServerPlayNetHandler.java:881) ~[?:?] {re:classloading}
                          	at net.minecraft.network.play.client.CPlayerTryUseItemOnBlockPacket.processPacket(CPlayerTryUseItemOnBlockPacket.java:45) ~[?:?] {re:classloading}
                          	at net.minecraft.network.play.client.CPlayerTryUseItemOnBlockPacket.processPacket(CPlayerTryUseItemOnBlockPacket.java:12) ~[?:?] {re:classloading}
                          	at net.minecraft.network.PacketThreadUtil.lambda$checkThreadAndEnqueue$0(PacketThreadUtil.java:19) ~[?:?] {re:classloading}
                          	at net.minecraft.util.concurrent.TickDelayedTask.run(TickDelayedTask.java:20) ~[?:?] {re:classloading}
                          	at net.minecraft.util.concurrent.ThreadTaskExecutor.run(ThreadTaskExecutor.java:140) [?:?] {re:classloading,pl:accesstransformer:B}
                          	at net.minecraft.util.concurrent.RecursiveEventLoop.run(RecursiveEventLoop.java:22) [?:?] {re:classloading}
                          	at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:759) [?:?] {re:classloading,pl:accesstransformer:B}
                          	at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:141) [?:?] {re:classloading,pl:accesstransformer:B}
                          	at net.minecraft.util.concurrent.ThreadTaskExecutor.driveOne(ThreadTaskExecutor.java:110) [?:?] {re:classloading,pl:accesstransformer:B}
                          	at net.minecraft.server.MinecraftServer.driveOneInternal(MinecraftServer.java:742) [?:?] {re:classloading,pl:accesstransformer:B}
                          	at net.minecraft.server.MinecraftServer.driveOne(MinecraftServer.java:736) [?:?] {re:classloading,pl:accesstransformer:B}
                          	at net.minecraft.util.concurrent.ThreadTaskExecutor.driveUntil(ThreadTaskExecutor.java:123) [?:?] {re:classloading,pl:accesstransformer:B}
                          	at net.minecraft.server.MinecraftServer.runScheduledTasks(MinecraftServer.java:722) [?:?] {re:classloading,pl:accesstransformer:B}
                          	at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:666) [?:?] {re:classloading,pl:accesstransformer:B}
                          	at java.lang.Thread.run(Thread.java:748) [?:1.8.0_251] {}
                          

                          et mon code :

                          @Mod.EventBusSubscriber(modid = Main.MODID, bus = Mod.EventBusSubscriber.Bus.MOD)
                          public class Items
                          {
                              public static Item PERSONAL_GEM;
                          
                              public static Item ROBOT_SPAWN_EGG;
                          
                              public static Item ELECTRICAL_FLUID_BUCKET;
                          
                              @SubscribeEvent
                              public static void registerItems(RegistryEvent.Register<Item> event)
                              {
                                  event.getRegistry().registerAll(
                                          PERSONAL_GEM = new ItemPersonalGem(),
                          
                                          ROBOT_SPAWN_EGG = register("robot_spawn_egg", Entities.ROBOT, 0xFF0000, 0x00FFEE),
                          
                                          ELECTRICAL_FLUID_BUCKET = register("electrical_fluid_bucket", Fluids.ELECTRICAL)
                                  );
                              }
                          
                              private static Item register(String name)
                              {
                                  return new Item(new Item.Properties().group(Group.MOD)).setRegistryName(name);
                              }
                          
                              private static Item register(String name, EntityType<?> entity, int primaryColor, int secondaryColor)
                              {
                                  return new SpawnEggItem(entity, primaryColor, secondaryColor, new Item.Properties().group(Group.MOD).maxStackSize(1)).setRegistryName(name);
                              }
                          
                              private static Item register(String name, Fluid fluid)
                              {
                                  return new BucketItem(() -> fluid, new Item.Properties().group(Group.MOD).maxStackSize(1)).setRegistryName(name);
                              }
                          }
                          

                          Mes créations :

                          Mod en cours de développement : Personal Robot (1.15.2)

                          Datapacks : DailyCraft's Craft (beta)

                          Je suis un membre apprécié et joueur, j'ai déjà obtenu 2 point(s) de réputation.

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

                            Tu pourrais montrer la classe de ton item avec steuplé ?

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

                              Mais non, j’utlise le 2eme register qui est dans la class même (ligne 27)

                              EDIT : je viens de me rendre compte que j’avais mis un maxStackSize, mais pourquoi ?

                              Mes créations :

                              Mod en cours de développement : Personal Robot (1.15.2)

                              Datapacks : DailyCraft's Craft (beta)

                              Je suis un membre apprécié et joueur, j'ai déjà obtenu 2 point(s) de réputation.

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

                                up ?

                                Mes créations :

                                Mod en cours de développement : Personal Robot (1.15.2)

                                Datapacks : DailyCraft's Craft (beta)

                                Je suis un membre apprécié et joueur, j'ai déjà obtenu 2 point(s) de réputation.

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

                                  J’ai réglé le problème, j’ai créer une classe à part avec onItemUse puis dedans j’ai fait spawn le mob au bon endroit

                                  Mes créations :

                                  Mod en cours de développement : Personal Robot (1.15.2)

                                  Datapacks : DailyCraft's Craft (beta)

                                  Je suis un membre apprécié et joueur, j'ai déjà obtenu 2 point(s) de réputation.

                                  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