2025-03-11 00:23:54 +01:00
|
|
|
package game.renderer.entity;
|
|
|
|
|
2025-03-18 10:24:05 +01:00
|
|
|
import org.lwjgl.opengl.GL11;
|
|
|
|
|
2025-03-11 00:23:54 +01:00
|
|
|
import game.entity.Entity;
|
|
|
|
import game.item.Item;
|
|
|
|
import game.item.ItemStack;
|
|
|
|
import game.renderer.GlState;
|
|
|
|
import game.renderer.blockmodel.Transforms;
|
|
|
|
import game.renderer.texture.TextureMap;
|
|
|
|
|
|
|
|
|
|
|
|
public class RenderItemEntity<T extends Entity> extends Render<T>
|
|
|
|
{
|
|
|
|
protected final Item item;
|
|
|
|
private final RenderItem itemRenderer;
|
|
|
|
|
|
|
|
public RenderItemEntity(RenderManager renderManagerIn, Item itemIn, RenderItem renderItemIn)
|
|
|
|
{
|
|
|
|
super(renderManagerIn);
|
|
|
|
this.item = itemIn;
|
|
|
|
this.itemRenderer = renderItemIn;
|
|
|
|
}
|
|
|
|
|
|
|
|
public void doRender(T entity, double x, double y, double z, float partialTicks)
|
|
|
|
{
|
2025-03-18 10:24:05 +01:00
|
|
|
GL11.glPushMatrix();
|
|
|
|
GL11.glTranslatef((float)x, (float)y, (float)z);
|
2025-03-11 00:23:54 +01:00
|
|
|
GlState.enableRescaleNormal();
|
2025-03-18 10:24:05 +01:00
|
|
|
GL11.glScalef(0.5F, 0.5F, 0.5F);
|
|
|
|
GL11.glRotatef(-this.renderManager.playerViewY, 0.0F, 1.0F, 0.0F);
|
|
|
|
GL11.glRotatef(this.renderManager.playerViewX, 1.0F, 0.0F, 0.0F);
|
2025-03-11 00:23:54 +01:00
|
|
|
this.bindTexture(TextureMap.locationBlocksTexture);
|
|
|
|
this.itemRenderer.renderItem(this.getStack(entity), Transforms.Camera.GROUND);
|
|
|
|
GlState.disableRescaleNormal();
|
2025-03-18 10:24:05 +01:00
|
|
|
GL11.glPopMatrix();
|
2025-03-11 00:23:54 +01:00
|
|
|
super.doRender(entity, x, y, z, partialTicks);
|
|
|
|
}
|
|
|
|
|
|
|
|
public ItemStack getStack(T entityIn)
|
|
|
|
{
|
|
|
|
return new ItemStack(this.item, 1, 0);
|
|
|
|
}
|
|
|
|
|
|
|
|
protected String getEntityTexture(Entity entity)
|
|
|
|
{
|
|
|
|
return TextureMap.locationBlocksTexture;
|
|
|
|
}
|
|
|
|
}
|