Jump to content

Recommended Posts

Posted

Here is the code I used for my Souls Mod. It is called in  renderItem(ItemRenderType type, ItemStack item, Object... data)

if (data[1] != null && data[1] instanceof EntityPlayer) {
		if (!((EntityPlayer) data[1] == Minecraft.getMinecraft().renderViewEntity
				&& Minecraft.getMinecraft().gameSettings.thirdPersonView == 0 && !((Minecraft
				.getMinecraft().currentScreen instanceof GuiInventory || Minecraft
				.getMinecraft().currentScreen instanceof GuiContainerCreative) && RenderManager.instance.playerViewY == 180.0F))) {
			GL11.glRotatef(-90, 0, 0, 1);
			GL11.glTranslatef(-1.05f, 0.3f, -0.1f);
		} else {
			GL11.glTranslatef(1f, 2f, 0f);
			GL11.glRotatef(190, 1, 0, 0);
		}
	}
	batModel.render((Entity) data[1], 0, 0, 0, 0, 0, 0.0625f);

 

And I use this code to check whether or not the 3D item should be rendered.

	@Override
public boolean handleRenderType(ItemStack item, ItemRenderType type) {
	switch (type) {
	case EQUIPPED:
		return true;
	default:
		return false;
	}
}

 

If you wish, I can release my full ItemRenderClub.java. Just ask.

