Code/net/minecraft/client/renderer/SpecialBlockModelRenderer.java

32 lines
1.4 KiB
Java
Raw Permalink Normal View History

2025-07-01 06:20:03 +00:00
package net.minecraft.client.renderer;
import com.mojang.blaze3d.vertex.PoseStack;
import java.util.Map;
import net.minecraft.client.model.geom.EntityModelSet;
import net.minecraft.client.renderer.special.SpecialModelRenderer;
import net.minecraft.client.renderer.special.SpecialModelRenderers;
import net.minecraft.world.item.ItemDisplayContext;
import net.minecraft.world.level.block.Block;
import net.minecraftforge.api.distmarker.Dist;
import net.minecraftforge.api.distmarker.OnlyIn;
@OnlyIn(Dist.CLIENT)
public class SpecialBlockModelRenderer {
public static final SpecialBlockModelRenderer EMPTY = new SpecialBlockModelRenderer(Map.of());
private final Map<Block, SpecialModelRenderer<?>> renderers;
public SpecialBlockModelRenderer(Map<Block, SpecialModelRenderer<?>> p_376544_) {
this.renderers = p_376544_;
}
public static SpecialBlockModelRenderer vanilla(EntityModelSet p_378718_) {
return new SpecialBlockModelRenderer(SpecialModelRenderers.createBlockRenderers(p_378718_));
}
public void renderByBlock(Block p_378389_, ItemDisplayContext p_376582_, PoseStack p_377636_, MultiBufferSource p_378317_, int p_378039_, int p_375518_) {
SpecialModelRenderer<?> specialmodelrenderer = this.renderers.get(p_378389_);
if (specialmodelrenderer != null) {
specialmodelrenderer.render(null, p_376582_, p_377636_, p_378317_, p_378039_, p_375518_, false);
}
}
}