MediaAdvertise is a modern Paper/Spigot 1.20+ plugin designed for Minecraft servers that want to promote YouTube content
π’ MediaAdvertise
MediaAdvertise is a modern Paper/Spigot 1.20+ plugin designed for Minecraft servers that want to promote YouTube content (videos and livestreams) directly in-game and on Discord in a stylish, automated, and fully configurable way.
Perfect for content creator servers, communities, and networks that want to boost engagement and promote media professionally.

β¨ Key Features
π Main Command
/ad <video|livestream> <youtube_link>
Allows players to promote a YouTube video or livestream directly into server chat and Discord.
π¬ YouTube Promotion System
- β Supports videos and livestreams
- β Automatic content type detection (video or live stream)
- β Advanced YouTube link validation
- β Duplicate prevention (same video cannot be promoted twice)
- β Link normalization (short URLs β full YouTube format)
- β Supported formats:
π¬ In-Game Chat Announcements (Modern & Interactive)
All announcements are displayed using the Adventure API (MiniMessage) with a clean, modern broadcast style.
π΄ Livestream Format
- π΄ LIVE NOW (bold red header)
- Player name
- Stream title (auto-fetched if available)
- Clickable WATCH NOW link
- Player head displayed in message

βΆοΈ Video Format
- βΆοΈ NEW VIDEO (bold purple header)
- Creator name
- Video title (auto-fetched via YouTube API / oEmbed)
- Clickable WATCH NOW link
- Player head displayed in message

π¨ Chat Design
MiniMessage formatting support HEX color customization Hover text: "Click to watch" Clean broadcast-style layout Global server-wide announcements Optional PlaceholderAPI support
π Discord Integration
Automatically sends a Discord webhook embed when content is promoted:
- π Clickable video title
- π¨ Embed colors:
- π΄ red for livestreams
- π£ purple for videos
- πΊ Content type label (LIVE NOW / NEW VIDEO)
- π€ Creator name
- π Watch link button
- πΌ YouTube thumbnail preview (if available)
- β± Automatic timestamp

βοΈ Configuration (config.yml)
Fully customizable settings:
- Webhook URL
- Cooldowns
- HEX colors (video/live)
- Chat messages (MiniMessage)
- Enable/disable Discord integration
- Title fetching toggle
- Blocked links list
- Sound effects
- Global broadcast settings
π Language Support (language.yml)
Fully customizable messages including:
- Success messages
- Error messages
- Cooldown messages
- LIVE NOW / NEW VIDEO labels
- WATCH NOW text
π Permissions
media.advertiseβ Allows promoting videosmedia.bypass.cooldownβ Bypass cooldown restrictionsmedia.adminβ Access admin commands
π Admin Commands
/mediareload
Reloads configuration files without restarting the server.
Aliases:
/madreload/mareload
π§ Technical Features
- Async API calls (non-blocking)
- Clean modular architecture
- Persistent storage (YAML or SQLite)
- YouTube metadata fetching (oEmbed / Data API v3)
- Input sanitization & validation
- Duplicate tracking system
- Cooldown system per player
- Full logging system
π Requirements
- Minecraft Paper/Spigot 1.20+
- Java 17+
- Optional: PlaceholderAPI
π§© Extra Features
- Global broadcast system
- Player head display in chat
- Hover interactions
- Configurable sounds
- Fully modular & lightweight design
- No unnecessary dependencies
β€οΈ Support
If you need help or want to suggest features, feel free to reach out.