Posted April 18, 201411 yr I tried following the Tutorial on the Forge forums for a Blaster Rifle but I think it is a few versions old and I am getting a few errors here is my Gun code: package com.halo.halomod.tools; import com.halo.halomod.EntityMagnumBullet; import net.minecraft.entity.boss.EntityDragon; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.projectile.EntityArrow; import net.minecraft.entity.projectile.EntityFireball; import net.minecraft.entity.projectile.EntitySnowball; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.world.World; public class ItemMagnum extends Item { public ItemMagnum(int par1) { super(); } @Override public ItemStack onItemRightClick(ItemStack par1ItemStack, World par2World,EntityPlayer par3EntityPlayer) { if(par3EntityPlayer.capabilities.isCreativeMode||par3EntityPlayer.inventory.consumeInventoryItem((Item) Item.itemRegistry.getObject("stick"))) { par2World.playSoundAtEntity(par3EntityPlayer, "random.bow", 0.5F, 0.4F / (itemRand.nextFloat() * 0.4F + 0.8F)); if (!par2World.isRemote) { par2World.spawnEntityInWorld([color=red]new EntityMagnumBullet(par2World, par3EntityPlayer));[/color] *Error The Constructor EntityMagnumBullet(World, EntityPlayer) is undefined* } } return par1ItemStack; } } Here is my Bullet Code: package com.halo.halomod; import net.minecraft.entity.EntityLiving; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.projectile.EntityThrowable; import net.minecraft.util.MovingObjectPosition; import net.minecraft.world.World; public class EntityMagnumBullet extends EntityThrowable { public EntityMagnumBullet(World par1World) { super(par1World); } public EntityMagnumBullet(World par1World, EntityLiving par2EntityLiving) { super(par1World, par2EntityLiving); } public EntityMagnumBullet(World par1World, double par2, double par4, double par6) { super(par1World, par2, par4, par6); } @Override protected void onImpact(MovingObjectPosition movingobjectposition){ // TODO Auto-generated method stub } }
April 18, 201411 yr I tried following the Tutorial on the Forge forums for a Blaster Rifle but I think it is a few versions old and I am getting a few errors Then you should debug them :-) Seriously, if you've got specific errors you don't understand how to fix, describe the error message and/or the symptoms and we can try to help. Much faster for everyone that way. -TGG
April 19, 201411 yr You need to call your EntityMagnumBullet with matching parameters. The constructor wants (World, EntityLiving) and you call with (World, EntityPlayer). EntityLiving is not a subclass or superclass of EntityPlayer. -S- (if I helped, please click Thank and applaud) http://6upnqa.dm2301.livefilestore.com/y2mtf-vG7Tqq1TiiVpIm53KWj7294NDPoHfSHHb4PzZiMAUfRCfK0UY0MwOu7Q3zTBNVTKqWjr2-xgBfFRpQT5p-QivtvknPpoABMNUw9br9WuZcBFkjePhnAbW500gVm-P/sequiturian.png[/img]
April 19, 201411 yr Author I tried matching the parameters and when I test it I can hear the sound but I cant see it and it doesn't do damage to mobs. the Magnum Class is the same but here is the new EntityMagnumBullet Class package com.halo.halomod; import net.minecraft.entity.EntityLiving; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.projectile.EntityThrowable; import net.minecraft.util.MovingObjectPosition; import net.minecraft.world.World; public class EntityMagnumBullet extends EntityThrowable { public EntityMagnumBullet(World par1World) { super(par1World); } public EntityMagnumBullet(World par1World, EntityPlayer par2EntityPlayer) { super(par1World, par2EntityPlayer); } public EntityMagnumBullet(World par1World, double par2, double par4, double par6) { super(par1World, par2, par4, par6); } @Override protected void onImpact(MovingObjectPosition movingobjectposition){ // TODO Auto-generated method stub } }
April 20, 201411 yr How would it do any damage? Your onImpact method is empty. -S- (if I helped, please click Thank and applaud) http://6upnqa.dm2301.livefilestore.com/y2mtf-vG7Tqq1TiiVpIm53KWj7294NDPoHfSHHb4PzZiMAUfRCfK0UY0MwOu7Q3zTBNVTKqWjr2-xgBfFRpQT5p-QivtvknPpoABMNUw9br9WuZcBFkjePhnAbW500gVm-P/sequiturian.png[/img]
April 20, 201411 yr Also, you can't just look at a tutorial and expect it to do everything that you want from it. I used that exact tutorial, when I was first learning how to mod, and It did cover damaging the entity.(There should be three parts to that tutorial, make sure you looked at them all). The only thing that I had issues with, was the rendering of the entity. You need to call the code listed bellow in your client proxy. EntityRegistry.registerModEntity(Class of Entity, "EntityName", this.getUniqueEntityId(), mod.instance, tracking range, update frequency, true);// the last parameter is if you want to send velocity updates, given that you want to make a bullet keep it set to true. RenderingRegistry.instance().registerEntityRenderingHandler(EntityClass, new Your Entity Renderer Class's constructor); //for the unique id I used private int startEntityId = 345; public static int getUniqueEntityId() { do startEntityId++; while (EntityList.getStringFromID(startEntityId) != null); return startEntityId; } Don't be afraid to ask question when modding, there are no stupid question! Unless you don't know java then all your questions are stupid!
April 23, 201411 yr Author I know there r other part I don't care about the amount of damage yet I will get there later but I am saying is I want to at least get part 1 to work as it doesn't appear still etc.. can someone test or look at the code and tell me why it is not working
April 23, 201411 yr Author Also, you can't just look at a tutorial and expect it to do everything that you want from it. I used that exact tutorial, when I was first learning how to mod, and It did cover damaging the entity.(There should be three parts to that tutorial, make sure you looked at them all). The only thing that I had issues with, was the rendering of the entity. You need to call the code listed bellow in your client proxy. EntityRegistry.registerModEntity(Class of Entity, "EntityName", this.getUniqueEntityId(), mod.instance, tracking range, update frequency, true);// the last parameter is if you want to send velocity updates, given that you want to make a bullet keep it set to true. RenderingRegistry.instance().registerEntityRenderingHandler(EntityClass, new Your Entity Renderer Class's constructor); //for the unique id I used private int startEntityId = 345; public static int getUniqueEntityId() { do startEntityId++; while (EntityList.getStringFromID(startEntityId) != null); return startEntityId; } I don't understand how proxy's work yet as I am new to modding and have watch most of the 1.7.2 tutorials. how do the proxy's work and how do u set it up?
April 23, 201411 yr There are plenty of good tutorials on how to set up a client proxy, also you have to make a renderer for your bullet for it to be visible (Again, plenty of tutorials on how to do that) Creator of Metroid Cubed! Power Suits, Beams, Hypermode and more! http://i.imgur.com/ghgWmA3.jpg[/img]
April 23, 201411 yr Hi THis link might help you to understand the proxy It's for 1.6.4 but the concepts are exactly the same http://greyminecraftcoder.blogspot.com/2013/11/how-forge-starts-up-your-code.html -TGG
April 24, 201411 yr Author I tried that code for the rendering but am getting like 10 errors and idk how to fix them
April 24, 201411 yr Post your code we need to see what you did to fix them. Creator of Jobo's ModLoader If I helped you could you please click the thank you button and applaud my karma.
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.