MediaAdvertise
MediaAdvertise is a modern Paper/Spigot/Bukkit 1.20+ plugin designed for Minecraft servers that want to promote YouTube content.
MediaAdvertise
📢 MediaAdvertise
Paper/Spigot/Bukkit 1.20+ plugin is a modern Paper/Spigot/Bukkit 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: - youtube.com/watch?v= - youtu.be/ - youtube.com/live/
💬 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 videos - ```media.bypass.cooldown``` → Bypass cooldown restrictions - ```media.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/Bukkit 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.
Credits:
Spoiler
Design inspiration: honeysmp.ro