Jump to content

[Solved]1.7 Custom Throwable item Rendering


SilasOtoko

Recommended Posts

I cannot for the life of me figure out what I am missing. When I throw my custom entity, it works in all aspects except that it appears as a white cube. The texture for the item works, so my texture is good to go, I just can't seem to get my Entity to take on the texture.

 

 

ItemCreeperHeart

 

 

public class ItemCreeperHeart extends ItemRS {

public ItemCreeperHeart(){

super();

this.maxStackSize = 16;

this.setCreativeTab(RunesAndSilver.tabRunesAndSilver);

this.setUnlocalizedName("CreeperHeart");

this.setTextureName("CreeperHeart");

}

 

public ItemStack onItemRightClick(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer)

{

if (!par3EntityPlayer.capabilities.isCreativeMode)

        {

            --par1ItemStack.stackSize;

        }

 

        par2World.playSoundAtEntity(par3EntityPlayer, "random.bow", 0.5F, 0.4F / (itemRand.nextFloat() * 0.4F + 0.8F));

 

        if (!par2World.isRemote){

            par2World.spawnEntityInWorld(new EntityCreeperHeart(par2World, par3EntityPlayer));

        }

 

        return par1ItemStack;

}

}

 

 

 

 

EntityCreeperHeart

 

 

public class EntityCreeperHeart extends EntityThrowable{

 

public EntityCreeperHeart(World world) {

super(world);

 

}

 

public EntityCreeperHeart(World par1World, EntityLivingBase par3EntityPlayer)

{

super(par1World, par3EntityPlayer);

}

 

@SideOnly(Side.CLIENT)

public EntityCreeperHeart(World par1World, double par2, double par4, double par6)

{

super(par1World, par2, par4, par6);

}

 

 

protected void onImpact(MovingObjectPosition par1MovingObjectPosition) {

 

float f = 3.0F;

 

if(!this.worldObj.isRemote){

boolean flag = this.worldObj.getGameRules().getGameRuleBooleanValue("mobGriefing");

this.worldObj.createExplosion(this, this.posX, this.posY, this.posZ, f, true);

this.setDead();

}

 

}

 

}

 

 

 

 

RenderCreeperHeart

 

 

@SideOnly(Side.CLIENT)

public class RenderCreeperHeart extends RenderSnowball

{

private static Item item;

 

private int num;

   

public RenderCreeperHeart(Item par1Item, int par2) {

super(par1Item, par2);

this.item = item;

num = 2;

}

public RenderCreeperHeart(Item par1Item)

{

this(item, 0);

}

 

}

 

 

 

ClientProxy

 

 

public class ClientProxy extends CommonProxy{

 

@Override

public void registerRenderers(){

RenderingRegistry.registerEntityRenderingHandler(EntityCreeperHeart.class, new RenderCreeperHeart(ModItems.CreeperHeart));

}

}

 

 

 

CommonProxy

 

 

public abstract class CommonProxy implements IProxy {

 

public void registerRenderers() {

 

 

}

 

}

 

 

 

Main Class

 

 

@Mod.EventHandler

public void preInit(FMLPreInitializationEvent event){

ConfigurationHandler.init(event.getSuggestedConfigurationFile());

FMLCommonHandler.instance().bus().register(new ConfigurationHandler());

 

ModItems.init();

 

EntityRegistry.registerModEntity(EntityCreeperHeart.class, "CreeperHeart", ++modEntityIndex, this, 64, 10, true);

}

 

 

 

For a great reference on making a custom Throwable Item, check out this guys post: http://www.minecraftforum.net/forums/mapping-and-modding/mapping-and-modding-tutorials/1571527-forge-1-7-x-custom-item-with-throwable-entity

Link to comment
Share on other sites

Are you sure your registerRenderers is ever called?

 

I would you suggest you add breakpoints or System.out.println() to the key parts of your code to see which bit isn't getting called as you expect, for example

- the renderer registration

- the constructor

- the doRender() in Snowball

 

etc

 

-TGG

Link to comment
Share on other sites

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.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Announcements



×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.