Alrighty:
I've created the model, the item and the required renderers. They all work with each other perfectly. The item also fires an arrow (A starter object that I'm using before upgrading to a custom entity)
Images of Gun:
The only problem I'm having is that I can not find out how to have the player look as if they're holding the weapon like an actual gun. (Using 1.7.10 Forge btw)
I've heard of something called "Enum"? I'm reletively new to Modding in Minecraft (I know basics and some advanced stuff)
Here's my code for Item Rifle:
[nobbc]import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.entity.projectile.EntityArrow;
import net.minecraft.entity.projectile.EntitySnowball;
import net.minecraft.init.Items;
import net.minecraft.item.EnumAction;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.util.MathHelper;
import net.minecraft.util.MovingObjectPosition;
import net.minecraft.util.Vec3;
import net.minecraft.world.World;
import net.minecraftforge.common.MinecraftForge;
import net.minecraftforge.event.entity.player.ArrowNockEvent;
import net.mcheroesandgenerals.warblocks.*;
public class ItemRifle extends Item
{
public ItemRifle()
{
super();
this.setFull3D();
}
public ItemStack onItemRightClick(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer)
{
ArrowNockEvent event = new ArrowNockEvent(par3EntityPlayer, par1ItemStack);
MinecraftForge.EVENT_BUS.post(event);
if (event.isCanceled())
{
return event.result;
}
if(par3EntityPlayer.capabilities.isCreativeMode||par3EntityPlayer.inventory.hasItem(WarBlocks.itemRifleAmmo))
{
par2World.playSoundAtEntity(par3EntityPlayer, "wb:weapon.rifle.shoot", 1, 1);
par3EntityPlayer.inventory.consumeInventoryItem(WarBlocks.itemRifleAmmo);
if (!par2World.isRemote)
par2World.spawnEntityInWorld(new EntityArrow(par2World, par3EntityPlayer, );
par2World.spawnParticle("flame", 0, 0, 0, 0.0D, 0.0D, 0.0D);
}
return par1ItemStack;
}
}[/nobbc]