Résolu 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 indulgentEntité 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) { } }
-
Il nous faut la classe de ton rendu pour ça ^^
-
C’est bon normalement
-
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
-
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); } }
-
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)
-
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
-
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; } }
-
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
-
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