tcr/client/src/main/java/client/renderer/tileentity/TileEntitySpecialRenderer.java
2025-05-26 17:09:08 +02:00

60 lines
1.9 KiB
Java
Executable file

package client.renderer.tileentity;
import client.renderer.texture.TextureManager;
import common.tileentity.TileEntity;
import common.world.World;
public abstract class TileEntitySpecialRenderer<T extends TileEntity>
{
protected static final String[] DESTROY_STAGES = new String[] {
"textures/blocks/destroy_stage_0.png",
"textures/blocks/destroy_stage_1.png",
"textures/blocks/destroy_stage_2.png",
"textures/blocks/destroy_stage_3.png",
"textures/blocks/destroy_stage_4.png",
"textures/blocks/destroy_stage_5.png",
"textures/blocks/destroy_stage_6.png",
"textures/blocks/destroy_stage_7.png",
"textures/blocks/destroy_stage_8.png",
"textures/blocks/destroy_stage_9.png"
};
protected TileEntityRendererDispatcher rendererDispatcher;
public abstract void renderTileEntityAt(T te, double x, double y, double z, float partialTicks, int destroyStage);
protected void bindTexture(String location)
{
TextureManager texturemanager = this.rendererDispatcher.renderEngine;
if (texturemanager != null)
{
texturemanager.bindTexture(location);
}
}
protected World getWorld()
{
return this.rendererDispatcher.worldObj;
}
public void setRendererDispatcher(TileEntityRendererDispatcher rendererDispatcherIn)
{
this.rendererDispatcher = rendererDispatcherIn;
}
// public FontRenderer getFontRenderer()
// {
// return this.rendererDispatcher.getFontRenderer();
// }
/**
* If true the {@link TileEntitySpecialRenderer} will always be rendered while the player is in the render bounding
* box {@link TileEntity#getRenderBoundingBox()} and his squared distance with the {@link TileEntity} is smaller
* than {@link TileEntity#getMaxRenderDistanceSquared()}.
*/
public boolean forceTileEntityRender()
{
return false;
}
}