tcr/java/src/game/renderer/entity/RenderItemEntity.java

49 lines
1.5 KiB
Java
Raw Normal View History

2025-03-11 00:23:54 +01:00
package game.renderer.entity;
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;
import game.window.WCF;
2025-03-11 00:23:54 +01:00
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)
{
WCF.glPushMatrix();
WCF.glTranslatef((float)x, (float)y, (float)z);
GlState.enableRescaleNormal();
WCF.glScalef(0.5F, 0.5F, 0.5F);
WCF.glRotatef(-this.renderManager.playerViewY, 0.0F, 1.0F, 0.0F);
WCF.glRotatef(this.renderManager.playerViewX, 1.0F, 0.0F, 0.0F);
this.bindTexture(TextureMap.locationBlocksTexture);
this.itemRenderer.renderItem(this.getStack(entity), Transforms.Camera.GROUND);
GlState.disableRescaleNormal();
WCF.glPopMatrix();
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;
}
}