MFF

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

    RenderItem

    Planifier Épinglé Verrouillé Déplacé Non résolu Sans suite
    1.12.2
    24 Messages 2 Publieurs 1.5k 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.
    • D Hors-ligne
      Drastic
      dernière édition par

      @Asonyx
      Merci mais le probleme persiste…

      crash report :

      Description: Rendering entity in world
      
      java.lang.NullPointerException: Rendering entity in world
         at com.avonia.mod.renderer.entity.RenderDyna.doRender(RenderDyna.java:51)
         at net.minecraft.client.renderer.entity.RenderManager.renderEntity(RenderManager.java:390)
         at net.minecraft.client.renderer.entity.RenderManager.renderEntityStatic(RenderManager.java:374)
         at net.minecraft.client.renderer.RenderGlobal.renderEntities(RenderGlobal.java:655)
         at net.minecraft.client.renderer.EntityRenderer.renderWorldPass(EntityRenderer.java:1400)
         at net.minecraft.client.renderer.EntityRenderer.renderWorld(EntityRenderer.java:1312)
         at net.minecraft.client.renderer.EntityRenderer.updateCameraAndRender(EntityRenderer.java:1115)
         at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1209)
         at net.minecraft.client.Minecraft.run(Minecraft.java:442)
         at net.minecraft.client.main.Main.main(Main.java:118)
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
         at java.lang.reflect.Method.invoke(Method.java:498)
         at net.minecraft.launchwrapper.Launch.launch(Launch.java:135)
         at net.minecraft.launchwrapper.Launch.main(Launch.java:28)
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
         at java.lang.reflect.Method.invoke(Method.java:498)
         at net.minecraftforge.gradle.GradleStartCommon.launch(GradleStartCommon.java:97)
         at GradleStart.main(GradleStart.java:25)
      

      Le reste du code n’a pas changé à part le

          private static RenderItem itemRender = Minecraft.getMinecraft().getRenderItem();
      
      1 réponse Dernière réponse Répondre Citer 0
      • D Hors-ligne
        Drastic @Asonyx
        dernière édition par

        @Asonyx mauvais c-r.
        Le bon :

        java.lang.NullPointerException: Rendering entity in world
        	at net.minecraft.client.renderer.entity.RenderSnowball.doRender(RenderSnowball.java:46)
        	at net.minecraft.client.renderer.entity.RenderManager.renderEntity(RenderManager.java:390)
        	at net.minecraft.client.renderer.entity.RenderManager.renderEntityStatic(RenderManager.java:374)
        	at net.minecraft.client.renderer.RenderGlobal.renderEntities(RenderGlobal.java:655)
        	at net.minecraft.client.renderer.EntityRenderer.renderWorldPass(EntityRenderer.java:1400)
        	at net.minecraft.client.renderer.EntityRenderer.renderWorld(EntityRenderer.java:1312)
        	at net.minecraft.client.renderer.EntityRenderer.updateCameraAndRender(EntityRenderer.java:1115)
        	at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1209)
        	at net.minecraft.client.Minecraft.run(Minecraft.java:442)
        	at net.minecraft.client.main.Main.main(Main.java:118)
        	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        	at java.lang.reflect.Method.invoke(Method.java:498)
        	at net.minecraft.launchwrapper.Launch.launch(Launch.java:135)
        	at net.minecraft.launchwrapper.Launch.main(Launch.java:28)
        	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        	at java.lang.reflect.Method.invoke(Method.java:498)
        	at net.minecraftforge.gradle.GradleStartCommon.launch(GradleStartCommon.java:97)
        	at GradleStart.main(GradleStart.java:25)
        
        
        1 réponse Dernière réponse Répondre Citer 0
        • AsonyxA Hors-ligne
          Asonyx
          dernière édition par

          Pour ta class RenderDyna, essaye de mettre ce code :
          (En remplaçant RenderItemThrowable par RenderDyna)

          @SideOnly(Side.CLIENT)
          public class RenderItemThrowable<T extends Entity> extends Render<T> {
          
              protected final Item item;
              private final RenderItem itemRenderer;
          
              public RenderItemThrowable(RenderManager renderManagerIn, Item itemIn, RenderItem itemRendererIn) {
                  super(renderManagerIn);
                  this.item = itemIn;
                  this.itemRenderer = itemRendererIn;
              }
              public void doRender(T entity, double x, double y, double z, float entityYaw, float partialTicks) {
                  GlStateManager.pushMatrix();
                  GlStateManager.translate((float)x, (float)y, (float)z);
                  GlStateManager.enableRescaleNormal();
                  GlStateManager.rotate(-this.renderManager.playerViewY, 0.0F, 1.0F, 0.0F);
                  GlStateManager.rotate((float)(this.renderManager.options.thirdPersonView == 2 ? -1 : 1) * this.renderManager.playerViewX, 1.0F, 0.0F, 0.0F);
                  GlStateManager.rotate(180.0F, 0.0F, 1.0F, 0.0F);
                  this.bindTexture(TextureMap.LOCATION_BLOCKS_TEXTURE);
          
                  if (this.renderOutlines)
                  {
                      GlStateManager.enableColorMaterial();
                      GlStateManager.enableOutlineMode(this.getTeamColor(entity));
                  }
          
                  this.itemRenderer.renderItem(this.getStackToRender(entity), ItemCameraTransforms.TransformType.GROUND);
          
                  if (this.renderOutlines)
                  {
                      GlStateManager.disableOutlineMode();
                      GlStateManager.disableColorMaterial();
                  }
          
                  GlStateManager.disableRescaleNormal();
                  GlStateManager.popMatrix();
                  super.doRender(entity, x, y, z, entityYaw, partialTicks);
              }
          
              public ItemStack getStackToRender(T entityIn)
              {
                  return new ItemStack(this.item);
              }
          
              @Nullable
              protected ResourceLocation getEntityTexture(Entity entity) {
                  return TextureMap.LOCATION_BLOCKS_TEXTURE;
              }
          }
          

          Et au passage, si tu peut envoyer la class ou tu a engregistrer l’entity de ta dynamite.

          D 1 réponse Dernière réponse Répondre Citer 1
          • D Hors-ligne
            Drastic @Asonyx
            dernière édition par

            @Asonyx Merci mais toujour le mm bug…

            Voici la classe ou j’enregistre mes Entités.

            public class EntityInit
            {
                public static void registerEntities()
                {
                    registerEntity("dyna", EntityDyna.class, Reference.ENTITY_DYNA, 50, 11437146, 000000);
                }
                
                private static void registerEntity(String name, Class<? extends Entity> entity, int id, int range, int color1, int color2)
                {
                    EntityRegistry.registerModEntity(new ResourceLocation(Reference.MODID + ":" + name), entity, name, id, Main.instance, range, 1, true, color1, color2);
                }
            }
            
            1 réponse Dernière réponse Répondre Citer 0
            • AsonyxA Hors-ligne
              Asonyx
              dernière édition par

              Juste, est-ce que c’est toujour le même crash ?

              D 1 réponse Dernière réponse Répondre Citer 0
              • D Hors-ligne
                Drastic @Asonyx
                dernière édition par

                @Asonyx oui (je crois)
                au cas ou :

                java.lang.NullPointerException: Rendering entity in world
                	at com.avonia.mod.renderer.entity.RenderDyna.doRender(RenderDyna.java:47)
                	at net.minecraft.client.renderer.entity.RenderManager.renderEntity(RenderManager.java:390)
                	at net.minecraft.client.renderer.entity.RenderManager.renderEntityStatic(RenderManager.java:374)
                	at net.minecraft.client.renderer.RenderGlobal.renderEntities(RenderGlobal.java:655)
                	at net.minecraft.client.renderer.EntityRenderer.renderWorldPass(EntityRenderer.java:1400)
                	at net.minecraft.client.renderer.EntityRenderer.renderWorld(EntityRenderer.java:1312)
                	at net.minecraft.client.renderer.EntityRenderer.updateCameraAndRender(EntityRenderer.java:1115)
                	at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1209)
                	at net.minecraft.client.Minecraft.run(Minecraft.java:442)
                	at net.minecraft.client.main.Main.main(Main.java:118)
                	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
                	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
                	at java.lang.reflect.Method.invoke(Method.java:498)
                	at net.minecraft.launchwrapper.Launch.launch(Launch.java:135)
                	at net.minecraft.launchwrapper.Launch.main(Launch.java:28)
                	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
                	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
                	at java.lang.reflect.Method.invoke(Method.java:498)
                	at net.minecraftforge.gradle.GradleStartCommon.launch(GradleStartCommon.java:97)
                	at GradleStart.main(GradleStart.java:25)
                
                1 réponse Dernière réponse Répondre Citer 0
                • AsonyxA Hors-ligne
                  Asonyx
                  dernière édition par

                  Essaye de remplacer dans la class RenderDyna la fonction getEntityTexure par ça :

                      @Nullable
                      protected ResourceLocation getEntityTexture(Entity entity) throws NullPointerException {
                          return TextureMap.LOCATION_BLOCKS_TEXTURE;
                      }
                  
                  D 1 réponse Dernière réponse Répondre Citer 0
                  • D Hors-ligne
                    Drastic @Asonyx
                    dernière édition par

                    @Asonyx a dit dans RenderItem :

                                                                                                                                                    @Nullable                                                                                                                                                                                protected ResourceLocation getEntityTexture(Entity entity) throws NullPointerException {                                                                                                                                                                                    return TextureMap.LOCATION_BLOCKS_TEXTURE;                                                                                                                                                                                }
                    

                    Nop, 😕

                    Cr :

                    java.lang.NullPointerException: Rendering entity in world
                    	at com.avonia.mod.renderer.entity.RenderDyna.doRender(RenderDyna.java:47)
                    	at net.minecraft.client.renderer.entity.RenderManager.renderEntity(RenderManager.java:390)
                    	at net.minecraft.client.renderer.entity.RenderManager.renderEntityStatic(RenderManager.java:374)
                    	at net.minecraft.client.renderer.RenderGlobal.renderEntities(RenderGlobal.java:655)
                    	at net.minecraft.client.renderer.EntityRenderer.renderWorldPass(EntityRenderer.java:1400)
                    	at net.minecraft.client.renderer.EntityRenderer.renderWorld(EntityRenderer.java:1312)
                    	at net.minecraft.client.renderer.EntityRenderer.updateCameraAndRender(EntityRenderer.java:1115)
                    	at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1209)
                    	at net.minecraft.client.Minecraft.run(Minecraft.java:442)
                    	at net.minecraft.client.main.Main.main(Main.java:118)
                    	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                    	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
                    	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
                    	at java.lang.reflect.Method.invoke(Method.java:498)
                    	at net.minecraft.launchwrapper.Launch.launch(Launch.java:135)
                    	at net.minecraft.launchwrapper.Launch.main(Launch.java:28)
                    	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                    	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
                    	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
                    	at java.lang.reflect.Method.invoke(Method.java:498)
                    	at net.minecraftforge.gradle.GradleStartCommon.launch(GradleStartCommon.java:97)
                    	at GradleStart.main(GradleStart.java:25)
                    
                    1 réponse Dernière réponse Répondre Citer 0
                    • AsonyxA Hors-ligne
                      Asonyx
                      dernière édition par

                      Tu peux m’envoyer ta class principale ?

                      D 1 réponse Dernière réponse Répondre Citer 0
                      • D Hors-ligne
                        Drastic @Asonyx
                        dernière édition par

                        @Asonyx ok

                        package com.avonia.mod;
                        
                        import com.avonia.mod.proxy.CommonProxy;
                        import com.avonia.mod.util.Reference;
                        import com.avonia.mod.util.handlers.RegistryHandler;
                        
                        import ca.weblite.objc.Client;
                        import net.minecraft.creativetab.CreativeTabs;
                        import net.minecraft.entity.player.EntityPlayer;
                        import net.minecraftforge.event.entity.living.LivingDamageEvent;
                        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.eventhandler.SubscribeEvent;
                        
                        @Mod(modid = Reference.MODID, name = Reference.NAME, version = Reference.VERSION)
                        public class Main
                        {
                            @Instance
                            public static Main instance;
                                
                            @SidedProxy(clientSide = Reference.CLIENT, serverSide = Reference.COMMON)
                            public static CommonProxy proxy;
                        
                            @EventHandler
                            public static void preInit(FMLPreInitializationEvent e)
                            {
                                RegistryHandler.preInitRegistries();
                            }
                            
                            @EventHandler
                            public static void init(FMLInitializationEvent e)
                            {         
                                RegistryHandler.initRegistries();
                            }
                            
                            @EventHandler
                            public static void postInit(FMLPostInitializationEvent e)
                            {
                            }
                            
                        }
                        
                        

                        Registrhandler :

                        /*
                         * Minecraft Forge
                         * Copyright (c) 2016-2018.
                         *
                         * This library is free software; you can redistribute it and/or
                         * modify it under the terms of the GNU Lesser General Public
                         * License as published by the Free Software Foundation version 2.1
                         * of the License.
                         *
                         * This library is distributed in the hope that it will be useful,
                         * but WITHOUT ANY WARRANTY; without even the implied warranty of
                         * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
                         * Lesser General Public License for more details.
                         *
                         * You should have received a copy of the GNU Lesser General Public
                         * License along with this library; if not, write to the Free Software
                         * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
                         */
                        
                        package net.minecraftforge.event;
                        
                        import java.util.Collection;
                        import java.util.stream.Collectors;
                        
                        import org.apache.commons.lang3.Validate;
                        
                        import com.google.common.collect.ImmutableList;
                        import net.minecraft.util.ResourceLocation;
                        import net.minecraftforge.fml.common.ModContainer;
                        import net.minecraftforge.fml.common.eventhandler.Event;
                        import net.minecraftforge.fml.common.eventhandler.GenericEvent;
                        import net.minecraftforge.fml.common.eventhandler.IContextSetter;
                        import net.minecraftforge.registries.IForgeRegistry;
                        import net.minecraftforge.registries.IForgeRegistryEntry;
                        
                        
                        /**
                         * RegistryEvent supertype.
                         */
                        public class RegistryEvent<T extends IForgeRegistryEntry<T>> extends GenericEvent<T> implements IContextSetter
                        {
                            RegistryEvent(Class<T> clazz) {
                                super(clazz);
                            }
                            /**
                             * Register new registries when you receive this event, through the {@link RecipeBuilder}
                             */
                            public static class NewRegistry extends Event
                            {
                            }
                        
                            /**
                             * Register your objects for the appropriate registry type when you receive this event.
                             *
                             * <code>event.getRegistry().register(...)</code>
                             *
                             * The registries will be visited in alphabetic order of their name, except blocks and items,
                             * which will be visited FIRST and SECOND respectively.
                             *
                             * ObjectHolders will reload between Blocks and Items, and after all registries have been visited.
                             * @param <T> The registry top level type
                             */
                            public static class Register<T extends IForgeRegistryEntry<T>> extends RegistryEvent<T>
                            {
                                private final IForgeRegistry<T> registry;
                                private final ResourceLocation name;
                        
                                public Register(ResourceLocation name, IForgeRegistry<T> registry)
                                {
                                    super(registry.getRegistrySuperType());
                                    this.name = name;
                                    this.registry = registry;
                                }
                        
                                public IForgeRegistry<T> getRegistry()
                                {
                                    return registry;
                                }
                        
                                public ResourceLocation getName()
                                {
                                    return name;
                                }
                        
                            }
                        
                            public static class MissingMappings<T extends IForgeRegistryEntry<T>> extends RegistryEvent<T>
                            {
                                private final IForgeRegistry<T> registry;
                                private final ResourceLocation name;
                                private final ImmutableList<Mapping<T>> mappings;
                                private ModContainer activeMod;
                        
                                public MissingMappings(ResourceLocation name, IForgeRegistry<T> registry, Collection<Mapping<T>> missed)
                                {
                                    super(registry.getRegistrySuperType());
                                    this.registry = registry;
                                    this.name = name;
                                    this.mappings = ImmutableList.copyOf(missed);
                                }
                        
                                public void setModContainer(ModContainer mod)
                                {
                                    this.activeMod = mod;
                                }
                        
                                public ResourceLocation getName()
                                {
                                    return this.name;
                                }
                        
                                public IForgeRegistry<T> getRegistry()
                                {
                                    return this.registry;
                                }
                        
                                public ImmutableList<Mapping<T>> getMappings()
                                {
                                    return ImmutableList.copyOf(this.mappings.stream().filter(e -> e.key.getResourceDomain().equals(this.activeMod.getModId())).collect(Collectors.toList()));
                                }
                        
                                public ImmutableList<Mapping<T>> getAllMappings()
                                {
                                    return this.mappings;
                                }
                        
                                /**
                                 * Actions you can take with this missing mapping.
                                 * <ul>
                                 * <li>{@link #IGNORE} means this missing mapping will be ignored.
                                 * <li>{@link #WARN} means this missing mapping will generate a warning.
                                 * <li>{@link #FAIL} means this missing mapping will prevent the world from loading.
                                 * </ul>
                                 */
                                public enum Action
                                {
                                    /**
                                     * Take the default action
                                     */
                                    DEFAULT,
                                    /**
                                     * Ignore this missing mapping. This means the mapping will be abandoned
                                     */
                                    IGNORE,
                                    /**
                                     * Generate a warning but allow loading to continue
                                     */
                                    WARN,
                                    /**
                                     * Fail to load
                                     */
                                    FAIL,
                                    /**
                                     * Remap this name to a new name (add a migration mapping)
                                     */
                                    REMAP
                                }
                        
                                public static class Mapping<T extends IForgeRegistryEntry<T>>
                                {
                                    public final IForgeRegistry<T> registry;
                                    private final IForgeRegistry<T> pool;
                                    public final ResourceLocation key;
                                    public final int id;
                                    private Action action = Action.DEFAULT;
                                    private T target;
                        
                                    public Mapping(IForgeRegistry<T> registry, IForgeRegistry<T> pool, ResourceLocation key, int id)
                                    {
                                        this.registry = registry;
                                        this.pool = pool;
                                        this.key = key;
                                        this.id = id;
                                    }
                        
                                    /**
                                     * Ignore the missing item.
                                     */
                                    public void ignore()
                                    {
                                        action = Action.IGNORE;
                                    }
                        
                                    /**
                                     * Warn the user about the missing item.
                                     */
                                    public void warn()
                                    {
                                        action = Action.WARN;
                                    }
                        
                                    /**
                                     * Prevent the world from loading due to the missing item.
                                     */
                                    public void fail()
                                    {
                                        action = Action.FAIL;
                                    }
                        
                                    /**
                                     * Remap the missing entry to the specified object.
                                     *
                                     * Use this if you have renamed an entry.
                                     * Existing references using the old name will point to the new one.
                                     *
                                     * @param target Entry to remap to.
                                     */
                                    public void remap(T target)
                                    {
                                        Validate.notNull(target, "Remap target can not be null");
                                        Validate.isTrue(pool.getKey(target) != null, String.format("The specified entry %s hasn't been registered in registry yet.", target));
                                        action = Action.REMAP;
                                        this.target = target;
                                    }
                        
                                    // internal
                                    public Action getAction()
                                    {
                                        return this.action;
                                    }
                        
                                    public T getTarget()
                                    {
                                        return target;
                                    }
                                }
                            }
                        }
                        
                        1 réponse Dernière réponse Répondre Citer 0
                        • AsonyxA Hors-ligne
                          Asonyx
                          dernière édition par

                          Tu m’a envoyer la class RegistryEvent…
                          Alors que ta class c’est RegisterHandler

                          D 1 réponse Dernière réponse Répondre Citer 0
                          • D Hors-ligne
                            Drastic @Asonyx
                            dernière édition par

                            @Asonyx Ah rip

                            package com.avonia.mod.util.handlers;
                            
                            import com.avonia.mod.Main;
                            import com.avonia.mod.init.BlockInit;
                            import com.avonia.mod.init.EntityInit;
                            import com.avonia.mod.init.ItemInit;
                            import com.avonia.mod.util.IHasModel;
                            import com.avonia.mod.util.Reference;
                            
                            import net.minecraft.block.Block;
                            import net.minecraft.item.Item;
                            import net.minecraft.util.ResourceLocation;
                            import net.minecraftforge.client.event.ModelRegistryEvent;
                            import net.minecraftforge.common.MinecraftForge;
                            import net.minecraftforge.event.RegistryEvent;
                            import net.minecraftforge.fml.client.registry.ClientRegistry;
                            import net.minecraftforge.fml.common.Mod.EventBusSubscriber;
                            import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
                            import net.minecraftforge.fml.common.network.NetworkRegistry;
                            import net.minecraftforge.fml.relauncher.Side;
                            import net.minecraftforge.fml.relauncher.SideOnly;
                            
                            @EventBusSubscriber
                            public class RegistryHandler
                            {
                                @SubscribeEvent
                                public static void onItemRegister(RegistryEvent.Register<Item> event)
                                {
                                    event.getRegistry().registerAll(ItemInit.ITEMS.toArray(new Item[0]));
                                }
                                
                                @SubscribeEvent
                                public static void onBlockRegister(RegistryEvent.Register<Block> event)
                                {
                                    event.getRegistry().registerAll(BlockInit.BLOCKS.toArray(new Block[0]));
                                    TileEntityHandler.registerTileEntities();
                                }
                                
                                @SubscribeEvent
                                public static void onModelRegister(ModelRegistryEvent event)
                                {
                                    
                                    for(Item item : ItemInit.ITEMS)
                                    {
                                        if(item instanceof IHasModel)
                                        {
                                            ((IHasModel)item).registerModels();
                                        }
                                    }
                                    
                                    for(Block block : BlockInit.BLOCKS)
                                    {
                                        if(block instanceof IHasModel)
                                        {
                                            ((IHasModel)block).registerModels();
                                        }
                                    }
                                }
                                
                                public static void preInitRegistries()
                                {
                                    EntityInit.registerEntities();
                                    RenderHandler.registerEntityRenders();
                                }
                               
                                public static void initRegistries()
                                {
                            
                                }
                            }
                            
                            1 réponse Dernière réponse Répondre Citer 0
                            • AsonyxA Hors-ligne
                              Asonyx
                              dernière édition par

                              Les entitées doivent être dans la méthode init, alors que tu l’as mis dans preInit

                              D 1 réponse Dernière réponse Répondre Citer 1
                              • D Hors-ligne
                                Drastic @Asonyx
                                dernière édition par

                                @Asonyx ah ok

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

                                  @Asonyx re, désolé de te redéranger ,mais, je voudrais que l’entité n’explose que si elle atterrit sur un bloc. Comment faire ?
                                  Merci

                                  public EntityDyna(World worldIn)
                                      {
                                          super(worldIn);
                                      }
                                  
                                      public EntityDyna(World worldIn, EntityLivingBase throwerIn)
                                      {
                                          super(worldIn, throwerIn);
                                      }
                                  
                                      public EntityDyna(World worldIn, double x, double y, double z)
                                      {
                                          super(worldIn, x, y, z);
                                      }
                                  
                                      public static void registerFixesSnowball(DataFixer fixer)
                                      {
                                          EntityThrowable.registerFixesThrowable(fixer, "Snowball");
                                      }
                                  
                                      /**
                                       * Handler for {@link World#setEntityState}
                                       */
                                      @SideOnly(Side.CLIENT)
                                      public void handleStatusUpdate(byte id)
                                      {
                                          if (id == 3)
                                          {
                                              for (int i = 0; i < 8; ++i)
                                              {
                                                  this.world.spawnParticle(EnumParticleTypes.SNOWBALL, this.posX, this.posY, this.posZ, 0.0D, 0.0D, 0.0D);
                                              }
                                          }
                                      }
                                  
                                      /**
                                       * Called when this EntityThrowable hits a block or entity.
                                       */
                                      protected void onImpact(RayTraceResult result)
                                      {
                                          if (result.entityHit != null)
                                          {
                                              int i = 0;
                                  
                                              if (result.entityHit instanceof EntityBlaze)
                                              {
                                                  i = 3;
                                              }
                                              
                                              result.entityHit.attackEntityFrom(DamageSource.causeThrownDamage(this, this.getThrower()), (float)i);
                                              world.createExplosion(this, this.posX, this.posY, this.posZ, 4.0F, true);
                                              this.setDead();
                                          }
                                  
                                          if (!this.world.isRemote)
                                          {
                                              this.world.setEntityState(this, (byte)3);
                                              this.setDead();
                                          }
                                      }
                                  
                                  1 réponse Dernière réponse Répondre Citer 0
                                  • AsonyxA Hors-ligne
                                    Asonyx
                                    dernière édition par Asonyx

                                    Normalement, dans onImpact, tu peut utiliser une fonction qui s’appelle je crois isOnGround() qui retourne un boolean (je ne suis pas sûr)
                                    Ou une fontion de result

                                    D 1 réponse Dernière réponse Répondre Citer 0
                                    • D Hors-ligne
                                      Drastic @Asonyx
                                      dernière édition par

                                      @Asonyx yas inGround et onGround mais aucun ne va.

                                      1 réponse Dernière réponse Répondre Citer -1
                                      • AsonyxA Hors-ligne
                                        Asonyx
                                        dernière édition par

                                        Sinon tu vérifie si l’entité touchée est null

                                        D 1 réponse Dernière réponse Répondre Citer 0
                                        • D Hors-ligne
                                          Drastic @Asonyx
                                          dernière édition par

                                          @Asonyx Comment ca ?

                                          1 réponse Dernière réponse Répondre Citer -1
                                          • AsonyxA Hors-ligne
                                            Asonyx
                                            dernière édition par

                                            Tu fais :

                                            if (result.entityHit == null) {
                                                    //Le code quand la dynamite touche le sol
                                            }
                                            
                                            1 réponse Dernière réponse Répondre Citer 0
                                            • 1
                                            • 2
                                            • 1 / 2
                                            • Premier message
                                              Dernier message
                                            Design by Woryk
                                            ContactMentions Légales

                                            MINECRAFT FORGE FRANCE © 2024

                                            Powered by NodeBB