Voir la projection d'un item (Snowball)



  • Bonjour,je voudrais vous demander de l'aide car je suis bloquer sur une étape  que je voudrais réaliser.Je vcoudrais realiser une projection comme une snowball ou fleche sur un item donc j'ai rechercher un peut dans l'entiter de l'item mais j'ai rien trouver donc je voudrais savoir ou le trouvé pas obliger me taper le code car sa me forcera a chercher me donner quelque indice .

    Je vais vous montre en image si vous ne me comprenez pas :

    Voila merci de votre réponse est j’espère que je vous est tout apporté pour m'aidé
    Ps:J'ai deja l'item de cree avec une entité pour la faire exploser donc ma dynamite a coté,je suis un petit nouveau aussi ^^ soyez indulgent 🙂

    Entité de l'item

    package xkein.cobalt.tuto.common;
    
        import cpw.mods.fml.common.registry.IEntityAdditionalSpawnData;
        import io.netty.buffer.ByteBuf;
        import net.minecraft.entity.EntityLivingBase;
        import net.minecraft.entity.monster.EntityBlaze;
        import net.minecraft.entity.projectile.EntityThrowable;
        import net.minecraft.util.DamageSource;
        import net.minecraft.util.MovingObjectPosition;
        import net.minecraft.world.World;
    
        public class EntityDynamite extends EntityThrowable implements IEntityAdditionalSpawnData
        {
           private int fuseTime = 40;
    
           public EntityDynamite(World world)
           {
               super(world);
           }
    
           public EntityDynamite(World world, EntityLivingBase thrower)
           {
               super(world, thrower);
           }
    
           public EntityDynamite(World world, double x, double y, double z)
           {
               super(world, x, y, z);
           }
    
           protected void onImpact(MovingObjectPosition mop)
           {
               this.motionX = 0;
               this.motionY = 0;
               this.motionZ = 0;
               if (!this.worldObj.isRemote)
               {
    
               }
           }       
           @Override
           public void onUpdate()
           {
               super.onUpdate();
               if(this.fuseTime > 0)
               {
                   this.fuseTime –;
               }
    
               else if(!this.worldObj.isRemote)
               {
                   this.worldObj.newExplosion(this, this.posX, this.posY, this.posZ, 5.0F, false, true);
                   this.setDead();
               }
    
           }
    
           @Override
           public void writeSpawnData(ByteBuf buffer)
           {
               buffer.writeInt(this.fuseTime);
           }
    
           @Override
           public void readSpawnData(ByteBuf additionalData)
           {
               this.fuseTime = additionalData.readInt();
           }
        }
    
    

    Classe de l'item

    package xkein.cobalt.tuto.common;
    
    import net.minecraft.creativetab.CreativeTabs;
    import net.minecraft.entity.player.EntityPlayer;
    import net.minecraft.entity.projectile.EntitySnowball;
    import net.minecraft.item.Item;
    import net.minecraft.item.ItemStack;
    import net.minecraft.world.World;
    
    public class dynamite extends Item
    {
    
        public dynamite()
        {
            this.maxStackSize = 16;
            this.setCreativeTab(CreativeTabs.tabMisc);
        }
        public ItemStack onItemRightClick(ItemStack stack, World world, EntityPlayer player)
        {
            if (!player.capabilities.isCreativeMode)
            {
                --stack.stackSize;
            }
    
            world.playSoundAtEntity(player, "random.bow", 0.5F, 0.8F / (itemRand.nextFloat() * 0.4F + 0.8F));
    
            if (!world.isRemote)
            {
                world.spawnEntityInWorld(new EntityDynamite(world, player));
            }
    
            return stack;
        }
    }
    

    ClientProxy

    
    package xkein.cobalt.tuto.client;
    
    import cpw.mods.fml.client.registry.RenderingRegistry;
    import net.minecraft.client.renderer.entity.RenderSnowball;
    import xkein.cobalt.tuto.common.EntityDynamite;
    import xkein.cobalt.tuto.common.ModCobalt;
    import xkein.cobalt.tuto.proxy.CommonProxy;
    
    public class ClientProxy extends CommonProxy
    {
    
            @Override
            public void registerRenders()
            {
                RenderingRegistry.registerEntityRenderingHandler(EntityDynamite.class, new RenderSnowball(ModCobalt.dynamite));
            }
    }
    
    

    Classe Principale

    
    package xkein.cobalt.tuto.common;
    
    import cpw.mods.fml.common.Mod;
    import cpw.mods.fml.common.Mod.EventHandler;
    import cpw.mods.fml.common.Mod.Instance;
    import cpw.mods.fml.common.SidedProxy;
    import cpw.mods.fml.common.event.FMLInitializationEvent;
    import cpw.mods.fml.common.event.FMLPostInitializationEvent;
    import cpw.mods.fml.common.event.FMLPreInitializationEvent;
    import cpw.mods.fml.common.registry.EntityRegistry;
    import cpw.mods.fml.common.registry.GameRegistry;
    import net.minecraft.block.Block;
    import net.minecraft.block.material.Material;
    import net.minecraft.creativetab.CreativeTabs;
    import net.minecraft.item.Item;
    import net.minecraft.item.Item.ToolMaterial;
    import net.minecraft.item.ItemArmor.ArmorMaterial;
    import net.minecraft.potion.Potion;
    import xkein.cobalt.tuto.proxy.CommonProxy;
    import net.minecraftforge.common.MinecraftForge;
    import net.minecraftforge.common.util.EnumHelper;
    
    @Mod(modid = "ModCobalt", name = "Mod Cobalt", version = "1.0.0") //a rectifier le modid = "modtuto:MODID"
    
    public class ModCobalt
    {
        public static final String MODID = "modtuto";
        @Instance("MODID")
        public static ModCobalt instance;
    
        @SidedProxy(clientSide = "xkein.cobalt.tuto.proxy.ClientProxy", serverSide = "xkein.cobalt.tuto.proxy.CommonProxy")
        public static CommonProxy proxy;
    
        public static Item swordSaphir, pickaxeSaphir, axeSaphir, shovelSaphir,hoeSaphir;
        public static Item dynamite;
        public static ToolMaterial toolSaphir = EnumHelper.addToolMaterial("toolSaphir", 2, 250, 6.0F, 4.0F, 14);
        public static Item itemValorium, itemCobaltium, helmetSaphir, chestplateSaphir,leggingsSaphir,bootsSaphir,itemorange;
        public static Block blockValorium,blockCobaltium,BlockOreValorium;
    
        public static ArmorMaterial armorSaphir = EnumHelper.addArmorMaterial("armorSaphir", 35, new int[]{4, 9, 7, 4}, 15 );
    
        WorldGeneration worldgeneration = new WorldGeneration();
    
        @EventHandler   
        public void preInit(FMLPreInitializationEvent event)
        {
            swordSaphir = new ItemSaphirSword(toolSaphir).setUnlocalizedName("swordSaphir").setTextureName(MODID + ":sword_saphir").setCreativeTab(CreativeTabs.tabTools);
            pickaxeSaphir = new ItemSaphirPickaxe(toolSaphir).setUnlocalizedName("pickaxeSaphir").setTextureName(MODID + ":pickaxe_saphir").setCreativeTab(CreativeTabs.tabTools);
            axeSaphir = new ItemSaphirAxe(toolSaphir).setUnlocalizedName("axeSaphir").setTextureName(MODID + ":axe_saphir").setCreativeTab(CreativeTabs.tabTools);
            shovelSaphir = new ItemSaphirShovel(toolSaphir).setUnlocalizedName("shovelSaphir").setTextureName(MODID + ":shovel_saphir").setCreativeTab(CreativeTabs.tabTools);
            hoeSaphir = new ItemSaphirHoe(toolSaphir).setUnlocalizedName("hoeSaphir").setTextureName(MODID + ":hoe_saphir").setCreativeTab(CreativeTabs.tabTools);
            dynamite = new dynamite().setUnlocalizedName("dynamite").setTextureName(MODID + ":item_dynamite").setCreativeTab(CreativeTabs.tabCombat);
            itemValorium = new valorium().setUnlocalizedName("valorium").setTextureName(MODID + ":item_valorium").setCreativeTab(CreativeTabs.tabMaterials);
            itemorange = new Orange (0,0.3F,false).setPotionEffect(Potion.digSpeed.id, 60, 1, 1.0F).setTextureName(MODID + ":item_orange").setUnlocalizedName("orange");
            itemCobaltium = new valorium().setUnlocalizedName("cobaltium").setTextureName(MODID + ":item_cobaltium").setCreativeTab(CreativeTabs.tabMaterials);
            helmetSaphir = new ItemSaphirArmor(armorSaphir, 0).setUnlocalizedName("helmetSaphir").setTextureName(MODID + ":helmet_saphir");
            chestplateSaphir = new ItemSaphirArmor(armorSaphir, 1).setUnlocalizedName("chestplateSaphir").setTextureName(MODID + ":chestplate_saphir");
            leggingsSaphir = new ItemSaphirArmor(armorSaphir, 2).setUnlocalizedName("leggingsSaphir").setTextureName(MODID + ":leggings_saphir");
            bootsSaphir = new ItemSaphirArmor(armorSaphir, 3).setUnlocalizedName("bootsSaphir").setTextureName(MODID + ":boots_saphir");
    
            GameRegistry.registerItem(dynamite, "dynamite");
            GameRegistry.registerItem(swordSaphir, "item_sword_saphir");
            GameRegistry.registerItem(pickaxeSaphir, "item_pickaxe_Saphirr");
            GameRegistry.registerItem(axeSaphir, "item_axe_Saphir");
            GameRegistry.registerItem(shovelSaphir, "item_shovel_Saphir");
            GameRegistry.registerItem(hoeSaphir, "item_hoe_Saphir");
            GameRegistry.registerItem(itemorange, "item_orange");
            GameRegistry.registerItem(itemValorium, "item_valorium");
            GameRegistry.registerItem(itemCobaltium, "item_cobaltium");
            GameRegistry.registerItem(helmetSaphir, "item_saphirhelmet");
            GameRegistry.registerItem(chestplateSaphir, "item_saphirchestplate");
            GameRegistry.registerItem(leggingsSaphir, "item_saphirleggings");
            GameRegistry.registerItem(bootsSaphir, "item_saphirboots");
    
            blockValorium = new BlockValorium(Material.rock).setBlockName("valorium").setBlockTextureName(MODID + ":block_valorium").setCreativeTab(CreativeTabs.tabBlock);
            blockCobaltium = new BlockValorium(Material.rock).setBlockName("cobaltium").setBlockTextureName(MODID + ":block_cobaltium").setCreativeTab(CreativeTabs.tabBlock);
            BlockOreValorium = new BlockOreValorium(Material.rock).setBlockName("orevalorium").setBlockTextureName(MODID + "minerai_valorium").setCreativeTab(CreativeTabs.tabBlock);
    
            GameRegistry.registerBlock(BlockOreValorium, "Valorium_ore");
            GameRegistry.registerBlock(blockValorium, "block_Valorium");
            GameRegistry.registerBlock(blockCobaltium, "block_cobaltium");
    
            GameRegistry.registerWorldGenerator(worldgeneration, 0);
    
            BlockOreValorium = new BlockOreValorium(Material.rock).setBlockName("orevalorium").setBlockTextureName(MODID + "minerai_valorium").setCreativeTab(CreativeTabs.tabBlock);
    
            MinecraftForge.EVENT_BUS.register(new LivingEventHandler());
    
        }
    
        @EventHandler
        public void Init(FMLInitializationEvent event)
        {
            proxy.registerRender();
    
        }
        @EventHandler
        public void postInit(FMLPostInitializationEvent event)
        {
    
        }
    }
    
    

  • Correcteurs

    Il nous faut la classe de ton rendu pour ça ^^



  • C'est bon normalement


  • Administrateurs

    Il n'y a pas de classe de rendu dans ton premier post.
    À mon avis ce parce que tu n'en a pas.
    Donc il faut que tu en fasse une.

    Tu peux l'enregistrer avec la fonction suivante :
    RenderingRegistry.registerEntityRenderingHandler(EntityDynamite.class, new RenderDynamite());
    dans le client proxy.

    Et au lieu de créer ta propre classe de Rendu, il me semble que tu peux même réutiliser la classe de rendu de la boule de neige.



  • Au passage, attention à ne pas enregistrer la classe de ton entity dans la méthode init ! Les projectiles ne doivent pas être enregistrés sinon ils n'apparaissent pas, je m'en souviens bien 🙂


  • Administrateurs

    Maintenant il y a bien tout.
    La seule chose qui manque c'est l'enregistrement de EntityDynamite avec EntityRegistry.registerModEntity



  • @Plaigon Ok d'accord merci ^^

    parcontre si je peut encore vous embête je voudrais bien savoir (ou de comprendre) que veut dire les p_i11259 (sa ne serait pas une valeur ?)
    car quand je veut mettre le render je bloque sur les p_i11..

    celle de la Snowball

    
    package xkein.cobalt.tuto.client;
    
    import net.minecraft.client.renderer.entity.Render;
    import net.minecraft.entity.Entity;
    import net.minecraft.item.Item;
    import net.minecraft.util.ResourceLocation;
    
    public class RenderDynamite extends Render
    {
       private Item field_94151_a;
       private int field_94150_f;
       private static final String __OBFID = "CL_00001008";
    
       public RenderDynamite(Item p_i1259_1_, int p_i1259_2_)
       {
           this.field_94151_a = p_i1259_1_;
           this.field_94150_f = p_i1259_2_;
       }
    
       public RenderDynamite(Item p_i1260_1_)
       {
           this(p_i1260_1_, 0);
       }
    
       @Override
       public void doRender(Entity p_76986_1_, double p_76986_2_, double p_76986_4_, double p_76986_6_, float p_76986_8_, float p_76986_9_)
       {
    
       }
    
       @Override
       protected ResourceLocation getEntityTexture(Entity p_110775_1_)
       {
    
           return null;
       }
    
    

    Apres j'ai essaye de modifier un peu pour tester donc si vous pouvez me dire se qu'il va pas ou les erreurs c'est a vous de choisir (aussi si vous avez un tuto qui explique bien je suis preneur ^^ )

    la meme pour la dynamite (mais un peu modifier)

    
    package xkein.cobalt.tuto.client;
    
    import net.minecraft.client.renderer.entity.Render;
    import net.minecraft.entity.Entity;
    import net.minecraft.item.Item;
    import net.minecraft.util.ResourceLocation;
    
    public class RenderDynamite extends Render
    {
       private Item dynamite;
       private int RenderDynamite;
       private static final String __OBFID = "CL_00001008";
    
       public RenderDynamite(Item dynamite, int RenderDynamite)
       {
           this.dynamite = dynamite;
           this.RenderDynamite = RenderDynamite;
       }
    
       public RenderDynamite(Item dynamite)
       {
           this(dynamite);
       }
    
       @Override
       public void doRender(Entity dynamite, double x, double y, double z, float dynamite1, float RenderDynamite)
       {
           // TODO Auto-generated method stub
    
       }
    
       @Override
       protected ResourceLocation getEntityTexture(Entity dynamite)
       {
           // TODO Auto-generated method stub
           return null;
       }
    }
    
    


  • @★robin4002★ ok d'accord

    Pour savoir esque c'est bon :

    
           {
                RenderingRegistry.registerEntityRenderingHandler(EntityDynamite.class, new RenderDynamite(ModCobalt.dynamite));
                boolean sendsVelocityUpdates = false;
                EntityRegistry.registerModEntity(EntityDynamite.class, "dynamite", 0, ModCobalt.instance, 32, 20, sendsVelocityUpdates);
            }
    }
    
    

  • Administrateurs

    registerModEntity doit être dans la classe principale. Et remplaces sendsVelocityUpdates directement par true au lieu de créer une variable inutile.



  • t'es sur que on le place dans la classe principale car quand le place dans mon modCobalt (classe principale) donc j'ai essaye de le mettre dans Preinit = crash apres j'ai essaye partout sa me le souligner
    Aussi dans le INIT
    Le crash

    –-- Minecraft Crash Report ----
    // You should try our sister game, Minceraft!
    
    Time: 01/11/16 15:31
    Description: Initializing game
    
    java.lang.NullPointerException: Initializing game
    at cpw.mods.fml.common.registry.EntityRegistry.doModEntityRegistration(EntityRegistry.java:164)
    at cpw.mods.fml.common.registry.EntityRegistry.registerModEntity(EntityRegistry.java:150)
    at xkein.cobalt.tuto.common.ModCobalt.preInit(ModCobalt.java:49)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at cpw.mods.fml.common.FMLModContainer.handleModStateEvent(FMLModContainer.java:532)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at com.google.common.eventbus.EventSubscriber.handleEvent(EventSubscriber.java:74)
    at com.google.common.eventbus.SynchronizedEventSubscriber.handleEvent(SynchronizedEventSubscriber.java:47)
    at com.google.common.eventbus.EventBus.dispatch(EventBus.java:322)
    at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:304)
    at com.google.common.eventbus.EventBus.post(EventBus.java:275)
    at cpw.mods.fml.common.LoadController.sendEventToModContainer(LoadController.java:212)
    at cpw.mods.fml.common.LoadController.propogateStateMessage(LoadController.java:190)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at com.google.common.eventbus.EventSubscriber.handleEvent(EventSubscriber.java:74)
    at com.google.common.eventbus.SynchronizedEventSubscriber.handleEvent(SynchronizedEventSubscriber.java:47)
    at com.google.common.eventbus.EventBus.dispatch(EventBus.java:322)
    at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:304)
    at com.google.common.eventbus.EventBus.post(EventBus.java:275)
    at cpw.mods.fml.common.LoadController.distributeStateMessage(LoadController.java:119)
    at cpw.mods.fml.common.Loader.preinitializeMods(Loader.java:556)
    at cpw.mods.fml.client.FMLClientHandler.beginMinecraftLoading(FMLClientHandler.java:243)
    at net.minecraft.client.Minecraft.startGame(Minecraft.java:522)
    at net.minecraft.client.Minecraft.run(Minecraft.java:942)
    at net.minecraft.client.main.Main.main(Main.java:164)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at net.minecraft.launchwrapper.Launch.launch(Launch.java:135)
    at net.minecraft.launchwrapper.Launch.main(Launch.java:28)
    at net.minecraftforge.gradle.GradleStartCommon.launch(Unknown Source)
    at GradleStart.main(Unknown Source)
    
    A detailed walkthrough of the error, its code path and all known details is as follows:
    ---------------------------------------------------------------------------------------
    
    -- Head --
    Stacktrace:
    at cpw.mods.fml.common.registry.EntityRegistry.doModEntityRegistration(EntityRegistry.java:164)
    at cpw.mods.fml.common.registry.EntityRegistry.registerModEntity(EntityRegistry.java:150)
    at xkein.cobalt.tuto.common.ModCobalt.preInit(ModCobalt.java:49)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at cpw.mods.fml.common.FMLModContainer.handleModStateEvent(FMLModContainer.java:532)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at com.google.common.eventbus.EventSubscriber.handleEvent(EventSubscriber.java:74)
    at com.google.common.eventbus.SynchronizedEventSubscriber.handleEvent(SynchronizedEventSubscriber.java:47)
    at com.google.common.eventbus.EventBus.dispatch(EventBus.java:322)
    at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:304)
    at com.google.common.eventbus.EventBus.post(EventBus.java:275)
    at cpw.mods.fml.common.LoadController.sendEventToModContainer(LoadController.java:212)
    at cpw.mods.fml.common.LoadController.propogateStateMessage(LoadController.java:190)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at com.google.common.eventbus.EventSubscriber.handleEvent(EventSubscriber.java:74)
    at com.google.common.eventbus.SynchronizedEventSubscriber.handleEvent(SynchronizedEventSubscriber.java:47)
    at com.google.common.eventbus.EventBus.dispatch(EventBus.java:322)
    at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:304)
    at com.google.common.eventbus.EventBus.post(EventBus.java:275)
    at cpw.mods.fml.common.LoadController.distributeStateMessage(LoadController.java:119)
    at cpw.mods.fml.common.Loader.preinitializeMods(Loader.java:556)
    at cpw.mods.fml.client.FMLClientHandler.beginMinecraftLoading(FMLClientHandler.java:243)
    at net.minecraft.client.Minecraft.startGame(Minecraft.java:522)
    
    -- Initialization --
    Details:
    Stacktrace:
    at net.minecraft.client.Minecraft.run(Minecraft.java:942)
    at net.minecraft.client.main.Main.main(Main.java:164)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at net.minecraft.launchwrapper.Launch.launch(Launch.java:135)
    at net.minecraft.launchwrapper.Launch.main(Launch.java:28)
    at net.minecraftforge.gradle.GradleStartCommon.launch(Unknown Source)
    at GradleStart.main(Unknown Source)
    
    -- System Details --
    Details:
    Minecraft Version: 1.7.10
    Operating System: Windows 7 (amd64) version 6.1
    Java Version: 1.8.0_111, Oracle Corporation
    Java VM Version: Java HotSpot(TM) 64-Bit Server VM (mixed mode), Oracle Corporation
    Memory: 825473976 bytes (787 MB) / 1038876672 bytes (990 MB) up to 1038876672 bytes (990 MB)
    JVM Flags: 3 total; -Xincgc -Xmx1024M -Xms1024M
    AABB Pool Size: 0 (0 bytes; 0 MB) allocated, 0 (0 bytes; 0 MB) used
    IntCache: cache: 0, tcache: 0, allocated: 0, tallocated: 0
    FML: MCP v9.05 FML v7.10.99.99 Minecraft Forge 10.13.4.1558 4 mods loaded, 4 mods active
    States: 'U' = Unloaded 'L' = Loaded 'C' = Constructed 'H' = Pre-initialized 'I' = Initialized 'J' = Post-initialized 'A' = Available 'D' = Disabled 'E' = Errored
    UCH mcp{9.05} [Minecraft Coder Pack] (minecraft.jar)
    UCH FML{7.10.99.99} [Forge Mod Loader] (forgeSrc-1.7.10-10.13.4.1558-1.7.10.jar)
    UCH Forge{10.13.4.1558} [Minecraft Forge] (forgeSrc-1.7.10-10.13.4.1558-1.7.10.jar)
    UCE ModCobalt{1.0.0} [Mod Cobalt] (bin)
    GL info: ' Vendor: 'NVIDIA Corporation' Version: '4.5.0 NVIDIA 373.06' Renderer: 'GeForce GTX 960/PCIe/SSE2'
    Launched Version: 1.7.10
    LWJGL: 2.9.1
    OpenGL: GeForce GTX 960/PCIe/SSE2 GL version 4.5.0 NVIDIA 373.06, NVIDIA Corporation
    GL Caps: Using GL 1.3 multitexturing.
    Using framebuffer objects because OpenGL 3.0 is supported and separate blending is supported.
    Anisotropic filtering is supported and maximum anisotropy is 16.
    Shaders are available because OpenGL 2.1 is supported.
    
    Is Modded: Definitely; Client brand changed to 'fml,forge'
    Type: Client (map_client.txt)
    Resource Packs: []
    Current Language: Français canadien (Canada)
    Profiler Position: N/A (disabled)
    Vec3 Pool Size: 0 (0 bytes; 0 MB) allocated, 0 (0 bytes; 0 MB) used
    Anisotropic Filtering: Off (1)
    
    

  • Administrateurs

    L'instance de ton est null.

    @Instance("MODID")
    devrait être :
    @Instance("ModCobalt")
    (vers le début de ta classe principale).

    Et si ça ne crashait pas avant, ça veut dire que ta fonction registerEntityRenderingHandler qui est juste au dessus de la où était doModEntityRegistration avant n'est pas appelé non plus, donc il y a un autre soucis à ce niveau.
    Envoies ton client proxy.



  • package xkein.cobalt.tuto.client;
    
    import cpw.mods.fml.client.registry.RenderingRegistry;
    import cpw.mods.fml.common.registry.EntityRegistry;
    import xkein.cobalt.tuto.common.EntityDynamite;
    import xkein.cobalt.tuto.common.ModCobalt;
    import xkein.cobalt.tuto.common.RenderDynamite;
    import xkein.cobalt.tuto.proxy.CommonProxy;
    
    public class ClientProxy extends CommonProxy
    {
    
    @Override
    public void registerRenders()
    {
    RenderingRegistry.registerEntityRenderingHandler(EntityDynamite.class, new RenderDynamite(ModCobalt.dynamite));
    }
    }
    
    


  • C'est bon mon jeux crash plus mais maintenant c'est que le projectile n'apparait pas il fait un carré blanc

    http://prntscr.com/d1r0sa


  • Administrateurs

    Tu peux aussi envoyer ta classe CommonProxy et RenderDynamite si elle a changé depuis ?



  • CommonProxy

    package xkein.cobalt.tuto.proxy;
    
    public class CommonProxy
    {
    public void registerRender()
    {
    System.out.println("\n méthode coté serveur");
    }
    
    public void registerRenders()
    {
    // TODO Auto-generated method stub
    
    }
    }
    
    

    renderDynamite

    package xkein.cobalt.tuto.common;
    
    import net.minecraft.client.renderer.entity.Render;
    import net.minecraft.entity.Entity;
    import net.minecraft.item.Item;
    import net.minecraft.util.ResourceLocation;
    
    public class RenderDynamite extends Render
    {
    private Item dynamite;
    private int RenderDynamite;
    private static final String __OBFID = "CL_00001008";
    
    public RenderDynamite(Item dynamite, int RenderDynamite)
    {
    this.dynamite = dynamite;
    this.RenderDynamite = RenderDynamite;
    }
    
    public RenderDynamite(Item dynamite)
    {
    this(dynamite, 0);
    }
    
    @Override
    public void doRender(Entity dynamite, double x, double y, double z, float dynamite1, float RenderDynamite)
    {
    // TODO Auto-generated method stub
    
    }
    
    @Override
    protected ResourceLocation getEntityTexture(Entity dynamite)
    {
    // TODO Auto-generated method stub
    return null;
    }
    }
    

  • Administrateurs

    Dans ta classe principale tu as :
    proxy.registerRender();
    Dans ton proxy commun tu as registerRender et registerRenders.
    Et dans ton proxy client tu as juste registerRenders.

    Du-coup registerRenders de ton client proxy n'est jamais appelé.
    Corriges ça en gardant seulement une des deux fonctions.

    Et dans le proxyclient tu peux ensuite remplacer :
    RenderingRegistry.registerEntityRenderingHandler(EntityDynamite.class, new RenderDynamite(ModCobalt.dynamite));
    par :
    RenderingRegistry.registerEntityRenderingHandler(EntityDynamite.class, new RenderSnowball(ModCobalt.dynamite));

    La classe RenderSnowball permet de rendre un item au cordonnée d'une entité, donc tu peux aussi l'utiliser pour ta dynamite, pas besoin de faire une nouvelle classe.



  • j'ai tout modifier comme tu me la dit mais c'est toujours blanc je vois bien

    http://prntscr.com/d1rly7___Mais c'est normal que je ne vois pas tout le trajet comme une snowball je vois bien la texture mais je vois des que je la balance est des quelle touche le sol mais pas entre deux


  • Administrateurs

    Tu peux me renvoyer la ligne où tu enregistres l'entité ?



  • celle la ?

    @EventHandler
    public void Init(FMLInitializationEvent event)
    {
    proxy.registerRenders();
    EntityRegistry.registerModEntity(EntityDynamite.class, "EntityDynamite", 0, ModCobalt.instance, 32, 20, false);
    }
    
    


  • Remplace le 0 par 420


Log in to reply