
Official Pill Button guidelines, React + TypeScript components, downloadable brand assets, JS fallbacks, and Brand Regulations.
Signature pill buttons matching the CritHit Launcher download button. Select a style, test the launcher trigger live, and copy the snippet.
CritHit Launcher registers a custom URI scheme crithit:// in the OS. Use it for 1-click launcher triggers:
crithit://modpack/YOUR_MODPACK_IDCommands CritHit Launcher to bring the app to focus and open the modpack card. The user inspects build details and confirms installation. Fully backward-compatible with all versions.
crithit://play/YOUR_MODPACK_IDInstantly starts Minecraft with the modpack if already installed, or triggers modpack installation if missing.
crithit://openRestores and focuses CritHit Launcher from system tray without changing tabs.
https://crithitlauncher.com/ru/store/YOUR_MODPACK_IDOfficial web store URL on crithitlauncher.com. Ensures secure monetization via CritHit Pay API, protects creator copyrights, and delivers a verified installer.
All modpacks must be registered and verified in the official CritHit catalog. Launch and store deep-links function exclusively with registered project IDs. External unverified installation links are restricted to guarantee user security and protect creator monetization.
/* Подключение фирменного шрифта Unbounded для внешних сайтов */
@import url('https://fonts.googleapis.com/css2?family=Unbounded:wght@400;600;700;800&display=swap');
/* Официальная кнопка CritHit (1-в-1 как на странице разработчиков CritHit) */
.crithit-play-btn, .crithit-store-btn {
display: inline-flex;
align-items: center;
justify-content: center;
gap: 16px;
width: min(585px, 100%);
height: 60px;
padding: 0 28px;
border-radius: 70px;
background: rgba(13, 138, 220, 0.2);
border: 1px solid rgba(255, 255, 255, 0.15);
backdrop-filter: blur(16px) saturate(180%);
-webkit-backdrop-filter: blur(16px) saturate(180%);
box-shadow: 0 8px 32px 0 rgba(0, 0, 0, 0.37);
color: #ffffff;
font-family: 'Unbounded', system-ui, -apple-system, sans-serif;
font-size: clamp(15px, 1.5vw, 20px);
font-weight: 400;
text-transform: uppercase;
text-decoration: none;
cursor: pointer;
outline: none;
transition: background 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease, transform 0.2s ease;
}
.crithit-play-btn:hover, .crithit-store-btn:hover {
background: rgba(13, 138, 220, 0.35);
border-color: rgba(255, 255, 255, 0.3);
box-shadow: 0 12px 40px 0 rgba(13, 138, 220, 0.4);
transform: translateY(-2px);
}
.crithit-btn-icon {
width: 26px;
height: 26px;
border-radius: 6px;
object-fit: contain;
flex-shrink: 0;
}
.crithit-btn-text {
font-family: 'Unbounded', system-ui, -apple-system, sans-serif;
font-size: clamp(15px, 1.5vw, 20px);
font-weight: 400;
text-transform: uppercase;
color: #ffffff;
letter-spacing: 0;
}Official graphics for reviewers, content creators, designers, and site owners. Download individual assets as needed.
If the user does not have CritHit Launcher installed, clicking crithit:// won't trigger an app. Use these fallback scripts for Vanilla JS or React + TypeScript.
function openCritHit(modpackId, action = 'modpack') {
// action: 'modpack' (карточка сборки / установка) или 'play' (1-click запуск)
const protocolUrl = `crithit://${action}/${modpackId}`;
const downloadUrl = `https://crithitlauncher.com/en/download`;
let hasBlurred = false;
const onBlur = () => { hasBlurred = true; };
window.addEventListener('blur', onBlur);
document.addEventListener('visibilitychange', onBlur);
// Вызываем кастомный протокол лаунчера
window.location.href = protocolUrl;
// Если окно браузера не потеряло фокус — лаунчер, вероятно, не установлен
setTimeout(() => {
window.removeEventListener('blur', onBlur);
document.removeEventListener('visibilitychange', onBlur);
if (!hasBlurred && !document.hidden) {
window.location.href = downloadUrl;
}
}, 2500);
}import React, { useCallback } from 'react';
interface CritHitButtonProps {
modpackId: string;
action?: 'modpack' | 'play' | 'store';
className?: string;
children?: React.ReactNode;
}
export const CritHitButton: React.FC<CritHitButtonProps> = ({
modpackId,
action = 'modpack',
className = "crithit-play-btn",
children,
}) => {
const handleClick = useCallback(
(e: React.MouseEvent<HTMLAnchorElement>) => {
if (action === 'store') return; // Обычный переход в веб-магазин
e.preventDefault();
const protocolUrl = `crithit://${action}/${modpackId}`;
const downloadUrl = `https://crithitlauncher.com/en/download`;
let hasBlurred = false;
const onBlur = () => { hasBlurred = true; };
window.addEventListener('blur', onBlur);
document.addEventListener('visibilitychange', onBlur);
window.location.href = protocolUrl;
setTimeout(() => {
window.removeEventListener('blur', onBlur);
document.removeEventListener('visibilitychange', onBlur);
if (!hasBlurred && !document.hidden) {
window.location.href = downloadUrl;
}
}, 2500);
},
[modpackId, action]
);
const href = action === 'store'
? `https://crithitlauncher.com/en/store/${modpackId}`
: `crithit://${action}/${modpackId}`;
const defaultText = action === 'store'
? 'BUY ON CRITHIT STORE'
: action === 'play'
? 'PLAY VIA CRITHIT'
: 'OPEN IN CRITHIT';
return (
<a
href={href}
onClick={handleClick}
className={className}
target={action === 'store' ? '_blank' : undefined}
rel="noopener noreferrer"
>
<img src="https://crithitlauncher.com/apple-touch-icon.png" alt="CritHit Logo" className="crithit-btn-icon" />
<span className="crithit-btn-text">
{children || defaultText}
</span>
</a>
);
};By using CritHit web widgets, buttons, and brand assets on third-party websites, you automatically agree to the following rules:
Modifying logo proportions, recoloring official icons, applying unapproved gradients, or altering button capsule geometry is strictly prohibited.
Using CritHit branding to style websites distributing malicious software, cheats, pirated copies, or modifications violating Mojang / Microsoft EULA is forbidden.
Buttons must link exclusively to registered IDs/Slugs inside the official CritHit ecosystem. Using phishing redirects disguised as CritHit buttons results in immediate account and project termination.
Minecraft is a registered trademark of Mojang AB / Microsoft Corporation. CritHit Launcher is not affiliated directly with Mojang AB, but fully complies with commercial Java Edition policies.