package lv.enes.mc.eris_alchemy.client; import com.mojang.blaze3d.vertex.PoseStack; import net.minecraft.client.Minecraft; import net.minecraft.client.renderer.BlockEntityWithoutLevelRenderer; import net.minecraft.client.renderer.MultiBufferSource; import net.minecraft.core.BlockPos; import net.minecraft.world.item.ItemDisplayContext; import net.minecraft.world.item.ItemStack; import net.minecraft.world.level.block.AbstractChestBlock; import net.minecraft.world.level.block.entity.BaseContainerBlockEntity; import net.minecraft.world.level.block.state.BlockState; import java.util.function.BiFunction; public class ChestItemRenderer extends BlockEntityWithoutLevelRenderer { private final T chest; public ChestItemRenderer( AbstractChestBlock block, BiFunction creator ) { super(Minecraft.getInstance().getBlockEntityRenderDispatcher(), Minecraft.getInstance().getEntityModels()); chest = creator.apply(BlockPos.ZERO, block.defaultBlockState()); } @Override public void renderByItem( ItemStack stack, ItemDisplayContext transformationMode, PoseStack matrices, MultiBufferSource vertexConsumers, int light, int overlay ) { Minecraft.getInstance() .getBlockEntityRenderDispatcher() .renderItem(chest, matrices, vertexConsumers, light, overlay); } }