Jump to content
View in the app

A better way to browse. Learn more.

Forge Forums

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Featured Replies

Posted

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

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

  • Author

Wow. completely forgot to call my RegisterRender method from my preInit. I knew I was forgetting something simple.

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...

Important Information

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

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.