Small rendering optimization
This commit is contained in:
parent
1360b4171c
commit
6f1077eea7
4 changed files with 17 additions and 17 deletions
|
@ -35,8 +35,8 @@ import ru.betterend.blocks.basis.BlockChest;
|
|||
import ru.betterend.blocks.entities.EChestBlockEntity;
|
||||
import ru.betterend.registry.EndItems;
|
||||
|
||||
public class EChestBlockEntityRenderer extends BlockEntityRenderer<EChestBlockEntity> {
|
||||
private static final HashMap<Integer, RenderLayer[]> LAYERS = Maps.newHashMap();
|
||||
public class EndChestBlockEntityRenderer extends BlockEntityRenderer<EChestBlockEntity> {
|
||||
private static final HashMap<Block, RenderLayer[]> LAYERS = Maps.newHashMap();
|
||||
private static RenderLayer[] defaultLayer;
|
||||
|
||||
private static final int ID_NORMAL = 0;
|
||||
|
@ -53,7 +53,7 @@ public class EChestBlockEntityRenderer extends BlockEntityRenderer<EChestBlockEn
|
|||
private final ModelPart partLeftC;
|
||||
private final ModelPart partLeftB;
|
||||
|
||||
public EChestBlockEntityRenderer(BlockEntityRenderDispatcher blockEntityRenderDispatcher) {
|
||||
public EndChestBlockEntityRenderer(BlockEntityRenderDispatcher blockEntityRenderDispatcher) {
|
||||
super(blockEntityRenderDispatcher);
|
||||
|
||||
this.partC = new ModelPart(64, 64, 0, 19);
|
||||
|
@ -151,7 +151,7 @@ public class EChestBlockEntityRenderer extends BlockEntityRenderer<EChestBlockEn
|
|||
}
|
||||
|
||||
public static VertexConsumer getConsumer(VertexConsumerProvider provider, Block block, ChestType chestType) {
|
||||
RenderLayer[] layers = LAYERS.getOrDefault(Block.getRawIdFromState(block.getDefaultState()), defaultLayer);
|
||||
RenderLayer[] layers = LAYERS.getOrDefault(block, defaultLayer);
|
||||
return provider.getBuffer(getChestTexture(chestType, layers));
|
||||
}
|
||||
|
||||
|
@ -167,7 +167,7 @@ public class EChestBlockEntityRenderer extends BlockEntityRenderer<EChestBlockEn
|
|||
Block block = ((BlockItem) item).getBlock();
|
||||
if (block instanceof BlockChest) {
|
||||
String name = Registry.BLOCK.getId(block).getPath();
|
||||
LAYERS.put(Block.getRawIdFromState(block.getDefaultState()), new RenderLayer[] {
|
||||
LAYERS.put(block, new RenderLayer[] {
|
||||
RenderLayer.getEntitySolid(BetterEnd.makeID("textures/entity/chest/" + name + ".png")),
|
||||
RenderLayer.getEntitySolid(BetterEnd.makeID("textures/entity/chest/" + name + "_left.png")),
|
||||
RenderLayer.getEntitySolid(BetterEnd.makeID("textures/entity/chest/" + name + "_right.png"))
|
|
@ -32,12 +32,12 @@ import ru.betterend.blocks.basis.BlockSign;
|
|||
import ru.betterend.blocks.entities.ESignBlockEntity;
|
||||
import ru.betterend.registry.EndItems;
|
||||
|
||||
public class ESignBlockEntityRenderer extends BlockEntityRenderer<ESignBlockEntity> {
|
||||
private static final HashMap<Integer, RenderLayer> LAYERS = Maps.newHashMap();
|
||||
public class EndSignBlockEntityRenderer extends BlockEntityRenderer<ESignBlockEntity> {
|
||||
private static final HashMap<Block, RenderLayer> LAYERS = Maps.newHashMap();
|
||||
private static RenderLayer defaultLayer;
|
||||
private final SignModel model = new SignBlockEntityRenderer.SignModel();
|
||||
|
||||
public ESignBlockEntityRenderer(BlockEntityRenderDispatcher dispatcher) {
|
||||
public EndSignBlockEntityRenderer(BlockEntityRenderDispatcher dispatcher) {
|
||||
super(dispatcher);
|
||||
}
|
||||
|
||||
|
@ -100,19 +100,19 @@ public class ESignBlockEntityRenderer extends BlockEntityRenderer<ESignBlockEnti
|
|||
}
|
||||
|
||||
public static VertexConsumer getConsumer(VertexConsumerProvider provider, Block block) {
|
||||
return provider.getBuffer(LAYERS.getOrDefault(Block.getRawIdFromState(block.getDefaultState()), defaultLayer));
|
||||
return provider.getBuffer(LAYERS.getOrDefault(block, defaultLayer));
|
||||
}
|
||||
|
||||
static {
|
||||
defaultLayer = RenderLayer.getEntitySolid(new Identifier("textures/entity/sign/oak.png"));
|
||||
|
||||
|
||||
EndItems.getModBlocks().forEach((item) -> {
|
||||
if (item instanceof BlockItem) {
|
||||
Block block = ((BlockItem) item).getBlock();
|
||||
if (block instanceof BlockSign) {
|
||||
String name = Registry.BLOCK.getId(block).getPath();
|
||||
RenderLayer layer = RenderLayer.getEntitySolid(BetterEnd.makeID("textures/entity/sign/" + name + ".png"));
|
||||
LAYERS.put(Block.getRawIdFromState(block.getDefaultState()), layer);
|
||||
LAYERS.put(block, layer);
|
||||
}
|
||||
}
|
||||
});
|
|
@ -31,7 +31,7 @@ import net.minecraft.util.Util;
|
|||
import net.minecraft.util.math.Matrix4f;
|
||||
import ru.betterend.blocks.basis.BlockSign;
|
||||
import ru.betterend.blocks.entities.ESignBlockEntity;
|
||||
import ru.betterend.blocks.entities.render.ESignBlockEntityRenderer;
|
||||
import ru.betterend.blocks.entities.render.EndSignBlockEntityRenderer;
|
||||
|
||||
@Environment(EnvType.CLIENT)
|
||||
public class BlockSignEditScreen extends Screen {
|
||||
|
@ -136,7 +136,7 @@ public class BlockSignEditScreen extends Screen {
|
|||
matrices.push();
|
||||
matrices.scale(0.6666667F, -0.6666667F, -0.6666667F);
|
||||
VertexConsumerProvider.Immediate immediate = this.client.getBufferBuilders().getEntityVertexConsumers();
|
||||
VertexConsumer vertexConsumer = ESignBlockEntityRenderer.getConsumer(immediate, blockState.getBlock());
|
||||
VertexConsumer vertexConsumer = EndSignBlockEntityRenderer.getConsumer(immediate, blockState.getBlock());
|
||||
this.model.field.render(matrices, vertexConsumer, 15728880, OverlayTexture.DEFAULT_UV);
|
||||
|
||||
if (bl) {
|
||||
|
|
|
@ -3,15 +3,15 @@ package ru.betterend.registry;
|
|||
import net.fabricmc.api.EnvType;
|
||||
import net.fabricmc.api.Environment;
|
||||
import net.fabricmc.fabric.api.client.rendereregistry.v1.BlockEntityRendererRegistry;
|
||||
import ru.betterend.blocks.entities.render.EChestBlockEntityRenderer;
|
||||
import ru.betterend.blocks.entities.render.ESignBlockEntityRenderer;
|
||||
import ru.betterend.blocks.entities.render.EndChestBlockEntityRenderer;
|
||||
import ru.betterend.blocks.entities.render.EndSignBlockEntityRenderer;
|
||||
import ru.betterend.blocks.entities.render.PedestalItemRenderer;
|
||||
|
||||
@Environment(EnvType.CLIENT)
|
||||
public class EndBlockEntityRenders {
|
||||
public static void register() {
|
||||
BlockEntityRendererRegistry.INSTANCE.register(EndBlockEntities.CHEST, EChestBlockEntityRenderer::new);
|
||||
BlockEntityRendererRegistry.INSTANCE.register(EndBlockEntities.SIGN, ESignBlockEntityRenderer::new);
|
||||
BlockEntityRendererRegistry.INSTANCE.register(EndBlockEntities.CHEST, EndChestBlockEntityRenderer::new);
|
||||
BlockEntityRendererRegistry.INSTANCE.register(EndBlockEntities.SIGN, EndSignBlockEntityRenderer::new);
|
||||
BlockEntityRendererRegistry.INSTANCE.register(EndBlockEntities.PEDESTAL, PedestalItemRenderer::new);
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue