Code/net/minecraft/client/renderer/blockentity/BlockEntityRendererProvider...

80 lines
2.8 KiB
Java
Raw Normal View History

2025-07-01 06:20:03 +00:00
package net.minecraft.client.renderer.blockentity;
import net.minecraft.client.gui.Font;
import net.minecraft.client.model.geom.EntityModelSet;
import net.minecraft.client.model.geom.ModelLayerLocation;
import net.minecraft.client.model.geom.ModelPart;
import net.minecraft.client.renderer.block.BlockRenderDispatcher;
import net.minecraft.client.renderer.entity.EntityRenderDispatcher;
import net.minecraft.client.renderer.entity.ItemRenderer;
import net.minecraft.client.renderer.item.ItemModelResolver;
import net.minecraft.world.level.block.entity.BlockEntity;
import net.minecraftforge.api.distmarker.Dist;
import net.minecraftforge.api.distmarker.OnlyIn;
@FunctionalInterface
@OnlyIn(Dist.CLIENT)
public interface BlockEntityRendererProvider<T extends BlockEntity> {
BlockEntityRenderer<T> create(BlockEntityRendererProvider.Context p_173571_);
@OnlyIn(Dist.CLIENT)
public static class Context {
private final BlockEntityRenderDispatcher blockEntityRenderDispatcher;
private final BlockRenderDispatcher blockRenderDispatcher;
private final ItemModelResolver itemModelResolver;
private final ItemRenderer itemRenderer;
private final EntityRenderDispatcher entityRenderer;
private final EntityModelSet modelSet;
private final Font font;
public Context(
BlockEntityRenderDispatcher p_234440_,
BlockRenderDispatcher p_234441_,
ItemModelResolver p_375761_,
ItemRenderer p_234442_,
EntityRenderDispatcher p_234443_,
EntityModelSet p_234444_,
Font p_234445_
) {
this.blockEntityRenderDispatcher = p_234440_;
this.blockRenderDispatcher = p_234441_;
this.itemModelResolver = p_375761_;
this.itemRenderer = p_234442_;
this.entityRenderer = p_234443_;
this.modelSet = p_234444_;
this.font = p_234445_;
}
public BlockEntityRenderDispatcher getBlockEntityRenderDispatcher() {
return this.blockEntityRenderDispatcher;
}
public BlockRenderDispatcher getBlockRenderDispatcher() {
return this.blockRenderDispatcher;
}
public EntityRenderDispatcher getEntityRenderer() {
return this.entityRenderer;
}
public ItemModelResolver getItemModelResolver() {
return this.itemModelResolver;
}
public ItemRenderer getItemRenderer() {
return this.itemRenderer;
}
public EntityModelSet getModelSet() {
return this.modelSet;
}
public ModelPart bakeLayer(ModelLayerLocation p_173583_) {
return this.modelSet.bakeLayer(p_173583_);
}
public Font getFont() {
return this.font;
}
}
}