Aspergers is annoying sometimes :(

Posted

I see your code and i raise you mine

 

 

if(data[1] != null && data[1] instanceof EntityPlayer)
	{
		if(!((EntityPlayer)data[1] == Minecraft.getMinecraft().renderViewEntity && Minecraft.getMinecraft().gameSettings.thirdPersonView == 0 && !((Minecraft.getMinecraft().currentScreen instanceof GuiInventory || Minecraft.getMinecraft().currentScreen instanceof GuiContainerCreative) && RenderManager.instance.playerViewY == 180.0F)))
		{
			GL11.glScalef(1.5f, 1.5f, 1.5f);
			GL11.glTranslatef(x, y, z);
			GL11.glRotatef(15+rotZ, 0.0f, 0.0f, 1.0f);
			GL11.glRotatef(12+rotY, 0.0f, 1.0f, 0.0f);
			GL11.glRotatef(145+rotX, 1.0f, 0.0f, 0.0f);
		}
		else
		{
			GL11.glRotatef(15f+Z, 0.0f, 0.0f, 1.0f);
			GL11.glRotatef(175F+X, 1.0f, 0.0f, 0.0f);
			GL11.glRotatef(102F+Y, 0.0f, 1.0f, 0.0f);
			GL11.glScalef(1.5f, 1.5f, 1.5f);
			GL11.glTranslatef(-0.2f+fpsX ,-0.3f+fpsY, 0.2F+fpsZ);
		}

////////////////////////////////////:

@Override
public boolean handleRenderType(ItemStack item, ItemRenderType type) {
	boolean render = item.getItem().equals(Item.dyePowder) && item.getItemDamage() != 4 ? false : true;
	switch(type)
	{
	case  EQUIPPED:
		return render;
	case ENTITY: 
		return render;
	default: break;
	}
	return false;
} 

 

 

i've got what's needed :/ does your renderer work in 1.5.2 ?

Posted

I see your code and i raise you mine

 

 

if(data[1] != null && data[1] instanceof EntityPlayer)
	{
		if(!((EntityPlayer)data[1] == Minecraft.getMinecraft().renderViewEntity && Minecraft.getMinecraft().gameSettings.thirdPersonView == 0 && !((Minecraft.getMinecraft().currentScreen instanceof GuiInventory || Minecraft.getMinecraft().currentScreen instanceof GuiContainerCreative) && RenderManager.instance.playerViewY == 180.0F)))
		{
			GL11.glScalef(1.5f, 1.5f, 1.5f);
			GL11.glTranslatef(x, y, z);
			GL11.glRotatef(15+rotZ, 0.0f, 0.0f, 1.0f);
			GL11.glRotatef(12+rotY, 0.0f, 1.0f, 0.0f);
			GL11.glRotatef(145+rotX, 1.0f, 0.0f, 0.0f);
		}
		else
		{
			GL11.glRotatef(15f+Z, 0.0f, 0.0f, 1.0f);
			GL11.glRotatef(175F+X, 1.0f, 0.0f, 0.0f);
			GL11.glRotatef(102F+Y, 0.0f, 1.0f, 0.0f);
			GL11.glScalef(1.5f, 1.5f, 1.5f);
			GL11.glTranslatef(-0.2f+fpsX ,-0.3f+fpsY, 0.2F+fpsZ);
		}

////////////////////////////////////:

@Override
public boolean handleRenderType(ItemStack item, ItemRenderType type) {
	boolean render = item.getItem().equals(Item.dyePowder) && item.getItemDamage() != 4 ? false : true;
	switch(type)
	{
	case  EQUIPPED:
		return render;
	case ENTITY: 
		return render;
	default: break;
	}
	return false;
} 

 

 

i've got what's needed :/ does your renderer work in 1.5.2 ?

 

There's a new feature in the newest Forge, which splits the first- and third-person-view:

Add case  EQUIPPED_FIRST_PERSON: below case  EQUIPPED:

Don't ask for support per PM! They'll get ignored! | If a post helped you, click the "Thank You" button at the top right corner of said post! |

mah twitter

This thread makes me sad because people just post copy-paste-ready code when it's obvious that the OP has little to no programming experience. This is not how learning works.

Posted

/**

        * The render type used for when a ItemMap is rendered in first person,

        * All appropriate rotations have been applied, and the player's hands,

        * and the map BG are already rendered.

        *

        * Data Parameters:

        * EntityPlayer player - The player holding the map

        * RenderEngine engine - The RenderEngine instance

        * MapData mapData - The map data

        */

        FIRST_PERSON_MAP

 

 

there is no such case equipped_first_person

Posted

/**

        * The render type used for when a ItemMap is rendered in first person,

        * All appropriate rotations have been applied, and the player's hands,

        * and the map BG are already rendered.

        *

        * Data Parameters:

        * EntityPlayer player - The player holding the map

        * RenderEngine engine - The RenderEngine instance

        * MapData mapData - The map data

        */

        FIRST_PERSON_MAP

 

 

there is no such case equipped_first_person

 

Oh, then that's the one. I just saw the PR, which got pulled. (seems like I have to update Forge, again :P)

Nuh, wait D:

Do you use the LATEST Forge?

Don't ask for support per PM! They'll get ignored! | If a post helped you, click the "Thank You" button at the top right corner of said post! |

mah twitter

This thread makes me sad because people just post copy-paste-ready code when it's obvious that the OP has little to no programming experience. This is not how learning works.

Posted

haha, now my eclipse does the same thing xD

 

I think it's a bug in 688 !! because 684 in eclipse worked, and i had 688 in my vanilla minecraft. that's why.

 

Did you add the case statement I gave you before?

Don't ask for support per PM! They'll get ignored! | If a post helped you, click the "Thank You" button at the top right corner of said post! |

mah twitter

This thread makes me sad because people just post copy-paste-ready code when it's obvious that the OP has little to no programming experience. This is not how learning works.

Posted

/**

        * Called to render an item currently held in-hand by a living entity in

        * first person. If rendering as a 3D block, the item will be rotated to a

        * 45-degree angle. To render a 2D texture with some thickness, see

        * net.minecraft.src.ItemRenderer. In either case, rendering should be done

        * in local coordinates from (0,0,0)-(1,1,1).

        *

        * Data parameters:

        * RenderBlocks render - The RenderBlocks instance

        * EntityLiving entity - The entity holding this item

        */

        EQUIPPED_FIRST_PERSON,

 

I can now affirm that the case exists. thanks !!

 

bug solved. i'm changing the title and i'll close the topic :)

Guest
This topic is now closed to further replies.

Announcements



×
×
  • Create New...

Important Information

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