npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

minecards-renderer

v0.1.6

Published

A library for displaying interactive 3D collectible cards for Telegram bot Minecrads and their web interface.

Readme

Minecards Renderer

npm version License: MIT

Библиотека для отрисовки красивых и интерактивных коллекционных 3D-карточек для проекта Mincards.

Посмотреть живое демо

О проекте

Этот рендерер был создан как фронтенд-компонент для проекта Mincards — Телеграм-бота с веб-интерфейсом, где пользователи могут коллекционировать карточки с Minecraft-ютуберами.

Задача библиотеки — взять набор данных (редкость, изображения, скин) и превратить их в красивую, анимированную и интерактивную карточку прямо в браузере.

Ключевые возможности

  • 🎨 Динамическая рамка редкости: Анимированная рамка меняет свой цвет в зависимости от редкости карты (Wood, Iron, Gold, Diamond, Netherite, Signed).
  • 🖼️ Настраиваемый фон и логотип: Легко задать уникальный фон для карты и логотип пака.
  • 🕺 Анимированный 3D-скин: Отображает и анимирует стандартный скин Minecraft, используя библиотеку skin3d.
  • Интерактивные эффекты: Карта реагирует на движение мыши, создавая 3D-эффект наклона. Редкие карты имеют дополнительный эффект мерцания.
  • 🎟️ Система наклеек: Позволяет динамически загружать и отображать HTML-контент поверх карты, создавая систему "наклеек" или других кастомных элементов.
  • 📦 Простота встраивания: Разработана как инструмент, который легко интегрировать в любой веб-проект.

Установка

Для установки библиотеки используйте npm или yarn:

npm install minecards-renderer

Быстрый старт

Использовать библиотеку очень просто. Вам понадобится контейнер в HTML и несколько строк JavaScript.

1. HTML

Добавьте на свою страницу div элемент, в котором будет отрисована карточка.

<!-- Задайте размеры контейнера через CSS -->
<div id="card-container"></div>

2. JavaScript

Импортируйте класс Card и стили, создайте объект с данными и инициализируйте карточку.

import { Card } from 'minecards-renderer';
// Не забудьте импортировать стили!
import 'minecards-renderer/dist/style.css';

// 1. Найдите контейнер на странице
const cardContainer = document.getElementById('card-container');

// 2. Подготовьте данные для карточки
// (В реальном проекте эти данные будут приходить с вашего бэкенда)
const cardData = {
    rarity: 'Signed',
    backgroundImage: 'https://i.imgur.com/your-background.png',
    skinImage: 'https://i.imgur.com/your-skin.png',
    packLogoImage: 'https://i.imgur.com/your-pack-logo.jpg',
    stickerUrl: '/api/stickers/cool-sticker.html' // Необязательный параметр
};

// 3. Создайте новый экземпляр карточки
const myCard = new Card(cardContainer, cardData);

API

new Card(container, options)

Создает и отрисовывает новую карточку.

  • container (HTMLElement): DOM-элемент, внутри которого будет создана карточка.
  • options (Object): Объект с параметрами для настройки внешнего вида карты.

Объект options

| Параметр | Тип | Обязательный | Описание | | ----------------- | -------- | ------------ | ------------------------------------------------------------------------------------------------------------------------------------- | | rarity | String | Да | Редкость карты. Влияет на цвет рамки и эффекты. Возможные значения: 'Wood', 'Iron', 'Gold', 'Diamond', 'Netherite', 'Signed'. | | backgroundImage | String | Да | URL-адрес фонового изображения для карты. | | skinImage | String | Да | URL-адрес файла скина Minecraft (например, 64x64.png). | | packLogoImage | String | Да | URL-адрес изображения для логотипа пака в правом нижнем углу. | | stickerUrl | String | Нет | URL, по которому будет загружен HTML-контент для "наклеек". Если не указан, слой наклеек будет пустым. |

Методы экземпляра

card.destroy()

Полностью удаляет карточку, ее DOM-элементы и все обработчики событий. Это важно использовать в одностраничных приложениях (SPA) при смене страницы, чтобы избежать утечек памяти.

// Когда карточка больше не нужна
myCard.destroy();

Стилизация

Библиотека поставляется с готовым файлом стилей, который необходимо импортировать.

import 'minecards-renderer/dist/style.css';

Важно: Контейнер, в который вы помещаете карточку, должен иметь заданные размеры (ширину и высоту). Библиотека адаптирует карточку под размеры контейнера. Рекомендуемое соотношение сторон — близкое к 360x560px.

#card-container {
    width: 360px;
    height: 560px;
}

Лицензия

Распространяется под лицензией MIT. Смотрите файл LICENSE для более подробной информации.